|
|
|
@ -3,7 +3,7 @@ |
|
|
|
|
, coreutils |
|
|
|
|
, libjack2 |
|
|
|
|
, fetchpatch |
|
|
|
|
, fetchzip |
|
|
|
|
, fetchFromGitHub |
|
|
|
|
, jack_capture |
|
|
|
|
, pkg-config |
|
|
|
|
, pulseaudioFull |
|
|
|
@ -20,9 +20,11 @@ mkDerivation rec { |
|
|
|
|
version = "0.9.1"; |
|
|
|
|
pname = "cadence"; |
|
|
|
|
|
|
|
|
|
src = fetchzip { |
|
|
|
|
url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz"; |
|
|
|
|
sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20"; |
|
|
|
|
src = fetchFromGitHub { |
|
|
|
|
owner = "falkTX"; |
|
|
|
|
repo = "Cadence"; |
|
|
|
|
rev = "v${version}"; |
|
|
|
|
sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
@ -39,11 +41,11 @@ mkDerivation rec { |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
postPatch = '' |
|
|
|
|
libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); |
|
|
|
|
substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso |
|
|
|
|
substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ |
|
|
|
|
"${lib.makeBinPath[pulseaudioFull]}/pulseaudio" |
|
|
|
|
substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso |
|
|
|
|
libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); |
|
|
|
|
substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso |
|
|
|
|
substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ |
|
|
|
|
"${lib.makeBinPath[pulseaudioFull]}/pulseaudio" |
|
|
|
|
substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
@ -54,10 +56,12 @@ mkDerivation rec { |
|
|
|
|
qtbase |
|
|
|
|
jack_capture |
|
|
|
|
pulseaudioFull |
|
|
|
|
((python3.withPackages (ps: with ps; [ |
|
|
|
|
pyqt5 |
|
|
|
|
dbus-python |
|
|
|
|
]))) |
|
|
|
|
( |
|
|
|
|
(python3.withPackages (ps: with ps; [ |
|
|
|
|
pyqt5 |
|
|
|
|
dbus-python |
|
|
|
|
])) |
|
|
|
|
) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
makeFlags = [ |
|
|
|
@ -68,31 +72,37 @@ mkDerivation rec { |
|
|
|
|
dontWrapQtApps = true; |
|
|
|
|
|
|
|
|
|
# Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise. |
|
|
|
|
preFixup = let |
|
|
|
|
outRef = placeholder "out"; |
|
|
|
|
prefix = "${outRef}/share/cadence/src"; |
|
|
|
|
scriptAndSource = lib.mapAttrs' (script: source: |
|
|
|
|
lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) |
|
|
|
|
) { |
|
|
|
|
"cadence" = "cadence.py"; |
|
|
|
|
"claudia" = "claudia.py"; |
|
|
|
|
"catarina" = "catarina.py"; |
|
|
|
|
"catia" = "catia.py"; |
|
|
|
|
"cadence-jacksettings" = "jacksettings.py"; |
|
|
|
|
"cadence-aloop-daemon" = "cadence_aloop_daemon.py"; |
|
|
|
|
"cadence-logs" = "logs.py"; |
|
|
|
|
"cadence-render" = "render.py"; |
|
|
|
|
"claudia-launcher" = "claudia_launcher.py"; |
|
|
|
|
"cadence-session-start" = "cadence_session_start.py"; |
|
|
|
|
}; |
|
|
|
|
in lib.mapAttrsToList (script: source: '' |
|
|
|
|
rm -f ${script} |
|
|
|
|
makeQtWrapper ${source} ${script} \ |
|
|
|
|
--prefix PATH : "${lib.makeBinPath [ |
|
|
|
|
jack_capture # cadence-render |
|
|
|
|
pulseaudioFull # cadence, cadence-session-start |
|
|
|
|
]}" |
|
|
|
|
'') scriptAndSource; |
|
|
|
|
preFixup = |
|
|
|
|
let |
|
|
|
|
outRef = placeholder "out"; |
|
|
|
|
prefix = "${outRef}/share/cadence/src"; |
|
|
|
|
scriptAndSource = lib.mapAttrs' |
|
|
|
|
(script: source: |
|
|
|
|
lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
"cadence" = "cadence.py"; |
|
|
|
|
"claudia" = "claudia.py"; |
|
|
|
|
"catarina" = "catarina.py"; |
|
|
|
|
"catia" = "catia.py"; |
|
|
|
|
"cadence-jacksettings" = "jacksettings.py"; |
|
|
|
|
"cadence-aloop-daemon" = "cadence_aloop_daemon.py"; |
|
|
|
|
"cadence-logs" = "logs.py"; |
|
|
|
|
"cadence-render" = "render.py"; |
|
|
|
|
"claudia-launcher" = "claudia_launcher.py"; |
|
|
|
|
"cadence-session-start" = "cadence_session_start.py"; |
|
|
|
|
}; |
|
|
|
|
in |
|
|
|
|
lib.mapAttrsToList |
|
|
|
|
(script: source: '' |
|
|
|
|
rm -f ${script} |
|
|
|
|
makeQtWrapper ${source} ${script} \ |
|
|
|
|
--prefix PATH : "${lib.makeBinPath [ |
|
|
|
|
jack_capture # cadence-render |
|
|
|
|
pulseaudioFull # cadence, cadence-session-start |
|
|
|
|
]}" |
|
|
|
|
'') |
|
|
|
|
scriptAndSource; |
|
|
|
|
|
|
|
|
|
meta = { |
|
|
|
|
homepage = "https://github.com/falkTX/Cadence/"; |
|
|
|
|