tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
pothos: init at 0.7.1
Eduardo Sánchez Muñoz
5 years ago
62ea910e
2b558b7f
+177
3 changed files
expand all
collapse all
unified
split
pkgs
applications
radio
pothos
default.nix
spuce.patch
top-level
all-packages.nix
+74
pkgs/applications/radio/pothos/default.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
0
0
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 { };