Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 72 lines 1.6 kB view raw
1{ 2 lib, 3 fetchurl, 4 buildPythonApplication, 5 libjack2, 6 pyliblo3, 7 pyqt5, 8 which, 9 bash, 10 qt5, 11}: 12 13buildPythonApplication rec { 14 pname = "raysession"; 15 version = "0.14.4"; 16 17 src = fetchurl { 18 url = "https://github.com/Houston4444/RaySession/releases/download/v${version}/RaySession-${version}-source.tar.gz"; 19 sha256 = "sha256-cr9kqZdqY6Wq+RkzwYxNrb/PLFREKUgWeVNILVUkc7A="; 20 }; 21 22 postPatch = '' 23 # Fix installation path of xdg schemas. 24 substituteInPlace Makefile --replace '$(DESTDIR)/' '$(DESTDIR)$(PREFIX)/' 25 # Do not wrap an importable module with a shell script. 26 chmod -x src/daemon/desktops_memory.py 27 chmod -x src/clients/jackpatch/main_loop.py 28 ''; 29 30 format = "other"; 31 32 nativeBuildInputs = [ 33 pyqt5 # pyuic5 and pyrcc5 to build resources. 34 qt5.qttools # lrelease to build translations. 35 which # which to find lrelease. 36 qt5.wrapQtAppsHook 37 ]; 38 buildInputs = [ 39 libjack2 40 bash 41 ]; 42 dependencies = [ 43 pyliblo3 44 pyqt5 45 ]; 46 47 dontWrapQtApps = true; # The program is a python script. 48 49 installFlags = [ "PREFIX=$(out)" ]; 50 51 makeWrapperArgs = [ 52 "--suffix" 53 "LD_LIBRARY_PATH" 54 ":" 55 (lib.makeLibraryPath [ libjack2 ]) 56 ]; 57 58 postFixup = '' 59 wrapPythonProgramsIn "$out/share/raysession/src" "$out $pythonPath" 60 for file in $out/bin/*; do 61 wrapQtApp "$file" 62 done 63 ''; 64 65 meta = with lib; { 66 homepage = "https://github.com/Houston4444/RaySession"; 67 description = "Session manager for Linux musical programs"; 68 license = licenses.gpl2; 69 maintainers = with maintainers; [ orivej ]; 70 platforms = platforms.linux; 71 }; 72}