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