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