diff options
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11')
-rwxr-xr-x | pkgs/os-specific/linux/nvidia-x11/builder.sh | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/default.nix | 19 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/generic.nix | 9 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/settings.nix | 4 |
4 files changed, 22 insertions, 16 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index c403e3916cb2..467d930aaf58 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -104,7 +104,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/'` diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 934a7a100335..de6efdb0c2d9 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -16,21 +16,16 @@ let in rec { # Policy: use the highest stable version as the default (on our master). - stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_418 else legacy_390; + stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_430 else legacy_390; # No active beta right now - beta = generic { - version = "430.14"; - sha256_64bit = "05qgakc0sqv9zr6j4i49iqrd271nris8pmnv3l431r71ygx6zm00"; - settingsSha256 = "1hh07258a6z0g8dl6mxrizdxqcgswv58r4rbamfhhwh9i42fpdgg"; - persistencedSha256 = "1wmwmg9ma9rfx03s2qa249f0p7yf0lxdpiadab0raajk1lzlrrc8"; - }; + beta = stable; - stable_418 = generic { - version = "418.74"; - sha256_64bit = "03qj42ppzkc9nphdr9zc12968bb8fc9cpcx5f66y29wnrgg3d1yw"; - settingsSha256 = "15mbqdx5wyk7iq13kl2vd99lykpil618izwpi1kfldlabxdxsi9d"; - persistencedSha256 = "0442qbby0r1b6l72wyw0b3iwvln6k20s6dn0zqlpxafnia9bvc8c"; + stable_430 = generic { + version = "430.26"; + sha256_64bit = "1rnfxl4dxa3jjidfdvfjmg1a8nc787ss15cakrp2wwrn8jlr9av6"; + settingsSha256 = "0rjsj697s9jfls7iz1hs7aqp36ihf3l82yz1x1w9wdvlw94a3nym"; + persistencedSha256 = "1n554i4g37hs49bb631x692ygfncn7a5hzb6mh9kx7hmv69yzazh"; }; # Last one supporting x86 diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index 4bbb9d92930e..eeb7b99bbaae 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -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; diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index 0dd2ffb1ec2d..5420a651c794 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -24,6 +24,10 @@ let cd src/libXNVCtrl ''; + makeFlags = [ + "OUTPUTDIR=." # src/libXNVCtrl + ]; + installPhase = '' mkdir -p $out/lib mkdir -p $out/include/NVCtrl |