anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / audio / raysession / default.nix
blob61051f79b3769afd8fcc168a28469f364c0c23fd
1 { lib, fetchurl, buildPythonApplication, libjack2, pyliblo, pyqt5, which, bash, qt5 }:
3 buildPythonApplication rec {
4   pname = "raysession";
5   version = "0.14.3";
7   src = fetchurl {
8     url = "https://github.com/Houston4444/RaySession/releases/download/v${version}/RaySession-${version}-source.tar.gz";
9     sha256 = "sha256-3+g1zdjGkxNEpyuKuxzhr2p9gkEFjYAso4fPedbjmlY=";
10   };
12   postPatch = ''
13     # Fix installation path of xdg schemas.
14     substituteInPlace Makefile --replace '$(DESTDIR)/' '$(DESTDIR)$(PREFIX)/'
15     # Do not wrap an importable module with a shell script.
16     chmod -x src/daemon/desktops_memory.py
17   '';
19   format = "other";
21   nativeBuildInputs = [
22     pyqt5   # pyuic5 and pyrcc5 to build resources.
23     qt5.qttools # lrelease to build translations.
24     which   # which to find lrelease.
25     qt5.wrapQtAppsHook
26   ];
27   buildInputs = [ libjack2 bash ];
28   propagatedBuildInputs = [ pyliblo pyqt5 ];
30   dontWrapQtApps = true; # The program is a python script.
32   installFlags = [ "PREFIX=$(out)" ];
34   makeWrapperArgs = [
35     "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ libjack2 ])
36   ];
38   postFixup = ''
39     wrapPythonProgramsIn "$out/share/raysession/src" "$out $pythonPath"
40     for file in $out/bin/*; do
41       wrapQtApp "$file"
42     done
43   '';
45   meta = with lib; {
46     homepage = "https://github.com/Houston4444/RaySession";
47     description = "Session manager for Linux musical programs";
48     license = licenses.gpl2;
49     maintainers = with maintainers; [ orivej ];
50     platforms = platforms.linux;
51   };