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: Sun, 27 Dec 2020 10:49:09
Message-Id: 1609066138.31d0ee06400d2225901484b52690ca842f0c1e28.soap@gentoo
1 commit: 31d0ee06400d2225901484b52690ca842f0c1e28
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 27 10:48:58 2020 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 27 10:48:58 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31d0ee06
7
8 x11-drivers/nvidia-drivers: Remove old 455.28-r1, 455.38-r1
9
10 Package-Manager: Portage-3.0.12, Repoman-3.0.2
11 Signed-off-by: David Seifert <soap <AT> gentoo.org>
12
13 x11-drivers/nvidia-drivers/Manifest | 6 -
14 .../nvidia-drivers/nvidia-drivers-455.28-r1.ebuild | 578 ---------------------
15 .../nvidia-drivers/nvidia-drivers-455.38-r1.ebuild | 578 ---------------------
16 3 files changed, 1162 deletions(-)
17
18 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
19 index 1dfd6dc8ac5..5a904b184a6 100644
20 --- a/x11-drivers/nvidia-drivers/Manifest
21 +++ b/x11-drivers/nvidia-drivers/Manifest
22 @@ -5,8 +5,6 @@ DIST NVIDIA-FreeBSD-x86_64-390.138.tar.gz 65280213 BLAKE2B 36d5651ceaf90cefcf9e8
23 DIST NVIDIA-FreeBSD-x86_64-435.21.tar.gz 64153630 BLAKE2B fee655cc843c004ac0c1ec85b9417292016a013136e04ad047d2513edbdc7c732561d6bcc4603c658905972dce6618de49d4d6ac583e84fdf212cf45397b48c1 SHA512 2c160c06ca58e3009deb1ba4a4a28d39419e251ced3bfa9a442942f9cce17003d67e8a8bfa23036d3916cc0e66f4bff0fbedaae73db6f10b995235a56d7eba7c
24 DIST NVIDIA-FreeBSD-x86_64-440.100.tar.gz 82523267 BLAKE2B 9d8eddcf3a58787a03fab207c197d722ff047f8bc840ea41e8d38815fbfab9e54759b9fbeaa26e3d147f54cb4a510eec421708d3bbb21197922f4dc175ed6df5 SHA512 96f57e1f308f0e5f00ef09a128e91a68ac55033893000e84cf4ff1a910a88798743c911b3effcc26c3f27ae224b733d8c2f87e9ec0596149f65ad7bcd71edbc5
25 DIST NVIDIA-FreeBSD-x86_64-450.80.02.tar.gz 83040706 BLAKE2B d97bae80f6fdcec12fd12af0296f9ba44487cc83c86c14bc9f17d52e0e81107e1eaddd411d06d1bfd27c73bcf71300f7f49218d2a031540c0b42cd62998ef9aa SHA512 6dca92f20102a0432c6b92b7897a2ff5ec3da234af72907539026e18b1da55fc3ae01dc875be07ce9cae808ae4f9c08d2a2af1171db038c37bbba6ca9d03cf3a
26 -DIST NVIDIA-FreeBSD-x86_64-455.28.tar.gz 94617354 BLAKE2B 8f98bd4a750ba4af84453e3d9722c133e27914a84574973b378b078c47395e29fa7194172d230888f6693626d1cc84ba2403a8bdd5d1de6601ce057437b13bfd SHA512 94ff49da3ee106884a1ed91b36e4d028c4f0c1042ae2b329db81e039aafba7fefafcacfac6cab4c07ed2ee244146c9496435fb59e53ae608b92034e196da185c
27 -DIST NVIDIA-FreeBSD-x86_64-455.38.tar.gz 97250268 BLAKE2B 30db23d2fd8a45877d265ebfd9fcfeaaf0dbd40884960fe44d02d7f6c15c198029a42f5aa55ff12ee7289904d82aacf7b4d4bea5531f8ae5b00d81b7ee26ff62 SHA512 0367a647c3cf3472a45af203538b5994954bbd8eb9bbc3dd69c3bbc2e8317546d7f5a653cddc35c90700545df312bfee59354ad2826eeed4e50df834e03b15c1
28 DIST NVIDIA-FreeBSD-x86_64-455.45.01.tar.gz 116070033 BLAKE2B 4a724ce58fb7164d12b50d1388a2a471903f4aa834cf606adf572e667ef7c1fec7bc291310fdca2d271709fed017b8f361a39bc495d616e6056a4c0afa2443b5 SHA512 4999911944f76fa759126308ac48d0a770e57966c7783e02370f45d9451a50d6015642b385465d4fc800df8c35655b78d90f7c9a8df82bdf81db8be12eacbe87
29 DIST NVIDIA-Linux-armv7l-gnueabihf-390.132.run 29084574 BLAKE2B 4727627de610928f0808c0213c9d359c5566900972ab9fbd3d0c58b36c0a1331799ceea22b4defdcfb81c3132f6124d8a6357de8124921eef608938afdc1380d SHA512 2f78a722ec31ceda86afc1831cb42d0eab8f8698b94c7fbc8569a6d34693b50e74453d5aaf3c0180f1fc2511b8c237ac635aceb24bcbea468f2a092cb44f98ee
30 DIST NVIDIA-Linux-armv7l-gnueabihf-390.138.run 28540622 BLAKE2B 342852dd6fa371f86d19547d73edef582fe3f04cf4f6e9ec247767951180671ba46f3ed2ee7bab11b0cf2f8bb1eb846b1d7481d318789c14ce79b54fefe0f830 SHA512 e04b8aca202c1df305f7b67ec372322494fa7b77f27cbf04f240527dcac0ce3ffa5e0e9df36b52045ac13fbc2f84b5033784040884ed19072f66f41385d11b97
31 @@ -17,14 +15,10 @@ DIST NVIDIA-Linux-x86_64-390.138.run 83780873 BLAKE2B 5e6a9d77dd2b9de17d92319810
32 DIST NVIDIA-Linux-x86_64-435.21.run 144387574 BLAKE2B e9afd6335182a28f5136dbef55195a2f2d8f768376ebc148190a0a82470a34d008ce04170ffc1aab36585605910c1300567a90443b5f58cb46ec3bff6ab9409c SHA512 e83b6dff80434971c0b254815945d485a45c978b8a19994244f50a463658863948b2eac8bc62d667bb10c23f41cf1c3521c409d23ac2ab6a0c0cd094a6e20270
33 DIST NVIDIA-Linux-x86_64-440.100.run 144653408 BLAKE2B a62e6324f5ac6033c1c4b59486c86a6d4f81b240e5a7ddf9f861f9cfec4daedbe08ef3af6556c1cd4260a5a6fcd1b8bfed886ae617677d87c3a900d0e313267b SHA512 274b3a8e4c801b67a3f71f11da93134bc1a16a48bc85a6bf63265c00bb3fd8caf935dd23c85c40285a162e83c146bd5e34bb0b1d74fc34e7122bfc4c3a8c81e7
34 DIST NVIDIA-Linux-x86_64-450.80.02.run 141055124 BLAKE2B bc4440bb65e4980863f4eb8aa2875a883cbe67f142c8afabe6023956ca2cb765666a5c8a308175c32162194ed821618d2595ad6e45188caf8813d8c8582dc6ea SHA512 ec5c57ed9ac897c671e4b29e0ef4f6a0c233fd4a04d1947a21c3646ddfce38322864cbc607e94e6a74506d99e7b9088cb497b562874a5837d94c000348c97823
35 -DIST NVIDIA-Linux-x86_64-455.28.run 168953614 BLAKE2B 7f6ef29932c73eaefdbe6c006a35f5f8baea05eb6b7beea129b9b5d77e9342e6a920af63a303f08fcabc136f8635bd6d122820712d77231df67505f46a40011f SHA512 1456ccf29461816ee4a7cdfabe8b5a3e021d4959e8ea8ee88e83f9058683baee4a2e7d31e02bbb22f1c0c6d25163bd2314385ebde1b8896159b6964878381720
36 -DIST NVIDIA-Linux-x86_64-455.38.run 170865030 BLAKE2B dfbe71be1cba6f95d86fb241428c0a1f201a16e9c577b19fa6cbbefa6fe5eeca483cf0f9d381968582ce7164628da4284feecf12aef5753867b4122fac089f8f SHA512 0430e201f34ed40afbd393274bedb855a680e1439e52d58435ec5dcfc4037f72dbefa9598af66ffac455af2289df07cfa3b7de92d5e541e6c70c93ebba93b146
37 DIST NVIDIA-Linux-x86_64-455.45.01.run 183481072 BLAKE2B 5756c788cff136692f0d6de4b33d74ad698fcc75cf2fb6f0adc6381a0377bea18eae0f728151ac8b2efb5508c7420c2df3be3fd7d0035b4477e3e3c97e85ab5c SHA512 dd2743cd2304d7f3afc0c3761cf6c848561bcaabcbdc27157d091a89974aff81bcd28aa3e204d33d406abdbafd14e9162f3cbabc950309e06e6cad7b6fa8df69
38 DIST nvidia-settings-390.132.tar.bz2 1109373 BLAKE2B cec60b7409f6d352afe3845a2ec65db96183d1fe009340fa3601166718f21b43bb08b63c5eaaaf4c266c7b16e7d374f6ecc00691763d5ae1b6902c8002da5bea SHA512 12553edc1a1ba9c3f578e0e921b25ec7114cbc80a55621cbd612a1bd85c9a518e221b30809058e4df5da6ae75ea7a1cd5c3d9c8f02a0898bc8c08ac9c22ccee3
39 DIST nvidia-settings-390.138.tar.bz2 1109175 BLAKE2B 4171c12de0a6fb97b655567d4cc8b4e6fb92e340aae6d65f0a0583db159478fb11f8d5c4cf0fa5ef87098ec1582ccb896fec9f2bf81e4c748b8ff5ee5d73af6b SHA512 6c54ff039840098c23f2091b4c33ab2b712ff90c16829c568bc39c9375cb2f4fb677bb5ab90efcf2034b15a1d93d13f1fbb40dde1d90092073af7d9f3c16de97
40 DIST nvidia-settings-435.21.tar.bz2 1131222 BLAKE2B 855f5c7667f4a5ec0f917fbb017d70ec6ee5e768f7087e77e54a66dea852c471bd1810a2163fb33204e5f381998a27a4254e0a5d2c73e2b6b624813ff8294f24 SHA512 8b408cc70118df3a138a99fe7fc14f6370d500b8ae26888b27b07de22f6fc6eebd65bd437d83ee82e18a1d8ee4cceec601c414b1947302ca808fff48165f31bb
41 DIST nvidia-settings-440.100.tar.bz2 1129171 BLAKE2B bc8b28ae5743df50177c51a9269ef2b5d11c69dd9f30441179d81e42e7f77c54f327c87a7a5c6a410540bed35eb1ba0cc289b5b98a046deda376dccb29a8206b SHA512 4fe8fbbca1f805652235d898e8451ba89263c81f53e78da471b13ba0668d0d528d04d098b276df6fd2bf7ea7a219a3aa3c4d0bada0a483767c00c0654a5a8818
42 DIST nvidia-settings-450.80.02.tar.bz2 1057306 BLAKE2B 8bd5e3b75c2941c49a6ae3d4e6c1eacd22fe63cf56aae2cc83d58e5be6d72ef58b5abbee757265e799c075d907e37f7d1bba389b8b912c53994c60eed2e71623 SHA512 1724bd5171eaa54d82c12e35890a4289e301b1a6c11c1a6c05ec0a6f0275cbf532011235d8121d7b5882a640cf42c32b3be3eb22ae036dd5a2b8a372c7b5b7f7
43 -DIST nvidia-settings-455.28.tar.bz2 1056911 BLAKE2B b2a19fce197901b395bcf3e4c81e6d2589441e7da4297f1d5fb20ffd5ec8946428577d08f4500d9a1bcc92190ae9e7beaef5622921e74553b911f8c63b3f1231 SHA512 418a9cc7c98a6248b27aac5d39faeb89de537bfa04ae858e31ad362499042c02212ad6740b8b482aaae92ae7e4c038a305bab309a2caa2cc3f944c50160d033d
44 -DIST nvidia-settings-455.38.tar.bz2 1057087 BLAKE2B 81a287aecd2d0e788b0fe581c3dd10aa0f1fff19746b04a426a2ce9c7fa9dd9492cc5162c6bcd42496735c1b11482c3d9409aba5ec297e69afc19ddf11b1907c SHA512 56f5684ad3258c5449d747894a441aaef17403fc5406a3d61e0d7ffd983e908e3f909dc933b57dd9c98a47c4be7205c62157ce7097bf3937b3a8145e77fb354d
45 DIST nvidia-settings-455.45.01.tar.bz2 1057571 BLAKE2B d5a92a920421b19213547269788ccd8c52b59e058ff19acc3b32b188be8648f0152d2cdfa5facf3a601530975350986ea9d188a5a2adf00d49155f8ab7d688a9 SHA512 9199e75475c6c1aaed444676cf5bd12a9818fe5e23e81e06c556229a44a07353cdbc0f3fbb4f818c21d5f6cc4aa62a37e96b5af6689b0d98d01a3709bc045ce3
46
47 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-455.28-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-455.28-r1.ebuild
48 deleted file mode 100644
49 index 98ada6ee050..00000000000
50 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-455.28-r1.ebuild
51 +++ /dev/null
52 @@ -1,578 +0,0 @@
53 -# Copyright 1999-2020 Gentoo Authors
54 -# Distributed under the terms of the GNU General Public License v2
55 -
56 -EAPI=7
57 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
58 - nvidia-driver portability systemd toolchain-funcs unpacker udev
59 -
60 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
61 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
62 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
63 -
64 -NV_URI="https://us.download.nvidia.com/XFree86/"
65 -SRC_URI="
66 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
67 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
68 - tools? (
69 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
70 - )
71 -"
72 -
73 -EMULTILIB_PKG="true"
74 -KEYWORDS="-* amd64"
75 -LICENSE="GPL-2 NVIDIA-r2"
76 -SLOT="0/${PV%%.*}"
77 -
78 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
79 -REQUIRED_USE="
80 - tools? ( X )
81 - static-libs? ( tools )
82 -"
83 -
84 -COMMON="
85 - driver? ( kernel_linux? ( acct-group/video ) )
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
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 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
106 - app-misc/pax-utils
107 - libglvnd? (
108 - media-libs/libglvnd[X,${MULTILIB_USEDEP}]
109 - )
110 - )
111 -"
112 -DEPEND="
113 - ${COMMON}
114 - kernel_linux? ( virtual/linux-sources )
115 - tools? ( sys-apps/dbus )
116 -"
117 -RDEPEND="
118 - ${COMMON}
119 - uvm? ( >=virtual/opencl-3 )
120 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
121 - X? (
122 - <x11-base/xorg-server-1.20.99:=
123 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
124 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
125 - sys-libs/zlib[${MULTILIB_USEDEP}]
126 - )
127 - kernel_linux? ( net-libs/libtirpc )
128 -"
129 -QA_PREBUILT="opt/* usr/lib*"
130 -S=${WORKDIR}/
131 -PATCHES=(
132 - "${FILESDIR}"/${PN}-440.26-locale.patch
133 -)
134 -NV_KV_MAX_PLUS="5.10"
135 -CONFIG_CHECK="
136 - !DEBUG_MUTEXES
137 - ~!I2C_NVIDIA_GPU
138 - ~!LOCKDEP
139 - ~DRM
140 - ~DRM_KMS_HELPER
141 - ~SYSVIPC
142 -"
143 -
144 -pkg_pretend() {
145 - nvidia-driver_check
146 -}
147 -
148 -pkg_setup() {
149 - nvidia-driver_check
150 -
151 - # try to turn off distcc and ccache for people that have a problem with it
152 - export DISTCC_DISABLE=1
153 - export CCACHE_DISABLE=1
154 -
155 - if use driver && use kernel_linux; then
156 - MODULE_NAMES="nvidia(video:${S}/kernel)"
157 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
158 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
159 -
160 - # This needs to run after MODULE_NAMES (so that the eclass checks
161 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
162 - # is set (so that KV_DIR is populated).
163 - linux-mod_pkg_setup
164 -
165 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
166 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
167 -
168 - # linux-mod_src_compile calls set_arch_to_kernel, which
169 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
170 - # expects x86_64 or i386 and then converts it to x86
171 - # later on in the build process
172 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
173 -
174 - if kernel_is lt 2 6 9; then
175 - eerror "You must build this against 2.6.9 or higher kernels."
176 - fi
177 - fi
178 -
179 - # set variables to where files are in the package structure
180 - if use kernel_FreeBSD; then
181 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
182 - NV_DOC="${S}/doc"
183 - NV_OBJ="${S}/obj"
184 - NV_SRC="${S}/src"
185 - NV_MAN="${S}/x11/man"
186 - NV_X11="${S}/obj"
187 - NV_SOVER=1
188 - elif use kernel_linux; then
189 - NV_DOC="${S}"
190 - NV_OBJ="${S}"
191 - NV_SRC="${S}/kernel"
192 - NV_MAN="${S}"
193 - NV_X11="${S}"
194 - NV_SOVER=${PV}
195 - else
196 - die "Could not determine proper NVIDIA package"
197 - fi
198 -}
199 -
200 -src_configure() {
201 - tc-export AR CC LD OBJCOPY
202 -
203 - default
204 -}
205 -
206 -src_prepare() {
207 - local man_file
208 - for man_file in "${NV_MAN}"/*1.gz; do
209 - gunzip $man_file || die
210 - done
211 -
212 - if use tools; then
213 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
214 - sed -i \
215 - -e "s:@PV@:${PV}:g" \
216 - "${WORKDIR}"/nvidia-settings-linker.patch \
217 - || die
218 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
219 - fi
220 -
221 - default
222 -
223 - if ! [ -f nvidia_icd.json ]; then
224 - cp nvidia_icd.json.template nvidia_icd.json || die
225 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
226 - fi
227 -}
228 -
229 -src_compile() {
230 - cd "${NV_SRC}"
231 - if use kernel_FreeBSD; then
232 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
233 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
234 - elif use driver && use kernel_linux; then
235 - BUILD_TARGETS=module linux-mod_src_compile \
236 - KERNELRELEASE="${KV_FULL}" \
237 - src="${KERNEL_DIR}"
238 - fi
239 -
240 - if use tools; then
241 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
242 - DO_STRIP= \
243 - LIBDIR="$(get_libdir)" \
244 - NVLD="$(tc-getLD)" \
245 - NV_VERBOSE=1 \
246 - OUTPUTDIR=. \
247 - RANLIB="$(tc-getRANLIB)"
248 -
249 - emake -C "${S}"/nvidia-settings-${PV}/src \
250 - DO_STRIP= \
251 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
252 - LIBDIR="$(get_libdir)" \
253 - NVLD="$(tc-getLD)" \
254 - NVML_ENABLED=0 \
255 - NV_USE_BUNDLED_LIBJANSSON=0 \
256 - NV_VERBOSE=1 \
257 - OUTPUTDIR=.
258 - fi
259 -}
260 -
261 -# Install nvidia library:
262 -# the first parameter is the library to install
263 -# the second parameter is the provided soversion
264 -# the third parameter is the target directory if it is not /usr/lib
265 -donvidia() {
266 - # Full path to library
267 - nv_LIB="${1}"
268 -
269 - # SOVER to use
270 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
271 -
272 - # Where to install
273 - nv_DEST="${2}"
274 -
275 - # Get just the library name
276 - nv_LIBNAME=$(basename "${nv_LIB}")
277 -
278 - if [[ "${nv_DEST}" ]]; then
279 - exeinto ${nv_DEST}
280 - action="doexe"
281 - else
282 - nv_DEST="/usr/$(get_libdir)"
283 - action="dolib.so"
284 - fi
285 -
286 - # Install the library
287 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
288 -
289 - # If the library has a SONAME and SONAME does not match the library name,
290 - # then we need to create a symlink
291 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
292 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
293 - fi
294 -
295 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
296 -}
297 -
298 -src_install() {
299 - if use driver && use kernel_linux; then
300 - linux-mod_src_install
301 -
302 - # Add the aliases
303 - # This file is tweaked with the appropriate video group in
304 - # pkg_preinst, see bug #491414
305 - insinto /etc/modprobe.d
306 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
307 -
308 - if use uvm; then
309 - doins "${FILESDIR}"/nvidia-rmmod.conf
310 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
311 - else
312 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
313 - > "${T}"/nvidia-rmmod.conf || die
314 - doins "${T}"/nvidia-rmmod.conf
315 - fi
316 -
317 - # Ensures that our device nodes are created when not using X
318 - exeinto "$(get_udevdir)"
319 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
320 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
321 - elif use kernel_FreeBSD; then
322 - if use x86-fbsd; then
323 - insinto /boot/modules
324 - doins "${S}/src/nvidia.kld"
325 - fi
326 -
327 - exeinto /boot/modules
328 - doexe "${S}/src/nvidia.ko"
329 - fi
330 -
331 - # NVIDIA kernel <-> userspace driver config lib
332 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
333 -
334 - # NVIDIA framebuffer capture library
335 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
336 -
337 - # NVIDIA video encode/decode <-> CUDA
338 - if use kernel_linux; then
339 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
340 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
341 - fi
342 -
343 - if use X; then
344 - # Xorg DDX driver
345 - insinto /usr/$(get_libdir)/xorg/modules/drivers
346 - doins ${NV_X11}/nvidia_drv.so
347 -
348 - # Xorg GLX driver
349 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
350 - /usr/$(get_libdir)/xorg/modules/extensions
351 -
352 - # Xorg nvidia.conf
353 - if has_version '>=x11-base/xorg-server-1.16'; then
354 - insinto /usr/share/X11/xorg.conf.d
355 - newins {,50-}nvidia-drm-outputclass.conf
356 - fi
357 -
358 - insinto /usr/share/glvnd/egl_vendor.d
359 - doins ${NV_X11}/10_nvidia.json
360 - fi
361 -
362 - if use wayland; then
363 - insinto /usr/share/egl/egl_external_platform.d
364 - doins ${NV_X11}/10_nvidia_wayland.json
365 - fi
366 -
367 - insinto /etc/vulkan/icd.d
368 - doins nvidia_icd.json
369 -
370 - insinto /etc/vulkan/implicit_layer.d
371 - doins nvidia_layers.json
372 -
373 - # OpenCL ICD for NVIDIA
374 - if use kernel_linux; then
375 - insinto /etc/OpenCL/vendors
376 - doins ${NV_OBJ}/nvidia.icd
377 - fi
378 -
379 - # Helper Apps
380 - exeinto /opt/bin/
381 -
382 - if use X; then
383 - doexe ${NV_OBJ}/nvidia-xconfig
384 - fi
385 -
386 - if use kernel_linux; then
387 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
388 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
389 - doexe ${NV_OBJ}/nvidia-debugdump
390 - doexe ${NV_OBJ}/nvidia-persistenced
391 - doexe ${NV_OBJ}/nvidia-smi
392 -
393 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
394 - doexe ${NV_OBJ}/nvidia-modprobe
395 - fowners root:video /opt/bin/nvidia-modprobe
396 - fperms 4710 /opt/bin/nvidia-modprobe
397 - dosym /{opt,usr}/bin/nvidia-modprobe
398 -
399 - doman nvidia-cuda-mps-control.1
400 - doman nvidia-modprobe.1
401 - doman nvidia-persistenced.1
402 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
403 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
404 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
405 - fi
406 -
407 - if use tools; then
408 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
409 - DESTDIR="${D}" \
410 - DO_STRIP= \
411 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
412 - LIBDIR="${D}/usr/$(get_libdir)" \
413 - NV_USE_BUNDLED_LIBJANSSON=0 \
414 - NV_VERBOSE=1 \
415 - OUTPUTDIR=. \
416 - PREFIX=/usr \
417 - install
418 -
419 - if use static-libs; then
420 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
421 -
422 - insinto /usr/include/NVCtrl
423 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
424 - fi
425 -
426 - insinto /usr/share/nvidia/
427 - doins nvidia-application-profiles-${PV}-key-documentation
428 -
429 - insinto /etc/nvidia
430 - newins \
431 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
432 -
433 - # There is no icon in the FreeBSD tarball.
434 - use kernel_FreeBSD || \
435 - doicon ${NV_OBJ}/nvidia-settings.png
436 -
437 - domenu "${FILESDIR}"/nvidia-settings.desktop
438 -
439 - exeinto /etc/X11/xinit/xinitrc.d
440 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
441 - fi
442 -
443 - dobin ${NV_OBJ}/nvidia-bug-report.sh
444 -
445 - systemd_dounit *.service
446 - dobin nvidia-sleep.sh
447 - exeinto /lib/systemd/system-sleep
448 - doexe nvidia
449 -
450 - if has_multilib_profile && use multilib; then
451 - local OABI=${ABI}
452 - for ABI in $(multilib_get_enabled_abis); do
453 - src_install-libs
454 - done
455 - ABI=${OABI}
456 - unset OABI
457 - else
458 - src_install-libs
459 - fi
460 -
461 - is_final_abi || die "failed to iterate through all ABIs"
462 -
463 - # Documentation
464 - if use kernel_FreeBSD; then
465 - dodoc "${NV_DOC}/README"
466 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
467 - use tools && doman "${NV_MAN}"/nvidia-settings.1
468 - else
469 - # Docs
470 - newdoc "${NV_DOC}/README.txt" README
471 - dodoc "${NV_DOC}/NVIDIA_Changelog"
472 - doman "${NV_MAN}"/nvidia-smi.1
473 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
474 - use tools && doman "${NV_MAN}"/nvidia-settings.1
475 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
476 - fi
477 -
478 - readme.gentoo_create_doc
479 -
480 - dodoc supported-gpus.json
481 -
482 - docinto html
483 - dodoc -r ${NV_DOC}/html/*
484 -}
485 -
486 -src_install-libs() {
487 - local inslibdir=$(get_libdir)
488 - if use libglvnd; then
489 - local GL_ROOT="/usr/$(get_libdir)"
490 - else
491 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
492 - fi
493 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
494 - local nv_libdir="${NV_OBJ}"
495 -
496 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
497 - nv_libdir="${NV_OBJ}"/32
498 - fi
499 -
500 - if use X; then
501 - NV_GLX_LIBRARIES=(
502 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
503 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
504 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
505 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
506 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
507 - "libcuda.so.${NV_SOVER}"
508 - "libnvcuvid.so.${NV_SOVER}"
509 - "libnvidia-compiler.so.${NV_SOVER}"
510 - "libnvidia-eglcore.so.${NV_SOVER}"
511 - "libnvidia-encode.so.${NV_SOVER}"
512 - "libnvidia-fbc.so.${NV_SOVER}"
513 - "libnvidia-glcore.so.${NV_SOVER}"
514 - "libnvidia-glsi.so.${NV_SOVER}"
515 - "libnvidia-glvkspirv.so.${NV_SOVER}"
516 - "libnvidia-ifr.so.${NV_SOVER}"
517 - "libnvidia-opencl.so.${NV_SOVER}"
518 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
519 - "libvdpau_nvidia.so.${NV_SOVER}"
520 - )
521 - if ! use libglvnd; then
522 - NV_GLX_LIBRARIES+=(
523 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
524 - "libGL.so.1.7.0 ${GL_ROOT}"
525 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
526 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
527 - "libGLX.so.0 ${GL_ROOT}"
528 - "libGLdispatch.so.0 ${GL_ROOT}"
529 - "libOpenGL.so.0 ${GL_ROOT}"
530 - )
531 - fi
532 -
533 - if use wayland && [[ ${ABI} == "amd64" ]];
534 - then
535 - NV_GLX_LIBRARIES+=(
536 - "libnvidia-egl-wayland.so.1.1.5"
537 - )
538 - fi
539 -
540 - if use kernel_FreeBSD; then
541 - NV_GLX_LIBRARIES+=(
542 - "libnvidia-tls.so.${NV_SOVER}"
543 - )
544 - fi
545 -
546 - if use kernel_linux; then
547 - NV_GLX_LIBRARIES+=(
548 - "libnvidia-ml.so.${NV_SOVER}"
549 - "libnvidia-tls.so.${NV_SOVER}"
550 - )
551 - fi
552 -
553 - if use kernel_linux && [[ ${ABI} == "amd64" ]];
554 - then
555 - NV_GLX_LIBRARIES+=(
556 - "libnvidia-cbl.so.${NV_SOVER}"
557 - "libnvidia-ngx.so.${NV_SOVER}"
558 - "libnvidia-rtcore.so.${NV_SOVER}"
559 - "libnvoptix.so.${NV_SOVER}"
560 - )
561 - fi
562 -
563 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
564 - donvidia "${nv_libdir}"/${NV_LIB}
565 - done
566 - fi
567 -}
568 -
569 -pkg_preinst() {
570 - if use driver && use kernel_linux; then
571 - linux-mod_pkg_preinst
572 -
573 - local videogroup="$(getent group video | cut -d ':' -f 3)"
574 - if [ -z "${videogroup}" ]; then
575 - eerror "Failed to determine the video group gid"
576 - die "Failed to determine the video group gid"
577 - else
578 - sed -i \
579 - -e "s:PACKAGE:${PF}:g" \
580 - -e "s:VIDEOGID:${videogroup}:" \
581 - "${D}"/etc/modprobe.d/nvidia.conf || die
582 - fi
583 - fi
584 -
585 - # Clean the dynamic libGL stuff's home to ensure
586 - # we dont have stale libs floating around
587 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
588 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
589 - fi
590 - # Make sure we nuke the old nvidia-glx's env.d file
591 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
592 - rm -f "${ROOT}"/etc/env.d/09nvidia
593 - fi
594 -}
595 -
596 -pkg_postinst() {
597 - use driver && use kernel_linux && linux-mod_pkg_postinst
598 -
599 - readme.gentoo_print_elog
600 -
601 - if ! use X; then
602 - elog "You have elected to not install the X.org driver. Along with"
603 - elog "this the OpenGL libraries and VDPAU libraries were not"
604 - elog "installed. Additionally, once the driver is loaded your card"
605 - elog "and fan will run at max speed which may not be desirable."
606 - elog "Use the 'nvidia-smi' init script to have your card and fan"
607 - elog "speed scale appropriately."
608 - elog
609 - fi
610 - if ! use tools; then
611 - elog "USE=tools controls whether the nvidia-settings application"
612 - elog "is installed. If you would like to use it, enable that"
613 - elog "flag and re-emerge this ebuild. Optionally you can install"
614 - elog "media-video/nvidia-settings"
615 - elog
616 - fi
617 -
618 - elog "To enable nvidia sleep services under systemd, run these commands:"
619 - elog " systemctl enable nvidia-suspend.service"
620 - elog " systemctl enable nvidia-hibernate.service"
621 - elog " systemctl enable nvidia-resume.service"
622 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
623 - elog "suitable path in case the default of /tmp does not work for you"
624 - elog "For more information see:"
625 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
626 -}
627 -
628 -pkg_postrm() {
629 - use driver && use kernel_linux && linux-mod_pkg_postrm
630 -}
631
632 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-455.38-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-455.38-r1.ebuild
633 deleted file mode 100644
634 index 836ce3fa124..00000000000
635 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-455.38-r1.ebuild
636 +++ /dev/null
637 @@ -1,578 +0,0 @@
638 -# Copyright 1999-2020 Gentoo Authors
639 -# Distributed under the terms of the GNU General Public License v2
640 -
641 -EAPI=7
642 -inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
643 - nvidia-driver portability systemd toolchain-funcs unpacker udev
644 -
645 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
646 -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
647 -ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
648 -
649 -NV_URI="https://us.download.nvidia.com/XFree86/"
650 -SRC_URI="
651 - amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
652 - amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
653 - tools? (
654 - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
655 - )
656 -"
657 -
658 -EMULTILIB_PKG="true"
659 -KEYWORDS="-* ~amd64"
660 -LICENSE="GPL-2 NVIDIA-r2"
661 -SLOT="0/${PV%%.*}"
662 -
663 -IUSE="compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
664 -REQUIRED_USE="
665 - tools? ( X )
666 - static-libs? ( tools )
667 -"
668 -
669 -COMMON="
670 - driver? ( kernel_linux? ( acct-group/video ) )
671 - kernel_linux? ( >=sys-libs/glibc-2.6.1 )
672 - tools? (
673 - dev-libs/atk
674 - dev-libs/glib:2
675 - dev-libs/jansson
676 - gtk3? (
677 - x11-libs/gtk+:3
678 - )
679 - x11-libs/cairo
680 - x11-libs/gdk-pixbuf
681 - x11-libs/gtk+:2
682 - x11-libs/libX11
683 - x11-libs/libXext
684 - x11-libs/libXrandr
685 - x11-libs/libXv
686 - x11-libs/libXxf86vm
687 - x11-libs/pango[X]
688 - )
689 - X? (
690 - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
691 - app-misc/pax-utils
692 - libglvnd? (
693 - media-libs/libglvnd[X,${MULTILIB_USEDEP}]
694 - )
695 - )
696 -"
697 -DEPEND="
698 - ${COMMON}
699 - kernel_linux? ( virtual/linux-sources )
700 - tools? ( sys-apps/dbus )
701 -"
702 -RDEPEND="
703 - ${COMMON}
704 - uvm? ( >=virtual/opencl-3 )
705 - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
706 - X? (
707 - <x11-base/xorg-server-1.20.99:=
708 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
709 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
710 - sys-libs/zlib[${MULTILIB_USEDEP}]
711 - )
712 - kernel_linux? ( net-libs/libtirpc )
713 -"
714 -QA_PREBUILT="opt/* usr/lib*"
715 -S=${WORKDIR}/
716 -PATCHES=(
717 - "${FILESDIR}"/${PN}-440.26-locale.patch
718 -)
719 -NV_KV_MAX_PLUS="5.10"
720 -CONFIG_CHECK="
721 - !DEBUG_MUTEXES
722 - ~!I2C_NVIDIA_GPU
723 - ~!LOCKDEP
724 - ~DRM
725 - ~DRM_KMS_HELPER
726 - ~SYSVIPC
727 -"
728 -
729 -pkg_pretend() {
730 - nvidia-driver_check
731 -}
732 -
733 -pkg_setup() {
734 - nvidia-driver_check
735 -
736 - # try to turn off distcc and ccache for people that have a problem with it
737 - export DISTCC_DISABLE=1
738 - export CCACHE_DISABLE=1
739 -
740 - if use driver && use kernel_linux; then
741 - MODULE_NAMES="nvidia(video:${S}/kernel)"
742 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
743 - use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
744 -
745 - # This needs to run after MODULE_NAMES (so that the eclass checks
746 - # whether the kernel supports loadable modules) but before BUILD_PARAMS
747 - # is set (so that KV_DIR is populated).
748 - linux-mod_pkg_setup
749 -
750 - BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
751 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
752 -
753 - # linux-mod_src_compile calls set_arch_to_kernel, which
754 - # sets the ARCH to x86 but NVIDIA's wrapping Makefile
755 - # expects x86_64 or i386 and then converts it to x86
756 - # later on in the build process
757 - BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
758 -
759 - if kernel_is lt 2 6 9; then
760 - eerror "You must build this against 2.6.9 or higher kernels."
761 - fi
762 - fi
763 -
764 - # set variables to where files are in the package structure
765 - if use kernel_FreeBSD; then
766 - use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
767 - NV_DOC="${S}/doc"
768 - NV_OBJ="${S}/obj"
769 - NV_SRC="${S}/src"
770 - NV_MAN="${S}/x11/man"
771 - NV_X11="${S}/obj"
772 - NV_SOVER=1
773 - elif use kernel_linux; then
774 - NV_DOC="${S}"
775 - NV_OBJ="${S}"
776 - NV_SRC="${S}/kernel"
777 - NV_MAN="${S}"
778 - NV_X11="${S}"
779 - NV_SOVER=${PV}
780 - else
781 - die "Could not determine proper NVIDIA package"
782 - fi
783 -}
784 -
785 -src_configure() {
786 - tc-export AR CC LD OBJCOPY
787 -
788 - default
789 -}
790 -
791 -src_prepare() {
792 - local man_file
793 - for man_file in "${NV_MAN}"/*1.gz; do
794 - gunzip $man_file || die
795 - done
796 -
797 - if use tools; then
798 - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
799 - sed -i \
800 - -e "s:@PV@:${PV}:g" \
801 - "${WORKDIR}"/nvidia-settings-linker.patch \
802 - || die
803 - eapply "${WORKDIR}"/nvidia-settings-linker.patch
804 - fi
805 -
806 - default
807 -
808 - if ! [ -f nvidia_icd.json ]; then
809 - cp nvidia_icd.json.template nvidia_icd.json || die
810 - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
811 - fi
812 -}
813 -
814 -src_compile() {
815 - cd "${NV_SRC}"
816 - if use kernel_FreeBSD; then
817 - MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
818 - LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
819 - elif use driver && use kernel_linux; then
820 - BUILD_TARGETS=module linux-mod_src_compile \
821 - KERNELRELEASE="${KV_FULL}" \
822 - src="${KERNEL_DIR}"
823 - fi
824 -
825 - if use tools; then
826 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
827 - DO_STRIP= \
828 - LIBDIR="$(get_libdir)" \
829 - NVLD="$(tc-getLD)" \
830 - NV_VERBOSE=1 \
831 - OUTPUTDIR=. \
832 - RANLIB="$(tc-getRANLIB)"
833 -
834 - emake -C "${S}"/nvidia-settings-${PV}/src \
835 - DO_STRIP= \
836 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
837 - LIBDIR="$(get_libdir)" \
838 - NVLD="$(tc-getLD)" \
839 - NVML_ENABLED=0 \
840 - NV_USE_BUNDLED_LIBJANSSON=0 \
841 - NV_VERBOSE=1 \
842 - OUTPUTDIR=.
843 - fi
844 -}
845 -
846 -# Install nvidia library:
847 -# the first parameter is the library to install
848 -# the second parameter is the provided soversion
849 -# the third parameter is the target directory if it is not /usr/lib
850 -donvidia() {
851 - # Full path to library
852 - nv_LIB="${1}"
853 -
854 - # SOVER to use
855 - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
856 -
857 - # Where to install
858 - nv_DEST="${2}"
859 -
860 - # Get just the library name
861 - nv_LIBNAME=$(basename "${nv_LIB}")
862 -
863 - if [[ "${nv_DEST}" ]]; then
864 - exeinto ${nv_DEST}
865 - action="doexe"
866 - else
867 - nv_DEST="/usr/$(get_libdir)"
868 - action="dolib.so"
869 - fi
870 -
871 - # Install the library
872 - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
873 -
874 - # If the library has a SONAME and SONAME does not match the library name,
875 - # then we need to create a symlink
876 - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
877 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
878 - fi
879 -
880 - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
881 -}
882 -
883 -src_install() {
884 - if use driver && use kernel_linux; then
885 - linux-mod_src_install
886 -
887 - # Add the aliases
888 - # This file is tweaked with the appropriate video group in
889 - # pkg_preinst, see bug #491414
890 - insinto /etc/modprobe.d
891 - newins "${FILESDIR}"/nvidia-430.conf nvidia.conf
892 -
893 - if use uvm; then
894 - doins "${FILESDIR}"/nvidia-rmmod.conf
895 - udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
896 - else
897 - sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
898 - > "${T}"/nvidia-rmmod.conf || die
899 - doins "${T}"/nvidia-rmmod.conf
900 - fi
901 -
902 - # Ensures that our device nodes are created when not using X
903 - exeinto "$(get_udevdir)"
904 - newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
905 - udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
906 - elif use kernel_FreeBSD; then
907 - if use x86-fbsd; then
908 - insinto /boot/modules
909 - doins "${S}/src/nvidia.kld"
910 - fi
911 -
912 - exeinto /boot/modules
913 - doexe "${S}/src/nvidia.ko"
914 - fi
915 -
916 - # NVIDIA kernel <-> userspace driver config lib
917 - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
918 -
919 - # NVIDIA framebuffer capture library
920 - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
921 -
922 - # NVIDIA video encode/decode <-> CUDA
923 - if use kernel_linux; then
924 - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
925 - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
926 - fi
927 -
928 - if use X; then
929 - # Xorg DDX driver
930 - insinto /usr/$(get_libdir)/xorg/modules/drivers
931 - doins ${NV_X11}/nvidia_drv.so
932 -
933 - # Xorg GLX driver
934 - donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
935 - /usr/$(get_libdir)/xorg/modules/extensions
936 -
937 - # Xorg nvidia.conf
938 - if has_version '>=x11-base/xorg-server-1.16'; then
939 - insinto /usr/share/X11/xorg.conf.d
940 - newins {,50-}nvidia-drm-outputclass.conf
941 - fi
942 -
943 - insinto /usr/share/glvnd/egl_vendor.d
944 - doins ${NV_X11}/10_nvidia.json
945 - fi
946 -
947 - if use wayland; then
948 - insinto /usr/share/egl/egl_external_platform.d
949 - doins ${NV_X11}/10_nvidia_wayland.json
950 - fi
951 -
952 - insinto /etc/vulkan/icd.d
953 - doins nvidia_icd.json
954 -
955 - insinto /etc/vulkan/implicit_layer.d
956 - doins nvidia_layers.json
957 -
958 - # OpenCL ICD for NVIDIA
959 - if use kernel_linux; then
960 - insinto /etc/OpenCL/vendors
961 - doins ${NV_OBJ}/nvidia.icd
962 - fi
963 -
964 - # Helper Apps
965 - exeinto /opt/bin/
966 -
967 - if use X; then
968 - doexe ${NV_OBJ}/nvidia-xconfig
969 - fi
970 -
971 - if use kernel_linux; then
972 - doexe ${NV_OBJ}/nvidia-cuda-mps-control
973 - doexe ${NV_OBJ}/nvidia-cuda-mps-server
974 - doexe ${NV_OBJ}/nvidia-debugdump
975 - doexe ${NV_OBJ}/nvidia-persistenced
976 - doexe ${NV_OBJ}/nvidia-smi
977 -
978 - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
979 - doexe ${NV_OBJ}/nvidia-modprobe
980 - fowners root:video /opt/bin/nvidia-modprobe
981 - fperms 4710 /opt/bin/nvidia-modprobe
982 - dosym /{opt,usr}/bin/nvidia-modprobe
983 -
984 - doman nvidia-cuda-mps-control.1
985 - doman nvidia-modprobe.1
986 - doman nvidia-persistenced.1
987 - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
988 - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
989 - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
990 - fi
991 -
992 - if use tools; then
993 - emake -C "${S}"/nvidia-settings-${PV}/src/ \
994 - DESTDIR="${D}" \
995 - DO_STRIP= \
996 - GTK3_AVAILABLE=$(usex gtk3 1 0) \
997 - LIBDIR="${D}/usr/$(get_libdir)" \
998 - NV_USE_BUNDLED_LIBJANSSON=0 \
999 - NV_VERBOSE=1 \
1000 - OUTPUTDIR=. \
1001 - PREFIX=/usr \
1002 - install
1003 -
1004 - if use static-libs; then
1005 - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
1006 -
1007 - insinto /usr/include/NVCtrl
1008 - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
1009 - fi
1010 -
1011 - insinto /usr/share/nvidia/
1012 - doins nvidia-application-profiles-${PV}-key-documentation
1013 -
1014 - insinto /etc/nvidia
1015 - newins \
1016 - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
1017 -
1018 - # There is no icon in the FreeBSD tarball.
1019 - use kernel_FreeBSD || \
1020 - doicon ${NV_OBJ}/nvidia-settings.png
1021 -
1022 - domenu "${FILESDIR}"/nvidia-settings.desktop
1023 -
1024 - exeinto /etc/X11/xinit/xinitrc.d
1025 - newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
1026 - fi
1027 -
1028 - dobin ${NV_OBJ}/nvidia-bug-report.sh
1029 -
1030 - systemd_dounit *.service
1031 - dobin nvidia-sleep.sh
1032 - exeinto /lib/systemd/system-sleep
1033 - doexe nvidia
1034 -
1035 - if has_multilib_profile && use multilib; then
1036 - local OABI=${ABI}
1037 - for ABI in $(multilib_get_enabled_abis); do
1038 - src_install-libs
1039 - done
1040 - ABI=${OABI}
1041 - unset OABI
1042 - else
1043 - src_install-libs
1044 - fi
1045 -
1046 - is_final_abi || die "failed to iterate through all ABIs"
1047 -
1048 - # Documentation
1049 - if use kernel_FreeBSD; then
1050 - dodoc "${NV_DOC}/README"
1051 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1052 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1053 - else
1054 - # Docs
1055 - newdoc "${NV_DOC}/README.txt" README
1056 - dodoc "${NV_DOC}/NVIDIA_Changelog"
1057 - doman "${NV_MAN}"/nvidia-smi.1
1058 - use X && doman "${NV_MAN}"/nvidia-xconfig.1
1059 - use tools && doman "${NV_MAN}"/nvidia-settings.1
1060 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1
1061 - fi
1062 -
1063 - readme.gentoo_create_doc
1064 -
1065 - dodoc supported-gpus.json
1066 -
1067 - docinto html
1068 - dodoc -r ${NV_DOC}/html/*
1069 -}
1070 -
1071 -src_install-libs() {
1072 - local inslibdir=$(get_libdir)
1073 - if use libglvnd; then
1074 - local GL_ROOT="/usr/$(get_libdir)"
1075 - else
1076 - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
1077 - fi
1078 - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
1079 - local nv_libdir="${NV_OBJ}"
1080 -
1081 - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
1082 - nv_libdir="${NV_OBJ}"/32
1083 - fi
1084 -
1085 - if use X; then
1086 - NV_GLX_LIBRARIES=(
1087 - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1088 - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1089 - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1090 - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1091 - "libOpenCL.so.1.0.0 ${CL_ROOT}"
1092 - "libcuda.so.${NV_SOVER}"
1093 - "libnvcuvid.so.${NV_SOVER}"
1094 - "libnvidia-compiler.so.${NV_SOVER}"
1095 - "libnvidia-eglcore.so.${NV_SOVER}"
1096 - "libnvidia-encode.so.${NV_SOVER}"
1097 - "libnvidia-fbc.so.${NV_SOVER}"
1098 - "libnvidia-glcore.so.${NV_SOVER}"
1099 - "libnvidia-glsi.so.${NV_SOVER}"
1100 - "libnvidia-glvkspirv.so.${NV_SOVER}"
1101 - "libnvidia-ifr.so.${NV_SOVER}"
1102 - "libnvidia-opencl.so.${NV_SOVER}"
1103 - "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
1104 - "libvdpau_nvidia.so.${NV_SOVER}"
1105 - )
1106 - if ! use libglvnd; then
1107 - NV_GLX_LIBRARIES+=(
1108 - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
1109 - "libGL.so.1.7.0 ${GL_ROOT}"
1110 - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
1111 - "libGLESv2.so.2.1.0 ${GL_ROOT}"
1112 - "libGLX.so.0 ${GL_ROOT}"
1113 - "libGLdispatch.so.0 ${GL_ROOT}"
1114 - "libOpenGL.so.0 ${GL_ROOT}"
1115 - )
1116 - fi
1117 -
1118 - if use wayland && [[ ${ABI} == "amd64" ]];
1119 - then
1120 - NV_GLX_LIBRARIES+=(
1121 - "libnvidia-egl-wayland.so.1.1.5"
1122 - )
1123 - fi
1124 -
1125 - if use kernel_FreeBSD; then
1126 - NV_GLX_LIBRARIES+=(
1127 - "libnvidia-tls.so.${NV_SOVER}"
1128 - )
1129 - fi
1130 -
1131 - if use kernel_linux; then
1132 - NV_GLX_LIBRARIES+=(
1133 - "libnvidia-ml.so.${NV_SOVER}"
1134 - "libnvidia-tls.so.${NV_SOVER}"
1135 - )
1136 - fi
1137 -
1138 - if use kernel_linux && [[ ${ABI} == "amd64" ]];
1139 - then
1140 - NV_GLX_LIBRARIES+=(
1141 - "libnvidia-cbl.so.${NV_SOVER}"
1142 - "libnvidia-ngx.so.${NV_SOVER}"
1143 - "libnvidia-rtcore.so.${NV_SOVER}"
1144 - "libnvoptix.so.${NV_SOVER}"
1145 - )
1146 - fi
1147 -
1148 - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
1149 - donvidia "${nv_libdir}"/${NV_LIB}
1150 - done
1151 - fi
1152 -}
1153 -
1154 -pkg_preinst() {
1155 - if use driver && use kernel_linux; then
1156 - linux-mod_pkg_preinst
1157 -
1158 - local videogroup="$(getent group video | cut -d ':' -f 3)"
1159 - if [ -z "${videogroup}" ]; then
1160 - eerror "Failed to determine the video group gid"
1161 - die "Failed to determine the video group gid"
1162 - else
1163 - sed -i \
1164 - -e "s:PACKAGE:${PF}:g" \
1165 - -e "s:VIDEOGID:${videogroup}:" \
1166 - "${D}"/etc/modprobe.d/nvidia.conf || die
1167 - fi
1168 - fi
1169 -
1170 - # Clean the dynamic libGL stuff's home to ensure
1171 - # we dont have stale libs floating around
1172 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
1173 - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
1174 - fi
1175 - # Make sure we nuke the old nvidia-glx's env.d file
1176 - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
1177 - rm -f "${ROOT}"/etc/env.d/09nvidia
1178 - fi
1179 -}
1180 -
1181 -pkg_postinst() {
1182 - use driver && use kernel_linux && linux-mod_pkg_postinst
1183 -
1184 - readme.gentoo_print_elog
1185 -
1186 - if ! use X; then
1187 - elog "You have elected to not install the X.org driver. Along with"
1188 - elog "this the OpenGL libraries and VDPAU libraries were not"
1189 - elog "installed. Additionally, once the driver is loaded your card"
1190 - elog "and fan will run at max speed which may not be desirable."
1191 - elog "Use the 'nvidia-smi' init script to have your card and fan"
1192 - elog "speed scale appropriately."
1193 - elog
1194 - fi
1195 - if ! use tools; then
1196 - elog "USE=tools controls whether the nvidia-settings application"
1197 - elog "is installed. If you would like to use it, enable that"
1198 - elog "flag and re-emerge this ebuild. Optionally you can install"
1199 - elog "media-video/nvidia-settings"
1200 - elog
1201 - fi
1202 -
1203 - elog "To enable nvidia sleep services under systemd, run these commands:"
1204 - elog " systemctl enable nvidia-suspend.service"
1205 - elog " systemctl enable nvidia-hibernate.service"
1206 - elog " systemctl enable nvidia-resume.service"
1207 - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a"
1208 - elog "suitable path in case the default of /tmp does not work for you"
1209 - elog "For more information see:"
1210 - elog "${ROOT}/usr/share/doc/${PF}/html/powermanagement.html"
1211 -}
1212 -
1213 -pkg_postrm() {
1214 - use driver && use kernel_linux && linux-mod_pkg_postrm
1215 -}