summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2007-08-21 00:00:23 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2007-08-21 00:00:23 +0000
commit38ace454e9ecf0043df44c47e4ca58820bd6890c (patch)
treeb6dc289a4398f3b4d74e7dde4af692f80625f3f8 /pkgs/misc
parentaa983025d6cf8da75b777808c3866ff76afe5f30 (diff)
downloadnixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.gz
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.bz2
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.lz
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.xz
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.zst
nixlib-38ace454e9ecf0043df44c47e4ca58820bd6890c.zip
* Wine locates a lot of libraries dynamically through dlopen(). Add
  them to the RPATH so that the user doesn't have to set them in
  LD_LIBRARY_PATH.

svn path=/nixpkgs/trunk/; revision=9177
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/emulators/wine/default.nix30
1 files changed, 23 insertions, 7 deletions
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 512ab3786753..f5cdd7c6e0c8 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -1,7 +1,8 @@
-{stdenv, fetchurl, libX11, gtk, flex, libICE, bison, libXi,
-	mesa, libXcursor, libXinerama, libXrandr, 
-	libXrender, libXxf86vm, alsaLib, ncurses, libjpeg,
-	lcms}:
+{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib
+, ncurses, libpng, libjpeg, lcms, freetype
+}:
+
+let lib = import ../../../lib/default.nix; in
 
 stdenv.mkDerivation {
   name = "wine-0.9.43";
@@ -11,7 +12,22 @@ stdenv.mkDerivation {
     sha256 = "0r6rz3zi5p7razn957lf2zy290hp36jrlfz4cpy23y9179r8i66x";
   };
 
-  buildInputs = [libX11 libICE gtk flex bison libXi mesa libXcursor
-	libXinerama libXrandr libXrender libXxf86vm alsaLib ncurses
-	libjpeg lcms];
+  buildInputs = [
+    xlibs.xlibs flex bison xlibs.libXi mesa
+    xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
+    xlibs.libXrender xlibs.libXxf86vm alsaLib ncurses
+    libpng libjpeg lcms 
+  ];
+
+  # Wine locates a lot of libraries dynamically through dlopen().  Add
+  # them to the RPATH so that the user doesn't have to set them in
+  # LD_LIBRARY_PATH.
+  NIX_LDFLAGS = map (path: "-rpath " + path + "/lib") [
+    freetype stdenv.gcc.gcc mesa mesa.libdrm
+    xlibs.libXinerama xlibs.libXrender xlibs.libXrandr xlibs.libXcursor
+  ];
+
+  # Don't shrink the ELF RPATHs in order to keep the extra RPATH
+  # elements specified above.
+  dontPatchELF = true;
 }