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