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