From d4e469d3075cf372cb503ee95c596edc1520d2ed Mon Sep 17 00:00:00 2001 From: Bjørn Forsman Date: Tue, 22 Oct 2013 19:56:30 +0200 Subject: spotify: unbreak it Spotify doesn't start: $ ./result/bin/spotify /nix/store/yx05s6irqil8a24ilyvjvhnjljmm8f15-spotify-0.9.4.183/bin/.spotify-wrapped: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory That is fixed with adding $out/spotify-client/Data to RPATH. Then Spotify errors out trying to open libudev.so.0. We don't have that in nixpkgs, so I'm making a symlink to libudev.so.1 instead. Tested on NixOS x86_64-linux. --- pkgs/applications/audio/spotify/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'pkgs') diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index deda180c883b..31cdbf9c6cec 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,4 +1,6 @@ -{ 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 }: +{ 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 }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -57,12 +59,15 @@ stdenv.mkDerivation { ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d + # Work around Spotify trying to open libudev.so.0 (which we don't have) + ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0 + mkdir -p $out/bin ln -s $out/spotify-client/spotify $out/bin/spotify patchelf \ --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $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]}:${stdenv.gcc.gcc}/lib64 \ + --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]}:${stdenv.gcc.gcc}/lib64 \ $out/spotify-client/spotify dpkg-deb -x ${qt4webkit} ./ -- cgit 1.4.1