package.nix (1290B)
1 { 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 desktopToDarwinBundle, 7 qt5, 8 mosquitto, 9 libdwarf, 10 protobuf, 11 zeromq, 12 zstd, 13 }: 14 15 stdenv.mkDerivation (finalAttrs: { 16 pname = "plotjuggler"; 17 version = "3.9.3"; 18 19 __structuredAttrs = true; 20 21 src = fetchFromGitHub { 22 owner = "facontidavide"; 23 repo = "PlotJuggler"; 24 tag = finalAttrs.version; 25 hash = "sha256-tcEcFGLLEHsBDb3sBEPs/WmDf7NNnwL/hbme5XfMgJI="; 26 }; 27 28 postPatch = '' 29 substituteInPlace CMakeLists.txt \ 30 --replace-fail "set(PJ_PLUGIN_INSTALL_DIRECTORY bin)" "set(PJ_PLUGIN_INSTALL_DIRECTORY lib/plugins)" 31 substituteInPlace plotjuggler_app/mainwindow.cpp \ 32 --replace-fail "QCoreApplication::applicationDirPath()" "\"$out/lib/plugins\"" 33 ''; 34 35 nativeBuildInputs = [ 36 cmake 37 qt5.wrapQtAppsHook 38 ] 39 ++ lib.optional stdenv.isDarwin desktopToDarwinBundle; 40 41 buildInputs = [ 42 qt5.qtsvg 43 qt5.qtwebsockets 44 mosquitto 45 libdwarf 46 protobuf 47 zeromq 48 zstd 49 ] 50 ++ lib.optionals stdenv.isLinux [ qt5.qtx11extras ]; 51 52 meta = { 53 description = "The Time Series Visualization Tool"; 54 homepage = "https://www.plotjuggler.io/"; 55 license = lib.licenses.mpl20; 56 maintainers = [ lib.maintainers.sikmir ]; 57 platforms = lib.platforms.unix; 58 broken = true; 59 }; 60 })
