about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2013-10-28 03:09:10 +0100
committeraszlig <aszlig@redmoonstudios.org>2013-10-28 20:48:48 +0100
commit46b2bd427cce0fcc65f1c22449e6f7a759d1e99a (patch)
treebe6a937042d3d05f91c9741356c90971fcf42198 /pkgs
parenta80598b535b0d0e087c18a53f9033b748fcfbe05 (diff)
downloadnixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar.gz
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar.bz2
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar.lz
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar.xz
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.tar.zst
nixlib-46b2bd427cce0fcc65f1c22449e6f7a759d1e99a.zip
portmidi: New package in version 217.
This uses a patch from Gentoo to disable Java support for now, as it is
not needed for supporting Mixxx (which is the package I'm preparing).
Hopefully, the patch will be applied upstream so we can safely drop it
here.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/portmidi/default.nix54
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix
new file mode 100644
index 000000000000..19eb390388bb
--- /dev/null
+++ b/pkgs/development/libraries/portmidi/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, unzip, cmake, /*openjdk,*/ alsaLib }:
+
+stdenv.mkDerivation rec {
+  name = "portmidi-${version}";
+  version = "217";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/portmedia/portmidi-src-${version}.zip";
+    sha256 = "03rfsk7z6rdahq2ihy5k13qjzgx757f75yqka88v3gc0pn9ais88";
+  };
+
+  cmakeFlags = let
+    #base = "${openjdk}/jre/lib/${openjdk.architecture}";
+  in [
+    "-DPORTMIDI_ENABLE_JAVA=0"
+    /* TODO: Fix Java support.
+    "-DJAVA_AWT_LIBRARY=${base}/libawt.so"
+    "-DJAVA_JVM_LIBRARY=${base}/server/libjvm.so"
+    */
+    "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=Release"
+    "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=Release"
+    "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=Release"
+  ];
+
+  # XXX: This is to deactivate Java support.
+  patches = stdenv.lib.singleton (fetchurl rec {
+    url = "https://raw.github.com/Rogentos/argent-gentoo/master/media-libs/"
+        + "portmidi/files/portmidi-217-cmake-libdir-java-opts.patch";
+    sha256 = "1jbjwan61iqq9fqfpq2a4fd30k3clg7a6j0gfgsw87r8c76kqf6h";
+  });
+
+  postPatch = ''
+    sed -i -e 's|/usr/local/|'"$out"'|' -e 's|/usr/share/|'"$out"'/share/|' \
+      pm_common/CMakeLists.txt pm_dylib/CMakeLists.txt pm_java/CMakeLists.txt
+    sed -i \
+        -e 's|-classpath .|-classpath '"$(pwd)"'/pm_java|' \
+        -e 's|pmdefaults/|'"$(pwd)"'/pm_java/&|g' \
+        -e 's|jportmidi/|'"$(pwd)"'/pm_java/&|g' \
+        -e 's/WORKING_DIRECTORY pm_java//' \
+        pm_java/CMakeLists.txt
+  '';
+
+  postInstall = ''
+    ln -s libportmidi.so "$out/lib/libporttime.so"
+  '';
+
+  buildInputs = [ unzip cmake /*openjdk*/ alsaLib ];
+
+  meta = {
+    homepage = "http://portmedia.sourceforge.net/portmidi/";
+    description = "Platform independent library for MIDI I/O";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7b274c4043bc..376a59a47f16 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5416,6 +5416,8 @@ let
 
   portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { };
 
+  portmidi = callPackage ../development/libraries/portmidi {};
+
   prison = callPackage ../development/libraries/prison { };
 
   proj = callPackage ../development/libraries/proj { };