Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 598994 | Differences between
and this patch

Collapse All | Expand All

(-)a/nvidia-drivers-375.10-r1.ebuild (-46 / +51 lines)
Lines 31-37 SRC_URI=" Link Here
31
LICENSE="GPL-2 NVIDIA-r2"
31
LICENSE="GPL-2 NVIDIA-r2"
32
SLOT="0/${PV%.*}"
32
SLOT="0/${PV%.*}"
33
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
33
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
34
RESTRICT="bindist mirror"
34
RESTRICT="bindist mirror kernel_FreeBSD? ( strip )"
35
EMULTILIB_PKG="true"
35
EMULTILIB_PKG="true"
36
36
37
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
37
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
Lines 174-184 pkg_setup() { Link Here
174
174
175
src_prepare() {
175
src_prepare() {
176
	if use tools; then
176
	if use tools; then
177
		cp "${DISTDIR}"/nvml.h-${PV} "${S}"/nvidia-settings-${PV}/src/nvml.h || die
177
		cp "${DISTDIR}"/nvml.h-${PV} "${WORKDIR}"/nvidia-settings-${PV}/src/nvml.h || die
178
		sed -i -e 's|-lnvidia-ml|-L../../ &|g' nvidia-settings-${PV}/src/Makefile || die
178
		sed -i -e 's|-lnvidia-ml|-L../../ &|g' "${WORKDIR}"/nvidia-settings-${PV}/src/Makefile || die
179
	fi
179
	fi
180
180
181
	eapply "${FILESDIR}"/${P}-profiles-rc.patch
181
	use kernel_linux && eapply "${FILESDIR}"/${P}-profiles-rc.patch
182
182
183
	if use pax_kernel; then
183
	if use pax_kernel; then
184
		ewarn "Using PAX patches is not supported. You will be asked to"
184
		ewarn "Using PAX patches is not supported. You will be asked to"
Lines 198-211 src_compile() { Link Here
198
198
199
	cd "${NV_SRC}"
199
	cd "${NV_SRC}"
200
	if use kernel_FreeBSD; then
200
	if use kernel_FreeBSD; then
201
		MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
201
		MAKEOPTS=-j1 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake \
202
			LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
202
			CC="$(tc-getCC)" LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
203
	elif use driver && use kernel_linux; then
203
	elif use driver && use kernel_linux; then
204
		MAKEOPTS=-j1 linux-mod_src_compile
204
		MAKEOPTS=-j1 linux-mod_src_compile
205
	fi
205
	fi
206
206
207
	if use tools; then
207
	if use tools; then
208
		emake -C "${S}"/nvidia-settings-${PV}/src \
208
		emake -C "${WORKDIR}"/nvidia-settings-${PV}/src \
209
			AR="$(tc-getAR)" \
209
			AR="$(tc-getAR)" \
210
			CC="$(tc-getCC)" \
210
			CC="$(tc-getCC)" \
211
			LIBDIR="$(get_libdir)" \
211
			LIBDIR="$(get_libdir)" \
Lines 214-220 src_compile() { Link Here
214
			DO_STRIP= \
214
			DO_STRIP= \
215
			build-xnvctrl
215
			build-xnvctrl
216
216
217
		emake -C "${S}"/nvidia-settings-${PV}/src \
217
		emake -C "${WORKDIR}"/nvidia-settings-${PV}/src \
218
			CC="$(tc-getCC)" \
218
			CC="$(tc-getCC)" \
219
			GTK3_AVAILABLE=$(usex gtk3 1 0) \
219
			GTK3_AVAILABLE=$(usex gtk3 1 0) \
220
			LD="$(tc-getCC)" \
220
			LD="$(tc-getCC)" \
Lines 281-303 src_install() { Link Here
281
		newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
281
		newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
282
		udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
282
		udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
283
	elif use kernel_FreeBSD; then
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
284
		exeinto /boot/modules
290
		doexe "${S}/src/nvidia.ko"
285
		doexe "${S}/src/nvidia/nvidia.ko"
286
		doexe "${S}/src/nvidia-modeset/nvidia-modeset.ko"
291
	fi
287
	fi
292
288
293
	# NVIDIA kernel <-> userspace driver config lib
289
	# Linux only function.
294
	donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
290
	if use kernel_linux; then
291
		# NVIDIA kernel <-> userspace driver config lib
292
		donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
295
293
296
	# NVIDIA framebuffer capture library
294
		# NVIDIA framebuffer capture library
297
	donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
295
		donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
298
296
299
	# NVIDIA video encode/decode <-> CUDA
297
		# NVIDIA video encode/decode <-> CUDA
300
	if use kernel_linux; then
301
		donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
298
		donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
302
		donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
299
		donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
303
	fi
300
	fi
Lines 312-318 src_install() { Link Here
312
			/usr/$(get_libdir)/opengl/nvidia/extensions
309
			/usr/$(get_libdir)/opengl/nvidia/extensions
313
310
314
		# Xorg nvidia.conf
311
		# Xorg nvidia.conf
315
		if has_version '>=x11-base/xorg-server-1.16'; then
312
		if use kernel_linux && has_version '>=x11-base/xorg-server-1.16'; then
316
			insinto /usr/share/X11/xorg.conf.d
313
			insinto /usr/share/X11/xorg.conf.d
317
			newins {,50-}nvidia-drm-outputclass.conf
314
			newins {,50-}nvidia-drm-outputclass.conf
318
		fi
315
		fi
Lines 343-349 src_install() { Link Here
343
	# Helper Apps
340
	# Helper Apps
344
	exeinto /opt/bin/
341
	exeinto /opt/bin/
345
342
346
	if use X; then
343
	if use kernel_linux && use X; then
347
		doexe ${NV_OBJ}/nvidia-xconfig
344
		doexe ${NV_OBJ}/nvidia-xconfig
348
345
349
		insinto /etc/vulkan/icd.d
346
		insinto /etc/vulkan/icd.d
Lines 372-378 src_install() { Link Here
372
	fi
369
	fi
373
370
374
	if use tools; then
371
	if use tools; then
375
		emake -C "${S}"/nvidia-settings-${PV}/src/ \
372
		emake -C "${WORKDIR}"/nvidia-settings-${PV}/src/ \
376
			DESTDIR="${D}" \
373
			DESTDIR="${D}" \
377
			GTK3_AVAILABLE=$(usex gtk3 1 0) \
374
			GTK3_AVAILABLE=$(usex gtk3 1 0) \
378
			LIBDIR="${D}/usr/$(get_libdir)" \
375
			LIBDIR="${D}/usr/$(get_libdir)" \
Lines 383-400 src_install() { Link Here
383
			install
380
			install
384
381
385
		if use static-libs; then
382
		if use static-libs; then
386
			dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
383
			dolib.a "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
387
384
388
			insinto /usr/include/NVCtrl
385
			insinto /usr/include/NVCtrl
389
			doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
386
			doins "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
390
		fi
387
		fi
391
388
392
		insinto /usr/share/nvidia/
389
		insinto /usr/share/nvidia/
393
		doins nvidia-application-profiles-${PV}-key-documentation
390
		if use kernel_FreeBSD; then
391
			doins ${NV_DOC}/nvidia-application-profiles-key-documentation
392
		else
393
			doins nvidia-application-profiles-${PV}-key-documentation
394
		fi
394
395
395
		insinto /etc/nvidia
396
		insinto /etc/nvidia
396
		newins \
397
		if use kernel_FreeBSD; then
397
			nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
398
			doins ${NV_OBJ}/nvidia-application-profiles-rc
399
		else
400
			newins \
401
				nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
402
		fi
398
403
399
		# There is no icon in the FreeBSD tarball.
404
		# There is no icon in the FreeBSD tarball.
400
		use kernel_FreeBSD || \
405
		use kernel_FreeBSD || \
Lines 437-465 src_install-libs() { Link Here
437
	if use X; then
442
	if use X; then
438
		NV_GLX_LIBRARIES=(
443
		NV_GLX_LIBRARIES=(
439
			"libEGL.so.1 ${GL_ROOT}"
444
			"libEGL.so.1 ${GL_ROOT}"
440
			"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
445
			"libGL.so.${NV_SOVER} ${GL_ROOT}"
441
			"libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}"
442
			"libGLESv1_CM.so.1 ${GL_ROOT}"
446
			"libGLESv1_CM.so.1 ${GL_ROOT}"
443
			"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
444
			"libGLESv2.so.2 ${GL_ROOT}"
447
			"libGLESv2.so.2 ${GL_ROOT}"
445
			"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
446
			"libGLX.so.0 ${GL_ROOT}"
447
			"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
448
			"libGLdispatch.so.0 ${GL_ROOT}"
449
			"libOpenCL.so.1.0.0 ${CL_ROOT}"
450
			"libOpenGL.so.0 ${GL_ROOT}"
451
			"libcuda.so.${NV_SOVER}"
452
			"libnvcuvid.so.${NV_SOVER}"
453
			"libnvidia-compiler.so.${NV_SOVER}"
454
			"libnvidia-eglcore.so.${NV_SOVER}"
448
			"libnvidia-eglcore.so.${NV_SOVER}"
455
			"libnvidia-encode.so.${NV_SOVER}"
456
			"libnvidia-fatbinaryloader.so.${NV_SOVER}"
457
			"libnvidia-fbc.so.${NV_SOVER}"
458
			"libnvidia-glcore.so.${NV_SOVER}"
449
			"libnvidia-glcore.so.${NV_SOVER}"
459
			"libnvidia-glsi.so.${NV_SOVER}"
450
			"libnvidia-glsi.so.${NV_SOVER}"
460
			"libnvidia-ifr.so.${NV_SOVER}"
461
			"libnvidia-opencl.so.${NV_SOVER}"
462
			"libnvidia-ptxjitcompiler.so.${NV_SOVER}"
463
			"libvdpau_nvidia.so.${NV_SOVER}"
451
			"libvdpau_nvidia.so.${NV_SOVER}"
464
		)
452
		)
465
453
Lines 485-490 src_install-libs() { Link Here
485
473
486
		if use kernel_linux; then
474
		if use kernel_linux; then
487
			NV_GLX_LIBRARIES+=(
475
			NV_GLX_LIBRARIES+=(
476
				"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
477
				"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
478
				"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
479
				"libGLX.so.0 ${GL_ROOT}"
480
				"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
481
				"libGLdispatch.so.0 ${GL_ROOT}"
482
				"libOpenCL.so.1.0.0 ${CL_ROOT}"
483
				"libOpenGL.so.0 ${GL_ROOT}"
484
				"libcuda.so.${NV_SOVER}"
485
				"libnvcuvid.so.${NV_SOVER}"
486
				"libnvidia-compiler.so.${NV_SOVER}"
487
				"libnvidia-encode.so.${NV_SOVER}"
488
				"libnvidia-fatbinaryloader.so.${NV_SOVER}"
489
				"libnvidia-fbc.so.${NV_SOVER}"
490
				"libnvidia-ifr.so.${NV_SOVER}"
491
				"libnvidia-opencl.so.${NV_SOVER}"
492
				"libnvidia-ptxjitcompiler.so.${NV_SOVER}"
488
				"libnvidia-ml.so.${NV_SOVER}"
493
				"libnvidia-ml.so.${NV_SOVER}"
489
				"tls/libnvidia-tls.so.${NV_SOVER}"
494
				"tls/libnvidia-tls.so.${NV_SOVER}"
490
			)
495
			)

Return to bug 598994