tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
cadence: switch to fetchFromGitHub
Felix Buehler
4 years ago
aeb416bb
38ff77cf
+48
-38
1 changed file
expand all
collapse all
unified
split
pkgs
applications
audio
cadence
default.nix
+48
-38
pkgs/applications/audio/cadence/default.nix
···
3
3
, coreutils
4
4
, libjack2
5
5
, fetchpatch
6
6
-
, fetchzip
6
6
+
, fetchFromGitHub
7
7
, jack_capture
8
8
, pkg-config
9
9
, pulseaudioFull
···
20
20
version = "0.9.1";
21
21
pname = "cadence";
22
22
23
23
-
src = fetchzip {
24
24
-
url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz";
25
25
-
sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20";
23
23
+
src = fetchFromGitHub {
24
24
+
owner = "falkTX";
25
25
+
repo = "Cadence";
26
26
+
rev = "v${version}";
27
27
+
sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8=";
26
28
};
27
29
28
30
patches = [
···
39
41
];
40
42
41
43
postPatch = ''
42
42
-
libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0);
43
43
-
substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso
44
44
-
substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \
45
45
-
"${lib.makeBinPath[pulseaudioFull]}/pulseaudio"
46
46
-
substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso
44
44
+
libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0);
45
45
+
substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso
46
46
+
substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \
47
47
+
"${lib.makeBinPath[pulseaudioFull]}/pulseaudio"
48
48
+
substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso
47
49
'';
48
50
49
51
nativeBuildInputs = [
···
54
56
qtbase
55
57
jack_capture
56
58
pulseaudioFull
57
57
-
((python3.withPackages (ps: with ps; [
58
58
-
pyqt5
59
59
-
dbus-python
60
60
-
])))
59
59
+
(
60
60
+
(python3.withPackages (ps: with ps; [
61
61
+
pyqt5
62
62
+
dbus-python
63
63
+
]))
64
64
+
)
61
65
];
62
66
63
67
makeFlags = [
···
68
72
dontWrapQtApps = true;
69
73
70
74
# Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise.
71
71
-
preFixup = let
72
72
-
outRef = placeholder "out";
73
73
-
prefix = "${outRef}/share/cadence/src";
74
74
-
scriptAndSource = lib.mapAttrs' (script: source:
75
75
-
lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
76
76
-
) {
77
77
-
"cadence" = "cadence.py";
78
78
-
"claudia" = "claudia.py";
79
79
-
"catarina" = "catarina.py";
80
80
-
"catia" = "catia.py";
81
81
-
"cadence-jacksettings" = "jacksettings.py";
82
82
-
"cadence-aloop-daemon" = "cadence_aloop_daemon.py";
83
83
-
"cadence-logs" = "logs.py";
84
84
-
"cadence-render" = "render.py";
85
85
-
"claudia-launcher" = "claudia_launcher.py";
86
86
-
"cadence-session-start" = "cadence_session_start.py";
87
87
-
};
88
88
-
in lib.mapAttrsToList (script: source: ''
89
89
-
rm -f ${script}
90
90
-
makeQtWrapper ${source} ${script} \
91
91
-
--prefix PATH : "${lib.makeBinPath [
92
92
-
jack_capture # cadence-render
93
93
-
pulseaudioFull # cadence, cadence-session-start
94
94
-
]}"
95
95
-
'') scriptAndSource;
75
75
+
preFixup =
76
76
+
let
77
77
+
outRef = placeholder "out";
78
78
+
prefix = "${outRef}/share/cadence/src";
79
79
+
scriptAndSource = lib.mapAttrs'
80
80
+
(script: source:
81
81
+
lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
82
82
+
)
83
83
+
{
84
84
+
"cadence" = "cadence.py";
85
85
+
"claudia" = "claudia.py";
86
86
+
"catarina" = "catarina.py";
87
87
+
"catia" = "catia.py";
88
88
+
"cadence-jacksettings" = "jacksettings.py";
89
89
+
"cadence-aloop-daemon" = "cadence_aloop_daemon.py";
90
90
+
"cadence-logs" = "logs.py";
91
91
+
"cadence-render" = "render.py";
92
92
+
"claudia-launcher" = "claudia_launcher.py";
93
93
+
"cadence-session-start" = "cadence_session_start.py";
94
94
+
};
95
95
+
in
96
96
+
lib.mapAttrsToList
97
97
+
(script: source: ''
98
98
+
rm -f ${script}
99
99
+
makeQtWrapper ${source} ${script} \
100
100
+
--prefix PATH : "${lib.makeBinPath [
101
101
+
jack_capture # cadence-render
102
102
+
pulseaudioFull # cadence, cadence-session-start
103
103
+
]}"
104
104
+
'')
105
105
+
scriptAndSource;
96
106
97
107
meta = {
98
108
homepage = "https://github.com/falkTX/Cadence/";