103 lines
2.8 KiB
Nix
103 lines
2.8 KiB
Nix
{ stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib
|
|
, mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
|
|
, libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
|
|
, makeWrapper, libredirect, xkeyboard_config, xcbutilkeysyms }:
|
|
|
|
let
|
|
|
|
version = "2.2.1373";
|
|
|
|
rpath = stdenv.lib.makeSearchPath "lib" [
|
|
stdenv.glibc
|
|
libtool
|
|
xlibs.libXext
|
|
xlibs.libSM
|
|
xlibs.libICE
|
|
xlibs.libX11
|
|
xlibs.libXft
|
|
xlibs.libXau
|
|
xlibs.libXdmcp
|
|
xlibs.libXrender
|
|
xlibs.libXfixes
|
|
xlibs.libXcomposite
|
|
xlibs.libxcb
|
|
xlibs.libXi
|
|
freetype
|
|
fontconfig
|
|
openssl
|
|
glib
|
|
mesa
|
|
gstreamer
|
|
gst_plugins_base
|
|
dbus
|
|
alsaLib
|
|
zlib
|
|
libuuid
|
|
libxml2
|
|
libxslt
|
|
sqlite
|
|
libogg
|
|
libvorbis
|
|
xz
|
|
libcanberra
|
|
xcbutilkeysyms
|
|
] + ":${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
|
|
|
|
src =
|
|
if stdenv.system == "x86_64-linux" then
|
|
fetchurl {
|
|
url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
|
|
sha256 = "0mxjzigncp8sh5w2rpr7kvkiahagm3adss1zv6rqk8hc1awrnd8n";
|
|
}
|
|
else if stdenv.system == "i686-linux" then
|
|
fetchurl {
|
|
url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
|
|
sha256 = "1f4cjbazgifxpyr6589frs417h4wpxbykf46w5qiw0m2wiqpqff5";
|
|
}
|
|
else
|
|
throw "HipChat is not supported on ${stdenv.system}";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
name = "hipchat-${version}";
|
|
|
|
inherit src;
|
|
|
|
buildInputs = [ makeWrapper ];
|
|
|
|
buildCommand = ''
|
|
tar xf ${src}
|
|
|
|
mkdir -p $out/libexec/hipchat/bin
|
|
d=$out/libexec/hipchat/lib
|
|
rm -rfv opt/HipChat/lib/{libstdc++*,libz*,libuuid*,libxml2*,libxslt*,libsqlite*,libogg*,libvorbis*,liblzma*,libcanberra.*,libcanberra-*}
|
|
mv opt/HipChat/lib/ $d
|
|
mv usr/share $out
|
|
|
|
for file in $(find $d -type f); do
|
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file || true
|
|
patchelf --set-rpath ${rpath}:\$ORIGIN $file || true
|
|
done
|
|
|
|
substituteInPlace $out/share/applications/hipchat.desktop \
|
|
--replace /opt/HipChat/bin $out/bin
|
|
|
|
makeWrapper $d/hipchat.bin $out/bin/hipchat \
|
|
--set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \
|
|
--set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \
|
|
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
|
|
--set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
|
|
|
|
mv opt/HipChat/bin/linuxbrowserlaunch $out/libexec/hipchat/bin/
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Desktop client for HipChat services";
|
|
homepage = http://www.hipchat.com;
|
|
license = licenses.unfree;
|
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
|
maintainers = with maintainers; [ jgeerds ];
|
|
};
|
|
}
|