Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/, x11-drivers/nvidia-drivers/files/
Date: Wed, 21 Apr 2021 12:22:30
Message-Id: 1619007591.dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b.soap@gentoo
1 commit: dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b
2 Author: Ionen Wolkens <sudinave <AT> gmail <DOT> com>
3 AuthorDate: Wed Apr 21 12:19:51 2021 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 21 12:19:51 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd8dd30e
7
8 x11-drivers/nvidia-drivers: drop 460.56
9
10 Also removes remaining support files/metadata for old style ebuilds.
11
12 Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
13 Signed-off-by: David Seifert <soap <AT> gentoo.org>
14
15 x11-drivers/nvidia-drivers/Manifest | 2 -
16 .../files/nvidia-drivers-440.26-locale.patch | 13 -
17 .../nvidia-drivers/files/nvidia-persistenced.conf | 8 -
18 .../nvidia-drivers/files/nvidia-persistenced.init | 24 -
19 .../files/nvidia-settings-linker.patch | 22 -
20 .../nvidia-drivers/files/nvidia-settings.desktop | 7 -
21 x11-drivers/nvidia-drivers/files/nvidia-smi.init | 24 -
22 x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 | 20 -
23 .../nvidia-drivers/files/nvidia-uvm.udev-rule | 1 -
24 x11-drivers/nvidia-drivers/files/nvidia.udev-rule | 6 -
25 x11-drivers/nvidia-drivers/metadata.xml | 3 -
26 .../nvidia-drivers/nvidia-drivers-460.56.ebuild | 485 ---------------------
27 12 files changed, 615 deletions(-)
28
29 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
30 index 524020e0b4a..f2cd533cb7d 100644
31 --- a/x11-drivers/nvidia-drivers/Manifest
32 +++ b/x11-drivers/nvidia-drivers/Manifest
33 @@ -4,7 +4,6 @@ DIST NVIDIA-Linux-aarch64-465.19.01.run 174150951 BLAKE2B 7344404cff1ee5fce5368d
34 DIST NVIDIA-Linux-x86-390.141.run 49589744 BLAKE2B 304672806b89885adbf8459ea99ca872769e44a42ff041a5b79ef05d113d7717f505f543441e7a2fc6c569f6d66391f0380a4f23f3e68108c8de817bf251f850 SHA512 6dfde3b54520070954b45f6bc071251084e1741f55e582b1abd806eb367e4b9ce0015615bf6a887fa784d075b3db08b6940da4163b960969773d1bdc52b4961e
35 DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c
36 DIST NVIDIA-Linux-x86_64-450.102.04.run 141391114 BLAKE2B 019f928464b23d2a86bfdd255b7651e3cfe2b0b6ebf58d1b4a6ba1f27990e1d050d1e2429ba4aa60b966b04e775939084a04d82d1dd3482a10b39375b17b1c31 SHA512 1d13de540da36274a360ea6bcd1ce01eaae103fe417b42aa8f9ac757c382b06da455a78cf6798310179f90e2afeadf3a8c9f3398186490c3c0f9079021e850ed
37 -DIST NVIDIA-Linux-x86_64-460.56.run 178496173 BLAKE2B 8f84a403ccaa9a92186cac9fb2dee9600cd29915cdacf475b6a1105772ffd52c671ef217a1201fbcd9192e858ec17796fd77b817887c79c43c266d32671fe7d0 SHA512 a61855576a27cdd2e48906ecb49cd1e9f88d14a8358aa4bdc57d59e2dfa64b394b2dcee45184d75e889fac6ebedcaaff902a07428c7f9eb011cf265228c6eb4e
38 DIST NVIDIA-Linux-x86_64-460.67.run 177691692 BLAKE2B 25a7d87cc128933a98100d7c5ef37f93c3a870c096eea3228a28ef79d712ce104608f9422221cc1eadc21dccbbc8bc41ab1832795cfee75e217600ed0d76489e SHA512 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898
39 DIST NVIDIA-Linux-x86_64-465.19.01.run 259853124 BLAKE2B 04d5d738a99e313d9c0c8aa074b28ff744b3d16893f26d4837d7440e7fa51c3182101f7cadedcb7b13f01d0e6dd612c931f2357e87003966cfc5b2c7f4398079 SHA512 b4ececb6069ec961a4bf6b50c3bb0d7ca94add13e04f9dcceaddc6d3267f6dfc5f020d14e49f37e6c09ec3b47b3f44f0f44620e1ab4d25f7739514a07769a67d
40 DIST nvidia-installer-390.141.tar.gz 205299 BLAKE2B b95ddcf9a8d61247572d73faa04558564962782b0eb222601315d741d1ee71fa0636fa87d31105ecc5ec61328d3174a3ed646046e02b6b5f29f071215a0e8bdd SHA512 3848a4ec17510bf4d3060e5ef8aafa1ad921215ec39d26c54b3bbdd8a5867c46e01d247b24b05ad6906fed7fb4ae6dc37346a7da6e5aae88b5b47584c0b07a02
41 @@ -21,7 +20,6 @@ DIST nvidia-persistenced-460.67.tar.gz 53334 BLAKE2B 1354ec98fd2b95d264fd7df6219
42 DIST nvidia-persistenced-465.19.01.tar.gz 53555 BLAKE2B 0b163a2cf37c9180512f9d3af442f52d4417f1ca0b286bafc154cd3c235bc8ff82380fbb92633f9dc0e010c9cc4e36ab3b5f6aad726b5357dc368edafe737146 SHA512 ebe8a8eff5770605e751665f325a82cbe24b20395684d124558838553a2815f6cf2804cb58a9624105a99442fea91d774ad4978bcd2ad13a52f55e777ae13c5d
43 DIST nvidia-settings-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04
44 DIST nvidia-settings-450.102.04.tar.gz 1229675 BLAKE2B 166b73a0e9fe1cc1c16f83128aa94f3b9ef44fc71004e80c2681299dd564df6b458b52bedfd60eaaecf6142d0ea7d5147cb9c509d4db4e6b85bc72dd4dc75751 SHA512 c514bb3cc72954a52f4821674f9b783ebc0bd8c7294a296716619ddad15f2b63f50ada47797dee1386709deb7d407cb1d6c04532b7ca6e03d84234555751c9a9
45 -DIST nvidia-settings-460.56.tar.bz2 1060604 BLAKE2B cd1480e42ab2b25b399f19b458a1d5252d1b77d263ddecbad2d61f0445ba9f0ddf81fc944ac1136c273dfd1d21d06385bcfac9bdd7a7dc02f75302a6b8276df4 SHA512 018eb3cb7f25b926aa620201979b0efaaa82e7f036c4870a1e1234f5aac3ab9cfd48846d7eedd7ed38c3035eface3f2afe1a0d5de7a67e53e6bea760aa99fa72
46 DIST nvidia-settings-460.67.tar.gz 1233189 BLAKE2B 33ffceefea4e184cb1873cdce97db26637e87cd20c82bcabcbfe88bcb084ac3d833ac5688cafa33a5a89383040d5c1c5d46de9c3f9a8ba6174574aa57aea2e46 SHA512 d1828379aa477394747ae3e5d3505e864d38a349dd159a04cb263613380afea9aea2081300b0d2b8ae205b800bfe6e8ba504e612989da394d757f00e4399b617
47 DIST nvidia-settings-465.19.01.tar.gz 1233866 BLAKE2B 297ffe66639bd4221f5b780abb784f640553f0f7d4f9bcc254cdf54fa6dcc98ac197fa76178f66b626bcef8c4fc6c2c83c3c2474f81a2c5124df0a651f878663 SHA512 90f2786941ee062f4f8e7f80e0174620d8aedca17164e7e466c77733f29e891ffce9b08a09a75c25a219546efc816ca2fbb26b3b142522e89e495b7b90bd65d1
48 DIST nvidia-xconfig-390.141.tar.gz 140293 BLAKE2B 08ee93be953f75dbe078c557af7c062092ce8a3b53af0735d43b7feabe6d1c99390b9533027fbc5017d207a70dfa5aecf88d211905bf8f0e846f769a6ea16c2b SHA512 9fedee2f720d86bd24e393328249bf970a1f242b9e750543e757eb13ca30f6ecfda6c63441093ab96ae28d5f38d4e55cc6de6316eb82d2a2f33074144a1eef2f
49
50 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
51 deleted file mode 100644
52 index aa2a74349f2..00000000000
53 --- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch
54 +++ /dev/null
55 @@ -1,13 +0,0 @@
56 ---- a/kernel/conftest.sh
57 -+++ b/kernel/conftest.sh
58 -@@ -6,6 +6,10 @@
59 - SCRIPTDIR=`dirname $0`
60 - cd $SCRIPTDIR
61 -
62 -+# translate_and_compile_header_files() expects the default locale
63 -+# https://bugs.gentoo.org/698238
64 -+export LC_ALL=C
65 -+
66 - CC="$1"
67 - ARCH=$2
68 - ISYSTEM=`$CC -print-file-name=include 2> /dev/null`
69
70 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
71 deleted file mode 100644
72 index 637ac1afb41..00000000000
73 --- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf
74 +++ /dev/null
75 @@ -1,8 +0,0 @@
76 -# run-time configuration file for /etc/init.d/nvidia-persistenced
77 -
78 -# NVPD_USER: The user nvidia-persistenced is intended to run for
79 -NVPD_USER=""
80 -
81 -# ARGS: Additional arguments to set the default persistence mode
82 -# (see nvidia-persistenced(1))
83 -ARGS=""
84
85 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
86 deleted file mode 100644
87 index f80456d1603..00000000000
88 --- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init
89 +++ /dev/null
90 @@ -1,24 +0,0 @@
91 -#!/sbin/openrc-run
92 -# Copyright 1999-2014 Gentoo Foundation
93 -# Distributed under the terms of the GNU General Public License v2
94 -
95 -pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid"
96 -
97 -start() {
98 - if ! [ "${NVPD_USER}x" = x ]; then
99 - ebegin "Starting nvidia-persistenced for ${NVPD_USER}"
100 - NVPD_USER_ARG="--user ${NVPD_USER}"
101 - else
102 - ebegin "Starting nvidia-persistenced"
103 - fi
104 - start-stop-daemon --start --quiet --pidfile ${pidfile} \
105 - --background --exec /opt/bin/nvidia-persistenced \
106 - -- ${NVPD_USER_ARG} ${ARGS}
107 - eend $?
108 -}
109 -
110 -stop() {
111 - ebegin "Stopping nvidia-persistenced"
112 - start-stop-daemon --stop --quiet --pidfile ${pidfile}
113 - eend $?
114 -}
115
116 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
117 deleted file mode 100644
118 index fe9d336413f..00000000000
119 --- a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch
120 +++ /dev/null
121 @@ -1,22 +0,0 @@
122 ---- a/nvidia-settings-@PV@/utils.mk
123 -+++ b/nvidia-settings-@PV@/utils.mk
124 -@@ -475,7 +475,7 @@
125 - define READ_ONLY_OBJECT_FROM_FILE_RULE
126 - $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
127 - $(at_if_quiet)cd $$(dir $(1)); \
128 -- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
129 -+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
130 - $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
131 - $$(call quiet_cmd,OBJCOPY) \
132 - --rename-section .data=.rodata,contents,alloc,load,data,readonly \
133 ---- a/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
134 -+++ b/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
135 -@@ -475,7 +475,7 @@
136 - define READ_ONLY_OBJECT_FROM_FILE_RULE
137 - $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
138 - $(at_if_quiet)cd $$(dir $(1)); \
139 -- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
140 -+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
141 - $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
142 - $$(call quiet_cmd,OBJCOPY) \
143 - --rename-section .data=.rodata,contents,alloc,load,data,readonly \
144
145 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop b/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
146 deleted file mode 100644
147 index b4b452ec829..00000000000
148 --- a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop
149 +++ /dev/null
150 @@ -1,7 +0,0 @@
151 -[Desktop Entry]
152 -Type=Application
153 -Name=NVIDIA X Server Settings
154 -Comment=Configure NVIDIA X Server Settings
155 -Exec=/usr/bin/nvidia-settings
156 -Icon=nvidia-settings
157 -Categories=System;Settings;
158
159 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-smi.init b/x11-drivers/nvidia-drivers/files/nvidia-smi.init
160 deleted file mode 100644
161 index 8ee51e34893..00000000000
162 --- a/x11-drivers/nvidia-drivers/files/nvidia-smi.init
163 +++ /dev/null
164 @@ -1,24 +0,0 @@
165 -#!/sbin/openrc-run
166 -# Copyright 1999-2013 Gentoo Foundation
167 -# Distributed under the terms of the GNU General Public License v2
168 -
169 -pidfile="/run/nvidia-smi.pid"
170 -
171 -depend() {
172 - after modules
173 -}
174 -
175 -start() {
176 - ebegin "Starting NVIDIA System Management Interface"
177 - rm -f ${pidfile}
178 - start-stop-daemon --start --quiet --pidfile ${pidfile} \
179 - --make-pidfile --background --exec /opt/bin/nvidia-smi -- \
180 - -q -l 300
181 - eend $?
182 -}
183 -
184 -stop() {
185 - ebegin "Stopping NVIDIA System Management Interface"
186 - start-stop-daemon --stop --quiet --pidfile ${pidfile}
187 - eend $?
188 -}
189
190 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
191 deleted file mode 100644
192 index 6579bf74adb..00000000000
193 --- a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
194 +++ /dev/null
195 @@ -1,20 +0,0 @@
196 -#!/bin/sh
197 -
198 -if [ $# -ne 1 ]; then
199 - echo "Invalid args" >&2
200 - exit 1
201 -fi
202 -
203 -case $1 in
204 - add|ADD)
205 - #hopefully this prevents infinite loops like bug #454740
206 - if lsmod | grep -iq nvidia; then
207 - /opt/bin/nvidia-smi > /dev/null
208 - fi
209 - ;;
210 - remove|REMOVE)
211 - rm -f /dev/nvidia*
212 - ;;
213 -esac
214 -
215 -exit 0
216
217 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
218 deleted file mode 100644
219 index 0602a4353fe..00000000000
220 --- a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule
221 +++ /dev/null
222 @@ -1 +0,0 @@
223 -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'"
224
225 diff --git a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
226 deleted file mode 100644
227 index 2eb30bb0eba..00000000000
228 --- a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule
229 +++ /dev/null
230 @@ -1,6 +0,0 @@
231 -ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
232 -# Previously the ACTION was "add|remove" but one user on bug #376527 had a
233 -# problem until he recompiled udev-171-r5, which is one of the versions I
234 -# tested with and it was fine. I'm breaking the rules out just to be safe
235 -# so someone else doesn't have an issue
236 -ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
237
238 diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml
239 index 294430ee9cf..107804d69d1 100644
240 --- a/x11-drivers/nvidia-drivers/metadata.xml
241 +++ b/x11-drivers/nvidia-drivers/metadata.xml
242 @@ -9,11 +9,8 @@
243 <email>soap@g.o</email>
244 </maintainer>
245 <use>
246 - <flag name="compat">Install non-GLVND libGL for backwards compatibility</flag>
247 <flag name="driver">Install kernel driver modules</flag>
248 - <flag name="kms">Enable support for kernel mode setting (KMS)</flag>
249 <flag name="tools">Install additional tools such as nvidia-settings</flag>
250 - <flag name="uvm">Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs</flag>
251 </use>
252 <upstream>
253 <remote-id type="cpe">cpe:/a:nvidia:gpu_driver</remote-id>
254
255 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
256 deleted file mode 100644
257 index 17311c655c7..00000000000
258 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild
259 +++ /dev/null
260 @@ -1,485 +0,0 @@
261 -# Copyright 1999-2021 Gentoo Authors
262 -# Distributed under the terms of the GNU General Public License v2
263 -
264 -EAPI=7
265 -
266 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
267 - nvidia-driver systemd toolchain-funcs unpacker udev
268 -
269 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
270 -ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
271 -
272 -NV_URI="https://us.download.nvidia.com/XFree86/"
273 -SRC_URI="
274 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
275 - tools? (
276 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
277 - )"
278 -
279 -EMULTILIB_PKG="true"
280 -
281 -LICENSE="GPL-2 NVIDIA-r2"
282 -SLOT="0/${PV%%.*}"
283 -# TODO: for arm64, keyword virtual/opencl on arm64
284 -KEYWORDS="-* amd64"
285 -IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
286 -REQUIRED_USE="
287 - tools? ( X )
288 - static-libs? ( tools )"
289 -
290 -COMMON="
291 - driver? ( acct-group/video )
292 - tools? (
293 - dev-libs/atk
294 - dev-libs/glib:2
295 - dev-libs/jansson
296 - x11-libs/cairo
297 - x11-libs/gdk-pixbuf
298 - x11-libs/gtk+:3
299 - x11-libs/libX11
300 - x11-libs/libXext
301 - x11-libs/libXrandr
302 - x11-libs/libXv
303 - x11-libs/libXxf86vm
304 - x11-libs/pango[X]
305 - )
306 - X? (
307 - app-misc/pax-utils
308 - media-libs/libglvnd[X,${MULTILIB_USEDEP}]
309 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
310 - )"
311 -DEPEND="
312 - ${COMMON}
313 - virtual/linux-sources
314 - tools? ( sys-apps/dbus )"
315 -RDEPEND="
316 - ${COMMON}
317 - net-libs/libtirpc
318 - uvm? ( >=virtual/opencl-3 )
319 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
320 - X? (
321 - <x11-base/xorg-server-1.20.99:=
322 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
323 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
324 - sys-libs/zlib[${MULTILIB_USEDEP}]
325 - )"
326 -
327 -QA_PREBUILT="opt/* usr/lib*"
328 -S="${WORKDIR}"
329 -NV_KV_MAX_PLUS="5.12"
330 -CONFIG_CHECK="
331 - !DEBUG_MUTEXES
332 - ~!I2C_NVIDIA_GPU
333 - ~!LOCKDEP
334 - ~DRM
335 - ~DRM_KMS_HELPER
336 - ~SYSVIPC"
337 -
338 -PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
339 -
340 -pkg_pretend() {
341 - nvidia-driver_check
342 -}
343 -
344 -pkg_setup() {
345 - nvidia-driver_check
346 -
347 - # try to turn off distcc and ccache for people that have a problem with it
348 - export DISTCC_DISABLE=1
349 - export CCACHE_DISABLE=1
350 -
351 - if use driver; then
352 - MODULE_NAMES="nvidia(video:${S}/kernel)"
353 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
354 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
355 -
356 - # This needs to run after MODULE_NAMES (so that the eclass checks
357 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
358 - # is set (so that KV_DIR is populated).
359 - linux-mod_pkg_setup
360 -
361 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
362 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
363 -
364 - # linux-mod_src_compile calls set_arch_to_kernel, which
365 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
366 - # expects x86_64 or i386 and then converts it to x86
367 - # later on in the build process
368 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
369 - fi
370 -}
371 -
372 -src_prepare() {
373 - gunzip *1.gz || die
374 -
375 - if use tools; then
376 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
377 - sed -i \
378 - -e "s:@PV@:${PV}:g" \
379 - "${WORKDIR}"/nvidia-settings-linker.patch \
380 - || die
381 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
382 -
383 - # remove GTK2 support entirely (#592730)
384 - sed -i \
385 - -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
386 - nvidia-settings-${PV}/src/Makefile || die
387 - fi
388 -
389 - default
390 -
391 - if ! [[ -f nvidia_icd.json ]]; then
392 - cp nvidia_icd.json.template nvidia_icd.json || die
393 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
394 - fi
395 -}
396 -
397 -src_configure() {
398 - tc-export AR CC LD OBJCOPY
399 - default
400 -}
401 -
402 -src_compile() {
403 - pushd kernel >/dev/null || die
404 - if use driver; then
405 - BUILD_TARGETS=module linux-mod_src_compile \
406 - KERNELRELEASE="${KV_FULL}" \
407 - src="${KERNEL_DIR}"
408 - fi
409 - popd >/dev/null || die
410 -
411 - if use tools; then
412 - emake -C nvidia-settings-${PV}/src/libXNVCtrl \
413 - DO_STRIP= \
414 - LIBDIR="$(get_libdir)" \
415 - NVLD="$(tc-getLD)" \
416 - NV_VERBOSE=1 \
417 - OUTPUTDIR=. \
418 - RANLIB="$(tc-getRANLIB)"
419 -
420 - emake -C nvidia-settings-${PV}/src \
421 - DO_STRIP= \
422 - GTK3_AVAILABLE=1 \
423 - LIBDIR="$(get_libdir)" \
424 - NVLD="$(tc-getLD)" \
425 - NVML_ENABLED=0 \
426 - NV_USE_BUNDLED_LIBJANSSON=0 \
427 - NV_VERBOSE=1 \
428 - OUTPUTDIR=.
429 - fi
430 -}
431 -
432 -# Install nvidia library:
433 -# the first parameter is the library to install
434 -# the second parameter is the provided soversion
435 -# the third parameter is the target directory if it is not /usr/lib
436 -donvidia() {
437 - # Full path to library
438 - nv_LIB="${1}"
439 -
440 - # SOVER to use
441 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
442 -
443 - # Where to install
444 - nv_DEST="${2}"
445 -
446 - # Get just the library name
447 - nv_LIBNAME=$(basename "${nv_LIB}")
448 -
449 - if [[ -n ${nv_DEST} ]]; then
450 - exeinto ${nv_DEST}
451 - action="doexe"
452 - else
453 - nv_DEST="/usr/$(get_libdir)"
454 - action="dolib.so"
455 - fi
456 -
457 - # Install the library
458 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
459 -
460 - # If the library has a SONAME and SONAME does not match the library name,
461 - # then we need to create a symlink
462 - if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
463 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
464 - fi
465 -
466 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
467 -}
468 -
469 -src_install() {
470 - if use driver; then
471 - linux-mod_src_install
472 -
473 - # Add the aliases
474 - # This file is tweaked with the appropriate video group in
475 - # pkg_preinst, see bug #491414
476 - insinto /etc/modprobe.d
477 - newins "${FILESDIR}"/nvidia-460.conf nvidia.conf
478 -
479 - if use uvm; then
480 - doins "${FILESDIR}"/nvidia-rmmod.conf
481 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
482 - else
483 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
484 - > "${T}"/nvidia-rmmod.conf || die
485 - doins "${T}"/nvidia-rmmod.conf
486 - fi
487 -
488 - # Ensures that our device nodes are created when not using X
489 - exeinto "$(get_udevdir)"
490 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
491 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
492 - fi
493 -
494 - # NVIDIA kernel <-> userspace driver config lib
495 - donvidia libnvidia-cfg.so.${PV}
496 -
497 - # NVIDIA framebuffer capture library
498 - donvidia libnvidia-fbc.so.${PV}
499 -
500 - # NVIDIA video encode/decode <-> CUDA
501 - donvidia libnvcuvid.so.${PV}
502 - donvidia libnvidia-encode.so.${PV}
503 -
504 - if use X; then
505 - # Xorg DDX driver
506 - exeinto /usr/$(get_libdir)/xorg/modules/drivers
507 - doexe nvidia_drv.so
508 -
509 - # Xorg GLX driver
510 - donvidia libglxserver_nvidia.so.${PV} \
511 - /usr/$(get_libdir)/xorg/modules/extensions
512 -
513 - # Xorg nvidia.conf
514 - insinto /usr/share/X11/xorg.conf.d
515 - newins {,50-}nvidia-drm-outputclass.conf
516 -
517 - insinto /usr/share/glvnd/egl_vendor.d
518 - doins 10_nvidia.json
519 - fi
520 -
521 - if use wayland; then
522 - insinto /usr/share/egl/egl_external_platform.d
523 - doins 10_nvidia_wayland.json
524 - fi
525 -
526 - insinto /etc/vulkan/icd.d
527 - doins nvidia_icd.json
528 -
529 - insinto /etc/vulkan/implicit_layer.d
530 - doins nvidia_layers.json
531 -
532 - # OpenCL ICD for NVIDIA
533 - insinto /etc/OpenCL/vendors
534 - doins nvidia.icd
535 -
536 - # Helper Apps
537 - exeinto /opt/bin/
538 -
539 - use X && doexe nvidia-xconfig
540 -
541 - doexe nvidia-cuda-mps-control
542 - doexe nvidia-cuda-mps-server
543 - doexe nvidia-debugdump
544 - doexe nvidia-persistenced
545 - doexe nvidia-smi
546 -
547 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
548 - doexe nvidia-modprobe
549 - fowners root:video /opt/bin/nvidia-modprobe
550 - fperms 4710 /opt/bin/nvidia-modprobe
551 - dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
552 -
553 - doman nvidia-cuda-mps-control.1
554 - doman nvidia-modprobe.1
555 - doman nvidia-persistenced.1
556 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
557 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
558 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
559 -
560 - if use tools; then
561 - emake -C nvidia-settings-${PV}/src/ \
562 - DESTDIR="${ED}" \
563 - DO_STRIP= \
564 - GTK3_AVAILABLE=1 \
565 - LIBDIR="${ED}/usr/$(get_libdir)" \
566 - NV_USE_BUNDLED_LIBJANSSON=0 \
567 - NV_VERBOSE=1 \
568 - OUTPUTDIR=. \
569 - PREFIX=/usr \
570 - install
571 -
572 - if use static-libs; then
573 - dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
574 -
575 - insinto /usr/include/NVCtrl
576 - doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
577 - fi
578 -
579 - insinto /usr/share/nvidia/
580 - doins nvidia-application-profiles-${PV}-key-documentation
581 -
582 - insinto /etc/nvidia
583 - newins \
584 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
585 -
586 - doicon nvidia-settings.png
587 - domenu "${FILESDIR}"/nvidia-settings.desktop
588 -
589 - exeinto /etc/X11/xinit/xinitrc.d
590 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
591 - fi
592 -
593 - dobin nvidia-bug-report.sh
594 -
595 - systemd_dounit *.service
596 - dobin nvidia-sleep.sh
597 - exeinto /lib/systemd/system-sleep
598 - doexe nvidia
599 -
600 - if has_multilib_profile && use multilib; then
601 - local OABI=${ABI}
602 - for ABI in $(multilib_get_enabled_abis); do
603 - src_install-libs
604 - done
605 - ABI=${OABI}
606 - unset OABI
607 - else
608 - src_install-libs
609 - fi
610 -
611 - is_final_abi || die "failed to iterate through all ABIs"
612 -
613 - # Documentation
614 - newdoc README.txt README
615 - dodoc NVIDIA_Changelog
616 - doman nvidia-smi.1
617 - use X && doman nvidia-xconfig.1
618 - use tools && doman nvidia-settings.1
619 - doman nvidia-cuda-mps-control.1
620 -
621 - readme.gentoo_create_doc
622 -
623 - dodoc -r supported-gpus
624 -
625 - docinto html
626 - dodoc -r html/.
627 -}
628 -
629 -src_install-libs() {
630 - local inslibdir=$(get_libdir)
631 - local GL_ROOT="/usr/$(get_libdir)"
632 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
633 - local nv_libdir="${S}"
634 -
635 - if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
636 - nv_libdir="${S}"/32
637 - fi
638 -
639 - if use X; then
640 - NV_GLX_LIBRARIES=(
641 - "libEGL_nvidia.so.${PV} ${GL_ROOT}"
642 - "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
643 - "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
644 - "libGLX_nvidia.so.${PV} ${GL_ROOT}"
645 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
646 - "libcuda.so.${PV}"
647 - "libnvcuvid.so.${PV}"
648 - "libnvidia-compiler.so.${PV}"
649 - "libnvidia-eglcore.so.${PV}"
650 - "libnvidia-encode.so.${PV}"
651 - "libnvidia-fbc.so.${PV}"
652 - "libnvidia-glcore.so.${PV}"
653 - "libnvidia-glsi.so.${PV}"
654 - "libnvidia-glvkspirv.so.${PV}"
655 - "libnvidia-ifr.so.${PV}"
656 - "libnvidia-opencl.so.${PV}"
657 - "libnvidia-ptxjitcompiler.so.${PV}"
658 - "libvdpau_nvidia.so.${PV}"
659 - )
660 -
661 - if use wayland && [[ ${ABI} == "amd64" ]]; then
662 - NV_GLX_LIBRARIES+=(
663 - "libnvidia-egl-wayland.so.1.1.5"
664 - )
665 - fi
666 -
667 - NV_GLX_LIBRARIES+=(
668 - "libnvidia-ml.so.${PV}"
669 - "libnvidia-tls.so.${PV}"
670 - )
671 -
672 - if [[ ${ABI} == "amd64" ]]; then
673 - NV_GLX_LIBRARIES+=(
674 - "libnvidia-cbl.so.${PV}"
675 - "libnvidia-ngx.so.${PV}"
676 - "libnvidia-rtcore.so.${PV}"
677 - "libnvoptix.so.${PV}"
678 - )
679 - fi
680 -
681 - local nv_lib
682 - for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
683 - donvidia "${nv_libdir}"/${nv_lib}
684 - done
685 - fi
686 -}
687 -
688 -pkg_preinst() {
689 - if use driver; then
690 - linux-mod_pkg_preinst
691 -
692 - local videogroup="$(getent group video | cut -d ':' -f 3)"
693 - if [[ -z ${videogroup} ]]; then
694 - eerror "Failed to determine the video group gid"
695 - die "Failed to determine the video group gid"
696 - else
697 - sed -i \
698 - -e "s:PACKAGE:${PF}:g" \
699 - -e "s:VIDEOGID:${videogroup}:" \
700 - "${ED}"/etc/modprobe.d/nvidia.conf || die
701 - fi
702 - fi
703 -
704 - # Clean the dynamic libGL stuff's home to ensure
705 - # we dont have stale libs floating around
706 - rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
707 - # Make sure we nuke the old nvidia-glx's env.d file
708 - rm -f "${EROOT}"/etc/env.d/09nvidia || die
709 -}
710 -
711 -pkg_postinst() {
712 - use driver && linux-mod_pkg_postinst
713 -
714 - readme.gentoo_print_elog
715 -
716 - if ! use X; then
717 - elog "You have elected to not install the X.org driver. Along with"
718 - elog "this the OpenGL libraries and VDPAU libraries were not"
719 - elog "installed. Additionally, once the driver is loaded your card"
720 - elog "and fan will run at max speed which may not be desirable."
721 - elog "Use the 'nvidia-smi' init script to have your card and fan"
722 - elog "speed scale appropriately."
723 - elog
724 - fi
725 - if ! use tools; then
726 - elog "USE=tools controls whether the nvidia-settings application"
727 - elog "is installed. If you would like to use it, enable that"
728 - elog "flag and re-emerge this ebuild. Optionally you can install"
729 - elog "media-video/nvidia-settings"
730 - elog
731 - fi
732 -
733 - elog "To enable nvidia sleep services under systemd, run these commands:"
734 - elog " systemctl enable nvidia-suspend.service"
735 - elog " systemctl enable nvidia-hibernate.service"
736 - elog " systemctl enable nvidia-resume.service"
737 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
738 - elog "suitable path in case the default of /tmp does not work for you"
739 - elog "For more information see:"
740 - elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
741 -}
742 -
743 -pkg_postrm() {
744 - use driver && linux-mod_pkg_postrm
745 -}