junixsocket: Support Darwin

Patch borrowed from Rob Vermaas.
This commit is contained in:
Eelco Dolstra
2014-01-28 11:56:14 +01:00
parent 5150dbfdbe
commit e5995e0703
2 changed files with 30 additions and 4 deletions

View File

@@ -8,11 +8,15 @@ stdenv.mkDerivation rec {
sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym";
};
patches = [ ./darwin.patch ];
buildInputs = [ ant jdk junit ];
preConfigure =
''
sed -i 's|/usr/bin/||' build.xml
substituteInPlace build.xml \
--replace /usr/bin/ "" \
--replace macosx darwin
substituteInPlace src/main/org/newsclub/net/unix/NativeUnixSocketConfig.java \
--replace /opt/newsclub/lib-native $out/lib
'';
@@ -20,8 +24,10 @@ stdenv.mkDerivation rec {
buildPhase = "ant";
ANT_ARGS =
"-Dskip32=true -Dant.build.javac.source=1.6"
+ stdenv.lib.optionalString stdenv.isDarwin " -DisMac=true";
# Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib.
(if stdenv.is64bit && !stdenv.isDarwin then [ "-Dskip32=true" ] else [ "-Dskip64=true" ])
++ [ "-Dgcc=cc" "-Dant.build.javac.source=1.6" ]
++ stdenv.lib.optional stdenv.isDarwin "-DisMac=true";
installPhase =
''
@@ -34,6 +40,6 @@ stdenv.mkDerivation rec {
description = "A Java/JNI library for using Unix Domain Sockets from Java";
homepage = https://code.google.com/p/junixsocket/;
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}