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
|
{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype
|
||||||
, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
|
, 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";
|
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.9.4.183";
|
version = "0.9.4.183";
|
||||||
|
|
||||||
qt4webkit =
|
qt4webkit =
|
||||||
if stdenv.system == "i686-linux" then
|
if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
name = "libqtwebkit4_2.2_i386.deb";
|
name = "libqtwebkit4_2.3.2_i386.deb";
|
||||||
url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb;
|
url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb;
|
||||||
sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
|
sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fetchurl {
|
fetchurl {
|
||||||
name = "libqtwebkit4_2.2_amd64.deb";
|
name = "libqtwebkit4_2.3.2_amd64.deb";
|
||||||
url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb;
|
url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb;
|
||||||
sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw";
|
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
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -64,21 +102,29 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
mkdir -p $out/bin
|
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
|
ln -s $out/spotify-client/spotify $out/bin/spotify
|
||||||
|
|
||||||
patchelf \
|
patchelf \
|
||||||
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
--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 \
|
--set-rpath $rpath $out/spotify-client/spotify
|
||||||
$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} ./
|
dpkg-deb -x ${qt4webkit} ./
|
||||||
mkdir -p $out/lib/
|
mkdir -p $out/lib/
|
||||||
cp -v usr/lib/*/* $out/lib/
|
cp -v usr/lib/*/* $out/lib/
|
||||||
|
|
||||||
preload=$out/libexec/spotify/libpreload.so
|
preload=$out/libexec/spotify/libpreload.so
|
||||||
|
librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib"
|
||||||
mkdir -p $out/libexec/spotify
|
mkdir -p $out/libexec/spotify
|
||||||
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
|
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
|
# Desktop file
|
||||||
mkdir -p "$out/share/applications/"
|
mkdir -p "$out/share/applications/"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user