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