tailscale: 1.78.1 -> 1.80.0 (#378141)
[NixPkgs.git] / pkgs / applications / audio / grandorgue / default.nix
blobab333f83ed5343620484c61e8aa933108fb039b7
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , pkg-config
6 , fftwFloat
7 , alsa-lib
8 , zlib
9 , wavpack
10 , wxGTK32
11 , udev
12 , jackaudioSupport ? false
13 , libjack2
14 , imagemagick
15 , libicns
16 , yaml-cpp
17 , makeWrapper
18 , Cocoa
19 , includeDemo ? true
22 stdenv.mkDerivation rec {
23   pname = "grandorgue";
24   version = "3.15.4-1";
26   src = fetchFromGitHub {
27     owner = "GrandOrgue";
28     repo = "grandorgue";
29     rev = version;
30     fetchSubmodules = true;
31     hash = "sha256-9H7YpTtv9Y36Nc0WCyRy/ohpOQ3WVUd9gMahnGhANRc=";
32   };
34   patches = [ ./darwin-fixes.patch ];
36   nativeBuildInputs = [ cmake pkg-config imagemagick libicns makeWrapper ];
38   buildInputs = [ fftwFloat zlib wavpack wxGTK32 yaml-cpp ]
39     ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib udev ]
40     ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]
41     ++ lib.optional jackaudioSupport libjack2;
43   cmakeFlags = lib.optionals (!jackaudioSupport) [
44     "-DRTAUDIO_USE_JACK=OFF"
45     "-DRTMIDI_USE_JACK=OFF"
46     "-DGO_USE_JACK=OFF"
47     "-DINSTALL_DEPEND=OFF"
48   ] ++ lib.optional (!includeDemo) "-DINSTALL_DEMO=OFF";
50   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
51     mkdir -p $out/{Applications,bin,lib}
52     mv $out/GrandOrgue.app $out/Applications/
53     for lib in $out/Applications/GrandOrgue.app/Contents/Frameworks/lib*; do
54       ln -s $lib $out/lib/
55     done
56     makeWrapper $out/{Applications/GrandOrgue.app/Contents/MacOS,bin}/GrandOrgue
57   '';
59   meta = {
60     description = "Virtual Pipe Organ Software";
61     homepage = "https://github.com/GrandOrgue/grandorgue";
62     license = lib.licenses.gpl2Plus;
63     platforms = lib.platforms.unix;
64     maintainers = [ lib.maintainers.puzzlewolf ];
65     mainProgram = "GrandOrgue";
66   };