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/
Date: Mon, 08 Feb 2021 08:58:39
Message-Id: 1612774639.bbde4ed769adaabba6eab841b777ee4f2524b068.soap@gentoo
1 commit: bbde4ed769adaabba6eab841b777ee4f2524b068
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 8 08:57:19 2021 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 8 08:57:19 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbde4ed7
7
8 x11-drivers/nvidia-drivers: 450.102.04 remove dead code
9
10 * Remove FreeBSD support
11 * Remove eselect-opengl codepaths
12 * Remove GTK2 dependency
13
14 Package-Manager: Portage-3.0.14, Repoman-3.0.2
15 Signed-off-by: David Seifert <soap <AT> gentoo.org>
16
17 x11-drivers/nvidia-drivers/Manifest | 1 -
18 .../nvidia-drivers-450.102.04.ebuild | 365 ++++++++-------------
19 2 files changed, 136 insertions(+), 230 deletions(-)
20
21 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
22 index c29ae8fbbce..325dec96ed5 100644
23 --- a/x11-drivers/nvidia-drivers/Manifest
24 +++ b/x11-drivers/nvidia-drivers/Manifest
25 @@ -2,7 +2,6 @@ DIST NVIDIA-FreeBSD-x86-390.138.tar.gz 65940848 BLAKE2B ea40a0289012425ee1fa1c74
26 DIST NVIDIA-FreeBSD-x86_64-390.138.tar.gz 65280213 BLAKE2B 36d5651ceaf90cefcf9e844f8f5810ac42bebca2ca47318b27606c1401d8f343fc7b2619a5405dee9d5d64ec98379b0582f6d5fe5dd4df1269ba48332a6a5ec2 SHA512 fb61e19010826e5c2e403ecc12e19ee28517682599100804d74be92a9e3c6688b51dafa6c6703a5a0d080b0ca16495792fec3badf9cab959321cc401e72520a3
27 DIST NVIDIA-FreeBSD-x86_64-435.21.tar.gz 64153630 BLAKE2B fee655cc843c004ac0c1ec85b9417292016a013136e04ad047d2513edbdc7c732561d6bcc4603c658905972dce6618de49d4d6ac583e84fdf212cf45397b48c1 SHA512 2c160c06ca58e3009deb1ba4a4a28d39419e251ced3bfa9a442942f9cce17003d67e8a8bfa23036d3916cc0e66f4bff0fbedaae73db6f10b995235a56d7eba7c
28 DIST NVIDIA-FreeBSD-x86_64-440.100.tar.gz 82523267 BLAKE2B 9d8eddcf3a58787a03fab207c197d722ff047f8bc840ea41e8d38815fbfab9e54759b9fbeaa26e3d147f54cb4a510eec421708d3bbb21197922f4dc175ed6df5 SHA512 96f57e1f308f0e5f00ef09a128e91a68ac55033893000e84cf4ff1a910a88798743c911b3effcc26c3f27ae224b733d8c2f87e9ec0596149f65ad7bcd71edbc5
29 -DIST NVIDIA-FreeBSD-x86_64-450.102.04.tar.gz 83102763 BLAKE2B 178104973cf2b0afebd04445bfb9d155c1fd6891d6ee627a27951a53677b85a7106aa32514b51d38203642daec6927ff6c31eba5a2101e45bd73cf4022f79173 SHA512 86273a7ed926b59bdbc035d8b23adb27280b5a5b012699733aaf7f80ea31faf7b6278b7f159250bc27b3bd07a0a84107f0e0333ff9d50a0ca2ed8e1b63a78d6d
30 DIST NVIDIA-FreeBSD-x86_64-450.80.02.tar.gz 83040706 BLAKE2B d97bae80f6fdcec12fd12af0296f9ba44487cc83c86c14bc9f17d52e0e81107e1eaddd411d06d1bfd27c73bcf71300f7f49218d2a031540c0b42cd62998ef9aa SHA512 6dca92f20102a0432c6b92b7897a2ff5ec3da234af72907539026e18b1da55fc3ae01dc875be07ce9cae808ae4f9c08d2a2af1171db038c37bbba6ca9d03cf3a
31 DIST NVIDIA-FreeBSD-x86_64-455.45.01.tar.gz 116070033 BLAKE2B 4a724ce58fb7164d12b50d1388a2a471903f4aa834cf606adf572e667ef7c1fec7bc291310fdca2d271709fed017b8f361a39bc495d616e6056a4c0afa2443b5 SHA512 4999911944f76fa759126308ac48d0a770e57966c7783e02370f45d9451a50d6015642b385465d4fc800df8c35655b78d90f7c9a8df82bdf81db8be12eacbe87
32 DIST NVIDIA-FreeBSD-x86_64-460.27.04.tar.gz 103234112 BLAKE2B a631425c00240dabdd1bd4dcc18945c4216352667cdd0c01b465486024cea215ee2423773ead2e22246337a2387b54ae2e16775b0727d57304b53f7ce6648ad7 SHA512 1308f14ae1100471a5aabece85403772cdd1abac44a725c53d33d9f0ee27a83dbd2088c60662f44a6f7d1fe91b43311b767790dcc5787c50546ffbabb62ded1a
33
34 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild
35 index db3a3952632..554a7a80f11 100644
36 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild
37 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-450.102.04.ebuild
38 @@ -2,46 +2,40 @@
39 # Distributed under the terms of the GNU General Public License v2
40
41 EAPI=7
42 +
43 inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
44 - nvidia-driver portability systemd toolchain-funcs unpacker udev
45 + nvidia-driver systemd toolchain-funcs unpacker udev
46
47 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
48 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
49 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
50 +ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}"
51
52 NV_URI="https://us.download.nvidia.com/XFree86/"
53 SRC_URI="
54 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
55 amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
56 tools? (
57 https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
58 - )
59 -"
60 + )"
61
62 EMULTILIB_PKG="true"
63 -KEYWORDS="-* ~amd64"
64 +
65 LICENSE="GPL-2 NVIDIA-r2"
66 SLOT="0/${PV%%.*}"
67 -
68 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
69 +# TODO: for arm64, keyword virtual/opencl on arm64
70 +KEYWORDS="-* ~amd64"
71 +IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X"
72 REQUIRED_USE="
73 tools? ( X )
74 - static-libs? ( tools )
75 -"
76 + static-libs? ( tools )"
77
78 COMMON="
79 - driver? ( kernel_linux? ( acct-group/video ) )
80 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
81 + driver? ( acct-group/video )
82 tools? (
83 dev-libs/atk
84 dev-libs/glib:2
85 dev-libs/jansson
86 - gtk3? (
87 - x11-libs/gtk+:3
88 - )
89 x11-libs/cairo
90 x11-libs/gdk-pixbuf
91 - x11-libs/gtk+:2
92 + x11-libs/gtk+:3
93 x11-libs/libX11
94 x11-libs/libXext
95 x11-libs/libXrandr
96 @@ -50,20 +44,17 @@ COMMON="
97 x11-libs/pango[X]
98 )
99 X? (
100 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
101 app-misc/pax-utils
102 - libglvnd? (
103 - media-libs/libglvnd[X,${MULTILIB_USEDEP}]
104 - )
105 - )
106 -"
107 + media-libs/libglvnd[X,${MULTILIB_USEDEP}]
108 + >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
109 + )"
110 DEPEND="
111 ${COMMON}
112 - kernel_linux? ( virtual/linux-sources )
113 - tools? ( sys-apps/dbus )
114 -"
115 + virtual/linux-sources
116 + tools? ( sys-apps/dbus )"
117 RDEPEND="
118 ${COMMON}
119 + net-libs/libtirpc
120 uvm? ( >=virtual/opencl-3 )
121 wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
122 X? (
123 @@ -71,23 +62,20 @@ RDEPEND="
124 >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
125 >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
126 sys-libs/zlib[${MULTILIB_USEDEP}]
127 - )
128 - kernel_linux? ( net-libs/libtirpc )
129 -"
130 + )"
131 +
132 QA_PREBUILT="opt/* usr/lib*"
133 -S=${WORKDIR}/
134 -PATCHES=(
135 - "${FILESDIR}"/${PN}-440.26-locale.patch
136 -)
137 -NV_KV_MAX_PLUS="5.10"
138 +S="${WORKDIR}"
139 +NV_KV_MAX_PLUS="5.11"
140 CONFIG_CHECK="
141 !DEBUG_MUTEXES
142 ~!I2C_NVIDIA_GPU
143 ~!LOCKDEP
144 ~DRM
145 ~DRM_KMS_HELPER
146 - ~SYSVIPC
147 -"
148 + ~SYSVIPC"
149 +
150 +PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch )
151
152 pkg_pretend() {
153 nvidia-driver_check
154 @@ -100,7 +88,7 @@ pkg_setup() {
155 export DISTCC_DISABLE=1
156 export CCACHE_DISABLE=1
157
158 - if use driver && use kernel_linux; then
159 + if use driver; then
160 MODULE_NAMES="nvidia(video:${S}/kernel)"
161 use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
162 use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
163 @@ -111,51 +99,18 @@ pkg_setup() {
164 linux-mod_pkg_setup
165
166 BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
167 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
168 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
169
170 # linux-mod_src_compile calls set_arch_to_kernel, which
171 # sets the ARCH to x86 but NVIDIA's wrapping Makefile
172 # expects x86_64 or i386 and then converts it to x86
173 # later on in the build process
174 BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
175 -
176 - if kernel_is lt 2 6 9; then
177 - eerror "You must build this against 2.6.9 or higher kernels."
178 - fi
179 - fi
180 -
181 - # set variables to where files are in the package structure
182 - if use kernel_FreeBSD; then
183 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
184 - NV_DOC="${S}/doc"
185 - NV_OBJ="${S}/obj"
186 - NV_SRC="${S}/src"
187 - NV_MAN="${S}/x11/man"
188 - NV_X11="${S}/obj"
189 - NV_SOVER=1
190 - elif use kernel_linux; then
191 - NV_DOC="${S}"
192 - NV_OBJ="${S}"
193 - NV_SRC="${S}/kernel"
194 - NV_MAN="${S}"
195 - NV_X11="${S}"
196 - NV_SOVER=${PV}
197 - else
198 - die "Could not determine proper NVIDIA package"
199 fi
200 }
201
202 -src_configure() {
203 - tc-export AR CC LD OBJCOPY
204 -
205 - default
206 -}
207 -
208 src_prepare() {
209 - local man_file
210 - for man_file in "${NV_MAN}"/*1.gz; do
211 - gunzip $man_file || die
212 - done
213 + gunzip *1.gz || die
214
215 if use tools; then
216 cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
217 @@ -164,29 +119,37 @@ src_prepare() {
218 "${WORKDIR}"/nvidia-settings-linker.patch \
219 || die
220 eapply "${WORKDIR}"/nvidia-settings-linker.patch
221 +
222 + # remove GTK2 support entirely (#592730)
223 + sed -i \
224 + -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \
225 + nvidia-settings-${PV}/src/Makefile || die
226 fi
227
228 default
229
230 - if ! [ -f nvidia_icd.json ]; then
231 + if ! [[ -f nvidia_icd.json ]]; then
232 cp nvidia_icd.json.template nvidia_icd.json || die
233 sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
234 fi
235 }
236
237 +src_configure() {
238 + tc-export AR CC LD OBJCOPY
239 + default
240 +}
241 +
242 src_compile() {
243 - cd "${NV_SRC}"
244 - if use kernel_FreeBSD; then
245 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
246 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
247 - elif use driver && use kernel_linux; then
248 + pushd kernel >/dev/null || die
249 + if use driver; then
250 BUILD_TARGETS=module linux-mod_src_compile \
251 KERNELRELEASE="${KV_FULL}" \
252 src="${KERNEL_DIR}"
253 fi
254 + popd >/dev/null || die
255
256 if use tools; then
257 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
258 + emake -C nvidia-settings-${PV}/src/libXNVCtrl \
259 DO_STRIP= \
260 LIBDIR="$(get_libdir)" \
261 NVLD="$(tc-getLD)" \
262 @@ -194,9 +157,9 @@ src_compile() {
263 OUTPUTDIR=. \
264 RANLIB="$(tc-getRANLIB)"
265
266 - emake -C "${S}"/nvidia-settings-${PV}/src \
267 + emake -C nvidia-settings-${PV}/src \
268 DO_STRIP= \
269 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
270 + GTK3_AVAILABLE=1 \
271 LIBDIR="$(get_libdir)" \
272 NVLD="$(tc-getLD)" \
273 NVML_ENABLED=0 \
274 @@ -223,7 +186,7 @@ donvidia() {
275 # Get just the library name
276 nv_LIBNAME=$(basename "${nv_LIB}")
277
278 - if [[ "${nv_DEST}" ]]; then
279 + if [[ -n ${nv_DEST} ]]; then
280 exeinto ${nv_DEST}
281 action="doexe"
282 else
283 @@ -236,7 +199,7 @@ donvidia() {
284
285 # If the library has a SONAME and SONAME does not match the library name,
286 # then we need to create a symlink
287 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
288 + if [[ -n ${nv_SOVER} && ${nv_SOVER} != ${nv_LIBNAME} ]]; then
289 dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
290 fi
291
292 @@ -244,7 +207,7 @@ donvidia() {
293 }
294
295 src_install() {
296 - if use driver && use kernel_linux; then
297 + if use driver; then
298 linux-mod_src_install
299
300 # Add the aliases
301 @@ -266,50 +229,38 @@ src_install() {
302 exeinto "$(get_udevdir)"
303 newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
304 udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
305 - elif use kernel_FreeBSD; then
306 - if use x86-fbsd; then
307 - insinto /boot/modules
308 - doins "${S}/src/nvidia.kld"
309 - fi
310 -
311 - exeinto /boot/modules
312 - doexe "${S}/src/nvidia.ko"
313 fi
314
315 # NVIDIA kernel <-> userspace driver config lib
316 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
317 + donvidia libnvidia-cfg.so.${PV}
318
319 # NVIDIA framebuffer capture library
320 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
321 + donvidia libnvidia-fbc.so.${PV}
322
323 # NVIDIA video encode/decode <-> CUDA
324 - if use kernel_linux; then
325 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
326 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
327 - fi
328 + donvidia libnvcuvid.so.${PV}
329 + donvidia libnvidia-encode.so.${PV}
330
331 if use X; then
332 # Xorg DDX driver
333 - insinto /usr/$(get_libdir)/xorg/modules/drivers
334 - doins ${NV_X11}/nvidia_drv.so
335 + exeinto /usr/$(get_libdir)/xorg/modules/drivers
336 + doexe nvidia_drv.so
337
338 # Xorg GLX driver
339 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
340 + donvidia libglxserver_nvidia.so.${PV} \
341 /usr/$(get_libdir)/xorg/modules/extensions
342
343 # Xorg nvidia.conf
344 - if has_version '>=x11-base/xorg-server-1.16'; then
345 - insinto /usr/share/X11/xorg.conf.d
346 - newins {,50-}nvidia-drm-outputclass.conf
347 - fi
348 + insinto /usr/share/X11/xorg.conf.d
349 + newins {,50-}nvidia-drm-outputclass.conf
350
351 insinto /usr/share/glvnd/egl_vendor.d
352 - doins ${NV_X11}/10_nvidia.json
353 + doins 10_nvidia.json
354 fi
355
356 if use wayland; then
357 insinto /usr/share/egl/egl_external_platform.d
358 - doins ${NV_X11}/10_nvidia_wayland.json
359 + doins 10_nvidia_wayland.json
360 fi
361
362 insinto /etc/vulkan/icd.d
363 @@ -319,45 +270,39 @@ src_install() {
364 doins nvidia_layers.json
365
366 # OpenCL ICD for NVIDIA
367 - if use kernel_linux; then
368 - insinto /etc/OpenCL/vendors
369 - doins ${NV_OBJ}/nvidia.icd
370 - fi
371 + insinto /etc/OpenCL/vendors
372 + doins nvidia.icd
373
374 # Helper Apps
375 exeinto /opt/bin/
376
377 - if use X; then
378 - doexe ${NV_OBJ}/nvidia-xconfig
379 - fi
380 + use X && doexe nvidia-xconfig
381
382 - if use kernel_linux; then
383 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
384 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
385 - doexe ${NV_OBJ}/nvidia-debugdump
386 - doexe ${NV_OBJ}/nvidia-persistenced
387 - doexe ${NV_OBJ}/nvidia-smi
388 -
389 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
390 - doexe ${NV_OBJ}/nvidia-modprobe
391 - fowners root:video /opt/bin/nvidia-modprobe
392 - fperms 4710 /opt/bin/nvidia-modprobe
393 - dosym /{opt,usr}/bin/nvidia-modprobe
394 -
395 - doman nvidia-cuda-mps-control.1
396 - doman nvidia-modprobe.1
397 - doman nvidia-persistenced.1
398 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
399 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
400 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
401 - fi
402 + doexe nvidia-cuda-mps-control
403 + doexe nvidia-cuda-mps-server
404 + doexe nvidia-debugdump
405 + doexe nvidia-persistenced
406 + doexe nvidia-smi
407 +
408 + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
409 + doexe nvidia-modprobe
410 + fowners root:video /opt/bin/nvidia-modprobe
411 + fperms 4710 /opt/bin/nvidia-modprobe
412 + dosym ../../opt/bin/nvidia-modprobe /usr/bin/nvidia-modprobe
413 +
414 + doman nvidia-cuda-mps-control.1
415 + doman nvidia-modprobe.1
416 + doman nvidia-persistenced.1
417 + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
418 + newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
419 + newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
420
421 if use tools; then
422 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
423 - DESTDIR="${D}" \
424 + emake -C nvidia-settings-${PV}/src/ \
425 + DESTDIR="${ED}" \
426 DO_STRIP= \
427 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
428 - LIBDIR="${D}/usr/$(get_libdir)" \
429 + GTK3_AVAILABLE=1 \
430 + LIBDIR="${ED}/usr/$(get_libdir)" \
431 NV_USE_BUNDLED_LIBJANSSON=0 \
432 NV_VERBOSE=1 \
433 OUTPUTDIR=. \
434 @@ -365,10 +310,10 @@ src_install() {
435 install
436
437 if use static-libs; then
438 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
439 + dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
440
441 insinto /usr/include/NVCtrl
442 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
443 + doins nvidia-settings-${PV}/src/libXNVCtrl/*.h
444 fi
445
446 insinto /usr/share/nvidia/
447 @@ -378,17 +323,14 @@ src_install() {
448 newins \
449 nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
450
451 - # There is no icon in the FreeBSD tarball.
452 - use kernel_FreeBSD || \
453 - doicon ${NV_OBJ}/nvidia-settings.png
454 -
455 + doicon nvidia-settings.png
456 domenu "${FILESDIR}"/nvidia-settings.desktop
457
458 exeinto /etc/X11/xinit/xinitrc.d
459 newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
460 fi
461
462 - dobin ${NV_OBJ}/nvidia-bug-report.sh
463 + dobin nvidia-bug-report.sh
464
465 systemd_dounit *.service
466 dobin nvidia-sleep.sh
467 @@ -409,140 +351,105 @@ src_install() {
468 is_final_abi || die "failed to iterate through all ABIs"
469
470 # Documentation
471 - if use kernel_FreeBSD; then
472 - dodoc "${NV_DOC}/README"
473 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
474 - use tools && doman "${NV_MAN}"/nvidia-settings.1
475 - else
476 - # Docs
477 - newdoc "${NV_DOC}/README.txt" README
478 - dodoc "${NV_DOC}/NVIDIA_Changelog"
479 - doman "${NV_MAN}"/nvidia-smi.1
480 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
481 - use tools && doman "${NV_MAN}"/nvidia-settings.1
482 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
483 - fi
484 + newdoc README.txt README
485 + dodoc NVIDIA_Changelog
486 + doman nvidia-smi.1
487 + use X && doman nvidia-xconfig.1
488 + use tools && doman nvidia-settings.1
489 + doman nvidia-cuda-mps-control.1
490
491 readme.gentoo_create_doc
492
493 dodoc supported-gpus.json
494
495 docinto html
496 - dodoc -r ${NV_DOC}/html/*
497 + dodoc -r html/.
498 }
499
500 src_install-libs() {
501 local inslibdir=$(get_libdir)
502 - if use libglvnd; then
503 - local GL_ROOT="/usr/$(get_libdir)"
504 - else
505 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
506 - fi
507 + local GL_ROOT="/usr/$(get_libdir)"
508 local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
509 - local nv_libdir="${NV_OBJ}"
510 + local nv_libdir="${S}"
511
512 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
513 - nv_libdir="${NV_OBJ}"/32
514 + if has_multilib_profile && [[ ${ABI} == "x86" ]]; then
515 + nv_libdir="${S}"/32
516 fi
517
518 if use X; then
519 NV_GLX_LIBRARIES=(
520 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
521 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
522 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
523 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
524 + "libEGL_nvidia.so.${PV} ${GL_ROOT}"
525 + "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}"
526 + "libGLESv2_nvidia.so.${PV} ${GL_ROOT}"
527 + "libGLX_nvidia.so.${PV} ${GL_ROOT}"
528 "libOpenCL.so.1.0.0 ${CL_ROOT}"
529 - "libcuda.so.${NV_SOVER}"
530 - "libnvcuvid.so.${NV_SOVER}"
531 - "libnvidia-compiler.so.${NV_SOVER}"
532 - "libnvidia-eglcore.so.${NV_SOVER}"
533 - "libnvidia-encode.so.${NV_SOVER}"
534 - "libnvidia-fbc.so.${NV_SOVER}"
535 - "libnvidia-glcore.so.${NV_SOVER}"
536 - "libnvidia-glsi.so.${NV_SOVER}"
537 - "libnvidia-glvkspirv.so.${NV_SOVER}"
538 - "libnvidia-ifr.so.${NV_SOVER}"
539 - "libnvidia-opencl.so.${NV_SOVER}"
540 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
541 - "libvdpau_nvidia.so.${NV_SOVER}"
542 + "libcuda.so.${PV}"
543 + "libnvcuvid.so.${PV}"
544 + "libnvidia-compiler.so.${PV}"
545 + "libnvidia-eglcore.so.${PV}"
546 + "libnvidia-encode.so.${PV}"
547 + "libnvidia-fbc.so.${PV}"
548 + "libnvidia-glcore.so.${PV}"
549 + "libnvidia-glsi.so.${PV}"
550 + "libnvidia-glvkspirv.so.${PV}"
551 + "libnvidia-ifr.so.${PV}"
552 + "libnvidia-opencl.so.${PV}"
553 + "libnvidia-ptxjitcompiler.so.${PV}"
554 + "libvdpau_nvidia.so.${PV}"
555 )
556 - if ! use libglvnd; then
557 - NV_GLX_LIBRARIES+=(
558 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
559 - "libGL.so.1.7.0 ${GL_ROOT}"
560 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
561 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
562 - "libGLX.so.0 ${GL_ROOT}"
563 - "libGLdispatch.so.0 ${GL_ROOT}"
564 - "libOpenGL.so.0 ${GL_ROOT}"
565 - )
566 - fi
567
568 - if use wayland && [[ ${ABI} == "amd64" ]];
569 - then
570 + if use wayland && [[ ${ABI} == "amd64" ]]; then
571 NV_GLX_LIBRARIES+=(
572 "libnvidia-egl-wayland.so.1.1.4"
573 )
574 fi
575
576 - if use kernel_FreeBSD; then
577 - NV_GLX_LIBRARIES+=(
578 - "libnvidia-tls.so.${NV_SOVER}"
579 - )
580 - fi
581 -
582 - if use kernel_linux; then
583 - NV_GLX_LIBRARIES+=(
584 - "libnvidia-ml.so.${NV_SOVER}"
585 - "libnvidia-tls.so.${NV_SOVER}"
586 - )
587 - fi
588 + NV_GLX_LIBRARIES+=(
589 + "libnvidia-ml.so.${PV}"
590 + "libnvidia-tls.so.${PV}"
591 + )
592
593 - if use kernel_linux && [[ ${ABI} == "amd64" ]];
594 - then
595 + if [[ ${ABI} == "amd64" ]]; then
596 NV_GLX_LIBRARIES+=(
597 - "libnvidia-cbl.so.${NV_SOVER}"
598 - "libnvidia-ngx.so.${NV_SOVER}"
599 - "libnvidia-rtcore.so.${NV_SOVER}"
600 - "libnvoptix.so.${NV_SOVER}"
601 + "libnvidia-cbl.so.${PV}"
602 + "libnvidia-ngx.so.${PV}"
603 + "libnvidia-rtcore.so.${PV}"
604 + "libnvoptix.so.${PV}"
605 )
606 fi
607
608 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
609 - donvidia "${nv_libdir}"/${NV_LIB}
610 + local nv_lib
611 + for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do
612 + donvidia "${nv_libdir}"/${nv_lib}
613 done
614 fi
615 }
616
617 pkg_preinst() {
618 - if use driver && use kernel_linux; then
619 + if use driver; then
620 linux-mod_pkg_preinst
621
622 local videogroup="$(getent group video | cut -d ':' -f 3)"
623 - if [ -z "${videogroup}" ]; then
624 + if [[ -z ${videogroup} ]]; then
625 eerror "Failed to determine the video group gid"
626 die "Failed to determine the video group gid"
627 else
628 sed -i \
629 -e "s:PACKAGE:${PF}:g" \
630 -e "s:VIDEOGID:${videogroup}:" \
631 - "${D}"/etc/modprobe.d/nvidia.conf || die
632 + "${ED}"/etc/modprobe.d/nvidia.conf || die
633 fi
634 fi
635
636 # Clean the dynamic libGL stuff's home to ensure
637 # we dont have stale libs floating around
638 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
639 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
640 - fi
641 + rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die
642 # Make sure we nuke the old nvidia-glx's env.d file
643 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
644 - rm -f "${ROOT}"/etc/env.d/09nvidia
645 - fi
646 + rm -f "${EROOT}"/etc/env.d/09nvidia || die
647 }
648
649 pkg_postinst() {
650 - use driver && use kernel_linux && linux-mod_pkg_postinst
651 + use driver && linux-mod_pkg_postinst
652
653 readme.gentoo_print_elog
654
655 @@ -570,9 +477,9 @@ pkg_postinst() {
656 elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
657 elog "suitable path in case the default of /tmp does not work for you"
658 elog "For more information see:"
659 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
660 + elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html"
661 }
662
663 pkg_postrm() {
664 - use driver && use kernel_linux && linux-mod_pkg_postrm
665 + use driver && linux-mod_pkg_postrm
666 }