commit:     31f2eea8a4b00876da749f1858696b027dbdeeb3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  5 16:08:54 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug  6 02:12:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31f2eea8

x11-drivers/nvidia-drivers: drop 570.169

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-drivers/nvidia-drivers/Manifest                |   3 -
 .../nvidia-drivers/nvidia-drivers-570.169.ebuild   | 586 ---------------------
 2 files changed, 589 deletions(-)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index 0ed6786e5b5b..809d4e6fde9a 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,5 +1,4 @@
 DIST NVIDIA-Linux-aarch64-535.261.03.run 269926298 BLAKE2B 
78b696ed9ef01fdc4bec8b955c7f7acb7475f743c7483b5ab799d63f5917e12e97ea522865c1b4e2fa03586977ccefdc4518339c705ff9e8165ac9bd4af32e30
 SHA512 
3bc4a141fc159e88a3cda19519d325ddfc03fdcd328a50b5a0c6c9f06089ff2a97edb03dbfd1d23ec0e60a4fc549a8f0143e0c4d6beb98771ad8c243ef699faf
-DIST NVIDIA-Linux-aarch64-570.169.run 290106494 BLAKE2B 
b8b332c3b121063af061f1ab19f87db6c528da977847423f6d7f0b6c6d7d8bd118e6f0518fbd66c6c633647efb64a3a670cd5ecadffd41faf6271916446f2143
 SHA512 
551615d6ecc982acdbb52049c5afd11cd8ca69999d097f076884c3f632b3880f95c707ebadf66c3aabf5452aab52cd372894eff574382ed2d79444a65c368369
 DIST NVIDIA-Linux-aarch64-570.172.08.run 290144917 BLAKE2B 
095a9362f8729f854e0a976d90456d2d061d1a21f3c110b94a4eef0264fda81078058d8e24a76eb7d13066feee8d17d9aee2de4f111debc361362d7a73d119b0
 SHA512 
291012513c2b9bff94a0892248207734b1d12a13ff994036045fd159f60bf410508fd66873d78388d0e289ded1b76f8d0980219c289fa2ba99303f2cf872e9d6
 DIST NVIDIA-Linux-aarch64-575.64.05.run 304943447 BLAKE2B 
277aed01ab2be1cbbfe7780c4cb9dcbfaebc69824ba4b5a620113829f713d5407829769c7fab224f183656408944d9d6c4dcf6400a333c1116a89d072eb79223
 SHA512 
0b9b9c6b3316723fba4549fcd346215e5315a7b4c80196f0cd9ada9ecd6a23e8fc1691ae8bda5b246a3c44519cc7f503116023ff5427718fbffb67fe49a12a75
 DIST NVIDIA-Linux-aarch64-580.65.06.run 315886352 BLAKE2B 
337c80f460a5ba215f52c201670ef9cc4de96100324e7c408136b57b81adfd0487cf380edd7e62ea22f34bffc4d2726ec5402379279ffc85f5873d270bc5538d
 SHA512 
c4f2902412e9f47006e50c7f687e8f3cfc4580877c945b5da35c9e3a00f5e72eba8b0aaf250ff51d382fcf611177c9115f72f23b7858a520f0a7e1b27354d3e6
@@ -8,12 +7,10 @@ DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 
44b855cd11f3b2f231f9fb9049
 DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 
0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8
 SHA512 
a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88
 DIST NVIDIA-Linux-x86_64-535.261.03.run 341775057 BLAKE2B 
d72ed6d4d442c204721667302d300e8e8ec9b8288a0945ba090aa4e4666fb7fbd6bffe8a242c134e6ce8a7947954d7771ec142cf6b6cf1a32b773edf9119e71e
 SHA512 
52ac6db0a057977652f56a279c6e5482fd602d1c637b22e7bb8ae5e5f5a9fbddb8492196371c2bdcacfbd9e7c1bf3954c22254e842f413cb6af1b3c79a6e7ec2
 DIST NVIDIA-Linux-x86_64-570.123.19.run 375997440 BLAKE2B 
bc96faaeeb3c52d3c54bc9c5b87d04503ca9d329ad6d4ddb0003d02b7f0ede81ad00ea812dcfe7158acfeb3b9e1714d363d19b7c89c25ec2d8fe239934ccd2d3
 SHA512 
f892a1fd621ee536a03a1114b69b2d512a4144651c3f146eeb22b70b6b4ad43feb7e5eaf0a8c023f889591c124778471a64ce6356320342b74b69eaef73fbe8e
-DIST NVIDIA-Linux-x86_64-570.169.run 375816796 BLAKE2B 
1934cc5276433b6ee54b31358d85f88e3e81dd23732fa72848a6c60c455399b5217301e1c8aa1795dd8292bf4e604c6cbc144700775ec2661029b737ba2e3324
 SHA512 
79cf53770f11405ea416b4a3fe91edd34e8bc99e2f8e0d47dd2b01045b17f23998bfd3d60fc660c0826c69305ee928dec56fb251205e183ede9235e31d01d7d5
 DIST NVIDIA-Linux-x86_64-570.172.08.run 375905456 BLAKE2B 
58418e039f378d78950345edac3c95fc9e4d5ed23419dfb7b256afdb918368ec15653744fcc4625c54cacdd7df00c0e57835ec4ffbf865384b27c623a351bd14
 SHA512 
8000f31575392ca8a575879f36b6e3e0fdee14e63efb856b77035e5aa434a02de0fd4ff5472d01984cbc541d40656ed6b7b77c78d00f6e1bc4341864bad725c5
 DIST NVIDIA-Linux-x86_64-575.64.05.run 386961985 BLAKE2B 
d8b5e5cdff3d2166c4fdf8328ae22bc4419509144ad0427b17636696e7398240a3601ded850893412198fc0d4ba76e72a64ed31d6ceaf58149d83a741ad62a05
 SHA512 
1f5ea98478c913b044cccb25934e12d58561643b83074e5967d84126baac9a5ddc092a6ea017956957abae174520718d747415d09c6fb2da110de51629df98a2
 DIST NVIDIA-Linux-x86_64-580.65.06.run 393832804 BLAKE2B 
2e27d607f0a1fdf4112f4f9debbb3afa408ec5550fe6dee8737a3b319bda7e03ee7f67ede8b23823e01ce5006f7f41f772da1c9c439e8ae52cd24b0c390d0db2
 SHA512 
e9149873cc83c250f601be58ea919cbdc891773157587366d78f505ee1db96bf392bc5e689d39ce8fa339287699118897b8d6eba2b2a9caf163126a9bb2a6044
 DIST NVIDIA-kernel-module-source-535.261.03.tar.xz 12521372 BLAKE2B 
214f52874a3cac43ad135e57577f8879b605d67d4cec1756ee2a5ee3986568ce621bae603637fdb9ff0be9295e262a1f14f9dee6d871737bce02ea163aff7505
 SHA512 
346b12fdcd1a7b5b8067e6cee6567f4ab2a89e8d246ebec4ad0eeb6dc91782c701b9b4d7ef4903c2492726fc8c242572a63a3cb8a06a9fb4a6039b65ce11b8ec
-DIST NVIDIA-kernel-module-source-570.169.tar.xz 17928016 BLAKE2B 
4d68cbcbbb14f0b9741c09dedad5abf859f971676869d46e8a6749c04dfc39a6f24098aff9c55d8d33e1e5b1f67be16a99af702f29003354635019ff94ee683f
 SHA512 
7d5a06e596235d90ba5b26a4b04b68623b501643ea8c6bcd7342add6563684486f32b6399335a853f03cb588dc57cdb1397e2705bce512a8be57d3b615b8eb22
 DIST NVIDIA-kernel-module-source-570.172.08.tar.xz 17948096 BLAKE2B 
23220805e6555e556c99659d9e17f5ab822b0e221cdce2c2639377680fdda9267eea200f7ca579d28497c89fa2167d524497e4c53cdcfaa20a1b0d7eb3aa7522
 SHA512 
969158a46d70b23911f77d08832c6b307503988bf1cee0b2a0f75a49612d447c23ff1fefa3eac373b53b79475f87f3470de7df72a395fdb8cd57eefa51bc1ad8
 DIST NVIDIA-kernel-module-source-575.64.05.tar.xz 18198316 BLAKE2B 
622781dfa93ab11993a4cabf14e2104ae7fffa0a16ca504a1257ab9eedd832128dfe73a0b9567a4401bbcf83416305794861cd18c393797ab8d43af0c26cbcc7
 SHA512 
4cbe2e2d78eab84a8a0153f68ab6b1fefa75225c145b3bd9db4fab9d0cb212a4202a89d0e6d0f2d0dedb5663389f7c9ed6cadb6a656eb32dbde0cf0f806652e2
 DIST NVIDIA-kernel-module-source-580.65.06.tar.xz 22167352 BLAKE2B 
a96dbadb18d3e4cbc4acced86c5fdcc4a57e1bb1088a70b9b22cb07d50e4c4501db6479dc4b2c8c6db390a99fe94b9087ab4f7955c67ab50c08966f7a1deb814
 SHA512 
c0e5c63529488eadaeb8added44aad8c0bd532c1aa9bfa1c3fa4e37251b225fb509ea7cef6526a5ae4b82c7f6d331ad7243d479c4cbac1510b333942a55171a2

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-570.169.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-570.169.ebuild
deleted file mode 100644
index dacf966f6b62..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-570.169.ebuild
+++ /dev/null
@@ -1,586 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MODULES_OPTIONAL_IUSE=+modules
-inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
-inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
-
-MODULES_KERNEL_MAX=6.16
-NV_URI="https://download.nvidia.com/XFree86/";
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/";
-SRC_URI="
-       amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
-       arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
-       $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
-               nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
-       
${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
-"
-# nvidia-installer is unused but here for GPL-2's "distribute sources"
-S=${WORKDIR}
-
-LICENSE="NVIDIA-2025 Apache-2.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl"
-SLOT="0/${PV%%.*}"
-KEYWORDS="-* amd64 ~arm64"
-# TODO: enable kernel-open by default to match nvidia upstream, but should
-# first setup a supported-gpus.json "kernelopen" check to abort and avoid bad
-# surprises (should abort for legacy cards too, and have a bypass variable)
-IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs 
+tools wayland"
-REQUIRED_USE="kernel-open? ( modules )"
-
-COMMON_DEPEND="
-       acct-group/video
-       X? ( x11-libs/libpciaccess )
-       persistenced? (
-               acct-user/nvpd
-               net-libs/libtirpc:=
-       )
-       tools? (
-               >=app-accessibility/at-spi2-core-2.46:2
-               dev-libs/glib:2
-               dev-libs/jansson:=
-               media-libs/harfbuzz:=
-               x11-libs/cairo
-               x11-libs/gdk-pixbuf:2
-               x11-libs/gtk+:3[X]
-               x11-libs/libX11
-               x11-libs/libXext
-               x11-libs/libXxf86vm
-               x11-libs/pango
-       )
-"
-RDEPEND="
-       ${COMMON_DEPEND}
-       dev-libs/openssl:0/3
-       sys-libs/glibc
-       X? (
-               media-libs/libglvnd[X,abi_x86_32(-)?]
-               x11-libs/libX11[abi_x86_32(-)?]
-               x11-libs/libXext[abi_x86_32(-)?]
-       )
-       powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
-       wayland? (
-               >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
-               >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
-               X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
-       )
-"
-DEPEND="
-       ${COMMON_DEPEND}
-       static-libs? (
-               x11-base/xorg-proto
-               x11-libs/libX11
-               x11-libs/libXext
-       )
-       tools? (
-               dev-util/vulkan-headers
-               media-libs/libglvnd
-               sys-apps/dbus
-               x11-base/xorg-proto
-               x11-libs/libXrandr
-               x11-libs/libXv
-               x11-libs/libvdpau
-       )
-"
-BDEPEND="
-       sys-devel/m4
-       virtual/pkgconfig
-"
-
-# there is some non-prebuilt exceptions but rather not maintain a list
-QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
-
-PATCHES=(
-       "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
-       "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
-)
-
-pkg_setup() {
-       use modules && [[ ${MERGE_TYPE} != binary ]] || return
-
-       # do early before linux-mod-r1 so can use chkconfig to setup 
CONFIG_CHECK
-       get_version
-       require_configured_kernel
-
-       local CONFIG_CHECK="
-               PROC_FS
-               ~DRM_KMS_HELPER
-               ~DRM_FBDEV_EMULATION
-               ~SYSVIPC
-               ~!LOCKDEP
-               ~!PREEMPT_RT
-               ~!SLUB_DEBUG_ON
-               !DEBUG_MUTEXES
-               $(usev powerd '~CPU_FREQ')
-       "
-
-       kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
-               CONFIG_CHECK+=" DRM_TTM_HELPER"
-
-       use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
-
-       use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
-
-       local drm_helper_msg="Cannot be directly selected in the kernel's 
config menus, and may need
-       selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
-       DRM_AMDGPU=m (among others, consult the kernel config's help), can
-       also use DRM_NOUVEAU=m as long as built as module *not* built-in."
-       local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but 
needed for Xorg auto-detection
-       of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
-       ${drm_helper_msg}"
-       local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is 
needed to compile when using
-       kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
-       ${drm_helper_msg}"
-       local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set 
but is needed for
-       nvidia-drm.fbdev=1 support, currently off-by-default and it could
-       be ignored, but note that is due to change in the future."
-       local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to 
build with USE=kernel-open.
-       Cannot be directly selected in the kernel's menuconfig, and may need
-       selection of another option that requires it such as CONFIG_KVM."
-       local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by 
NVIDIA upstream and
-       will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
-       set. Please do not report issues if run into e.g. kernel panics while
-       ignoring this."
-
-       linux-mod-r1_pkg_setup
-}
-
-src_prepare() {
-       # make patches usable across versions
-       rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
-       rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
-       rm nvidia-settings && mv nvidia-settings{-${PV},} || die
-       rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
-       mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
-
-       default
-
-       # prevent detection of incomplete kernel DRM support (bug #603818)
-       sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
-               -i kernel{,-module-source/kernel-open}/conftest.sh || die
-
-       sed 's/__USER__/nvpd/' \
-               
nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
-               > "${T}"/nvidia-persistenced.service || die
-
-       # use alternative vulkan icd option if USE=-X (bug #909181)
-       use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
-
-       # enable nvidia-drm.modeset=1 by default with USE=wayland
-       cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
-       use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || 
die
-
-       # makefile attempts to install wayland library even if not built
-       use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
-               nvidia-settings/src/Makefile || die
-}
-
-src_compile() {
-       tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
-
-       # extra flags for the libXNVCtrl.a static library
-       local xnvflags=-fPIC #840389
-       tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
-
-       NV_ARGS=(
-               PREFIX="${EPREFIX}"/usr
-               HOST_CC="$(tc-getBUILD_CC)"
-               HOST_LD="$(tc-getBUILD_LD)"
-               BUILD_GTK2LIB=
-               NV_USE_BUNDLED_LIBJANSSON=0
-               NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
-               WAYLAND_AVAILABLE=$(usex wayland 1 0)
-               XNVCTRL_CFLAGS="${xnvflags}"
-       )
-
-       if use modules; then
-               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
-
-               local modlistargs=video:kernel
-               if use kernel-open; then
-                       
modlistargs+=-module-source:kernel-module-source/kernel-open
-
-                       # environment flags are normally unused for modules, 
but nvidia
-                       # uses it for building the "blob" and it is a bit 
fragile
-                       filter-flags -fno-plt #912949
-                       filter-lto
-                       CC=${KERNEL_CC} CXX=${KERNEL_CXX} 
strip-unsupported-flags
-
-                       LDFLAGS=$(raw-ldflags)
-               fi
-
-               local modlist=( 
nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
-               local modargs=(
-                       IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
-                       SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
-
-                       # kernel takes "x86" and "x86_64" as meaning the same, 
but nvidia
-                       # makes the distinction (since 550.135) and is not 
happy with "x86"
-                       # TODO?: it should be ok/better for tc-arch-kernel to 
do x86_64
-                       $(usev amd64 ARCH=x86_64)
-               )
-
-               # temporary workaround for bug #914468
-               addpredict "${KV_OUT_DIR}"
-
-               linux-mod-r1_src_compile
-               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe
-       use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
-
-       if use tools; then
-               # avoid noisy *very* noisy logs with deprecation warnings
-               CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
-                       emake "${NV_ARGS[@]}" -C nvidia-settings
-       elif use static-libs; then
-               # pretend GTK+3 is available, not actually used (bug #880879)
-               emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
-                       -C nvidia-settings/src out/libXNVCtrl.a
-       fi
-}
-
-src_install() {
-       local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
-
-       NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
-
-       local -A paths=(
-               [APPLICATION_PROFILE]=/usr/share/nvidia
-               [CUDA_ICD]=/etc/OpenCL/vendors
-               
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
-               [FIRMWARE]=/lib/firmware/nvidia/${PV}
-               [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
-               [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
-               [OPENGL_DATA]=/usr/share/nvidia
-               [VULKANSC_ICD_JSON]=/usr/share/vulkansc
-               [VULKAN_ICD_JSON]=/usr/share/vulkan
-               [WINE_LIB]=/usr/${libdir}/nvidia/wine
-               [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
-
-               [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
-               [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
-               [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
-       )
-
-       local skip_files=(
-               $(usev !X "libGLX_nvidia libglxserver_nvidia")
-               libGLX_indirect # non-glvnd unused fallback
-               libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from 
source
-               libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
-               libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
-               libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11
-               libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11
-               libnvidia-pkcs11.so # using the openssl3 version instead
-       )
-       local skip_modules=(
-               $(usev !X "nvfbc vdpau xdriver")
-               $(usev !modules gsp)
-               $(usev !powerd powerd)
-               installer nvpd # handled separately / built from source
-       )
-       local skip_types=(
-               GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # 
media-libs/libglvnd
-               OPENCL_WRAPPER.\* # virtual/opencl
-               DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # 
handled separately / unused
-       )
-
-       local DOCS=(
-               README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
-               nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
-       )
-       local HTML_DOCS=( html/. )
-       einstalldocs
-
-       local DISABLE_AUTOFORMATTING=yes
-       local DOC_CONTENTS="\
-Trusted users should be in the 'video' group to use NVIDIA devices.
-You can add yourself by using: gpasswd -a my-user video\
-$(usev modules "
-
-Like all out-of-tree kernel modules, it is necessary to rebuild
-${PN} after upgrading or rebuilding the Linux kernel
-by for example running \`emerge @module-rebuild\`. Alternatively,
-if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
-this can be automated by setting USE=dist-kernel globally.
-
-Loaded kernel modules also must not mismatch with the installed
-${PN} version (excluding -r revision), meaning should
-ensure \`eselect kernel list\` points to the kernel that will be
-booted before building and preferably reboot after upgrading
-${PN} (the ebuild will emit a warning if mismatching).
-
-See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
-$(use amd64 && usev !abi_x86_32 "
-
-Note that without USE=abi_x86_32 on ${PN}, 32bit applications
-(typically using wine / steam) will not be able to use GPU acceleration.")
-
-Be warned that USE=kernel-open may need to be either enabled or
-disabled for certain cards to function:
-- GTX 50xx (blackwell) and higher require it to be enabled
-- GTX 1650 and higher (pre-blackwell) should work either way
-- Older cards require it to be disabled
-
-For additional information or for troubleshooting issues, please see
-https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
-documentation that is installed alongside this README."
-       readme.gentoo_create_doc
-
-       if use modules; then
-               linux-mod-r1_src_install
-
-               insinto /etc/modprobe.d
-               doins "${T}"/nvidia.conf
-
-               # used for gpu verification with binpkgs (not kept, see 
pkg_preinst)
-               insinto /usr/share/nvidia
-               doins supported-gpus/supported-gpus.json
-       fi
-
-       emake "${NV_ARGS[@]}" -C nvidia-modprobe install
-       fowners :video /usr/bin/nvidia-modprobe #505092
-       fperms 4710 /usr/bin/nvidia-modprobe
-
-       if use persistenced; then
-               emake "${NV_ARGS[@]}" -C nvidia-persistenced install
-               newconfd "${FILESDIR}"/nvidia-persistenced.confd 
nvidia-persistenced
-               newinitd "${FILESDIR}"/nvidia-persistenced.initd 
nvidia-persistenced
-               systemd_dounit "${T}"/nvidia-persistenced.service
-       fi
-
-       if use tools; then
-               emake "${NV_ARGS[@]}" -C nvidia-settings install
-
-               doicon nvidia-settings/doc/nvidia-settings.png
-               domenu nvidia-settings/doc/nvidia-settings.desktop
-
-               exeinto /etc/X11/xinit/xinitrc.d
-               newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
-       fi
-
-       if use static-libs; then
-               dolib.a nvidia-settings/src/out/libXNVCtrl.a
-               strip-lto-bytecode
-
-               insinto /usr/include/NVCtrl
-               doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
-       fi
-
-       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
-
-       # mimic nvidia-installer by reading .manifest to install files
-       # 0:file 1:perms 2:type 3+:subtype/arguments -:module
-       local m into
-       while IFS=' ' read -ra m; do
-               ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
-                       [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] 
||
-                       [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
-                       has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
-
-               case ${m[2]} in
-                       MANPAGE)
-                               gzip -dc ${m[0]} | newman - ${m[0]%.gz}
-                               pipestatus || die
-                               continue
-                       ;;
-                       GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
-                       VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so 
to vdpau/
-               esac
-
-               if [[ -v 'paths[${m[2]}]' ]]; then
-                       into=${paths[${m[2]}]}
-               elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
-                       into=${m[3]}
-               elif [[ ${m[2]} == *_BINARY ]]; then
-                       into=/usr/bin
-               elif [[ ${m[3]} == COMPAT32 ]]; then
-                       use abi_x86_32 || continue
-                       into=/usr/${libdir32}
-               elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
-                       into=/usr/${libdir}
-               else
-                       die "No known installation path for ${m[0]}"
-               fi
-               [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
-               [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
-
-               if [[ ${m[2]} =~ _SYMLINK$ ]]; then
-                       [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
-                       dosym ${m[4]} ${into}/${m[0]}
-                       continue
-               fi
-               # avoid portage warning due to missing soname links in manifest
-               [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
-                       dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
-
-               printf -v m[1] %o $((m[1] | 0200)) # 444->644
-               insopts -m${m[1]}
-               insinto ${into}
-               doins ${m[0]}
-       done < .manifest || die
-       insopts -m0644 # reset
-
-       # MODULE:installer non-skipped extras
-       : "$(systemd_get_sleepdir)"
-       exeinto "${_#"${EPREFIX}"}"
-       doexe systemd/system-sleep/nvidia
-       dobin systemd/nvidia-sleep.sh
-       systemd_dounit 
systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
-
-       dobin nvidia-bug-report.sh
-
-       insinto /usr/share/nvidia/files.d
-       doins sandboxutils-filelist.json
-
-       # MODULE:powerd extras
-       if use powerd; then
-               newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
-               systemd_dounit systemd/system/nvidia-powerd.service
-
-               insinto /usr/share/dbus-1/system.d
-               doins nvidia-dbus.conf
-       fi
-
-       # enabling is needed for sleep to work properly and little reason not 
to do
-       # it unconditionally for a better user experience
-       : "$(systemd_get_systemunitdir)"
-       local unitdir=${_#"${EPREFIX}"}
-       # not using relative symlinks to match systemd's own links
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
-       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
-       # also add a custom elogind hook to do the equivalent of the above
-       exeinto /usr/lib/elogind/system-sleep
-       newexe "${FILESDIR}"/system-sleep.elogind nvidia
-       # <elogind-255.5 used a different path (bug #939216), keep a compat 
symlink
-       # TODO: cleanup after 255.5 been stable for a few months
-       dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
-
-       # needed with >=systemd-256 or may fail to resume with some setups
-       # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
-       insinto "${unitdir}"/systemd-homed.service.d
-       newins - 10-nvidia.conf <<-EOF
-               [Service]
-               Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
-       EOF
-       insinto "${unitdir}"/systemd-suspend.service.d
-       newins - 10-nvidia.conf <<-EOF
-               [Service]
-               Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
-       EOF
-       dosym -r 
"${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
-       dosym -r 
"${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
-       dosym -r 
"${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
-
-       # symlink non-versioned so nvidia-settings can use it even if 
misdetected
-       dosym nvidia-application-profiles-${PV}-key-documentation \
-               
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
-
-       # don't attempt to strip firmware files (silences errors)
-       dostrip -x ${paths[FIRMWARE]}
-
-       # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
-       # are widespread and sometime affect revdeps of packages built with
-       # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
-       # ebuilds should handle manually if need others or addwrite)
-       insinto /etc/sandbox.d
-       newins - 20nvidia 
<<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
-
-       # dracut does not use /etc/modprobe.d if hostonly=no, but want to make 
sure
-       # our settings are used for bug 932781#c8 and nouveau blacklist if 
either
-       # modules are included (however, just best-effort without initramfs 
regen)
-       if use modules; then
-               echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf 
\"" >> \
-                       "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || 
die
-       fi
-}
-
-pkg_preinst() {
-       has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
-       has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
-
-       use modules || return
-
-       # set video group id based on live system (bug #491414)
-       local g=$(egetent group video | cut -d: -f3)
-       [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got 
'${g}')"
-       sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
-
-       # try to find driver mismatches using temporary supported-gpus.json
-       for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
-               g=$(grep -io 
"\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
-                       "${ED}"/usr/share/nvidia/supported-gpus.json 
2>/dev/null)
-               if [[ ${g} ]]; then
-                       g=$((${g##*\"}+1))
-                       if ver_test -ge ${g}; then
-                               NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
-                               break
-                       fi
-               fi
-       done
-       rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
-}
-
-pkg_postinst() {
-       linux-mod-r1_pkg_postinst
-
-       readme.gentoo_print_elog
-
-       if [[ -r /proc/driver/nvidia/version &&
-               $(</proc/driver/nvidia/version) != *"  ${PV}  "* ]]; then
-               ewarn "Currently loaded NVIDIA modules do not match the newly 
installed"
-               ewarn "libraries and may prevent launching GPU-accelerated 
applications."
-               if use modules; then
-                       ewarn "Easiest way to fix this is normally to reboot. 
If still run into issues"
-                       ewarn "(e.g. API mismatch messages in the \`dmesg\` 
output), please verify"
-                       ewarn "that the running kernel is ${KV_FULL} and that 
(if used) the"
-                       ewarn "initramfs does not include NVIDIA modules (or at 
least, not old ones)."
-               fi
-       fi
-
-       if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
-               ewarn "Detected that the current kernel command line is using 
'slub_debug=',"
-               ewarn "this may lead to system instability/freezes with this 
version of"
-               ewarn "${PN}. Bug: https://bugs.gentoo.org/796329";
-       fi
-
-       if [[ -v NV_LEGACY_MASK ]]; then
-               ewarn
-               ewarn "***WARNING***"
-               ewarn
-               ewarn "You are installing a version of ${PN} known not to work"
-               ewarn "with a GPU of the current system. If unwanted, add the 
mask:"
-               if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
-                       ewarn "  echo '${NV_LEGACY_MASK}' > 
${EROOT}/etc/portage/package.mask/${PN}"
-               else
-                       ewarn "  echo '${NV_LEGACY_MASK}' >> 
${EROOT}/etc/portage/package.mask"
-               fi
-               ewarn "...then downgrade to a legacy[1] branch if possible (not 
all old versions"
-               ewarn "are available or fully functional, may need to consider 
nouveau[2])."
-               ewarn "[1] https://www.nvidia.com/object/IO_32667.html";
-               ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau";
-       fi
-
-       if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
-               ewarn
-               ewarn "Open source variant of ${PN} was selected, note that it 
requires"
-               ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if 
run into issues."
-               ewarn "Also see: 
${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
-       fi
-
-       if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
-               elog
-               elog "Note that with USE=wayland, nvidia-drm.modeset=1 will be 
enabled"
-               elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience 
issues,"
-               elog "either disable wayland or edit nvidia.conf."
-       fi
-}

Reply via email to