diff options
author | Shea Levy <shea@shealevy.com> | 2018-03-28 09:36:47 -0400 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2018-03-28 09:36:47 -0400 |
commit | 05e375d7103ac51e2da917965c37246c99f1ae4f (patch) | |
tree | 7ec4e9a2f5b7b1e2dea7c3e059f5b40e1dac1569 /pkgs/os-specific/linux/nvidia-x11 | |
parent | 335934a073d6024d54c71bf82d5f8baab13abe75 (diff) | |
parent | c7d7abc51e5f9b9c7481a83c47b37508bf08b05b (diff) | |
download | nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar.gz nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar.bz2 nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar.lz nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar.xz nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.tar.zst nixlib-05e375d7103ac51e2da917965c37246c99f1ae4f.zip |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'pkgs/os-specific/linux/nvidia-x11')
-rwxr-xr-x | pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh | 99 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/default.nix | 7 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/generic.nix | 5 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/legacy173.nix | 53 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/persistenced.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/nvidia-x11/settings.nix | 2 |
6 files changed, 8 insertions, 160 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh deleted file mode 100755 index 5d47df9a87a7..000000000000 --- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh +++ /dev/null @@ -1,99 +0,0 @@ -source $stdenv/setup - -dontPatchELF=1 # must keep libXv, $out in RPATH - - -unpackFile() { - sh $src -x -} - - -buildPhase() { - if test -z "$libsOnly"; then - echo "Building linux driver against kernel: " $kernel; - - cd usr/src/nv/ - - shopt -s nullglob - - for a in $kpatches; do - patch -p1 < $a - done - - # Workaround: get it to build on kernels that have CONFIG_XEN - # set. Disable the test, apply a patch to disable the Xen - # functionality. - - #substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord - #patch -p1 < $xenPatch - - # Create the module. - kernelVersion=$(cd $kernel/lib/modules && ls) - sysSource=$(echo $kernel/lib/modules/$kernelVersion/source) - sysOut=$(echo $kernel/lib/modules/$kernelVersion/build) - unset src # used by the nv makefile - make SYSSRC=$sysSource SYSOUT=$sysOut module - cd ../../.. - fi -} - - -installPhase() { - - # Install libGL and friends. - mkdir -p $out/lib - cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/ - - ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so - ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so.1 - ln -snf libGL.so.$versionNumber $out/lib/libGL.so - ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1 - ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1 - ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1 - ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1 - ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1 - ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1 - - patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.* - patchelf --set-rpath $out/lib:$glPath $out/lib/libXvMCNVIDIA.so.*.* - set +e - # Legacy nvidia doesn't have cuda - patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.* - set -e - - if test -z "$libsOnly"; then - - # Install the kernel module. - mkdir -p $out/lib/modules/$kernelVersion/misc - cp usr/src/nv/nvidia.ko $out/lib/modules/$kernelVersion/misc - - # Install the X driver. - mkdir -p $out/lib/xorg/modules - cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/ - - ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1 - ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so - - patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.* - - # Install the programs. - mkdir -p $out/bin - - for i in nvidia-settings nvidia-xconfig; do - cp usr/bin/$i $out/bin/$i - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $out/lib:$programPath:$glPath $out/bin/$i - done - - # Header files etc. - cp -prd usr/include usr/share $out - - # Patch the `nvidia-settings.desktop' file. - substituteInPlace $out/share/applications/nvidia-settings.desktop \ - --replace '__UTILS_PATH__' $out/bin \ - --replace '__PIXMAP_PATH__' $out/share/pixmaps - fi -} - - -genericBuild diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index d0348bd67d45..57899d6f893f 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -46,12 +46,13 @@ rec { persistencedSha256 = null; useGLVND = false; useProfiles = false; + settings32Bit = true; prePatch = let debPatches = fetchurl { url = "mirror://debian/pool/non-free/n/nvidia-graphics-drivers-legacy-304xx/" - + "nvidia-graphics-drivers-legacy-304xx_304.135-2.debian.tar.xz"; - sha256 = "0mhji0ssn7075q5a650idigs48kzf11pzj2ca2n07rwxg3vj6pdr"; + + "nvidia-graphics-drivers-legacy-304xx_304.137-5.debian.tar.xz"; + sha256 = "0n8512mfcnvklfbg8gv4lzbkm3z6nncwj6ix2b8ngdkmc04f3b6l"; }; prefix = "debian/module/debian/patches"; applyPatches = pnames: if pnames == [] then null else @@ -63,6 +64,4 @@ rec { in applyPatches [ "fix-typos" ]; patches = maybePatch_drm_legacy; }; - - legacy_173 = callPackage ./legacy173.nix { }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index bde8ad361dcd..13e5d1b76ea6 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -6,6 +6,7 @@ , useGLVND ? true , useProfiles ? true , preferGtk2 ? false +, settings32Bit ? false , prePatch ? "" , patches ? [] @@ -68,7 +69,7 @@ let disallowedReferences = optional (!libsOnly) [ kernel.dev ]; passthru = { - settings = callPackage (import ./settings.nix self settingsSha256) { + settings = (if settings32Bit then callPackage_i686 else callPackage) (import ./settings.nix self settingsSha256) { withGtk2 = preferGtk2; withGtk3 = !preferGtk2; }; @@ -79,7 +80,7 @@ let homepage = http://www.nvidia.com/object/unix.html; description = "X.org driver and kernel module for NVIDIA graphics cards"; license = licenses.unfreeRedistributable; - platforms = platforms.linux; + platforms = [ "i686-linux" "x86_64-linux" ]; maintainers = [ maintainers.vcunat ]; priority = 4; # resolves collision with xorg-server's "lib/xorg/modules/extensions/libglx.so" }; diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix deleted file mode 100644 index 51a230974c86..000000000000 --- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix +++ /dev/null @@ -1,53 +0,0 @@ -{stdenv, fetchurl, kernel, xorg, zlib, gtk2, atk, pango, glib, gdk_pixbuf}: - -let - - versionNumber = "173.14.39"; - -in - -stdenv.mkDerivation { - name = "nvidia-x11-${versionNumber}-${kernel.version}"; - - builder = ./builder-legacy173.sh; - - src = - if stdenv.system == "i686-linux" then - fetchurl { - url = "https://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "08xb7s7cxmj4zv4i3645kjhlhhwxiq6km9ixmsw3vv91f7rkb6d0"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = "https://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "1p2ls0xj81l8v4n6dbjj3p5wlw1iyhgzyvqcv4h5fdxhhs2cb3md"; - } - else throw "nvidia-x11 does not support platform ${stdenv.system}"; - - kernel = kernel.dev; - - hardeningDisable = [ "pic" "format" ]; - - inherit versionNumber; - - dontStrip = true; - - glPath = stdenv.lib.makeLibraryPath [xorg.libXext xorg.libX11 xorg.libXrandr]; - - cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.cc.cc]; - - programPath = stdenv.lib.makeLibraryPath [ gtk2 atk pango glib gdk_pixbuf xorg.libXv ]; - - passthru = { - settings = null; - persistenced = null; - useGLVND = false; - useProfiles = false; - }; - - meta = { - homepage = http://www.nvidia.com/object/unix.html; - description = "X.org driver and kernel module for Legacy NVIDIA graphics cards"; - license = stdenv.lib.licenses.unfree; - }; -} diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index 22fd12427005..21e6cb5d500b 100644 --- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { homepage = http://www.nvidia.com/object/unix.html; description = "Settings application for NVIDIA graphics cards"; license = licenses.unfreeRedistributable; - platforms = platforms.linux; + platforms = nvidia_x11.meta.platforms; maintainers = with maintainers; [ abbradar ]; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index 92577d03a512..e2ef51da3803 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { homepage = http://www.nvidia.com/object/unix.html; description = "Settings application for NVIDIA graphics cards"; license = licenses.unfreeRedistributable; - platforms = platforms.linux; + platforms = nvidia_x11.meta.platforms; maintainers = with maintainers; [ abbradar ]; }; } |