Gentoo Archives: gentoo-commits

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