summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-09-10 16:57:58 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-09-10 16:57:58 +0000
commitb441632f92775170f715d63e804370f25e52836d (patch)
tree5aafd93da9e228a3a1c3d380d401723a2db75ca0
parent3201717bdbd66264509172df0ee31da510efcfb6 (diff)
downloadnixlib-b441632f92775170f715d63e804370f25e52836d.tar
nixlib-b441632f92775170f715d63e804370f25e52836d.tar.gz
nixlib-b441632f92775170f715d63e804370f25e52836d.tar.bz2
nixlib-b441632f92775170f715d63e804370f25e52836d.tar.lz
nixlib-b441632f92775170f715d63e804370f25e52836d.tar.xz
nixlib-b441632f92775170f715d63e804370f25e52836d.tar.zst
nixlib-b441632f92775170f715d63e804370f25e52836d.zip
timidity: fix instruments also adding jack and default alsa backend
svn path=/nixpkgs/trunk/; revision=17029
-rw-r--r--pkgs/tools/misc/timidity/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 41 insertions, 6 deletions
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 3aa9247742b5..e92b5a1cd2bd 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,6 +1,7 @@
 args: with args;
+let inherit (args.composableDerivation) composableDerivation edf; in
+composableDerivation {} {
 
-stdenv.mkDerivation {
   name = "timidity-2.13.0";
 
   src = fetchurl {
@@ -8,21 +9,55 @@ stdenv.mkDerivation {
     sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf";
   };
 
+  buildInputs = [];
+
+  mergeAttrBy.audioModes = a : b : "${a},${b}";
+
+  preConfigure = ''
+    configureFlags="$configureFlags --enable-audio=$audioModes"
+  '';
+
+  # configure still has many more options...
+  flags = {
+    oss = {
+      audioModes = "oss";
+    };
+    alsa = {
+      audioModes = "alsa";
+      buildInputs = [alsaLib];
+      # this is better than /dev/dsp !
+      configureFlags = ["--with-default-output-mode=alsa"];
+    };
+    jack = {
+      audioModes = "jack";
+      buildInputs = [jackaudio];
+      NIX_LDFLAGS = ["-ljack -L${jackaudio}/lib64"];
+    };
+  } // edf { name = "ncurses"; enable = { buildInputs = [ncurses]; };};
+
+  cfg = {
+    ncursesSupport = true;
+
+    ossSupport = true;
+    alsaSupport = true;
+    jackSupport = true;
+  };
+
   instruments = fetchurl {
     url = http://www.csee.umbc.edu/pub/midia/instruments.tar.gz;
     sha256 = "0lsh9l8l5h46z0y8ybsjd4pf6c22n33jsjvapfv3rjlfnasnqw67";
   };
 
-  buildInputs = [alsaLib];
-
+  # the instruments could be compressed (?)
   postInstall = ''
     mkdir -p $out/share/timidity/;
     cp ${./timidity.cfg} $out/share/timidity/timidity.cfg
-    tar -xf $instruments -C $out/share/timidity/
+    tar --strip-components=1 -xf $instruments -C $out/share/timidity/
   '';
 
   meta = {
     description = "A software MIDI renderer";
+    maintainers = [args.lib.maintainers.marcweber];
   };
-}
 
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 353d1790809c..6f3f68d6f4b3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7268,7 +7268,7 @@ let
   });*/
 
   timidity = import ../tools/misc/timidity {
-    inherit fetchurl stdenv alsaLib;
+    inherit fetchurl stdenv lib alsaLib composableDerivation jackaudio ncurses;
   };
 
   tkcvs = import ../applications/version-management/tkcvs {