Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Mon, 11 Mar 2019 22:28:30
Message-Id: 1552343299.4e4563a83bb0a3c409d4a6b8fddca189ede344b8.jer@gentoo
1 commit: 4e4563a83bb0a3c409d4a6b8fddca189ede344b8
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 11 22:26:04 2019 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 11 22:28:19 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e4563a8
7
8 x11-drivers/nvidia-drivers: Call docinto after readme.gentoo_create_doc
9
10 readme.gentoo-r1.eclass claims it knows where README.gentoo is stored,
11 but it does not control docinto itself. Work around it by calling
12 docinto for the HTML content after calling readme.gentoo_create_doc.
13
14 Package-Manager: Portage-2.3.62, Repoman-2.3.12
15 Fixes: https://bugs.gentoo.org/680088
16 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
17
18 ...-r1.ebuild => nvidia-drivers-340.107-r1.ebuild} | 366 +++++++++------------
19 ...-r1.ebuild => nvidia-drivers-390.116-r2.ebuild} | 36 +-
20 ...-r1.ebuild => nvidia-drivers-410.104-r2.ebuild} | 36 +-
21 ...7-r1.ebuild => nvidia-drivers-415.27-r2.ebuild} | 36 +-
22 ...3-r1.ebuild => nvidia-drivers-418.43-r2.ebuild} | 36 +-
23 5 files changed, 221 insertions(+), 289 deletions(-)
24
25 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
26 similarity index 61%
27 copy from x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
28 copy to x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
29 index aa55b3cdd05..51360af7719 100644
30 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
31 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
32 @@ -5,20 +5,17 @@ EAPI=6
33 inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
34 portability toolchain-funcs unpacker user udev
35
36 -DESCRIPTION="NVIDIA Accelerated Graphics Driver"
37 -HOMEPAGE="http://www.nvidia.com/"
38 -
39 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
40 +NV_URI="https://us.download.nvidia.com/XFree86/"
41 +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
42 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
43 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
44 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
45 -X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
46 +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
47
48 -NV_URI="https://us.download.nvidia.com/XFree86/"
49 +DESCRIPTION="NVIDIA Accelerated Graphics Driver"
50 +HOMEPAGE="http://www.nvidia.com/"
51 SRC_URI="
52 amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
53 amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
54 - arm? ( ${NV_URI}Linux-x86-ARM/${PV}/${ARM_NV_PACKAGE}.run )
55 x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
56 x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
57 tools? (
58 @@ -29,59 +26,52 @@ SRC_URI="
59 LICENSE="GPL-2 NVIDIA-r2"
60 SLOT="0/${PV%.*}"
61 KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
62 +IUSE="acpi multilib kernel_FreeBSD kernel_linux static-libs +tools +X"
63 RESTRICT="bindist mirror"
64 EMULTILIB_PKG="true"
65
66 -IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X"
67 -REQUIRED_USE="
68 - tools? ( X )
69 - static-libs? ( tools )
70 -"
71 -
72 COMMON="
73 app-eselect/eselect-opencl
74 kernel_linux? ( >=sys-libs/glibc-2.6.1 )
75 tools? (
76 + >=x11-libs/gtk+-2.4:2
77 dev-libs/atk
78 dev-libs/glib:2
79 dev-libs/jansson
80 - gtk3? (
81 - x11-libs/gtk+:3
82 - )
83 - x11-libs/cairo
84 x11-libs/gdk-pixbuf[X]
85 - x11-libs/gtk+:2
86 x11-libs/libX11
87 x11-libs/libXext
88 - x11-libs/libXrandr
89 x11-libs/libXv
90 - x11-libs/libXxf86vm
91 x11-libs/pango[X]
92 )
93 X? (
94 >=app-eselect/eselect-opengl-1.0.9
95 - app-misc/pax-utils
96 )
97 "
98 DEPEND="
99 ${COMMON}
100 + app-arch/xz-utils
101 kernel_linux? ( virtual/linux-sources )
102 - tools? ( sys-apps/dbus )
103 "
104 RDEPEND="
105 ${COMMON}
106 acpi? ( sys-power/acpid )
107 tools? ( !media-video/nvidia-settings )
108 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
109 X? (
110 <x11-base/xorg-server-1.20.99:=
111 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
112 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
113 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
114 + >=x11-libs/libvdpau-0.3-r1
115 sys-libs/zlib[${MULTILIB_USEDEP}]
116 + multilib? (
117 + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
118 + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
119 + )
120 )
121 "
122 +
123 +REQUIRED_USE="tools? ( X )"
124 +
125 QA_PREBUILT="opt/* usr/lib*"
126 +
127 S=${WORKDIR}/
128
129 nvidia_drivers_versions_check() {
130 @@ -91,13 +81,13 @@ nvidia_drivers_versions_check() {
131 die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
132 fi
133
134 - if use kernel_linux && kernel_is ge 5 1; then
135 + if use kernel_linux && kernel_is ge 4 18; then
136 ewarn "Gentoo supports kernels which are supported by NVIDIA"
137 ewarn "which are limited to the following kernels:"
138 - ewarn "<sys-kernel/gentoo-sources-5.1"
139 - ewarn "<sys-kernel/vanilla-sources-5.1"
140 + ewarn "<sys-kernel/gentoo-sources-4.18"
141 + ewarn "<sys-kernel/vanilla-sources-4.18"
142 ewarn ""
143 - ewarn "You are free to utilize epatch_user to provide whatever"
144 + ewarn "You are free to utilize eapply_user to provide whatever"
145 ewarn "support you feel is appropriate, but will not receive"
146 ewarn "support as a result of those changes."
147 ewarn ""
148 @@ -130,10 +120,8 @@ pkg_setup() {
149 export DISTCC_DISABLE=1
150 export CCACHE_DISABLE=1
151
152 - if use driver && use kernel_linux; then
153 + if use kernel_linux; then
154 MODULE_NAMES="nvidia(video:${S}/kernel)"
155 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
156 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
157
158 # This needs to run after MODULE_NAMES (so that the eclass checks
159 # whether the kernel supports loadable modules) but before BUILD_PARAMS
160 @@ -141,7 +129,7 @@ pkg_setup() {
161 linux-mod_pkg_setup
162
163 BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
164 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
165 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
166
167 # linux-mod_src_compile calls set_arch_to_kernel, which
168 # sets the ARCH to x86 but NVIDIA's wrapping Makefile
169 @@ -150,10 +138,6 @@ pkg_setup() {
170 BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
171 fi
172
173 - if use kernel_linux && kernel_is lt 2 6 9; then
174 - eerror "You must build this against 2.6.9 or higher kernels."
175 - fi
176 -
177 # set variables to where files are in the package structure
178 if use kernel_FreeBSD; then
179 use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
180 @@ -177,25 +161,24 @@ pkg_setup() {
181 }
182
183 src_prepare() {
184 + # Please add a brief description for every added patch
185 +
186 + if use kernel_linux; then
187 + if kernel_is lt 2 6 9 ; then
188 + eerror "You must build this against 2.6.9 or higher kernels."
189 + fi
190 +
191 + # If greater than 2.6.5 use M= instead of SUBDIR=
192 +# convert_to_m "${NV_SRC}"/Makefile.kbuild
193 + fi
194 +
195 local man_file
196 for man_file in "${NV_MAN}"/*1.gz; do
197 gunzip $man_file || die
198 done
199
200 - if use tools; then
201 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
202 - sed -i \
203 - -e "s:@PV@:${PV}:g" \
204 - "${WORKDIR}"/nvidia-settings-linker.patch || die
205 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
206 - fi
207 -
208 - default
209 -
210 - if ! [ -f nvidia_icd.json ]; then
211 - cp nvidia_icd.json.template nvidia_icd.json || die
212 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
213 - fi
214 + # Allow user patches so they can support RC kernels and whatever else
215 + eapply_user
216 }
217
218 src_compile() {
219 @@ -207,78 +190,74 @@ src_compile() {
220 if use kernel_FreeBSD; then
221 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
222 LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
223 - elif use driver && use kernel_linux; then
224 - BUILD_TARGETS=module linux-mod_src_compile \
225 - KERNELRELEASE="${KV_FULL}" \
226 - src="${KERNEL_DIR}"
227 + elif use kernel_linux; then
228 + BUILD_TARGETS=module linux-mod_src_compile
229 fi
230
231 if use tools; then
232 - emake -C "${S}"/nvidia-settings-${PV}/src \
233 + emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
234 + emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
235 AR="$(tc-getAR)" \
236 CC="$(tc-getCC)" \
237 - DO_STRIP= \
238 - LD="$(tc-getCC)" \
239 - LIBDIR="$(get_libdir)" \
240 - NVLD="$(tc-getLD)" \
241 - NV_VERBOSE=1 \
242 RANLIB="$(tc-getRANLIB)" \
243 - build-xnvctrl
244 -
245 + libXNVCtrl.a
246 emake -C "${S}"/nvidia-settings-${PV}/src \
247 + AR="$(tc-getAR)" \
248 CC="$(tc-getCC)" \
249 - DO_STRIP= \
250 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
251 LD="$(tc-getCC)" \
252 LIBDIR="$(get_libdir)" \
253 - NVLD="$(tc-getLD)" \
254 NVML_ENABLED=0 \
255 NV_USE_BUNDLED_LIBJANSSON=0 \
256 - NV_VERBOSE=1
257 + NV_VERBOSE=1 \
258 + RANLIB="$(tc-getRANLIB)" \
259 + STRIP_CMD=true
260 fi
261 }
262
263 # Install nvidia library:
264 # the first parameter is the library to install
265 # the second parameter is the provided soversion
266 -# the third parameter is the target directory if it is not /usr/lib
267 +# the third parameter is the target directory if its not /usr/lib
268 donvidia() {
269 - # Full path to library
270 - nv_LIB="${1}"
271 + # Full path to library minus SOVER
272 + MY_LIB="$1"
273
274 # SOVER to use
275 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
276 + MY_SOVER="$2"
277
278 # Where to install
279 - nv_DEST="${2}"
280 -
281 - # Get just the library name
282 - nv_LIBNAME=$(basename "${nv_LIB}")
283 + MY_DEST="$3"
284
285 - if [[ "${nv_DEST}" ]]; then
286 - exeinto ${nv_DEST}
287 - action="doexe"
288 - else
289 - nv_DEST="/usr/$(get_libdir)"
290 + if [[ -z "${MY_DEST}" ]]; then
291 + MY_DEST="/usr/$(get_libdir)"
292 action="dolib.so"
293 + else
294 + exeinto ${MY_DEST}
295 + action="doexe"
296 fi
297
298 - # Install the library
299 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
300 + # Get just the library name
301 + libname=$(basename $1)
302 +
303 + # Install the library with the correct SOVER
304 + ${action} ${MY_LIB}.${MY_SOVER} || \
305 + die "failed to install ${libname}"
306
307 - # If the library has a SONAME and SONAME does not match the library name,
308 - # then we need to create a symlink
309 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
310 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
311 - || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
312 + # If SOVER wasn't 1, then we need to create a .1 symlink
313 + if [[ "${MY_SOVER}" != "1" ]]; then
314 + dosym ${libname}.${MY_SOVER} \
315 + ${MY_DEST}/${libname}.1 || \
316 + die "failed to create ${libname} symlink"
317 fi
318
319 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
320 - || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
321 + # Always create the symlink from the raw lib to the .1
322 + dosym ${libname}.1 \
323 + ${MY_DEST}/${libname} || \
324 + die "failed to create ${libname} symlink"
325 }
326
327 src_install() {
328 - if use driver && use kernel_linux; then
329 + if use kernel_linux; then
330 linux-mod_src_install
331
332 # Add the aliases
333 @@ -286,14 +265,6 @@ src_install() {
334 # pkg_preinst, see bug #491414
335 insinto /etc/modprobe.d
336 newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
337 - if use uvm; then
338 - doins "${FILESDIR}"/nvidia-rmmod.conf
339 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
340 - else
341 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
342 - > "${T}"/nvidia-rmmod.conf || die
343 - doins "${T}"/nvidia-rmmod.conf
344 - fi
345
346 # Ensures that our device nodes are created when not using X
347 exeinto "$(get_udevdir)"
348 @@ -310,84 +281,49 @@ src_install() {
349 fi
350
351 # NVIDIA kernel <-> userspace driver config lib
352 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
353 + donvidia "${NV_OBJ}"/libnvidia-cfg.so ${NV_SOVER}
354
355 # NVIDIA framebuffer capture library
356 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
357 + donvidia "${NV_OBJ}"/libnvidia-fbc.so ${NV_SOVER}
358
359 # NVIDIA video encode/decode <-> CUDA
360 if use kernel_linux; then
361 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
362 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
363 + donvidia "${NV_OBJ}"/libnvcuvid.so ${NV_SOVER}
364 + donvidia "${NV_OBJ}"/libnvidia-encode.so ${NV_SOVER}
365 fi
366
367 if use X; then
368 # Xorg DDX driver
369 insinto /usr/$(get_libdir)/xorg/modules/drivers
370 - doins ${NV_X11}/nvidia_drv.so
371 + doins "${NV_X11}"/nvidia_drv.so
372
373 # Xorg GLX driver
374 - donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
375 + donvidia "${NV_X11}"/libglx.so ${NV_SOVER} \
376 /usr/$(get_libdir)/opengl/nvidia/extensions
377 -
378 - # Xorg nvidia.conf
379 - if has_version '>=x11-base/xorg-server-1.16'; then
380 - insinto /usr/share/X11/xorg.conf.d
381 - newins {,50-}nvidia-drm-outputclass.conf
382 - fi
383 -
384 - insinto /usr/share/glvnd/egl_vendor.d
385 - doins ${NV_X11}/10_nvidia.json
386 - fi
387 -
388 - if use wayland; then
389 - insinto /usr/share/egl/egl_external_platform.d
390 - doins ${NV_X11}/10_nvidia_wayland.json
391 fi
392
393 # OpenCL ICD for NVIDIA
394 if use kernel_linux; then
395 insinto /etc/OpenCL/vendors
396 - doins ${NV_OBJ}/nvidia.icd
397 - fi
398 -
399 - # Documentation
400 - if use kernel_FreeBSD; then
401 - dodoc "${NV_DOC}/README"
402 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
403 - use tools && doman "${NV_MAN}"/nvidia-settings.1
404 - else
405 - # Docs
406 - newdoc "${NV_DOC}/README.txt" README
407 - dodoc "${NV_DOC}/NVIDIA_Changelog"
408 - doman "${NV_MAN}"/nvidia-smi.1
409 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
410 - use tools && doman "${NV_MAN}"/nvidia-settings.1
411 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
412 + doins "${NV_OBJ}"/nvidia.icd
413 fi
414
415 - docinto html
416 - dodoc -r ${NV_DOC}/html/*
417 -
418 # Helper Apps
419 exeinto /opt/bin/
420
421 if use X; then
422 - doexe ${NV_OBJ}/nvidia-xconfig
423 -
424 - insinto /etc/vulkan/icd.d
425 - doins nvidia_icd.json
426 + doexe "${NV_OBJ}"/nvidia-xconfig
427 fi
428
429 - if use kernel_linux; then
430 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
431 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
432 - doexe ${NV_OBJ}/nvidia-debugdump
433 - doexe ${NV_OBJ}/nvidia-persistenced
434 - doexe ${NV_OBJ}/nvidia-smi
435 + if use kernel_linux ; then
436 + doexe "${NV_OBJ}"/nvidia-cuda-mps-control
437 + doexe "${NV_OBJ}"/nvidia-cuda-mps-server
438 + doexe "${NV_OBJ}"/nvidia-debugdump
439 + doexe "${NV_OBJ}"/nvidia-persistenced
440 + doexe "${NV_OBJ}"/nvidia-smi
441
442 # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
443 - doexe ${NV_OBJ}/nvidia-modprobe
444 + doexe "${NV_OBJ}"/nvidia-modprobe
445 fowners root:video /opt/bin/nvidia-modprobe
446 fperms 4710 /opt/bin/nvidia-modprobe
447 dosym /{opt,usr}/bin/nvidia-modprobe
448 @@ -403,12 +339,9 @@ src_install() {
449 if use tools; then
450 emake -C "${S}"/nvidia-settings-${PV}/src/ \
451 DESTDIR="${D}" \
452 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
453 LIBDIR="${D}/usr/$(get_libdir)" \
454 - NV_USE_BUNDLED_LIBJANSSON=0 \
455 - NV_VERBOSE=1 \
456 PREFIX=/usr \
457 - DO_STRIP= \
458 + NV_USE_BUNDLED_LIBJANSSON=0 \
459 install
460
461 if use static-libs; then
462 @@ -427,19 +360,22 @@ src_install() {
463
464 # There is no icon in the FreeBSD tarball.
465 use kernel_FreeBSD || \
466 - doicon ${NV_OBJ}/nvidia-settings.png
467 + doicon "${NV_OBJ}"/nvidia-settings.png
468
469 domenu "${FILESDIR}"/nvidia-settings.desktop
470
471 exeinto /etc/X11/xinit/xinitrc.d
472 newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
473 +
474 fi
475
476 - dobin ${NV_OBJ}/nvidia-bug-report.sh
477 + dobin "${NV_OBJ}"/nvidia-bug-report.sh
478 +
479 + #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
480
481 - if has_multilib_profile && use multilib; then
482 + if has_multilib_profile && use multilib ; then
483 local OABI=${ABI}
484 - for ABI in $(get_install_abis); do
485 + for ABI in $(get_install_abis) ; do
486 src_install-libs
487 done
488 ABI=${OABI}
489 @@ -450,7 +386,25 @@ src_install() {
490
491 is_final_abi || die "failed to iterate through all ABIs"
492
493 + # Documentation
494 + if use kernel_FreeBSD; then
495 + dodoc "${NV_DOC}"/README
496 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
497 + use tools && doman "${NV_MAN}"/nvidia-settings.1
498 + else
499 + # Docs
500 + newdoc "${NV_DOC}"/README.txt README
501 + dodoc "${NV_DOC}"/NVIDIA_Changelog
502 + doman "${NV_MAN}"/nvidia-smi.1
503 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
504 + use tools && doman "${NV_MAN}"/nvidia-settings.1
505 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1
506 + fi
507 +
508 readme.gentoo_create_doc
509 +
510 + docinto html
511 + dodoc -r "${NV_DOC}"/html/*
512 }
513
514 src_install-libs() {
515 @@ -459,74 +413,52 @@ src_install-libs() {
516 local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
517 local nv_libdir="${NV_OBJ}"
518
519 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
520 + if use kernel_linux && has_multilib_profile && \
521 + [[ ${ABI} == "x86" ]] ; then
522 nv_libdir="${NV_OBJ}"/32
523 fi
524
525 if use X; then
526 - NV_GLX_LIBRARIES=(
527 - "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
528 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
529 - "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
530 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
531 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
532 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
533 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
534 - "libGLX.so.0 ${GL_ROOT}"
535 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
536 - "libGLdispatch.so.0 ${GL_ROOT}"
537 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
538 - "libOpenGL.so.0 ${GL_ROOT}"
539 - "libcuda.so.${NV_SOVER}"
540 - "libnvcuvid.so.${NV_SOVER}"
541 - "libnvidia-compiler.so.${NV_SOVER}"
542 - "libnvidia-eglcore.so.${NV_SOVER}"
543 - "libnvidia-encode.so.${NV_SOVER}"
544 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
545 - "libnvidia-fbc.so.${NV_SOVER}"
546 - "libnvidia-glcore.so.${NV_SOVER}"
547 - "libnvidia-glsi.so.${NV_SOVER}"
548 - "libnvidia-ifr.so.${NV_SOVER}"
549 - "libnvidia-opencl.so.${NV_SOVER}"
550 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
551 - "libvdpau_nvidia.so.${NV_SOVER}"
552 - )
553 -
554 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
555 - then
556 - NV_GLX_LIBRARIES+=(
557 - "libnvidia-egl-wayland.so.1.0.2"
558 - )
559 + # The GLX libraries
560 + donvidia "${nv_libdir}"/libEGL.so ${NV_SOVER} ${GL_ROOT}
561 + donvidia "${nv_libdir}"/libGL.so ${NV_SOVER} ${GL_ROOT}
562 + donvidia "${nv_libdir}"/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
563 + donvidia "${nv_libdir}"/libnvidia-eglcore.so ${NV_SOVER}
564 + donvidia "${nv_libdir}"/libnvidia-glcore.so ${NV_SOVER}
565 + donvidia "${nv_libdir}"/libnvidia-glsi.so ${NV_SOVER}
566 + donvidia "${nv_libdir}"/libnvidia-ifr.so ${NV_SOVER}
567 + if use kernel_FreeBSD; then
568 + donvidia "${nv_libdir}"/libnvidia-tls.so ${NV_SOVER}
569 + else
570 + donvidia "${nv_libdir}"/tls/libnvidia-tls.so ${NV_SOVER}
571 fi
572
573 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
574 - then
575 - NV_GLX_LIBRARIES+=(
576 - "libnvidia-wfb.so.${NV_SOVER}"
577 - )
578 - fi
579 + # VDPAU
580 + donvidia "${nv_libdir}"/libvdpau_nvidia.so ${NV_SOVER}
581
582 - if use kernel_FreeBSD; then
583 - NV_GLX_LIBRARIES+=(
584 - "libnvidia-tls.so.${NV_SOVER}"
585 - )
586 - fi
587 + # GLES v2 libraries
588 + insinto ${GL_ROOT}
589 + doexe "${nv_libdir}"/libGLESv2.so.${PV}
590 + dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
591 + dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
592 + fi
593
594 - if use kernel_linux; then
595 - NV_GLX_LIBRARIES+=(
596 - "libnvidia-ml.so.${NV_SOVER}"
597 - "tls/libnvidia-tls.so.${NV_SOVER}"
598 - )
599 - fi
600 + # NVIDIA monitoring library
601 + if use kernel_linux ; then
602 + donvidia "${nv_libdir}"/libnvidia-ml.so ${NV_SOVER}
603 + fi
604
605 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
606 - donvidia "${nv_libdir}"/${NV_LIB}
607 - done
608 + # CUDA & OpenCL
609 + if use kernel_linux; then
610 + donvidia "${nv_libdir}"/libcuda.so ${NV_SOVER}
611 + donvidia "${nv_libdir}"/libnvidia-compiler.so ${NV_SOVER}
612 + donvidia "${nv_libdir}"/libOpenCL.so 1.0.0 ${CL_ROOT}
613 + donvidia "${nv_libdir}"/libnvidia-opencl.so ${NV_SOVER}
614 fi
615 }
616
617 pkg_preinst() {
618 - if use driver && use kernel_linux; then
619 + if use kernel_linux; then
620 linux-mod_pkg_preinst
621
622 local videogroup="$(egetent group video | cut -d ':' -f 3)"
623 @@ -543,17 +475,17 @@ pkg_preinst() {
624
625 # Clean the dynamic libGL stuff's home to ensure
626 # we dont have stale libs floating around
627 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
628 + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
629 rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
630 fi
631 # Make sure we nuke the old nvidia-glx's env.d file
632 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
633 + if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
634 rm -f "${ROOT}"/etc/env.d/09nvidia
635 fi
636 }
637
638 pkg_postinst() {
639 - use driver && use kernel_linux && linux-mod_pkg_postinst
640 + use kernel_linux && linux-mod_pkg_postinst
641
642 # Switch to the nvidia implementation
643 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
644 @@ -584,6 +516,6 @@ pkg_prerm() {
645 }
646
647 pkg_postrm() {
648 - use driver && use kernel_linux && linux-mod_pkg_postrm
649 + use kernel_linux && linux-mod_pkg_postrm
650 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
651 }
652
653 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
654 similarity index 100%
655 rename from x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
656 rename to x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
657 index aa55b3cdd05..b14bd5d1f66 100644
658 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
659 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
660 @@ -351,24 +351,6 @@ src_install() {
661 doins ${NV_OBJ}/nvidia.icd
662 fi
663
664 - # Documentation
665 - if use kernel_FreeBSD; then
666 - dodoc "${NV_DOC}/README"
667 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
668 - use tools && doman "${NV_MAN}"/nvidia-settings.1
669 - else
670 - # Docs
671 - newdoc "${NV_DOC}/README.txt" README
672 - dodoc "${NV_DOC}/NVIDIA_Changelog"
673 - doman "${NV_MAN}"/nvidia-smi.1
674 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
675 - use tools && doman "${NV_MAN}"/nvidia-settings.1
676 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
677 - fi
678 -
679 - docinto html
680 - dodoc -r ${NV_DOC}/html/*
681 -
682 # Helper Apps
683 exeinto /opt/bin/
684
685 @@ -450,7 +432,25 @@ src_install() {
686
687 is_final_abi || die "failed to iterate through all ABIs"
688
689 + # Documentation
690 + if use kernel_FreeBSD; then
691 + dodoc "${NV_DOC}/README"
692 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
693 + use tools && doman "${NV_MAN}"/nvidia-settings.1
694 + else
695 + # Docs
696 + newdoc "${NV_DOC}/README.txt" README
697 + dodoc "${NV_DOC}/NVIDIA_Changelog"
698 + doman "${NV_MAN}"/nvidia-smi.1
699 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
700 + use tools && doman "${NV_MAN}"/nvidia-settings.1
701 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1
702 + fi
703 +
704 readme.gentoo_create_doc
705 +
706 + docinto html
707 + dodoc -r ${NV_DOC}/html/*
708 }
709
710 src_install-libs() {
711
712 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
713 similarity index 100%
714 rename from x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild
715 rename to x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
716 index 4a4029ee9d4..0451caf0436 100644
717 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild
718 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
719 @@ -344,24 +344,6 @@ src_install() {
720 doins ${NV_OBJ}/nvidia.icd
721 fi
722
723 - # Documentation
724 - if use kernel_FreeBSD; then
725 - dodoc "${NV_DOC}/README"
726 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
727 - use tools && doman "${NV_MAN}"/nvidia-settings.1
728 - else
729 - # Docs
730 - newdoc "${NV_DOC}/README.txt" README
731 - dodoc "${NV_DOC}/NVIDIA_Changelog"
732 - doman "${NV_MAN}"/nvidia-smi.1
733 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
734 - use tools && doman "${NV_MAN}"/nvidia-settings.1
735 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
736 - fi
737 -
738 - docinto html
739 - dodoc -r ${NV_DOC}/html/*
740 -
741 # Helper Apps
742 exeinto /opt/bin/
743
744 @@ -443,7 +425,25 @@ src_install() {
745
746 is_final_abi || die "failed to iterate through all ABIs"
747
748 + # Documentation
749 + if use kernel_FreeBSD; then
750 + dodoc "${NV_DOC}/README"
751 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
752 + use tools && doman "${NV_MAN}"/nvidia-settings.1
753 + else
754 + # Docs
755 + newdoc "${NV_DOC}/README.txt" README
756 + dodoc "${NV_DOC}/NVIDIA_Changelog"
757 + doman "${NV_MAN}"/nvidia-smi.1
758 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
759 + use tools && doman "${NV_MAN}"/nvidia-settings.1
760 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1
761 + fi
762 +
763 readme.gentoo_create_doc
764 +
765 + docinto html
766 + dodoc -r ${NV_DOC}/html/*
767 }
768
769 src_install-libs() {
770
771 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
772 similarity index 100%
773 rename from x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild
774 rename to x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
775 index 3e96bb07188..f00c9506c65 100644
776 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild
777 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
778 @@ -344,24 +344,6 @@ src_install() {
779 doins ${NV_OBJ}/nvidia.icd
780 fi
781
782 - # Documentation
783 - if use kernel_FreeBSD; then
784 - dodoc "${NV_DOC}/README"
785 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
786 - use tools && doman "${NV_MAN}"/nvidia-settings.1
787 - else
788 - # Docs
789 - newdoc "${NV_DOC}/README.txt" README
790 - dodoc "${NV_DOC}/NVIDIA_Changelog"
791 - doman "${NV_MAN}"/nvidia-smi.1
792 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
793 - use tools && doman "${NV_MAN}"/nvidia-settings.1
794 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
795 - fi
796 -
797 - docinto html
798 - dodoc -r ${NV_DOC}/html/*
799 -
800 # Helper Apps
801 exeinto /opt/bin/
802
803 @@ -443,7 +425,25 @@ src_install() {
804
805 is_final_abi || die "failed to iterate through all ABIs"
806
807 + # Documentation
808 + if use kernel_FreeBSD; then
809 + dodoc "${NV_DOC}/README"
810 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
811 + use tools && doman "${NV_MAN}"/nvidia-settings.1
812 + else
813 + # Docs
814 + newdoc "${NV_DOC}/README.txt" README
815 + dodoc "${NV_DOC}/NVIDIA_Changelog"
816 + doman "${NV_MAN}"/nvidia-smi.1
817 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
818 + use tools && doman "${NV_MAN}"/nvidia-settings.1
819 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1
820 + fi
821 +
822 readme.gentoo_create_doc
823 +
824 + docinto html
825 + dodoc -r ${NV_DOC}/html/*
826 }
827
828 src_install-libs() {
829
830 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
831 similarity index 100%
832 rename from x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild
833 rename to x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
834 index 422f58398a8..069ac0fbe70 100644
835 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild
836 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
837 @@ -344,24 +344,6 @@ src_install() {
838 doins ${NV_OBJ}/nvidia.icd
839 fi
840
841 - # Documentation
842 - if use kernel_FreeBSD; then
843 - dodoc "${NV_DOC}/README"
844 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
845 - use tools && doman "${NV_MAN}"/nvidia-settings.1
846 - else
847 - # Docs
848 - newdoc "${NV_DOC}/README.txt" README
849 - dodoc "${NV_DOC}/NVIDIA_Changelog"
850 - doman "${NV_MAN}"/nvidia-smi.1
851 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
852 - use tools && doman "${NV_MAN}"/nvidia-settings.1
853 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
854 - fi
855 -
856 - docinto html
857 - dodoc -r ${NV_DOC}/html/*
858 -
859 # Helper Apps
860 exeinto /opt/bin/
861
862 @@ -443,7 +425,25 @@ src_install() {
863
864 is_final_abi || die "failed to iterate through all ABIs"
865
866 + # Documentation
867 + if use kernel_FreeBSD; then
868 + dodoc "${NV_DOC}/README"
869 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
870 + use tools && doman "${NV_MAN}"/nvidia-settings.1
871 + else
872 + # Docs
873 + newdoc "${NV_DOC}/README.txt" README
874 + dodoc "${NV_DOC}/NVIDIA_Changelog"
875 + doman "${NV_MAN}"/nvidia-smi.1
876 + use X && doman "${NV_MAN}"/nvidia-xconfig.1
877 + use tools && doman "${NV_MAN}"/nvidia-settings.1
878 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1
879 + fi
880 +
881 readme.gentoo_create_doc
882 +
883 + docinto html
884 + dodoc -r ${NV_DOC}/html/*
885 }
886
887 src_install-libs() {