about summary refs log tree commit diff
path: root/pkgs/tools/misc/timidity
diff options
context:
space:
mode:
authorAngus Trau <me@angus.ws>2021-11-07 12:33:07 +1100
committerAngus Trau <me@angus.ws>2021-11-08 21:49:55 +1100
commit55b68d31884a7ab75eb8d48c8a3a20920113bfa3 (patch)
tree64ddf3729ee9b24300c673da5fa9eb0603426df2 /pkgs/tools/misc/timidity
parent5d043aa51793f98721ab422bf80071f4facdcf34 (diff)
timidity: enable darwin support
Diffstat (limited to 'pkgs/tools/misc/timidity')
-rw-r--r--pkgs/tools/misc/timidity/default.nix27
1 files changed, 22 insertions, 5 deletions
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 368efcf9de30e..42d6d5da4e087 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, alsa-lib, libjack2, ncurses, pkg-config }:
+{ lib, stdenv, fetchurl, alsa-lib, libjack2, CoreAudio, ncurses, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "timidity";
@@ -12,9 +12,24 @@ stdenv.mkDerivation rec {
   patches = [ ./timidity-iA-Oj.patch ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsa-lib libjack2 ncurses ];
-
-  configureFlags = [ "--enable-audio=oss,alsa,jack" "--enable-alsaseq" "--with-default-output=alsa" "--enable-ncurses" ];
+  buildInputs = [
+    libjack2
+    ncurses
+  ] ++ lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreAudio
+  ];
+
+  configureFlags = [
+    "--enable-ncurses"
+  ] ++ lib.optionals stdenv.isLinux [
+    "--enable-audio=oss,alsa,jack"
+    "--enable-alsaseq"
+    "--with-default-output=alsa"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "--enable-audio=darwin,jack"
+  ];
 
   NIX_LDFLAGS = "-ljack -L${libjack2}/lib";
 
@@ -29,12 +44,14 @@ stdenv.mkDerivation rec {
     cp ${./timidity.cfg} $out/share/timidity/timidity.cfg
     tar --strip-components=1 -xf $instruments -C $out/share/timidity/
   '';
+  # This fixup step is unnecessary and fails on Darwin
+  dontRewriteSymlinks = stdenv.isDarwin;
 
   meta = with lib; {
     homepage = "https://sourceforge.net/projects/timidity/";
     license = licenses.gpl2;
     description = "A software MIDI renderer";
     maintainers = [ maintainers.marcweber ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }