nixos/kubernetes/kubelet: Fix sandbox image load on containerd 2.x (#364558)
[NixPkgs.git] / pkgs / applications / audio / csound / default.nix
blob207f1201a6710145da8e4c18cfe67c5678f67cfe
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   libsndfile,
7   libsamplerate,
8   flex,
9   bison,
10   boost,
11   gettext,
12   Accelerate,
13   AudioUnit,
14   CoreAudio,
15   CoreMIDI,
16   portaudio,
17   alsa-lib ? null,
18   libpulseaudio ? null,
19   libjack2 ? null,
20   liblo ? null,
21   ladspa-sdk ? null,
22   fluidsynth ? null,
23   # , gmm ? null  # opcodes don't build with gmm 5.1
24   eigen ? null,
25   curl ? null,
26   tcltk ? null,
27   fltk ? null,
30 stdenv.mkDerivation rec {
31   pname = "csound";
32   version = "6.18.1";
34   hardeningDisable = [ "format" ];
36   src = fetchFromGitHub {
37     owner = "csound";
38     repo = "csound";
39     rev = version;
40     sha256 = "sha256-O7s92N54+zIl07eIdK/puoSve/qJ3O01fTh0TP+VdZA=";
41   };
43   cmakeFlags =
44     [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
45     ++ lib.optional stdenv.hostPlatform.isDarwin "-DCS_FRAMEWORK_DEST=${placeholder "out"}/lib"
46     # Ignore gettext in CMAKE_PREFIX_PATH on cross to prevent find_program picking up the wrong gettext
47     ++ lib.optional (
48       stdenv.hostPlatform != stdenv.buildPlatform
49     ) "-DCMAKE_IGNORE_PATH=${lib.getBin gettext}/bin";
51   nativeBuildInputs = [
52     cmake
53     flex
54     bison
55     gettext
56   ];
57   buildInputs =
58     [
59       libsndfile
60       libsamplerate
61       boost
62     ]
63     ++ lib.optionals stdenv.hostPlatform.isDarwin [
64       Accelerate
65       AudioUnit
66       CoreAudio
67       CoreMIDI
68       portaudio
69     ]
70     ++ lib.optionals stdenv.hostPlatform.isLinux (
71       builtins.filter (optional: optional != null) [
72         alsa-lib
73         libpulseaudio
74         libjack2
75         liblo
76         ladspa-sdk
77         fluidsynth
78         eigen
79         curl
80         tcltk
81         fltk
82       ]
83     );
85   postInstall = lib.optional stdenv.hostPlatform.isDarwin ''
86     mkdir -p $out/Library/Frameworks
87     ln -s $out/lib/CsoundLib64.framework $out/Library/Frameworks
88   '';
90   meta = with lib; {
91     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
92     homepage = "https://csound.com/";
93     license = licenses.lgpl21Plus;
94     maintainers = [ maintainers.marcweber ];
95     platforms = platforms.unix;
96   };