summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/networking/instant-messengers/hipchat/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/hipchat/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix111
1 files changed, 74 insertions, 37 deletions
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index c0f76602b2bb..6da12905f560 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,59 +1,96 @@
-{ stdenv
-, fetchurl
-, libtool
-, libXext
-, libSM
-, libICE
-, libX11
-, libXft
-, libXau
-, libXdmcp
-, libXrender
-, freetype
-, fontconfig
-, openssl
-}:
+{ 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 }:
let
- version = "1.94.407";
+
+ version = "2.2.1107";
rpath = stdenv.lib.makeSearchPath "lib" [
stdenv.glibc
- stdenv.gcc.gcc
libtool
- libXext
- libSM
- libICE
- libX11
- libXft
- libXau
- libXdmcp
- libXrender
+ 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
+ ] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
- src = fetchurl {
- url = "http://downloads.hipchat.com/linux/arch/hipchat-${version}-i686.pkg.tar.xz";
- sha256 = "0kyjpa2ir066zqkvs1zmnx6kvl8v4jfl8h7bw110cgigwmiplk7k";
- };
-in stdenv.mkDerivation {
+ 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 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa";
+ }
+ else if stdenv.system == "i686-linux" then
+ fetchurl {
+ url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
+ sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv";
+ }
+ 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
- mv opt/HipChat/lib $out
- mv opt/HipChat/bin $out
+
+ 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
+
patchShebangs $out/bin
- for file in $(find $out/lib -type f); do
- patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $file || true
- patchelf --set-rpath ${rpath}:$out/lib $file || true
+
+ for file in $(find $d -type f); do
+ patchelf --set-interpreter "$(cat $NIX_GCC/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 = {