nvidia-x11: Set 32-bit library paths for 32-bit libraries.
Patchelf was being called to point RUNPATH to 64-bit library paths even for 32-bit libraries.
This commit is contained in:
parent
0b8efd8724
commit
d1226bff8e
2 changed files with 11 additions and 4 deletions
|
@ -102,7 +102,11 @@ installPhase() {
|
|||
do
|
||||
# I'm lazy to differentiate needed libs per-library, as the closure is the same.
|
||||
# Unfortunately --shrink-rpath would strip too much.
|
||||
patchelf --set-rpath "$out/lib:$libPath" "$libname"
|
||||
if [[ -n $lib32 && $libname == "$lib32/lib/"* ]]; then
|
||||
patchelf --set-rpath "$lib32/lib:$libPath32" "$libname"
|
||||
else
|
||||
patchelf --set-rpath "$out/lib:$libPath" "$libname"
|
||||
fi
|
||||
|
||||
libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
, broken ? false
|
||||
}:
|
||||
|
||||
{ stdenv, callPackage, pkgsi686Linux, fetchurl
|
||||
, kernel ? null, xorg, zlib, perl, nukeReferences
|
||||
{ stdenv, callPackage, pkgs, pkgsi686Linux, fetchurl
|
||||
, kernel ? null, perl, nukeReferences
|
||||
, # Whether to build the libraries only (i.e. not the kernel module or
|
||||
# nvidia-settings). Used to support 32-bit binaries on 64-bit
|
||||
# Linux.
|
||||
|
@ -32,6 +32,8 @@ let
|
|||
pkgSuffix = optionalString (versionOlder version "304") "-pkg0";
|
||||
i686bundled = versionAtLeast version "391";
|
||||
|
||||
libPathFor = pkgs: pkgs.lib.makeLibraryPath [ pkgs.xorg.libXext pkgs.xorg.libX11
|
||||
pkgs.xorg.libXv pkgs.xorg.libXrandr pkgs.xorg.libxcb pkgs.zlib pkgs.stdenv.cc.cc ];
|
||||
|
||||
self = stdenv.mkDerivation {
|
||||
name = "nvidia-x11-${version}${nameSuffix}";
|
||||
|
@ -70,7 +72,8 @@ let
|
|||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
libPath = makeLibraryPath [ xorg.libXext xorg.libX11 xorg.libXv xorg.libXrandr xorg.libxcb zlib stdenv.cc.cc ];
|
||||
libPath = libPathFor pkgs;
|
||||
libPath32 = optionalString i686bundled (libPathFor pkgsi686Linux);
|
||||
|
||||
nativeBuildInputs = [ perl nukeReferences ]
|
||||
++ optionals (!libsOnly) kernel.moduleBuildDependencies;
|
||||
|
|
Loading…
Reference in a new issue