summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <sudinave@gmail.com>2021-04-21 14:19:51 +0200
committerDavid Seifert <soap@gentoo.org>2021-04-21 14:19:51 +0200
commitdd8dd30e8e767b6d6846735b57e33c4f0cc7a01b (patch)
treeb8d5c54a8c3c9f53db53339fad8f94d2efc1179a /x11-drivers
parentx11-drivers/nvidia-drivers: drop 450.102.04 (diff)
downloadgentoo-dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b.tar.gz
gentoo-dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b.tar.bz2
gentoo-dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b.zip
x11-drivers/nvidia-drivers: drop 460.56
Also removes remaining support files/metadata for old style ebuilds. Signed-off-by: Ionen Wolkens <sudinave@gmail.com> Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest2
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch13
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf8
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-persistenced.init24
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch22
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-settings.desktop7
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-smi.init24
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r120
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule1
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia.udev-rule6
-rw-r--r--x11-drivers/nvidia-drivers/metadata.xml3
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild485
12 files changed, 0 insertions, 615 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 524020e0b4a2..f2cd533cb7de 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -4,7 +4,6 @@ DIST NVIDIA-Linux-aarch64-465.19.01.run 174150951 BLAKE2B 7344404cff1ee5fce5368d
DIST NVIDIA-Linux-x86-390.141.run 49589744 BLAKE2B 304672806b89885adbf8459ea99ca872769e44a42ff041a5b79ef05d113d7717f505f543441e7a2fc6c569f6d66391f0380a4f23f3e68108c8de817bf251f850 SHA512 6dfde3b54520070954b45f6bc071251084e1741f55e582b1abd806eb367e4b9ce0015615bf6a887fa784d075b3db08b6940da4163b960969773d1bdc52b4961e
DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c
DIST NVIDIA-Linux-x86_64-450.102.04.run 141391114 BLAKE2B 019f928464b23d2a86bfdd255b7651e3cfe2b0b6ebf58d1b4a6ba1f27990e1d050d1e2429ba4aa60b966b04e775939084a04d82d1dd3482a10b39375b17b1c31 SHA512 1d13de540da36274a360ea6bcd1ce01eaae103fe417b42aa8f9ac757c382b06da455a78cf6798310179f90e2afeadf3a8c9f3398186490c3c0f9079021e850ed
-DIST NVIDIA-Linux-x86_64-460.56.run 178496173 BLAKE2B 8f84a403ccaa9a92186cac9fb2dee9600cd29915cdacf475b6a1105772ffd52c671ef217a1201fbcd9192e858ec17796fd77b817887c79c43c266d32671fe7d0 SHA512 a61855576a27cdd2e48906ecb49cd1e9f88d14a8358aa4bdc57d59e2dfa64b394b2dcee45184d75e889fac6ebedcaaff902a07428c7f9eb011cf265228c6eb4e
DIST NVIDIA-Linux-x86_64-460.67.run 177691692 BLAKE2B 25a7d87cc128933a98100d7c5ef37f93c3a870c096eea3228a28ef79d712ce104608f9422221cc1eadc21dccbbc8bc41ab1832795cfee75e217600ed0d76489e SHA512 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898
DIST NVIDIA-Linux-x86_64-465.19.01.run 259853124 BLAKE2B 04d5d738a99e313d9c0c8aa074b28ff744b3d16893f26d4837d7440e7fa51c3182101f7cadedcb7b13f01d0e6dd612c931f2357e87003966cfc5b2c7f4398079 SHA512 b4ececb6069ec961a4bf6b50c3bb0d7ca94add13e04f9dcceaddc6d3267f6dfc5f020d14e49f37e6c09ec3b47b3f44f0f44620e1ab4d25f7739514a07769a67d
DIST nvidia-installer-390.141.tar.gz 205299 BLAKE2B b95ddcf9a8d61247572d73faa04558564962782b0eb222601315d741d1ee71fa0636fa87d31105ecc5ec61328d3174a3ed646046e02b6b5f29f071215a0e8bdd SHA512 3848a4ec17510bf4d3060e5ef8aafa1ad921215ec39d26c54b3bbdd8a5867c46e01d247b24b05ad6906fed7fb4ae6dc37346a7da6e5aae88b5b47584c0b07a02
@@ -21,7 +20,6 @@ DIST nvidia-persistenced-460.67.tar.gz 53334 BLAKE2B 1354ec98fd2b95d264fd7df6219
DIST nvidia-persistenced-465.19.01.tar.gz 53555 BLAKE2B 0b163a2cf37c9180512f9d3af442f52d4417f1ca0b286bafc154cd3c235bc8ff82380fbb92633f9dc0e010c9cc4e36ab3b5f6aad726b5357dc368edafe737146 SHA512 ebe8a8eff5770605e751665f325a82cbe24b20395684d124558838553a2815f6cf2804cb58a9624105a99442fea91d774ad4978bcd2ad13a52f55e777ae13c5d
DIST nvidia-settings-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04
DIST nvidia-settings-450.102.04.tar.gz 1229675 BLAKE2B 166b73a0e9fe1cc1c16f83128aa94f3b9ef44fc71004e80c2681299dd564df6b458b52bedfd60eaaecf6142d0ea7d5147cb9c509d4db4e6b85bc72dd4dc75751 SHA512 c514bb3cc72954a52f4821674f9b783ebc0bd8c7294a296716619ddad15f2b63f50ada47797dee1386709deb7d407cb1d6c04532b7ca6e03d84234555751c9a9
-DIST nvidia-settings-460.56.tar.bz2 1060604 BLAKE2B cd1480e42ab2b25b399f19b458a1d5252d1b77d263ddecbad2d61f0445ba9f0ddf81fc944ac1136c273dfd1d21d06385bcfac9bdd7a7dc02f75302a6b8276df4 SHA512 018eb3cb7f25b926aa620201979b0efaaa82e7f036c4870a1e1234f5aac3ab9cfd48846d7eedd7ed38c3035eface3f2afe1a0d5de7a67e53e6bea760aa99fa72
DIST nvidia-settings-460.67.tar.gz 1233189 BLAKE2B 33ffceefea4e184cb1873cdce97db26637e87cd20c82bcabcbfe88bcb084ac3d833ac5688cafa33a5a89383040d5c1c5d46de9c3f9a8ba6174574aa57aea2e46 SHA512 d1828379aa477394747ae3e5d3505e864d38a349dd159a04cb263613380afea9aea2081300b0d2b8ae205b800bfe6e8ba504e612989da394d757f00e4399b617
DIST nvidia-settings-465.19.01.tar.gz 1233866 BLAKE2B 297ffe66639bd4221f5b780abb784f640553f0f7d4f9bcc254cdf54fa6dcc98ac197fa76178f66b626bcef8c4fc6c2c83c3c2474f81a2c5124df0a651f878663 SHA512 90f2786941ee062f4f8e7f80e0174620d8aedca17164e7e466c77733f29e891ffce9b08a09a75c25a219546efc816ca2fbb26b3b142522e89e495b7b90bd65d1
DIST nvidia-xconfig-390.141.tar.gz 140293 BLAKE2B 08ee93be953f75dbe078c557af7c062092ce8a3b53af0735d43b7feabe6d1c99390b9533027fbc5017d207a70dfa5aecf88d211905bf8f0e846f769a6ea16c2b SHA512 9fedee2f720d86bd24e393328249bf970a1f242b9e750543e757eb13ca30f6ecfda6c63441093ab96ae28d5f38d4e55cc6de6316eb82d2a2f33074144a1eef2f
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch
deleted file mode 100644
index aa2a74349f2f..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/kernel/conftest.sh
-+++ b/kernel/conftest.sh
-@@ -6,6 +6,10 @@
- SCRIPTDIR=`dirname $0`
- cd $SCRIPTDIR
-
-+# translate_and_compile_header_files() expects the default locale
-+# https://bugs.gentoo.org/698238
-+export LC_ALL=C
-+
- CC="$1"
- ARCH=$2
- ISYSTEM=`$CC -print-file-name=include 2> /dev/null`
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
deleted file mode 100644
index 637ac1afb415..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# run-time configuration file for /etc/init.d/nvidia-persistenced
-
-# NVPD_USER: The user nvidia-persistenced is intended to run for
-NVPD_USER=""
-
-# ARGS: Additional arguments to set the default persistence mode
-# (see nvidia-persistenced(1))
-ARGS=""
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
deleted file mode 100644
index f80456d16036..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid"
-
-start() {
- if ! [ "${NVPD_USER}x" = x ]; then
- ebegin "Starting nvidia-persistenced for ${NVPD_USER}"
- NVPD_USER_ARG="--user ${NVPD_USER}"
- else
- ebegin "Starting nvidia-persistenced"
- fi
- start-stop-daemon --start --quiet --pidfile ${pidfile} \
- --background --exec /opt/bin/nvidia-persistenced \
- -- ${NVPD_USER_ARG} ${ARGS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping nvidia-persistenced"
- start-stop-daemon --stop --quiet --pidfile ${pidfile}
- eend $?
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
deleted file mode 100644
index fe9d336413fd..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/nvidia-settings-@PV@/utils.mk
-+++ b/nvidia-settings-@PV@/utils.mk
-@@ -475,7 +475,7 @@
- define READ_ONLY_OBJECT_FROM_FILE_RULE
- $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
- $$(call quiet_cmd,OBJCOPY) \
- --rename-section .data=.rodata,contents,alloc,load,data,readonly \
---- a/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
-+++ b/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
-@@ -475,7 +475,7 @@
- define READ_ONLY_OBJECT_FROM_FILE_RULE
- $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
- $(at_if_quiet)cd $$(dir $(1)); \
-- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
-+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
- $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
- $$(call quiet_cmd,OBJCOPY) \
- --rename-section .data=.rodata,contents,alloc,load,data,readonly \
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop b/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
deleted file mode 100644
index b4b452ec829a..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=NVIDIA X Server Settings
-Comment=Configure NVIDIA X Server Settings
-Exec=/usr/bin/nvidia-settings
-Icon=nvidia-settings
-Categories=System;Settings;
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-smi.init b/x11-drivers/nvidia-drivers/files/nvidia-smi.init
deleted file mode 100644
index 8ee51e348939..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-smi.init
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/run/nvidia-smi.pid"
-
-depend() {
- after modules
-}
-
-start() {
- ebegin "Starting NVIDIA System Management Interface"
- rm -f ${pidfile}
- start-stop-daemon --start --quiet --pidfile ${pidfile} \
- --make-pidfile --background --exec /opt/bin/nvidia-smi -- \
- -q -l 300
- eend $?
-}
-
-stop() {
- ebegin "Stopping NVIDIA System Management Interface"
- start-stop-daemon --stop --quiet --pidfile ${pidfile}
- eend $?
-}
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
deleted file mode 100644
index 6579bf74adb2..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-if [ $# -ne 1 ]; then
- echo "Invalid args" >&2
- exit 1
-fi
-
-case $1 in
- add|ADD)
- #hopefully this prevents infinite loops like bug #454740
- if lsmod | grep -iq nvidia; then
- /opt/bin/nvidia-smi > /dev/null
- fi
- ;;
- remove|REMOVE)
- rm -f /dev/nvidia*
- ;;
-esac
-
-exit 0
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
deleted file mode 100644
index 0602a4353fef..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
+++ /dev/null
@@ -1 +0,0 @@
-KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/bin/mknod -m 660 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0; /bin/chgrp video /dev/nvidia-uvm'"
diff --git a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
deleted file mode 100644
index 2eb30bb0eba5..000000000000
--- a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
+++ /dev/null
@@ -1,6 +0,0 @@
-ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
-# Previously the ACTION was "add|remove" but one user on bug #376527 had a
-# problem until he recompiled udev-171-r5, which is one of the versions I
-# tested with and it was fine. I'm breaking the rules out just to be safe
-# so someone else doesn't have an issue
-ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml
index 294430ee9cfd..107804d69d10 100644
--- a/x11-drivers/nvidia-drivers/metadata.xml
+++ b/x11-drivers/nvidia-drivers/metadata.xml
@@ -9,11 +9,8 @@
<email>soap@gentoo.org</email>
</maintainer>
<use>
- <flag name="compat">Install non-GLVND libGL for backwards compatibility</flag>
<flag name="driver">Install kernel driver modules</flag>
- <flag name="kms">Enable support for kernel mode setting (KMS)</flag>
<flag name="tools">Install additional tools such as nvidia-settings</flag>
- <flag name="uvm">Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:nvidia:gpu_driver</remote-id>
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
deleted file mode 100644
index 17311c655c7a..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver systemd toolchain-funcs unpacker udev
-
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )"
-
-EMULTILIB_PKG="true"
-
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%%.*}"
-# TODO: for arm64, keyword virtual/opencl on arm64
-KEYWORDS="-* amd64"
-IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )"
-
-COMMON="
- driver? ( acct-group/video )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- app-misc/pax-utils
- media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- )"
-DEPEND="
- ${COMMON}
- virtual/linux-sources
- tools? ( sys-apps/dbus )"
-RDEPEND="
- ${COMMON}
- net-libs/libtirpc
- uvm? ( >=virtual/opencl-3 )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )"
-
-QA_PREBUILT="opt/* usr/lib*"
-S="${WORKDIR}"
-NV_KV_MAX_PLUS="5.12"
-CONFIG_CHECK="
- !DEBUG_MUTEXES
- ~!I2C_NVIDIA_GPU
- ~!LOCKDEP
- ~DRM
- ~DRM_KMS_HELPER
- ~SYSVIPC"
-
-PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
-
-pkg_pretend() {
- nvidia-driver_check
-}
-
-pkg_setup() {
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-}
-
-src_prepare() {
- gunzip *1.gz || die
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
-
- # remove GTK2 support entirely (#592730)
- sed -i \
- -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
- nvidia-settings-${PV}/src/Makefile || die
- fi
-
- default
-
- if ! [[ -f nvidia_icd.json ]]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-}
-
-src_configure() {
- tc-export AR CC LD OBJCOPY
- default
-}
-
-src_compile() {
- pushd kernel >/dev/null || die
- if use driver; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
- popd >/dev/null || die
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/libXNVCtrl \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- RANLIB="$(tc-getRANLIB)"
-
- emake -C nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=.
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ -n ${nv_DEST} ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
-
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia libnvidia-cfg.so.${PV}
-
- # NVIDIA framebuffer capture library
- donvidia libnvidia-fbc.so.${PV}
-
- # NVIDIA video encode/decode <-> CUDA
- donvidia libnvcuvid.so.${PV}
- donvidia libnvidia-encode.so.${PV}
-
- if use X; then
- # Xorg DDX driver
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe nvidia_drv.so
-
- # Xorg GLX driver
- donvidia libglxserver_nvidia.so.${PV} \
- /usr/$(get_libdir)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins 10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins 10_nvidia_wayland.json
- fi
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
-
- # OpenCL ICD for NVIDIA
- insinto /etc/OpenCL/vendors
- doins nvidia.icd
-
- # Helper Apps
- exeinto /opt/bin/
-
- use X && doexe nvidia-xconfig
-
- doexe nvidia-cuda-mps-control
- doexe nvidia-cuda-mps-server
- doexe nvidia-debugdump
- doexe nvidia-persistenced
- doexe nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
-
- if use tools; then
- emake -C nvidia-settings-${PV}/src/ \
- DESTDIR="${ED}" \
- DO_STRIP= \
- GTK3_AVAILABLE=1 \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- doicon nvidia-settings.png
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin nvidia-bug-report.sh
-
- systemd_dounit *.service
- dobin nvidia-sleep.sh
- exeinto /lib/systemd/system-sleep
- doexe nvidia
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(multilib_get_enabled_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- newdoc README.txt README
- dodoc NVIDIA_Changelog
- doman nvidia-smi.1
- use X && doman nvidia-xconfig.1
- use tools && doman nvidia-settings.1
- doman nvidia-cuda-mps-control.1
-
- readme.gentoo_create_doc
-
- dodoc -r supported-gpus
-
- docinto html
- dodoc -r html/.
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- local GL_ROOT="/usr/$(get_libdir)"
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${S}"
-
- if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${S}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
- "libGLX_nvidia.so.${PV} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${PV}"
- "libnvcuvid.so.${PV}"
- "libnvidia-compiler.so.${PV}"
- "libnvidia-eglcore.so.${PV}"
- "libnvidia-encode.so.${PV}"
- "libnvidia-fbc.so.${PV}"
- "libnvidia-glcore.so.${PV}"
- "libnvidia-glsi.so.${PV}"
- "libnvidia-glvkspirv.so.${PV}"
- "libnvidia-ifr.so.${PV}"
- "libnvidia-opencl.so.${PV}"
- "libnvidia-ptxjitcompiler.so.${PV}"
- "libvdpau_nvidia.so.${PV}"
- )
-
- if use wayland && [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.5"
- )
- fi
-
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${PV}"
- "libnvidia-tls.so.${PV}"
- )
-
- if [[ ${ABI} == "amd64" ]]; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.so.${PV}"
- "libnvidia-ngx.so.${PV}"
- "libnvidia-rtcore.so.${PV}"
- "libnvoptix.so.${PV}"
- )
- fi
-
- local nv_lib
- for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${nv_lib}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [[ -z ${videogroup} ]]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${ED}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
- # Make sure we nuke the old nvidia-glx's env.d file
- rm -f "${EROOT}"/etc/env.d/09nvidia || die
-}
-
-pkg_postinst() {
- use driver && linux-mod_pkg_postinst
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-
- elog "To enable nvidia sleep services under systemd, run these commands:"
- elog " systemctl enable nvidia-suspend.service"
- elog " systemctl enable nvidia-hibernate.service"
- elog " systemctl enable nvidia-resume.service"
- elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
- elog "suitable path in case the default of /tmp does not work for you"
- elog "For more information see:"
- elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
-}
-
-pkg_postrm() {
- use driver && linux-mod_pkg_postrm
-}