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 {