nixpkgs/pkgs/applications/networking/instant-messengers/jitsi/default.nix
Matthew Bauer 76999cc40e treewide: remove aliases in nixpkgs
This makes the command ‘nix-env -qa -f. --arg config '{skipAliases =
true;}'’ work in Nixpkgs.

Misc...

- qtikz: use libsForQt5.callPackage

  This ensures we get the right poppler.

- rewrites:

  docbook5_xsl -> docbook_xsl_ns
  docbook_xml_xslt -> docbook_xsl

diffpdf: fixup
2018-07-18 23:25:20 -04:00

72 lines
1.9 KiB
Nix

{ stdenv, lib, fetchurl, makeDesktopItem, unzip, ant, jdk
# Optional, Jitsi still runs without, but you may pass null:
, alsaLib, dbus, gtk2, libpulseaudio, openssl, xorg
}:
stdenv.mkDerivation rec {
name = "jitsi-${version}";
version = "2.10.5550";
src = fetchurl {
url = "https://download.jitsi.org/jitsi/src/jitsi-src-${version}.zip";
sha256 = "11vjchc3dnzj55x7c62wsm6masvwmij1ifkds917r1qvil1nzz6d";
};
patches = [ ./jitsi.patch ];
jitsiItem = makeDesktopItem {
name = "Jitsi";
exec = "jitsi";
comment = "VoIP and Instant Messaging client";
desktopName = "Jitsi";
genericName = "Instant Messaging";
categories = "Application;Internet;";
};
libPath = lib.makeLibraryPath ([
stdenv.cc.cc # For libstdc++.
alsaLib
dbus
gtk2
libpulseaudio
openssl
xorg.libX11
xorg.libXext
xorg.libXScrnSaver
xorg.libXv
]);
nativeBuildInputs = [ unzip ];
buildInputs = [ ant jdk ];
buildPhase = ''ant make'';
installPhase = ''
mkdir -p $out
cp -a lib $out/
rm -rf $out/lib/native/solaris
cp -a sc-bundles $out/
mkdir $out/bin
cp resources/install/generic/run.sh $out/bin/jitsi
chmod +x $out/bin/jitsi
substituteInPlace $out/bin/jitsi \
--subst-var-by JAVA ${jdk}/bin/java \
--subst-var-by EXTRALIBS ${gtk2.out}/lib
sed -e 's,^java\ ,${jdk}/bin/java ,' -i $out/bin/jitsi
patchShebangs $out
libPath="$libPath:${jdk.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 = with stdenv.lib; {
homepage = https://jitsi.org/;
description = "Open Source Video Calls and Chat";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ndowens ];
};
}