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 |
} |