cadence: switch to fetchFromGitHub

+48 -38
+48 -38
pkgs/applications/audio/cadence/default.nix
··· 3 3 , coreutils 4 4 , libjack2 5 5 , fetchpatch 6 - , fetchzip 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 - src = fetchzip { 24 - url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz"; 25 - sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20"; 23 + src = fetchFromGitHub { 24 + owner = "falkTX"; 25 + repo = "Cadence"; 26 + rev = "v${version}"; 27 + sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8="; 26 28 }; 27 29 28 30 patches = [ ··· 39 41 ]; 40 42 41 43 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 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 47 49 ''; 48 50 49 51 nativeBuildInputs = [ ··· 54 56 qtbase 55 57 jack_capture 56 58 pulseaudioFull 57 - ((python3.withPackages (ps: with ps; [ 58 - pyqt5 59 - dbus-python 60 - ]))) 59 + ( 60 + (python3.withPackages (ps: with ps; [ 61 + pyqt5 62 + dbus-python 63 + ])) 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 - 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; 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; 96 106 97 107 meta = { 98 108 homepage = "https://github.com/falkTX/Cadence/";