about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2013-10-22 19:56:30 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2013-10-22 20:43:54 +0200
commitd4e469d3075cf372cb503ee95c596edc1520d2ed (patch)
treeecb18150d0faf97d77763a6df981005de94b57f4 /pkgs
parent6eba129774d6bfecfa7c779977514ed8b6bfef46 (diff)
downloadnixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar.gz
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar.bz2
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar.lz
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar.xz
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.tar.zst
nixlib-d4e469d3075cf372cb503ee95c596edc1520d2ed.zip
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.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/spotify/default.nix9
1 files changed, 7 insertions, 2 deletions
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} ./