Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Tue, 15 Jan 2019 17:42:30
Message-Id: 1547574144.b4281c060614d6d5168a9d1132e5bb8d7178518e.jer@gentoo
1 commit: b4281c060614d6d5168a9d1132e5bb8d7178518e
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 15 17:42:13 2019 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 15 17:42:24 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4281c06
7
8 x11-drivers/nvidia-drivers: Old
9
10 Package-Manager: Portage-2.3.56, Repoman-2.3.12
11 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
12
13 x11-drivers/nvidia-drivers/Manifest | 3 -
14 .../nvidia-drivers/nvidia-drivers-410.78.ebuild | 592 ---------------------
15 2 files changed, 595 deletions(-)
16
17 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
18 index ec2365e5dd6..591b18640db 100644
19 --- a/x11-drivers/nvidia-drivers/Manifest
20 +++ b/x11-drivers/nvidia-drivers/Manifest
21 @@ -15,7 +15,6 @@ DIST NVIDIA-FreeBSD-x86_64-384.130.tar.gz 62901704 BLAKE2B 50be9af398f88caa012a7
22 DIST NVIDIA-FreeBSD-x86_64-387.34.tar.gz 63387097 BLAKE2B 53689ba098b4a4de08dca056618ea533c92d17137ec954dea0ae71e1b2c825c021979871e4ff82c820be0a78d3c365f282b760940ebe2caa1ca5bfd2453e178e SHA512 0a905ee72ee6f4e9c941e5dd1f7cddf96bfb20c6da32fd05599258e1bb154f68463d775ba8ff4f67f0d4b8e637e9ed9624fc9a4873a1f2621dc86732f0d6d70d
23 DIST NVIDIA-FreeBSD-x86_64-390.87.tar.gz 63648591 BLAKE2B 88aa38b11b64b2ad91f723ec84a2adb6829571136aabb1441a9119418395d5f143736487902f0c60b49ebc1284f3100fbd089e4c941cdd3519ab8511cc1d3261 SHA512 0865fef8b8a3be8f6d9fc81908b162fd6062ba0ea81fd00200e7b2a1e3149ef62408b46bc4ccb7a77f1ac943557a22b13a10cfdde084f0b76cf2b23432e57540
24 DIST NVIDIA-FreeBSD-x86_64-396.54.tar.gz 60938322 BLAKE2B a23488b625a15703b0c40bc6871314b05d117d489f64a6f7c70ac3c934b02028b9623be10f0369c98c7d3b5e018e1eb6f1d2cde9d9e1b90be5065f06f6a646dd SHA512 52df85364bfd45a23394078855859ce85de996f7990bb96ba63eb33e516c3cf8e72c4391af9817213f735286f2cf6444bc8ed00312365f12ae17373cfbdc3fc7
25 -DIST NVIDIA-FreeBSD-x86_64-410.78.tar.gz 61935486 BLAKE2B 3bc85aacd0775b600c37cd285de49fe3d35bba04fd8d3db1ec75f1fdfbd93a9d5b3d34b67e6fd82b5056bff875ccbc44cd2f06fed9b66703b26057c85f750867 SHA512 30488f9e5e6a377a478c49f13d648fba77ac910f43c3e561ce7715380480ac8b3860fecfb5b745beefadb6abe0b4c4135684c468a69c5b71b56cd463698b931a
26 DIST NVIDIA-FreeBSD-x86_64-410.93.tar.gz 61977979 BLAKE2B a662fa13866cfb36ef61a0b9dd459519e26ea93a6ad6ae7bf34075fae8e7622a91707d88cec8de0660513cb959c3596e8b6169357891c83e847870ecffd72928 SHA512 ecdd5270f9d5f32117d83cd3e3cf0376f0b37c748fe164e702c4230d225c6b28bdbbea4334555b6928d05f1a7cfaf87caf20dd2e7e06e1259c526f6bd50e4d0e
27 DIST NVIDIA-FreeBSD-x86_64-415.25.tar.gz 62373961 BLAKE2B 4c1ce36ad31933efdb7b9b3a5a530439cadb50c6ee29c0689a521308fbc213266a761765998c44643fd8511159ae96387a3a278accc4a0d00322b06b9b327232 SHA512 792f0cfafb1d6b2137db62c3a5a7e76217d89c3b18cee92ec8317d6c583fdc9676aa46efd55bc795aeaaf1532501f7b40d1d9609d782ffe63e55bb37d0d6db14
28 DIST NVIDIA-FreeBSD-x86_64-415.27.tar.gz 62389955 BLAKE2B 39ac5970ef1a6ffbb03abe8b758a6f5d7eaca787231845fa4b4bff5f26aa770fb7c695bbd5585d919c934c65b9ed0cfe42f9674bcaabd796c9bd8b89cea87ee6 SHA512 857d1523bad2fca21c75b45c29066be0f530afa8ca124806bcaa36509ac5135df1c4037e6b09e5718c701f085b3608925e2b1fea45d0681e69a99ef709c307d0
29 @@ -42,7 +41,6 @@ DIST NVIDIA-Linux-x86_64-384.130.run 82260837 BLAKE2B 55b6f3627680c881821f5d20f0
30 DIST NVIDIA-Linux-x86_64-387.34.run 82784271 BLAKE2B b7140d5d6a693892df50b3ad2e20387673dec6b5ac609cc0300bdc4b4a93ca94849255699126e4d55e67f10e488bfe6008e987197ea239b1a1b643b4ae5c7808 SHA512 6742768f1258a028c9ba56ad1d72f27d7eea4b6bfd324ba29c7f057ab5819816bd728aeaf2a8058031dadcd4c51bc6d08f0e0e0e26c68ed57955e90d68ac5a4b
31 DIST NVIDIA-Linux-x86_64-390.87.run 82690871 BLAKE2B b43a45a7d48160a72185417360a4ff4238922f6d77c7b58c0562f0e01c8aa33e89057e8a5d354e8d3c8e6fa86acf8908a6c2eab81e06158a92908eec18a9b02e SHA512 f4883744f5e07150677918669eed03c7b87774f752112aabd52d903a09ae16351b34105075da2ff0fcb7a847cf66ec17e9797826859fcaecc44fdcd464a61805
32 DIST NVIDIA-Linux-x86_64-396.54.run 86946680 BLAKE2B 9b3ab39c9d09c663238d0fac6346c24feea6ecc44b0ecaf3de871522697685c1c474ec4cc83f3bab0a2bcfecc7c77acea0e6bfee6e8ca8e6883bd338fd6da8a2 SHA512 17139abe99d4f32ec87379ee57af2cc0fec7d24605b2be7e3cd6609d9fcdf871e3c1cb7414b3544e14eb32d2213fec7ac45b3261f27c8d6565d510ccb14a1247
33 -DIST NVIDIA-Linux-x86_64-410.78.run 107944209 BLAKE2B f493efb4b61716ae1f7ac760d57b330e0160e8cd7a90e80dd00744c2277d0c8024f6704eac3a9f95ff13d66f362bf9eecdc8176edb429ea7e45c4622b52beca7 SHA512 0bd7ed61dcfd4d7634ba450b106d7648fc274c256e7e4c4e51e544bd7779d68ffa08cba709ace5333679eeea1dbe4afa0c267361887eaa784d6f1369b717677d
34 DIST NVIDIA-Linux-x86_64-410.93.run 107257681 BLAKE2B 56e9b6a17ab4d2fe2f18d90b4e209fe048c53dc43846ee9c8bd0960999a06ef9d9b6ba7e4c242f77cc35cfc5b9a0e2ae24aa5f07f68cb7662bd5010de41a9b36 SHA512 1132884210e447d20768c4ae84ff572c9f6886fb9a082da4d229a03c13932a5c6ccc518cad3311a9302b6a0d9e9675e3a53199e7183e07c81282d46883d26105
35 DIST NVIDIA-Linux-x86_64-415.25.run 108599932 BLAKE2B 958a345f03157ebd8f8a84da91af78143ada75be4bf1d5abbbec9bc8b0ca11549891efb2f78c3ae89ed86fa94a4bf179834d1b229b2dc7d3587a138235a8ce7f SHA512 d289a37344916f5d17425f17d0530a7838b264c49866a0148665c9b87dcb7c23e868abae866a2568abac425701149d9075da540dd0f45f3d18f67b57102c0857
36 DIST NVIDIA-Linux-x86_64-415.27.run 108399659 BLAKE2B 05fb81a4ab8626d0170a30b70ed114c639ba7f0e5ac260d2f38cb5042a4d6052e40ada51cf2feff6bae0f394781d77cb70014f390873a715b7d9495b86918bf1 SHA512 5919333136042a227ff36c850d0c57898fb428a77d88633d205a269db4b844356a87f5b1e5c3042f40feaf083d4f82d32df5366820375b601f9d69d98cada0b6
37 @@ -55,7 +53,6 @@ DIST nvidia-settings-384.130.tar.bz2 1633217 BLAKE2B ffc1381e680e94aee95752074c3
38 DIST nvidia-settings-387.34.tar.bz2 1080507 BLAKE2B 4eeae3ad4b489f574832e967f0c72198d2b5be0139e36981b701e5ca2cde17119d584677e705243f1be6f920669b921f8e4b54968e2d56e98142aec81383dff5 SHA512 a7a1a2db170b803b769a7307c8507289b763f6cbcecc746edf988491fcc28d7ef1eb76574d6c1f24283e6aebeb56fc8a99d5302a81422c3384df0c8979f006d6
39 DIST nvidia-settings-390.87.tar.bz2 1109274 BLAKE2B 20eb809ceeade932e89592ac91071e6d3311f4a075812225d68342806b7ab1f9f8ed0399ea7a47241b7974311794852fd932fd8e824065589de6c124a3c81ef3 SHA512 cafdf2bfefac187409dfcffd593ff23eaba5ab7ab8dd85a9f14a4b6a47ffb3649af770bd2615887af9d30de3ef8fedaad7afc2ebe9f60a8ba7355a9004702959
40 DIST nvidia-settings-396.54.tar.bz2 1116371 BLAKE2B 114b88f393b0909c8d84a56a280854e258d0e7e7ce800ee58547ef68b4989f22a3bbb380795472b8222493a988dc9308fc20ef03c81589448b518a12285cf204 SHA512 23dc3c61bef71200b3e8185940dd52a50dae7ca7f2b8a68fa96eaa937aabc87ded5d5f73081af51d1e7af2b78b0ec10ab80d28dadbcf10a046c32ec14db1d83c
41 -DIST nvidia-settings-410.78.tar.bz2 1115872 BLAKE2B 68471e3c3700c68c1082bd7ca349a791a8b7c9524f71882d78791a11ac4ecaa28d40cdd32baea20354732b4ee8e47767ae8c12d534f95a96494da5787869b4c1 SHA512 28aae1cbec6004d4f532aac2a728d66384440525c3f35f1bf5b7221c4722ccd02be119d44b261204c0f0c116d5455eca7555d10cab3f6d4184a39255750ccf97
42 DIST nvidia-settings-410.93.tar.bz2 1115704 BLAKE2B 1119181feb2704711593c19a43dce5feb58778d0251cb2dcb8647de7bfb1abe3a7f374bddd62e4c983b07a207bca7c1d99a7ac51cba3ae41f78fb97c4d1e9666 SHA512 4e5a5babae382dbe9f6899e51d3b1081fd7123f9ba5e147f7d5cc1899904892ea8d953983e43643ea4355d06348db40005755a02c7c0ff6ba104eac4a9d450f2
43 DIST nvidia-settings-415.25.tar.bz2 1121689 BLAKE2B acd9dd12b4d9a3d76e08d1498fe2373327308d0764791c7e14c6471cf98e79f635a1073dfacdaa4fa60dd148c15803a18061b185cdea24676d851b3a1b695184 SHA512 8646e4eb8d491cbd20205766833fa9f0629a2567797fbb7ca085e07946f4698645cc134615bc20a42090d4f4fe826df48ab4be717b227ee59c17941d185e0b0b
44 DIST nvidia-settings-415.27.tar.bz2 1128013 BLAKE2B 36513252ff3d5f2036c80250e012d79bebfc14daff56fdaabb032856f5f78ce77cf4ce32d6eaee5fe4c1a18db63d5c69d6848517f025c711f133e28b3e509396 SHA512 5ac3b673c41194a1952ec10cd3c961aefd281bb044ecae5c9d11cb55d4555fed44e6056b5a2e97b5b87687743cd7f702f33ce7e0f841f04c8175d63693a24594
45
46 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-410.78.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-410.78.ebuild
47 deleted file mode 100644
48 index b92c36326a3..00000000000
49 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-410.78.ebuild
50 +++ /dev/null
51 @@ -1,592 +0,0 @@
52 -# Copyright 1999-2018 Gentoo Authors
53 -# Distributed under the terms of the GNU General Public License v2
54 -
55 -EAPI=6
56 -inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
57 - portability toolchain-funcs unpacker user udev
58 -
59 -DESCRIPTION="NVIDIA Accelerated Graphics Driver"
60 -HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
61 -
62 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
63 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
64 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
65 -
66 -NV_URI="https://us.download.nvidia.com/XFree86/"
67 -SRC_URI="
68 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
69 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
70 - tools? (
71 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
72 - )
73 -"
74 -
75 -LICENSE="GPL-2 NVIDIA-r2"
76 -SLOT="0/${PV%.*}"
77 -KEYWORDS="-* amd64 ~amd64-fbsd"
78 -RESTRICT="bindist mirror"
79 -EMULTILIB_PKG="true"
80 -
81 -IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
82 -REQUIRED_USE="
83 - tools? ( X )
84 - static-libs? ( tools )
85 -"
86 -
87 -COMMON="
88 - app-eselect/eselect-opencl
89 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
90 - tools? (
91 - dev-libs/atk
92 - dev-libs/glib:2
93 - dev-libs/jansson
94 - gtk3? (
95 - x11-libs/gtk+:3
96 - )
97 - x11-libs/cairo
98 - x11-libs/gdk-pixbuf[X]
99 - x11-libs/gtk+:2
100 - x11-libs/libX11
101 - x11-libs/libXext
102 - x11-libs/libXrandr
103 - x11-libs/libXv
104 - x11-libs/libXxf86vm
105 - x11-libs/pango[X]
106 - )
107 - X? (
108 - >=app-eselect/eselect-opengl-1.0.9
109 - app-misc/pax-utils
110 - )
111 -"
112 -DEPEND="
113 - ${COMMON}
114 - kernel_linux? ( virtual/linux-sources )
115 - tools? ( sys-apps/dbus )
116 -"
117 -RDEPEND="
118 - ${COMMON}
119 - acpi? ( sys-power/acpid )
120 - tools? ( !media-video/nvidia-settings )
121 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
122 - X? (
123 - <x11-base/xorg-server-1.20.99:=
124 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
125 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
126 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
127 - sys-libs/zlib[${MULTILIB_USEDEP}]
128 - )
129 -"
130 -QA_PREBUILT="opt/* usr/lib*"
131 -S=${WORKDIR}/
132 -
133 -nvidia_drivers_versions_check() {
134 - if use amd64 && has_multilib_profile && \
135 - [ "${DEFAULT_ABI}" != "amd64" ]; then
136 - eerror "This ebuild doesn't currently support changing your default ABI"
137 - die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
138 - fi
139 -
140 - if use kernel_linux && kernel_is ge 4 20; then
141 - ewarn "Gentoo supports kernels which are supported by NVIDIA"
142 - ewarn "which are limited to the following kernels:"
143 - ewarn "<sys-kernel/gentoo-sources-4.20"
144 - ewarn "<sys-kernel/vanilla-sources-4.20"
145 - ewarn ""
146 - ewarn "You are free to utilize epatch_user to provide whatever"
147 - ewarn "support you feel is appropriate, but will not receive"
148 - ewarn "support as a result of those changes."
149 - ewarn ""
150 - ewarn "Do not file a bug report about this."
151 - ewarn ""
152 - fi
153 -
154 - # Since Nvidia ships many different series of drivers, we need to give the user
155 - # some kind of guidance as to what version they should install. This tries
156 - # to point the user in the right direction but can't be perfect. check
157 - # nvidia-driver.eclass
158 - nvidia-driver-check-warning
159 -
160 - # Kernel features/options to check for
161 - CONFIG_CHECK="!DEBUG_MUTEXES ~!LOCKDEP ~MTRR ~PM ~SYSVIPC ~ZONE_DMA"
162 -
163 - # Now do the above checks
164 - use kernel_linux && check_extra_config
165 -}
166 -
167 -pkg_pretend() {
168 - nvidia_drivers_versions_check
169 -}
170 -
171 -pkg_setup() {
172 - nvidia_drivers_versions_check
173 -
174 - # try to turn off distcc and ccache for people that have a problem with it
175 - export DISTCC_DISABLE=1
176 - export CCACHE_DISABLE=1
177 -
178 - if use driver && use kernel_linux; then
179 - MODULE_NAMES="nvidia(video:${S}/kernel)"
180 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
181 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
182 -
183 - # This needs to run after MODULE_NAMES (so that the eclass checks
184 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
185 - # is set (so that KV_DIR is populated).
186 - linux-mod_pkg_setup
187 -
188 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
189 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
190 -
191 - # linux-mod_src_compile calls set_arch_to_kernel, which
192 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
193 - # expects x86_64 or i386 and then converts it to x86
194 - # later on in the build process
195 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
196 - fi
197 -
198 - if use kernel_linux && kernel_is lt 2 6 9; then
199 - eerror "You must build this against 2.6.9 or higher kernels."
200 - fi
201 -
202 - # set variables to where files are in the package structure
203 - if use kernel_FreeBSD; then
204 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
205 - NV_DOC="${S}/doc"
206 - NV_OBJ="${S}/obj"
207 - NV_SRC="${S}/src"
208 - NV_MAN="${S}/x11/man"
209 - NV_X11="${S}/obj"
210 - NV_SOVER=1
211 - elif use kernel_linux; then
212 - NV_DOC="${S}"
213 - NV_OBJ="${S}"
214 - NV_SRC="${S}/kernel"
215 - NV_MAN="${S}"
216 - NV_X11="${S}"
217 - NV_SOVER=${PV}
218 - else
219 - die "Could not determine proper NVIDIA package"
220 - fi
221 -}
222 -
223 -src_prepare() {
224 - if use pax_kernel; then
225 - ewarn "Using PAX patches is not supported. You will be asked to"
226 - ewarn "use a standard kernel should you have issues. Should you"
227 - ewarn "need support with these patches, contact the PaX team."
228 - eapply "${FILESDIR}"/${PN}-375.20-pax.patch
229 - fi
230 -
231 - local man_file
232 - for man_file in "${NV_MAN}"/*1.gz; do
233 - gunzip $man_file || die
234 - done
235 -
236 - if use tools; then
237 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
238 - sed -i \
239 - -e "s:@PV@:${PV}:g" \
240 - "${WORKDIR}"/nvidia-settings-linker.patch || die
241 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
242 - fi
243 -
244 - default
245 -
246 - if ! [ -f nvidia_icd.json ]; then
247 - cp nvidia_icd.json.template nvidia_icd.json || die
248 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
249 - fi
250 -}
251 -
252 -src_compile() {
253 - # This is already the default on Linux, as there's no toplevel Makefile, but
254 - # on FreeBSD there's one and triggers the kernel module build, as we install
255 - # it by itself, pass this.
256 -
257 - cd "${NV_SRC}"
258 - if use kernel_FreeBSD; then
259 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
260 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
261 - elif use driver && use kernel_linux; then
262 - BUILD_TARGETS=module linux-mod_src_compile \
263 - KERNELRELEASE="${KV_FULL}" \
264 - src="${KERNEL_DIR}"
265 - fi
266 -
267 - if use tools; then
268 - emake -C "${S}"/nvidia-settings-${PV}/src \
269 - AR="$(tc-getAR)" \
270 - CC="$(tc-getCC)" \
271 - DO_STRIP= \
272 - LD="$(tc-getCC)" \
273 - LIBDIR="$(get_libdir)" \
274 - NVLD="$(tc-getLD)" \
275 - NV_VERBOSE=1 \
276 - RANLIB="$(tc-getRANLIB)" \
277 - build-xnvctrl
278 -
279 - emake -C "${S}"/nvidia-settings-${PV}/src \
280 - CC="$(tc-getCC)" \
281 - DO_STRIP= \
282 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
283 - LD="$(tc-getCC)" \
284 - LIBDIR="$(get_libdir)" \
285 - NVLD="$(tc-getLD)" \
286 - NVML_ENABLED=0 \
287 - NV_USE_BUNDLED_LIBJANSSON=0 \
288 - NV_VERBOSE=1
289 - fi
290 -}
291 -
292 -# Install nvidia library:
293 -# the first parameter is the library to install
294 -# the second parameter is the provided soversion
295 -# the third parameter is the target directory if it is not /usr/lib
296 -donvidia() {
297 - # Full path to library
298 - nv_LIB="${1}"
299 -
300 - # SOVER to use
301 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
302 -
303 - # Where to install
304 - nv_DEST="${2}"
305 -
306 - # Get just the library name
307 - nv_LIBNAME=$(basename "${nv_LIB}")
308 -
309 - if [[ "${nv_DEST}" ]]; then
310 - exeinto ${nv_DEST}
311 - action="doexe"
312 - else
313 - nv_DEST="/usr/$(get_libdir)"
314 - action="dolib.so"
315 - fi
316 -
317 - # Install the library
318 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
319 -
320 - # If the library has a SONAME and SONAME does not match the library name,
321 - # then we need to create a symlink
322 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
323 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
324 - || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
325 - fi
326 -
327 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
328 - || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
329 -}
330 -
331 -src_install() {
332 - if use driver && use kernel_linux; then
333 - linux-mod_src_install
334 -
335 - # Add the aliases
336 - # This file is tweaked with the appropriate video group in
337 - # pkg_preinst, see bug #491414
338 - insinto /etc/modprobe.d
339 - newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
340 - doins "${FILESDIR}"/nvidia-rmmod.conf
341 -
342 - # Ensures that our device nodes are created when not using X
343 - exeinto "$(get_udevdir)"
344 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
345 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
346 - elif use kernel_FreeBSD; then
347 - if use x86-fbsd; then
348 - insinto /boot/modules
349 - doins "${S}/src/nvidia.kld"
350 - fi
351 -
352 - exeinto /boot/modules
353 - doexe "${S}/src/nvidia.ko"
354 - fi
355 -
356 - # NVIDIA kernel <-> userspace driver config lib
357 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
358 -
359 - # NVIDIA framebuffer capture library
360 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
361 -
362 - # NVIDIA video encode/decode <-> CUDA
363 - if use kernel_linux; then
364 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
365 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
366 - fi
367 -
368 - if use X; then
369 - # Xorg DDX driver
370 - insinto /usr/$(get_libdir)/xorg/modules/drivers
371 - doins ${NV_X11}/nvidia_drv.so
372 -
373 - # Xorg GLX driver
374 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
375 - /usr/$(get_libdir)/xorg/modules/extensions
376 -
377 - # Xorg nvidia.conf
378 - if has_version '>=x11-base/xorg-server-1.16'; then
379 - insinto /usr/share/X11/xorg.conf.d
380 - newins {,50-}nvidia-drm-outputclass.conf
381 - fi
382 -
383 - insinto /usr/share/glvnd/egl_vendor.d
384 - doins ${NV_X11}/10_nvidia.json
385 - fi
386 -
387 - if use wayland; then
388 - insinto /usr/share/egl/egl_external_platform.d
389 - doins ${NV_X11}/10_nvidia_wayland.json
390 - fi
391 -
392 - # OpenCL ICD for NVIDIA
393 - if use kernel_linux; then
394 - insinto /etc/OpenCL/vendors
395 - doins ${NV_OBJ}/nvidia.icd
396 - fi
397 -
398 - # Documentation
399 - if use kernel_FreeBSD; then
400 - dodoc "${NV_DOC}/README"
401 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
402 - use tools && doman "${NV_MAN}"/nvidia-settings.1
403 - else
404 - # Docs
405 - newdoc "${NV_DOC}/README.txt" README
406 - dodoc "${NV_DOC}/NVIDIA_Changelog"
407 - doman "${NV_MAN}"/nvidia-smi.1
408 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
409 - use tools && doman "${NV_MAN}"/nvidia-settings.1
410 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
411 - fi
412 -
413 - docinto html
414 - dodoc -r ${NV_DOC}/html/*
415 -
416 - # Helper Apps
417 - exeinto /opt/bin/
418 -
419 - if use X; then
420 - doexe ${NV_OBJ}/nvidia-xconfig
421 -
422 - insinto /etc/vulkan/icd.d
423 - doins nvidia_icd.json
424 - fi
425 -
426 - if use kernel_linux; then
427 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
428 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
429 - doexe ${NV_OBJ}/nvidia-debugdump
430 - doexe ${NV_OBJ}/nvidia-persistenced
431 - doexe ${NV_OBJ}/nvidia-smi
432 -
433 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
434 - doexe ${NV_OBJ}/nvidia-modprobe
435 - fowners root:video /opt/bin/nvidia-modprobe
436 - fperms 4710 /opt/bin/nvidia-modprobe
437 - dosym /{opt,usr}/bin/nvidia-modprobe
438 -
439 - doman nvidia-cuda-mps-control.1
440 - doman nvidia-modprobe.1
441 - doman nvidia-persistenced.1
442 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
443 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
444 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
445 - fi
446 -
447 - if use tools; then
448 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
449 - DESTDIR="${D}" \
450 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
451 - LIBDIR="${D}/usr/$(get_libdir)" \
452 - NV_USE_BUNDLED_LIBJANSSON=0 \
453 - NV_VERBOSE=1 \
454 - PREFIX=/usr \
455 - DO_STRIP= \
456 - install
457 -
458 - if use static-libs; then
459 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
460 -
461 - insinto /usr/include/NVCtrl
462 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
463 - fi
464 -
465 - insinto /usr/share/nvidia/
466 - doins nvidia-application-profiles-${PV}-key-documentation
467 -
468 - insinto /etc/nvidia
469 - newins \
470 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
471 -
472 - # There is no icon in the FreeBSD tarball.
473 - use kernel_FreeBSD || \
474 - doicon ${NV_OBJ}/nvidia-settings.png
475 -
476 - domenu "${FILESDIR}"/nvidia-settings.desktop
477 -
478 - exeinto /etc/X11/xinit/xinitrc.d
479 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
480 - fi
481 -
482 - dobin ${NV_OBJ}/nvidia-bug-report.sh
483 -
484 - if has_multilib_profile && use multilib; then
485 - local OABI=${ABI}
486 - for ABI in $(get_install_abis); do
487 - src_install-libs
488 - done
489 - ABI=${OABI}
490 - unset OABI
491 - else
492 - src_install-libs
493 - fi
494 -
495 - is_final_abi || die "failed to iterate through all ABIs"
496 -
497 - readme.gentoo_create_doc
498 -}
499 -
500 -src_install-libs() {
501 - local inslibdir=$(get_libdir)
502 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
503 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
504 - local nv_libdir="${NV_OBJ}"
505 -
506 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
507 - nv_libdir="${NV_OBJ}"/32
508 - fi
509 -
510 - if use X; then
511 - NV_GLX_LIBRARIES=(
512 - "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
513 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
514 - "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
515 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
516 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
517 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
518 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
519 - "libGLX.so.0 ${GL_ROOT}"
520 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
521 - "libGLdispatch.so.0 ${GL_ROOT}"
522 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
523 - "libOpenGL.so.0 ${GL_ROOT}"
524 - "libcuda.so.${NV_SOVER}"
525 - "libnvcuvid.so.${NV_SOVER}"
526 - "libnvidia-compiler.so.${NV_SOVER}"
527 - "libnvidia-eglcore.so.${NV_SOVER}"
528 - "libnvidia-encode.so.${NV_SOVER}"
529 - "libnvidia-fatbinaryloader.so.${NV_SOVER}"
530 - "libnvidia-fbc.so.${NV_SOVER}"
531 - "libnvidia-glcore.so.${NV_SOVER}"
532 - "libnvidia-glsi.so.${NV_SOVER}"
533 - "libnvidia-glvkspirv.so.${NV_SOVER}"
534 - "libnvidia-ifr.so.${NV_SOVER}"
535 - "libnvidia-opencl.so.${NV_SOVER}"
536 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
537 - "libvdpau_nvidia.so.${NV_SOVER}"
538 - )
539 -
540 - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
541 - then
542 - NV_GLX_LIBRARIES+=(
543 - "libnvidia-egl-wayland.so.1.1.0"
544 - )
545 - fi
546 -
547 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
548 - then
549 - NV_GLX_LIBRARIES+=(
550 - "libnvidia-wfb.so.${NV_SOVER}"
551 - )
552 - fi
553 -
554 - if use kernel_FreeBSD; then
555 - NV_GLX_LIBRARIES+=(
556 - "libnvidia-tls.so.${NV_SOVER}"
557 - )
558 - fi
559 -
560 - if use kernel_linux; then
561 - NV_GLX_LIBRARIES+=(
562 - "libnvidia-ml.so.${NV_SOVER}"
563 - "tls/libnvidia-tls.so.${NV_SOVER}"
564 - )
565 - fi
566 -
567 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
568 - then
569 - NV_GLX_LIBRARIES+=(
570 - "libnvidia-cbl.so.${NV_SOVER}"
571 - "libnvidia-rtcore.so.${NV_SOVER}"
572 - "libnvoptix.so.${NV_SOVER}"
573 - )
574 - fi
575 -
576 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
577 - donvidia "${nv_libdir}"/${NV_LIB}
578 - done
579 - fi
580 -}
581 -
582 -pkg_preinst() {
583 - if use driver && use kernel_linux; then
584 - linux-mod_pkg_preinst
585 -
586 - local videogroup="$(egetent group video | cut -d ':' -f 3)"
587 - if [ -z "${videogroup}" ]; then
588 - eerror "Failed to determine the video group gid"
589 - die "Failed to determine the video group gid"
590 - else
591 - sed -i \
592 - -e "s:PACKAGE:${PF}:g" \
593 - -e "s:VIDEOGID:${videogroup}:" \
594 - "${D}"/etc/modprobe.d/nvidia.conf || die
595 - fi
596 - fi
597 -
598 - # Clean the dynamic libGL stuff's home to ensure
599 - # we dont have stale libs floating around
600 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
601 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
602 - fi
603 - # Make sure we nuke the old nvidia-glx's env.d file
604 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
605 - rm -f "${ROOT}"/etc/env.d/09nvidia
606 - fi
607 -}
608 -
609 -pkg_postinst() {
610 - use driver && use kernel_linux && linux-mod_pkg_postinst
611 -
612 - # Switch to the nvidia implementation
613 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
614 - "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
615 -
616 - readme.gentoo_print_elog
617 -
618 - if ! use X; then
619 - elog "You have elected to not install the X.org driver. Along with"
620 - elog "this the OpenGL libraries and VDPAU libraries were not"
621 - elog "installed. Additionally, once the driver is loaded your card"
622 - elog "and fan will run at max speed which may not be desirable."
623 - elog "Use the 'nvidia-smi' init script to have your card and fan"
624 - elog "speed scale appropriately."
625 - elog
626 - fi
627 - if ! use tools; then
628 - elog "USE=tools controls whether the nvidia-settings application"
629 - elog "is installed. If you would like to use it, enable that"
630 - elog "flag and re-emerge this ebuild. Optionally you can install"
631 - elog "media-video/nvidia-settings"
632 - elog
633 - fi
634 -}
635 -
636 -pkg_prerm() {
637 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
638 -}
639 -
640 -pkg_postrm() {
641 - use driver && use kernel_linux && linux-mod_pkg_postrm
642 - use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
643 -}