spotify: Fix missing src url for qt. Add missing dependencies.

This commit is contained in:
Rickard Nilsson 2014-05-13 12:04:20 +02:00
parent 8051101362
commit dd592d7ef3

View File

@ -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 $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/spotify
patchelf \
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--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/"