spotify: Fix missing src url for qt. Add missing dependencies.
This commit is contained in:
parent
8051101362
commit
dd592d7ef3
@ -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/"
|
||||
|
Loading…
Reference in New Issue
Block a user