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