lol

pothos: init at 0.7.1

+177
+74
pkgs/applications/radio/pothos/default.nix
···
··· 1 + { lib 2 + , mkDerivation 3 + , fetchFromGitHub 4 + , cmake 5 + , pkg-config 6 + , doxygen 7 + , wrapQtAppsHook 8 + , pcre 9 + , poco 10 + , qtbase 11 + , qtsvg 12 + , libsForQt5 13 + , nlohmann_json 14 + , soapysdr-with-plugins 15 + , portaudio 16 + , alsaLib 17 + , muparserx 18 + , python3 19 + }: 20 + 21 + mkDerivation rec { 22 + pname = "pothos"; 23 + version = "0.7.1"; 24 + 25 + src = fetchFromGitHub { 26 + owner = "pothosware"; 27 + repo = "PothosCore"; 28 + rev = "pothos-${version}"; 29 + sha256 = "038c3ipvf4sgj0zhm3vcj07ymsva4ds6v89y43f5d3p4n8zc2rsg"; 30 + fetchSubmodules = true; 31 + }; 32 + 33 + patches = [ 34 + # spuce's CMakeLists.txt uses QT5_USE_Modules, which does not seem to work on Nix 35 + ./spuce.patch 36 + ]; 37 + 38 + nativeBuildInputs = [ cmake pkg-config doxygen wrapQtAppsHook ]; 39 + 40 + buildInputs = [ 41 + pcre poco qtbase qtsvg libsForQt5.qwt nlohmann_json 42 + soapysdr-with-plugins portaudio alsaLib muparserx python3 43 + ]; 44 + 45 + postInstall = '' 46 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow.desktop $out/share/applications/pothos-flow.desktop 47 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-16.png $out/share/icons/hicolor/16x16/apps/pothos-flow.png 48 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-22.png $out/share/icons/hicolor/22x22/apps/pothos-flow.png 49 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-32.png $out/share/icons/hicolor/32x32/apps/pothos-flow.png 50 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-48.png $out/share/icons/hicolor/48x48/apps/pothos-flow.png 51 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-64.png $out/share/icons/hicolor/64x64/apps/pothos-flow.png 52 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow-128.png $out/share/icons/hicolor/128x128/apps/pothos-flow.png 53 + install -Dm644 $out/share/Pothos/Desktop/pothos-flow.xml $out/share/mime/application/pothos-flow.xml 54 + rm -r $out/share/Pothos/Desktop 55 + ''; 56 + 57 + dontWrapQtApps = true; 58 + preFixup = '' 59 + # PothosUtil does not need to be wrapped 60 + wrapQtApp $out/bin/PothosFlow 61 + wrapQtApp $out/bin/spuce_fir_plot 62 + wrapQtApp $out/bin/spuce_iir_plot 63 + wrapQtApp $out/bin/spuce_other_plot 64 + wrapQtApp $out/bin/spuce_window_plot 65 + ''; 66 + 67 + meta = with lib; { 68 + description = "The Pothos data-flow framework"; 69 + homepage = "https://github.com/pothosware/PothosCore/wiki"; 70 + license = licenses.boost; 71 + platforms = platforms.linux; 72 + maintainers = with maintainers; [ eduardosm ]; 73 + }; 74 + }
+101
pkgs/applications/radio/pothos/spuce.patch
···
··· 1 + diff --git a/spuce/qt_fir/CMakeLists.txt b/spuce/qt_fir/CMakeLists.txt 2 + index fa2e580..e32113c 100644 3 + --- a/spuce/qt_fir/CMakeLists.txt 4 + +++ b/spuce/qt_fir/CMakeLists.txt 5 + @@ -6,7 +6,7 @@ Message("Project spuce fir_plot") 6 + set(CMAKE_INCLUDE_CURRENT_DIR ON) 7 + set(CMAKE_AUTOMOC ON) 8 + 9 + -FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets) 10 + +FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets PrintSupport) 11 + 12 + set(SOURCES 13 + make_filter.cpp 14 + @@ -27,11 +27,7 @@ set_property(TARGET spuce_fir PROPERTY POSITION_INDEPENDENT_CODE TRUE) 15 + set_property(TARGET spuce_fir_plot PROPERTY POSITION_INDEPENDENT_CODE TRUE) 16 + set_property(TARGET spuce_fir_plot PROPERTY CXX_STANDARD 11) 17 + 18 + -TARGET_LINK_LIBRARIES(spuce_fir_plot spuce_fir ${QT_LIBRARIES} spuce) 19 + -QT5_USE_Modules(spuce_fir_plot Gui) 20 + -QT5_USE_Modules(spuce_fir_plot Core) 21 + -QT5_USE_Modules(spuce_fir_plot Widgets) 22 + -QT5_USE_Modules(spuce_fir_plot PrintSupport) 23 + +TARGET_LINK_LIBRARIES(spuce_fir_plot spuce_fir ${QT_LIBRARIES} spuce Qt::Gui Qt::Core Qt::Widgets Qt::PrintSupport) 24 + 25 + INSTALL(TARGETS spuce_fir_plot DESTINATION bin) 26 + 27 + diff --git a/spuce/qt_iir/CMakeLists.txt b/spuce/qt_iir/CMakeLists.txt 28 + index 4717226..debb5f9 100644 29 + --- a/spuce/qt_iir/CMakeLists.txt 30 + +++ b/spuce/qt_iir/CMakeLists.txt 31 + @@ -6,7 +6,7 @@ Message("Project spuce iir_plot") 32 + set(CMAKE_INCLUDE_CURRENT_DIR ON) 33 + set(CMAKE_AUTOMOC ON) 34 + 35 + -FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets) 36 + +FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets PrintSupport) 37 + 38 + set(SOURCES 39 + make_filter.cpp 40 + @@ -27,10 +27,6 @@ set_property(TARGET spuce_iir PROPERTY POSITION_INDEPENDENT_CODE TRUE) 41 + set_property(TARGET spuce_iir_plot PROPERTY CXX_STANDARD 11) 42 + set_property(TARGET spuce_iir_plot PROPERTY POSITION_INDEPENDENT_CODE TRUE) 43 + 44 + -TARGET_LINK_LIBRARIES(spuce_iir_plot spuce_iir ${QT_LIBRARIES} spuce) 45 + -QT5_USE_Modules(spuce_iir_plot Gui) 46 + -QT5_USE_Modules(spuce_iir_plot Core) 47 + -QT5_USE_Modules(spuce_iir_plot Widgets) 48 + -QT5_USE_Modules(spuce_iir_plot PrintSupport) 49 + +TARGET_LINK_LIBRARIES(spuce_iir_plot spuce_iir ${QT_LIBRARIES} spuce Qt::Gui Qt::Core Qt::Widgets Qt::PrintSupport) 50 + 51 + INSTALL(TARGETS spuce_iir_plot DESTINATION bin) 52 + diff --git a/spuce/qt_other/CMakeLists.txt b/spuce/qt_other/CMakeLists.txt 53 + index 29c270d..e1ed778 100644 54 + --- a/spuce/qt_other/CMakeLists.txt 55 + +++ b/spuce/qt_other/CMakeLists.txt 56 + @@ -6,7 +6,7 @@ Message("Project spuce window_plot") 57 + set(CMAKE_INCLUDE_CURRENT_DIR ON) 58 + set(CMAKE_AUTOMOC ON) 59 + 60 + -FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets) 61 + +FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets PrintSupport) 62 + 63 + set(SOURCES make_filter.cpp) 64 + ADD_LIBRARY(spuce_other STATIC ${SOURCES}) 65 + @@ -23,10 +23,6 @@ ADD_EXECUTABLE(spuce_other_plot ${other_plot_SOURCES} ${other_plot_HEADERS_MOC}) 66 + set_property(TARGET spuce_other_plot PROPERTY CXX_STANDARD 11) 67 + set_property(TARGET spuce_other_plot PROPERTY POSITION_INDEPENDENT_CODE TRUE) 68 + 69 + -TARGET_LINK_LIBRARIES(spuce_other_plot spuce_other ${QT_LIBRARIES} spuce) 70 + -QT5_USE_Modules(spuce_other_plot Gui) 71 + -QT5_USE_Modules(spuce_other_plot Core) 72 + -QT5_USE_Modules(spuce_other_plot Widgets) 73 + -QT5_USE_Modules(spuce_other_plot PrintSupport) 74 + +TARGET_LINK_LIBRARIES(spuce_other_plot spuce_other ${QT_LIBRARIES} spuce Qt::Gui Qt::Core Qt::Widgets Qt::PrintSupport) 75 + 76 + INSTALL(TARGETS spuce_other_plot DESTINATION bin) 77 + diff --git a/spuce/qt_window/CMakeLists.txt b/spuce/qt_window/CMakeLists.txt 78 + index e95c85b..4a77ab8 100644 79 + --- a/spuce/qt_window/CMakeLists.txt 80 + +++ b/spuce/qt_window/CMakeLists.txt 81 + @@ -6,7 +6,7 @@ Message("Project spuce window_plot") 82 + set(CMAKE_INCLUDE_CURRENT_DIR ON) 83 + set(CMAKE_AUTOMOC ON) 84 + 85 + -FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets) 86 + +FIND_PACKAGE(Qt5 REQUIRED Gui Core Widgets PrintSupport) 87 + 88 + set(SOURCES make_filter.cpp) 89 + 90 + @@ -25,10 +25,6 @@ set_property(TARGET spuce_window_plot PROPERTY CXX_STANDARD 11) 91 + set_property(TARGET spuce_win PROPERTY POSITION_INDEPENDENT_CODE TRUE) 92 + set_property(TARGET spuce_window_plot PROPERTY POSITION_INDEPENDENT_CODE TRUE) 93 + 94 + -TARGET_LINK_LIBRARIES(spuce_window_plot spuce_win ${QT_LIBRARIES} spuce) 95 + -QT5_USE_Modules(spuce_window_plot Gui) 96 + -QT5_USE_Modules(spuce_window_plot Core) 97 + -QT5_USE_Modules(spuce_window_plot Widgets) 98 + -QT5_USE_Modules(spuce_window_plot PrintSupport) 99 + +TARGET_LINK_LIBRARIES(spuce_window_plot spuce_win ${QT_LIBRARIES} spuce Qt::Gui Qt::Core Qt::Widgets Qt::PrintSupport) 100 + 101 + INSTALL(TARGETS spuce_window_plot DESTINATION bin)
+2
pkgs/top-level/all-packages.nix
··· 24589 24590 ponymix = callPackage ../applications/audio/ponymix { }; 24591 24592 potrace = callPackage ../applications/graphics/potrace {}; 24593 24594 posterazor = callPackage ../applications/misc/posterazor { };
··· 24589 24590 ponymix = callPackage ../applications/audio/ponymix { }; 24591 24592 + pothos = libsForQt5.callPackage ../applications/radio/pothos { }; 24593 + 24594 potrace = callPackage ../applications/graphics/potrace {}; 24595 24596 posterazor = callPackage ../applications/misc/posterazor { };