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>
wip/yesman
aszlig 11 years ago
parent a80598b535
commit 46b2bd427c
No known key found for this signature in database
GPG Key ID: D0EBD0EC8C2DC961
  1. 54
      pkgs/development/libraries/portmidi/default.nix
  2. 2
      pkgs/top-level/all-packages.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;
};
}

@ -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 { };

Loading…
Cancel
Save