diff options
author | Edward Tjörnhammar <ed@cflags.cc> | 2015-09-16 16:10:04 +0200 |
---|---|---|
committer | Edward Tjörnhammar <ed@cflags.cc> | 2015-09-16 16:10:04 +0200 |
commit | c6cadd11db59f76722c576e1ec87c70fab3dfc8c (patch) | |
tree | 7e80d11734e0f478e936cccd2d4cdf2e80eec9f5 /pkgs/applications | |
parent | 0af5fccf2a6bdc9224b03e32ca42800ddc68d433 (diff) | |
parent | 476f2e3e2dda1def282808870e8055021484b3f4 (diff) | |
download | nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar.gz nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar.bz2 nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar.lz nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar.xz nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.tar.zst nixlib-c6cadd11db59f76722c576e1ec87c70fab3dfc8c.zip |
Merge pull request #9785 from khumba/jitsi-rpath-fix
jitsi: patch RPATHs for missing libraries
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/jitsi/default.nix | 29 | ||||
-rw-r--r-- | pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch | 2 |
2 files changed, 28 insertions, 3 deletions
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix index 195c95884780..c3548af93469 100644 --- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix +++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, makeDesktopItem, unzip, ant, jdk }: +{ stdenv, lib, fetchurl, makeDesktopItem, unzip, ant, jdk +# Optional, Jitsi still runs without, but you may pass null: +, alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs +}: stdenv.mkDerivation rec { @@ -22,6 +25,21 @@ stdenv.mkDerivation rec { categories = "Application;Internet;"; }; + libPath = lib.makeLibraryPath ([ + stdenv.cc.cc # For libstdc++. + ] ++ lib.filter (x: x != null) [ + alsaLib + dbus_libs + gtk2 + libpulseaudio + openssl + ] ++ lib.optionals (xlibs != null) [ + xlibs.libX11 + xlibs.libXext + xlibs.libXScrnSaver + xlibs.libXv + ]); + buildInputs = [unzip ant jdk]; buildPhase = ''ant make''; @@ -33,8 +51,14 @@ stdenv.mkDerivation rec { mkdir $out/bin cp resources/install/generic/run.sh $out/bin/jitsi chmod +x $out/bin/jitsi - sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi + substituteInPlace $out/bin/jitsi --replace '@JAVA@' '${jdk}/bin/java' patchShebangs $out + + libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}" + find $out/ -type f -name '*.so' | while read file; do + patchelf --set-rpath "$libPath" "$file" && \ + patchelf --shrink-rpath "$file" + done ''; meta = { @@ -42,6 +66,7 @@ stdenv.mkDerivation rec { description = "Open Source Video Calls and Chat"; license = stdenv.lib.licenses.lgpl21Plus.shortName; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.khumba ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch index 9163cecd175b..942b3cd0cbe6 100644 --- a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch +++ b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch @@ -24,4 +24,4 @@ export PATH=$PATH:native -java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator -+exec java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator ++exec @JAVA@ $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator |