1 |
commit: 72985b822334d3d2d0e5aaab1041a83fec37ecd5 |
2 |
Author: Jeroen Roovers <jer <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Jan 29 06:21:16 2016 +0000 |
4 |
Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Jan 29 06:21:16 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72985b82 |
7 |
|
8 |
x11-drivers/nvidia-drivers: Old. |
9 |
|
10 |
Package-Manager: portage-2.2.27 |
11 |
|
12 |
x11-drivers/nvidia-drivers/Manifest | 1 - |
13 |
.../nvidia-drivers/nvidia-drivers-352.68.ebuild | 487 --------------------- |
14 |
2 files changed, 488 deletions(-) |
15 |
|
16 |
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest |
17 |
index f5a434e..37dde55 100644 |
18 |
--- a/x11-drivers/nvidia-drivers/Manifest |
19 |
+++ b/x11-drivers/nvidia-drivers/Manifest |
20 |
@@ -28,7 +28,6 @@ DIST NVIDIA-Linux-x86_64-304.131.run 69415084 SHA256 74b7ec1c31dac03ee7c3e04612c |
21 |
DIST NVIDIA-Linux-x86_64-340.96.run 69824601 SHA256 a7553a5749679994642ef0262906e6431dce354c03052151d9821d29dad7470d SHA512 6ffa4567ef6f5e09bcd50760b87baa2abe6a6ed1fbc280319101cc6582f2a381c36ab3fd1b4d74bcb5748adc3b82881618673ef77e5fe1a74c19a657774bcd87 WHIRLPOOL 823488bf9e338fee314d84c7ad2af6556548b94437c98094ca42911d74f19b5f44ee9809bb112a244016dadfdb372232365a355a4d40eaf685f5e0fa13868b58 |
22 |
DIST NVIDIA-Linux-x86_64-346.96.run 73538317 SHA256 229b28a6b65965a248d07223d941de7d79b54cee7c6574f1037293e8a8026727 SHA512 188f8aac88085c3cac9637e87f4d9259d0c508075bbbf684775650a12f4760f47ba9e92f79e8bbe96d33ee014092edd38efce7dd730f67e0f11c2079eca938c5 WHIRLPOOL c9f4a5163018dc0b53aeff84b410cb34720d06ca7bdd17ce166ad3a2b057ffe94e6773594cd617fce79d9d0a02e5e1cd0525ca30dade7247ad5b7b20ff661a64 |
23 |
DIST NVIDIA-Linux-x86_64-352.63.run 77647248 SHA256 3705a122fbd4fe04f4077dea7ba8b1127f1a9b40e92f3abc7afa91964e817e2a SHA512 37b38be1e9394aa8bdd33cfbdf3c16ed62b16f852f76e013fb5573803e057ac51f6728ff594f7d48008871d9503fe64bb6e2dfc00b4415a62894f7f26c6ad719 WHIRLPOOL df8debfe7655982a7ca2194cdd833e8dcdb69250077c18551a0b93c31eadeea793b21118ecdc7b9f59721ab0f8431a0442152d3d685a1afac87587dbed3ec816 |
24 |
-DIST NVIDIA-Linux-x86_64-352.68.run 77591852 SHA256 104ad0b5e52fea5a1c181dee977a5bc2bc07ba605c5f0de76271c183ee9b1982 SHA512 b46c0c3f3e31bf45df745a83413cd2e6e48d6125da10005399ffa01056f845ae6713d7730469a5e5a6c4645347ce376616c2b057d6520a83e70655ccb93a3179 WHIRLPOOL 7b162b32dcac4df476a6281c94953e261d8b0debb6e014619187a92444037efdb2bd3fe0ea5f800835f9f10568ca5555aecec621efc61b5c9ad4be1785505d9e |
25 |
DIST NVIDIA-Linux-x86_64-352.79.run 77140528 SHA256 e05a825a5e0027f062b1a1344ff3484286f50df990d66d567348b80101a0c4e3 SHA512 b54257e9aa6f6353d4f149d4dfab5ea12bf1907260ad98fd9102da1b458c1cf32e28707c8c5136efdaeccd0f60e6e013736b349a59ea50044dceddf265afa38b WHIRLPOOL 25be659c5784558c42c4f2fb0b50d5d56c0419f175ad8c019e00bdc033707297668705e051e4f176fff67340ec68054848a8b3aa5a9922ee0c9f9a270787a6d6 |
26 |
DIST NVIDIA-Linux-x86_64-355.11.run 76490009 SHA256 a59b425381add9d9058dc2d987bf3087ab59c43224b5eb04c3f273f5886451ed SHA512 bfc7ab7741183408aa0226dc29176c8ffe08566fbea7cebf78f4aa30627dc27ddf90bb82951c99006b34bc481be15712b4f5867ef543a32bfe3fe81a8e6ddeae WHIRLPOOL bb5d3397a855a53c2cd7e48056564085b906550f856207932e4670fef995030a3a7bcc0a9b97fee2e60aaff9b41c4a954afc57585441f5dec92c795358da810a |
27 |
DIST NVIDIA-Linux-x86_64-361.18.run 86447500 SHA256 94cccc3ff10ee9544f60bf1d32d04dddabc5103880b57895ea60e1167b89a155 SHA512 d307b50226b145761de69892c51af3cd4498b91f9c56b5d5bf7b1f4f00cc073af586008cb060a16c036426240853ed30d244e63d3f727eadf39338736a5c0b02 WHIRLPOOL 87e03bfe694f708d57fb548c01d853bbae1335a696bce225ce997000387189b55c27644922a051e9a50dfa94ec917bda14b6ed4b76f345c8adc8d8f54aebff97 |
28 |
|
29 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild |
30 |
deleted file mode 100644 |
31 |
index 9d736ec..0000000 |
32 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-352.68.ebuild |
33 |
+++ /dev/null |
34 |
@@ -1,487 +0,0 @@ |
35 |
-# Copyright 1999-2015 Gentoo Foundation |
36 |
-# Distributed under the terms of the GNU General Public License v2 |
37 |
-# $Id$ |
38 |
- |
39 |
-EAPI=5 |
40 |
- |
41 |
-inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ |
42 |
- portability toolchain-funcs unpacker user udev |
43 |
- |
44 |
-NV_URI="http://us.download.nvidia.com/XFree86/" |
45 |
-X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" |
46 |
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" |
47 |
-X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" |
48 |
-AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}" |
49 |
- |
50 |
-DESCRIPTION="NVIDIA Accelerated Graphics Driver" |
51 |
-HOMEPAGE="http://www.nvidia.com/" |
52 |
-SRC_URI=" |
53 |
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) |
54 |
-" |
55 |
- |
56 |
-LICENSE="GPL-2 NVIDIA-r2" |
57 |
-SLOT="0/${PV%.*}" |
58 |
-KEYWORDS="-* ~amd64" |
59 |
-RESTRICT="bindist mirror strip" |
60 |
-EMULTILIB_PKG="true" |
61 |
- |
62 |
-IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools gtk2 gtk3 +X uvm" |
63 |
-REQUIRED_USE=" |
64 |
- tools? ( X || ( gtk2 gtk3 ) ) |
65 |
-" |
66 |
- |
67 |
-COMMON=" |
68 |
- app-eselect/eselect-opencl |
69 |
- kernel_linux? ( >=sys-libs/glibc-2.6.1 ) |
70 |
- X? ( |
71 |
- >=app-eselect/eselect-opengl-1.0.9 |
72 |
- ) |
73 |
-" |
74 |
-DEPEND=" |
75 |
- ${COMMON} |
76 |
- app-arch/xz-utils |
77 |
- kernel_linux? ( virtual/linux-sources ) |
78 |
-" |
79 |
-RDEPEND=" |
80 |
- ${COMMON} |
81 |
- acpi? ( sys-power/acpid ) |
82 |
- tools? ( |
83 |
- dev-libs/atk |
84 |
- dev-libs/glib:2 |
85 |
- x11-libs/gdk-pixbuf |
86 |
- gtk2? ( >=x11-libs/gtk+-2.4:2 ) |
87 |
- gtk3? ( x11-libs/gtk+:3 ) |
88 |
- x11-libs/libX11 |
89 |
- x11-libs/libXext |
90 |
- x11-libs/pango[X] |
91 |
- ) |
92 |
- X? ( |
93 |
- <x11-base/xorg-server-1.17.99:= |
94 |
- >=x11-libs/libvdpau-0.3-r1 |
95 |
- multilib? ( |
96 |
- >=x11-libs/libX11-1.6.2[abi_x86_32] |
97 |
- >=x11-libs/libXext-1.3.2[abi_x86_32] |
98 |
- ) |
99 |
- ) |
100 |
-" |
101 |
- |
102 |
-QA_PREBUILT="opt/* usr/lib*" |
103 |
- |
104 |
-S=${WORKDIR}/ |
105 |
- |
106 |
-pkg_pretend() { |
107 |
- if use amd64 && has_multilib_profile && \ |
108 |
- [ "${DEFAULT_ABI}" != "amd64" ]; then |
109 |
- eerror "This ebuild doesn't currently support changing your default ABI" |
110 |
- die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" |
111 |
- fi |
112 |
- |
113 |
- if use kernel_linux && kernel_is ge 4 4; then |
114 |
- ewarn "Gentoo supports kernels which are supported by NVIDIA" |
115 |
- ewarn "which are limited to the following kernels:" |
116 |
- ewarn "<sys-kernel/gentoo-sources-4.4" |
117 |
- ewarn "<sys-kernel/vanilla-sources-4.4" |
118 |
- ewarn "" |
119 |
- ewarn "You are free to utilize epatch_user to provide whatever" |
120 |
- ewarn "support you feel is appropriate, but will not receive" |
121 |
- ewarn "support as a result of those changes." |
122 |
- ewarn "" |
123 |
- ewarn "Do not file a bug report about this." |
124 |
- ewarn "" |
125 |
- fi |
126 |
- |
127 |
- # Since Nvidia ships many different series of drivers, we need to give the user |
128 |
- # some kind of guidance as to what version they should install. This tries |
129 |
- # to point the user in the right direction but can't be perfect. check |
130 |
- # nvidia-driver.eclass |
131 |
- nvidia-driver-check-warning |
132 |
- |
133 |
- # Kernel features/options to check for |
134 |
- CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP" |
135 |
- use x86 && CONFIG_CHECK+=" ~HIGHMEM" |
136 |
- |
137 |
- # Now do the above checks |
138 |
- use kernel_linux && check_extra_config |
139 |
-} |
140 |
- |
141 |
-pkg_setup() { |
142 |
- # try to turn off distcc and ccache for people that have a problem with it |
143 |
- export DISTCC_DISABLE=1 |
144 |
- export CCACHE_DISABLE=1 |
145 |
- |
146 |
- if use kernel_linux; then |
147 |
- MODULE_NAMES="nvidia(video:${S}/kernel)" |
148 |
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)" |
149 |
- |
150 |
- # This needs to run after MODULE_NAMES (so that the eclass checks |
151 |
- # whether the kernel supports loadable modules) but before BUILD_PARAMS |
152 |
- # is set (so that KV_DIR is populated). |
153 |
- linux-mod_pkg_setup |
154 |
- |
155 |
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \ |
156 |
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)" |
157 |
- |
158 |
- # linux-mod_src_compile calls set_arch_to_kernel, which |
159 |
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile |
160 |
- # expects x86_64 or i386 and then converts it to x86 |
161 |
- # later on in the build process |
162 |
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')" |
163 |
- fi |
164 |
- |
165 |
- # set variables to where files are in the package structure |
166 |
- if use kernel_FreeBSD; then |
167 |
- use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}" |
168 |
- use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}" |
169 |
- NV_DOC="${S}/doc" |
170 |
- NV_OBJ="${S}/obj" |
171 |
- NV_SRC="${S}/src" |
172 |
- NV_MAN="${S}/x11/man" |
173 |
- NV_X11="${S}/obj" |
174 |
- NV_SOVER=1 |
175 |
- elif use kernel_linux; then |
176 |
- NV_DOC="${S}" |
177 |
- NV_OBJ="${S}" |
178 |
- NV_SRC="${S}/kernel" |
179 |
- NV_MAN="${S}" |
180 |
- NV_X11="${S}" |
181 |
- NV_SOVER=${PV} |
182 |
- else |
183 |
- die "Could not determine proper NVIDIA package" |
184 |
- fi |
185 |
-} |
186 |
- |
187 |
-src_prepare() { |
188 |
- # Please add a brief description for every added patch |
189 |
- |
190 |
- if use kernel_linux; then |
191 |
- if kernel_is lt 2 6 9 ; then |
192 |
- eerror "You must build this against 2.6.9 or higher kernels." |
193 |
- fi |
194 |
- |
195 |
- # If greater than 2.6.5 use M= instead of SUBDIR= |
196 |
-# convert_to_m "${NV_SRC}"/Makefile.kbuild |
197 |
- fi |
198 |
- |
199 |
- if use pax_kernel; then |
200 |
- ewarn "Using PAX patches is not supported. You will be asked to" |
201 |
- ewarn "use a standard kernel should you have issues. Should you" |
202 |
- ewarn "need support with these patches, contact the PaX team." |
203 |
- epatch "${FILESDIR}"/${PN}-346.16-pax-usercopy.patch |
204 |
- epatch "${FILESDIR}"/${PN}-346.16-pax-constify.patch |
205 |
- fi |
206 |
- |
207 |
- # Allow user patches so they can support RC kernels and whatever else |
208 |
- epatch_user |
209 |
-} |
210 |
- |
211 |
-src_compile() { |
212 |
- # This is already the default on Linux, as there's no toplevel Makefile, but |
213 |
- # on FreeBSD there's one and triggers the kernel module build, as we install |
214 |
- # it by itself, pass this. |
215 |
- |
216 |
- cd "${NV_SRC}" |
217 |
- if use kernel_FreeBSD; then |
218 |
- MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \ |
219 |
- LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die |
220 |
- elif use kernel_linux; then |
221 |
- MAKEOPTS=-j1 |
222 |
- linux-mod_src_compile |
223 |
- fi |
224 |
-} |
225 |
- |
226 |
-# Install nvidia library: |
227 |
-# the first parameter is the library to install |
228 |
-# the second parameter is the provided soversion |
229 |
-# the third parameter is the target directory if its not /usr/lib |
230 |
-donvidia() { |
231 |
- # Full path to library minus SOVER |
232 |
- MY_LIB="$1" |
233 |
- |
234 |
- # SOVER to use |
235 |
- MY_SOVER="$2" |
236 |
- |
237 |
- # Where to install |
238 |
- MY_DEST="$3" |
239 |
- |
240 |
- if [[ -z "${MY_DEST}" ]]; then |
241 |
- MY_DEST="/usr/$(get_libdir)" |
242 |
- action="dolib.so" |
243 |
- else |
244 |
- exeinto ${MY_DEST} |
245 |
- action="doexe" |
246 |
- fi |
247 |
- |
248 |
- # Get just the library name |
249 |
- libname=$(basename $1) |
250 |
- |
251 |
- # Install the library with the correct SOVER |
252 |
- ${action} ${MY_LIB}.${MY_SOVER} || \ |
253 |
- die "failed to install ${libname}" |
254 |
- |
255 |
- # If SOVER wasn't 1, then we need to create a .1 symlink |
256 |
- if [[ "${MY_SOVER}" != "1" ]]; then |
257 |
- dosym ${libname}.${MY_SOVER} \ |
258 |
- ${MY_DEST}/${libname}.1 || \ |
259 |
- die "failed to create ${libname} symlink" |
260 |
- fi |
261 |
- |
262 |
- # Always create the symlink from the raw lib to the .1 |
263 |
- dosym ${libname}.1 \ |
264 |
- ${MY_DEST}/${libname} || \ |
265 |
- die "failed to create ${libname} symlink" |
266 |
-} |
267 |
- |
268 |
-src_install() { |
269 |
- if use kernel_linux; then |
270 |
- linux-mod_src_install |
271 |
- |
272 |
- # Add the aliases |
273 |
- # This file is tweaked with the appropriate video group in |
274 |
- # pkg_preinst, see bug #491414 |
275 |
- insinto /etc/modprobe.d |
276 |
- newins "${FILESDIR}"/nvidia-169.07 nvidia.conf |
277 |
- use uvm && doins "${FILESDIR}"/nvidia-uvm.conf |
278 |
- |
279 |
- # Ensures that our device nodes are created when not using X |
280 |
- exeinto "$(get_udevdir)" |
281 |
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh |
282 |
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules |
283 |
- elif use kernel_FreeBSD; then |
284 |
- if use x86-fbsd; then |
285 |
- insinto /boot/modules |
286 |
- doins "${S}/src/nvidia.kld" |
287 |
- fi |
288 |
- |
289 |
- exeinto /boot/modules |
290 |
- doexe "${S}/src/nvidia.ko" |
291 |
- fi |
292 |
- |
293 |
- # NVIDIA kernel <-> userspace driver config lib |
294 |
- donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER} |
295 |
- |
296 |
- # NVIDIA framebuffer capture library |
297 |
- donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER} |
298 |
- |
299 |
- # NVIDIA video encode/decode <-> CUDA |
300 |
- if use kernel_linux; then |
301 |
- donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER} |
302 |
- donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER} |
303 |
- fi |
304 |
- |
305 |
- if use X; then |
306 |
- # Xorg DDX driver |
307 |
- insinto /usr/$(get_libdir)/xorg/modules/drivers |
308 |
- doins ${NV_X11}/nvidia_drv.so |
309 |
- |
310 |
- # Xorg GLX driver |
311 |
- donvidia ${NV_X11}/libglx.so ${NV_SOVER} \ |
312 |
- /usr/$(get_libdir)/opengl/nvidia/extensions |
313 |
- |
314 |
- # Xorg nvidia.conf |
315 |
- if has_version '>=x11-base/xorg-server-1.16'; then |
316 |
- insinto /usr/share/X11/xorg.conf.d |
317 |
- newins {,50-}nvidia-drm-outputclass.conf |
318 |
- fi |
319 |
- fi |
320 |
- |
321 |
- # OpenCL ICD for NVIDIA |
322 |
- if use kernel_linux; then |
323 |
- insinto /etc/OpenCL/vendors |
324 |
- doins ${NV_OBJ}/nvidia.icd |
325 |
- fi |
326 |
- |
327 |
- # Documentation |
328 |
- dohtml ${NV_DOC}/html/* |
329 |
- if use kernel_FreeBSD; then |
330 |
- dodoc "${NV_DOC}/README" |
331 |
- use X && doman "${NV_MAN}/nvidia-xconfig.1" |
332 |
- use tools && doman "${NV_MAN}/nvidia-settings.1" |
333 |
- else |
334 |
- # Docs |
335 |
- newdoc "${NV_DOC}/README.txt" README |
336 |
- dodoc "${NV_DOC}/NVIDIA_Changelog" |
337 |
- doman "${NV_MAN}/nvidia-smi.1.gz" |
338 |
- use X && doman "${NV_MAN}/nvidia-xconfig.1.gz" |
339 |
- use tools && doman "${NV_MAN}/nvidia-settings.1.gz" |
340 |
- doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz" |
341 |
- fi |
342 |
- |
343 |
- # Helper Apps |
344 |
- exeinto /opt/bin/ |
345 |
- |
346 |
- if use X; then |
347 |
- doexe ${NV_OBJ}/nvidia-xconfig |
348 |
- fi |
349 |
- |
350 |
- if use kernel_linux ; then |
351 |
- doexe ${NV_OBJ}/nvidia-cuda-mps-control |
352 |
- doexe ${NV_OBJ}/nvidia-cuda-mps-server |
353 |
- doexe ${NV_OBJ}/nvidia-debugdump |
354 |
- doexe ${NV_OBJ}/nvidia-persistenced |
355 |
- doexe ${NV_OBJ}/nvidia-smi |
356 |
- |
357 |
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) |
358 |
- doexe ${NV_OBJ}/nvidia-modprobe |
359 |
- fowners root:video /opt/bin/nvidia-modprobe |
360 |
- fperms 4710 /opt/bin/nvidia-modprobe |
361 |
- dosym /{opt,usr}/bin/nvidia-modprobe |
362 |
- |
363 |
- doman nvidia-cuda-mps-control.1.gz |
364 |
- doman nvidia-modprobe.1.gz |
365 |
- doman nvidia-persistenced.1.gz |
366 |
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi |
367 |
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced |
368 |
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced |
369 |
- fi |
370 |
- |
371 |
- if use tools; then |
372 |
- doexe ${NV_OBJ}/nvidia-settings |
373 |
- use gtk2 && donvidia libnvidia-gtk2.so ${PV} |
374 |
- use gtk3 && donvidia libnvidia-gtk3.so ${PV} |
375 |
- insinto /usr/share/nvidia/ |
376 |
- doins nvidia-application-profiles-${PV}-key-documentation |
377 |
- insinto /etc/nvidia |
378 |
- newins nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc |
379 |
- fi |
380 |
- |
381 |
- dobin ${NV_OBJ}/nvidia-bug-report.sh |
382 |
- |
383 |
- # Desktop entries for nvidia-settings |
384 |
- if use tools ; then |
385 |
- # There is no icon in the FreeBSD tarball. |
386 |
- use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png |
387 |
- domenu "${FILESDIR}"/${PN}-settings.desktop |
388 |
- exeinto /etc/X11/xinit/xinitrc.d |
389 |
- doexe "${FILESDIR}"/95-nvidia-settings |
390 |
- fi |
391 |
- |
392 |
- #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist |
393 |
- |
394 |
- if has_multilib_profile && use multilib ; then |
395 |
- local OABI=${ABI} |
396 |
- for ABI in $(get_install_abis) ; do |
397 |
- src_install-libs |
398 |
- done |
399 |
- ABI=${OABI} |
400 |
- unset OABI |
401 |
- else |
402 |
- src_install-libs |
403 |
- fi |
404 |
- |
405 |
- is_final_abi || die "failed to iterate through all ABIs" |
406 |
- |
407 |
- readme.gentoo_create_doc |
408 |
-} |
409 |
- |
410 |
-src_install-libs() { |
411 |
- local inslibdir=$(get_libdir) |
412 |
- local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" |
413 |
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" |
414 |
- local libdir=${NV_OBJ} |
415 |
- |
416 |
- if use kernel_linux && has_multilib_profile && \ |
417 |
- [[ ${ABI} == "x86" ]] ; then |
418 |
- libdir=${NV_OBJ}/32 |
419 |
- fi |
420 |
- |
421 |
- if use X; then |
422 |
- # The GLX libraries |
423 |
- donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT} |
424 |
- donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT} |
425 |
- donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT} |
426 |
- donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER} |
427 |
- donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER} |
428 |
- donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER} |
429 |
- donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER} |
430 |
- if use kernel_FreeBSD; then |
431 |
- donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} |
432 |
- else |
433 |
- donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} |
434 |
- fi |
435 |
- |
436 |
- # VDPAU |
437 |
- donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER} |
438 |
- |
439 |
- # GLES v2 libraries |
440 |
- insinto ${GL_ROOT} |
441 |
- doexe ${libdir}/libGLESv2.so.${PV} |
442 |
- dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2 |
443 |
- dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so |
444 |
- fi |
445 |
- |
446 |
- # NVIDIA monitoring library |
447 |
- if use kernel_linux ; then |
448 |
- donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER} |
449 |
- fi |
450 |
- |
451 |
- # CUDA & OpenCL |
452 |
- if use kernel_linux; then |
453 |
- donvidia ${libdir}/libcuda.so ${NV_SOVER} |
454 |
- donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER} |
455 |
- donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT} |
456 |
- donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER} |
457 |
- fi |
458 |
-} |
459 |
- |
460 |
-pkg_preinst() { |
461 |
- if use kernel_linux; then |
462 |
- linux-mod_pkg_preinst |
463 |
- |
464 |
- local videogroup="$(egetent group video | cut -d ':' -f 3)" |
465 |
- if [ -z "${videogroup}" ]; then |
466 |
- eerror "Failed to determine the video group gid" |
467 |
- die "Failed to determine the video group gid" |
468 |
- else |
469 |
- sed -i \ |
470 |
- -e "s:PACKAGE:${PF}:g" \ |
471 |
- -e "s:VIDEOGID:${videogroup}:" \ |
472 |
- "${D}"/etc/modprobe.d/nvidia.conf || die |
473 |
- fi |
474 |
- fi |
475 |
- |
476 |
- # Clean the dynamic libGL stuff's home to ensure |
477 |
- # we dont have stale libs floating around |
478 |
- if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then |
479 |
- rm -rf "${ROOT}"/usr/lib/opengl/nvidia/* |
480 |
- fi |
481 |
- # Make sure we nuke the old nvidia-glx's env.d file |
482 |
- if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then |
483 |
- rm -f "${ROOT}"/etc/env.d/09nvidia |
484 |
- fi |
485 |
-} |
486 |
- |
487 |
-pkg_postinst() { |
488 |
- use kernel_linux && linux-mod_pkg_postinst |
489 |
- |
490 |
- # Switch to the nvidia implementation |
491 |
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia |
492 |
- "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia |
493 |
- |
494 |
- readme.gentoo_print_elog |
495 |
- |
496 |
- if ! use X; then |
497 |
- elog "You have elected to not install the X.org driver. Along with" |
498 |
- elog "this the OpenGL libraries and VDPAU libraries were not" |
499 |
- elog "installed. Additionally, once the driver is loaded your card" |
500 |
- elog "and fan will run at max speed which may not be desirable." |
501 |
- elog "Use the 'nvidia-smi' init script to have your card and fan" |
502 |
- elog "speed scale appropriately." |
503 |
- elog |
504 |
- fi |
505 |
- if ! use tools; then |
506 |
- elog "USE=tools controls whether the nvidia-settings application" |
507 |
- elog "is installed. If you would like to use it, enable that" |
508 |
- elog "flag and re-emerge this ebuild. Optionally you can install" |
509 |
- elog "media-video/nvidia-settings" |
510 |
- elog |
511 |
- fi |
512 |
-} |
513 |
- |
514 |
-pkg_prerm() { |
515 |
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
516 |
-} |
517 |
- |
518 |
-pkg_postrm() { |
519 |
- use kernel_linux && linux-mod_pkg_postrm |
520 |
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
521 |
-} |