From 46b2bd427cce0fcc65f1c22449e6f7a759d1e99a Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 28 Oct 2013 03:09:10 +0100 Subject: [PATCH] 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 --- .../libraries/portmidi/default.nix | 54 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/libraries/portmidi/default.nix 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 { };