about summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
authorRickard Nilsson <rickynils@gmail.com>2014-05-13 12:04:20 +0200
committerRickard Nilsson <rickynils@gmail.com>2014-05-13 12:04:45 +0200
commitdd592d7ef363cf7d8922105f8a89f6fd271bbab1 (patch)
treeee1c5c56810d1f2709f359f57de99093d9e9f1b6 /pkgs/applications/audio
parent80511013625cae68d57cf57d1fb7d73014f26325 (diff)
downloadnixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar.gz
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar.bz2
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar.lz
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar.xz
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.tar.zst
nixlib-dd592d7ef363cf7d8922105f8a89f6fd271bbab1.zip
spotify: Fix missing src url for qt. Add missing dependencies.
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/spotify/default.nix64
1 files changed, 55 insertions, 9 deletions
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 874cc321f8be..a76e71488468 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,24 +1,62 @@
 { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
-, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }:
+, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev, fontconfig
+, dbus, expat }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 let
   version = "0.9.4.183";
+
   qt4webkit =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        name = "libqtwebkit4_2.2_i386.deb";
-        url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb;
+        name = "libqtwebkit4_2.3.2_i386.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb;
         sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
       }
     else
       fetchurl {
-        name = "libqtwebkit4_2.2_amd64.deb";
-        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb;
-        sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw";
+        name = "libqtwebkit4_2.3.2_amd64.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb;
+        sha256 = "0sac88avfivwkfhmd6fik7ili8fdznqas6741dbspf9mfnawbwch";
       };
+
+  deps = [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    GConf
+    gdk_pixbuf
+    glib
+    gst_plugins_base
+    gstreamer
+    gtk
+    libgcrypt
+    libpng
+    nss
+    pango
+    qt4
+    sqlite
+    stdenv.gcc.gcc
+    xlibs.libX11
+    xlibs.libXcomposite
+    xlibs.libXdamage
+    xlibs.libXext
+    xlibs.libXfixes
+    xlibs.libXi
+    xlibs.libXrandr
+    xlibs.libXrender
+    xlibs.libXrender
+    xlibs.libXScrnSaver
+    #xlibs.libXss
+  ];
+
 in
 
 stdenv.mkDerivation {
@@ -64,21 +102,29 @@ stdenv.mkDerivation {
 
       mkdir -p $out/bin
 
+      rpath="$out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.gcc.gcc}/lib64"
+
       ln -s $out/spotify-client/spotify $out/bin/spotify
+
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath $rpath $out/spotify-client/spotify
+
       patchelf \
         --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath $out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite xlibs.libXdamage ]}:${stdenv.gcc.gcc}/lib64 \
-        $out/spotify-client/spotify
+        --set-rpath $rpath $out/spotify-client/Data/SpotifyHelper
 
       dpkg-deb -x ${qt4webkit} ./
       mkdir -p $out/lib/
       cp -v usr/lib/*/* $out/lib/
 
       preload=$out/libexec/spotify/libpreload.so
+      librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib"
       mkdir -p $out/libexec/spotify
       gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
 
-      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer xlibs.libXdamage ]}:$out/lib"
+      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
+      wrapProgram $out/spotify-client/Data/SpotifyHelper --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
 
       # Desktop file
       mkdir -p "$out/share/applications/"