summary refs log tree commit diff
path: root/pkgs
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
parentaa983025d6cf8da75b777808c3866ff76afe5f30 (diff)
downloadnixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar
nixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.gz
nixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.bz2
nixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.lz
nixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.xz
nixpkgs-38ace454e9ecf0043df44c47e4ca58820bd6890c.tar.zst
nixpkgs-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')
-rw-r--r--pkgs/development/libraries/mesa/default.nix1
-rw-r--r--pkgs/misc/emulators/wine/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix5
3 files changed, 25 insertions, 11 deletions
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 9ee247afa3b..dcc24d5c2fb 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
       md5 = "1a8c4d4fc699233f5fdb902b8753099e";
     }) */
   buildInputs = [pkgconfig x11 libXmu libXi makedepend libdrm glproto libXxf86vm];
+  passthru = {inherit libdrm;};
   meta = {description = "OpenGL-compatible 3D library. Supports acceleration.";};
 }
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 512ab378675..f5cdd7c6e0c 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;
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b8c439660e1..e9785e7261e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3822,10 +3822,7 @@ rec {
   wine = import ../misc/emulators/wine {
     stdenv = overrideGCC stdenv gcc41NPTL;
     inherit fetchurl flex bison mesa ncurses
-	libjpeg alsaLib lcms;
-    inherit (xlibs) libX11 libICE libXi libXcursor
-	libXinerama libXrandr libXrender libXxf86vm;
-    inherit (gtkLibs) gtk;
+      libpng libjpeg alsaLib lcms xlibs freetype;
   };
 
   xsane = import ../misc/xsane {