nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchurl,
4 python3Packages,
5 libjack2,
6 qt5,
7 which,
8 bash,
9}:
10
11python3Packages.buildPythonApplication rec {
12 pname = "patchance";
13 version = "1.1.0";
14
15 src = fetchurl {
16 url = "https://github.com/Houston4444/Patchance/releases/download/v${version}/Patchance-${version}-source.tar.gz";
17 hash = "sha256-wlkEKkPH2C/y7TQicIVycWbtLUdX2hICcUWi7nFN51w=";
18 };
19
20 pyproject = false;
21
22 nativeBuildInputs = [
23 python3Packages.pyqt5 # pyuic5 and pyrcc5 to build resources.
24 qt5.qttools # lrelease to build translations.
25 which # which to find lrelease.
26 qt5.wrapQtAppsHook
27 ];
28 buildInputs = [
29 libjack2
30 bash
31 ];
32 propagatedBuildInputs = [ python3Packages.pyqt5 ];
33
34 dontWrapQtApps = true; # The program is a python script.
35
36 installFlags = [ "PREFIX=$(out)" ];
37
38 makeWrapperArgs = [
39 "--suffix"
40 "LD_LIBRARY_PATH"
41 ":"
42 (lib.makeLibraryPath [ libjack2 ])
43 ];
44
45 preFixup = ''
46 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
47 '';
48
49 postFixup = ''
50 wrapPythonProgramsIn "$out/share/patchance/src" "$out ''${pythonPath[*]}"
51 for file in $out/bin/*; do
52 wrapQtApp "$file"
53 done
54 '';
55
56 meta = {
57 homepage = "https://github.com/Houston4444/Patchance";
58 description = "JACK Patchbay GUI";
59 mainProgram = "patchance";
60 license = lib.licenses.gpl2;
61 maintainers = [ ];
62 platforms = lib.platforms.linux;
63 };
64}