|
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 205-211
src_compile() {
Link Here
|
| 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 283-300
src_install() {
Link Here
|
| 283 |
elif use kernel_FreeBSD; then |
283 |
elif use kernel_FreeBSD; then |
| 284 |
if use x86-fbsd; then |
284 |
if use x86-fbsd; then |
| 285 |
insinto /boot/modules |
285 |
insinto /boot/modules |
| 286 |
doins "${S}/src/nvidia.kld" |
286 |
doins "${S}/src/nvidia/nvidia.kld" |
| 287 |
fi |
287 |
fi |
| 288 |
|
288 |
|
| 289 |
exeinto /boot/modules |
289 |
exeinto /boot/modules |
| 290 |
doexe "${S}/src/nvidia.ko" |
290 |
doexe "${S}/src/nvidia/nvidia.ko" |
| 291 |
fi |
291 |
fi |
| 292 |
|
292 |
|
| 293 |
# NVIDIA kernel <-> userspace driver config lib |
293 |
# NVIDIA kernel <-> userspace driver config lib |
| 294 |
donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} |
294 |
use kernel_linux && donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} |
| 295 |
|
295 |
|
| 296 |
# NVIDIA framebuffer capture library |
296 |
# NVIDIA framebuffer capture library |
| 297 |
donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} |
297 |
use kernel_linux && donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} |
| 298 |
|
298 |
|
| 299 |
# NVIDIA video encode/decode <-> CUDA |
299 |
# NVIDIA video encode/decode <-> CUDA |
| 300 |
if use kernel_linux; then |
300 |
if use kernel_linux; then |
|
Lines 312-318
src_install() {
Link Here
|
| 312 |
/usr/$(get_libdir)/opengl/nvidia/extensions |
312 |
/usr/$(get_libdir)/opengl/nvidia/extensions |
| 313 |
|
313 |
|
| 314 |
# Xorg nvidia.conf |
314 |
# Xorg nvidia.conf |
| 315 |
if has_version '>=x11-base/xorg-server-1.16'; then |
315 |
if use kernel_linux && has_version '>=x11-base/xorg-server-1.16'; then |
| 316 |
insinto /usr/share/X11/xorg.conf.d |
316 |
insinto /usr/share/X11/xorg.conf.d |
| 317 |
newins {,50-}nvidia-drm-outputclass.conf |
317 |
newins {,50-}nvidia-drm-outputclass.conf |
| 318 |
fi |
318 |
fi |
|
Lines 343-349
src_install() {
Link Here
|
| 343 |
# Helper Apps |
343 |
# Helper Apps |
| 344 |
exeinto /opt/bin/ |
344 |
exeinto /opt/bin/ |
| 345 |
|
345 |
|
| 346 |
if use X; then |
346 |
if use kernel_linux && use X; then |
| 347 |
doexe ${NV_OBJ}/nvidia-xconfig |
347 |
doexe ${NV_OBJ}/nvidia-xconfig |
| 348 |
|
348 |
|
| 349 |
insinto /etc/vulkan/icd.d |
349 |
insinto /etc/vulkan/icd.d |
|
Lines 372-378
src_install() {
Link Here
|
| 372 |
fi |
372 |
fi |
| 373 |
|
373 |
|
| 374 |
if use tools; then |
374 |
if use tools; then |
| 375 |
emake -C "${S}"/nvidia-settings-${PV}/src/ \ |
375 |
emake -C "${WORKDIR}"/nvidia-settings-${PV}/src/ \ |
| 376 |
DESTDIR="${D}" \ |
376 |
DESTDIR="${D}" \ |
| 377 |
GTK3_AVAILABLE=$(usex gtk3 1 0) \ |
377 |
GTK3_AVAILABLE=$(usex gtk3 1 0) \ |
| 378 |
LIBDIR="${D}/usr/$(get_libdir)" \ |
378 |
LIBDIR="${D}/usr/$(get_libdir)" \ |
|
Lines 383-400
src_install() {
Link Here
|
| 383 |
install |
383 |
install |
| 384 |
|
384 |
|
| 385 |
if use static-libs; then |
385 |
if use static-libs; then |
| 386 |
dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a |
386 |
dolib.a "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a |
| 387 |
|
387 |
|
| 388 |
insinto /usr/include/NVCtrl |
388 |
insinto /usr/include/NVCtrl |
| 389 |
doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h |
389 |
doins "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h |
| 390 |
fi |
390 |
fi |
| 391 |
|
391 |
|
| 392 |
insinto /usr/share/nvidia/ |
392 |
insinto /usr/share/nvidia/ |
| 393 |
doins nvidia-application-profiles-${PV}-key-documentation |
393 |
if use kernel_FreeBSD; then |
|
|
394 |
doins ${NV_DOC}/nvidia-application-profiles-key-documentation |
| 395 |
else |
| 396 |
doins nvidia-application-profiles-${PV}-key-documentation |
| 397 |
fi |
| 394 |
|
398 |
|
| 395 |
insinto /etc/nvidia |
399 |
insinto /etc/nvidia |
| 396 |
newins \ |
400 |
if use kernel_FreeBSD; then |
| 397 |
nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc |
401 |
doins ${NV_OBJ}/nvidia-application-profiles-rc |
|
|
402 |
else |
| 403 |
newins \ |
| 404 |
nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc |
| 405 |
fi |
| 398 |
|
406 |
|
| 399 |
# There is no icon in the FreeBSD tarball. |
407 |
# There is no icon in the FreeBSD tarball. |
| 400 |
use kernel_FreeBSD || \ |
408 |
use kernel_FreeBSD || \ |
|
Lines 437-465
src_install-libs() {
Link Here
|
| 437 |
if use X; then |
445 |
if use X; then |
| 438 |
NV_GLX_LIBRARIES=( |
446 |
NV_GLX_LIBRARIES=( |
| 439 |
"libEGL.so.1 ${GL_ROOT}" |
447 |
"libEGL.so.1 ${GL_ROOT}" |
| 440 |
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
448 |
"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}" |
449 |
"libGLESv1_CM.so.1 ${GL_ROOT}" |
| 443 |
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
|
|
| 444 |
"libGLESv2.so.2 ${GL_ROOT}" |
450 |
"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}" |
451 |
"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}" |
452 |
"libnvidia-glcore.so.${NV_SOVER}" |
| 459 |
"libnvidia-glsi.so.${NV_SOVER}" |
453 |
"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}" |
454 |
"libvdpau_nvidia.so.${NV_SOVER}" |
| 464 |
) |
455 |
) |
| 465 |
|
456 |
|
|
Lines 485-490
src_install-libs() {
Link Here
|
| 485 |
|
476 |
|
| 486 |
if use kernel_linux; then |
477 |
if use kernel_linux; then |
| 487 |
NV_GLX_LIBRARIES+=( |
478 |
NV_GLX_LIBRARIES+=( |
|
|
479 |
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
| 480 |
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
| 481 |
"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
| 482 |
"libGLX.so.0 ${GL_ROOT}" |
| 483 |
"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
| 484 |
"libGLdispatch.so.0 ${GL_ROOT}" |
| 485 |
"libOpenCL.so.1.0.0 ${CL_ROOT}" |
| 486 |
"libOpenGL.so.0 ${GL_ROOT}" |
| 487 |
"libcuda.so.${NV_SOVER}" |
| 488 |
"libnvcuvid.so.${NV_SOVER}" |
| 489 |
"libnvidia-compiler.so.${NV_SOVER}" |
| 490 |
"libnvidia-encode.so.${NV_SOVER}" |
| 491 |
"libnvidia-fatbinaryloader.so.${NV_SOVER}" |
| 492 |
"libnvidia-fbc.so.${NV_SOVER}" |
| 493 |
"libnvidia-ifr.so.${NV_SOVER}" |
| 494 |
"libnvidia-opencl.so.${NV_SOVER}" |
| 495 |
"libnvidia-ptxjitcompiler.so.${NV_SOVER}" |
| 488 |
"libnvidia-ml.so.${NV_SOVER}" |
496 |
"libnvidia-ml.so.${NV_SOVER}" |
| 489 |
"tls/libnvidia-tls.so.${NV_SOVER}" |
497 |
"tls/libnvidia-tls.so.${NV_SOVER}" |
| 490 |
) |
498 |
) |