Lines 27-33
Link Here
|
27 |
RESTRICT="bindist mirror" |
27 |
RESTRICT="bindist mirror" |
28 |
EMULTILIB_PKG="true" |
28 |
EMULTILIB_PKG="true" |
29 |
|
29 |
|
30 |
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib static-libs +tools uvm wayland +X" |
30 |
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms libglvnd multilib static-libs +tools uvm wayland +X" |
31 |
REQUIRED_USE=" |
31 |
REQUIRED_USE=" |
32 |
tools? ( X ) |
32 |
tools? ( X ) |
33 |
static-libs? ( tools ) |
33 |
static-libs? ( tools ) |
Lines 55-61
Link Here
|
55 |
x11-libs/pango[X] |
55 |
x11-libs/pango[X] |
56 |
) |
56 |
) |
57 |
X? ( |
57 |
X? ( |
58 |
>=app-eselect/eselect-opengl-1.0.9 |
58 |
!libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 ) |
|
|
59 |
libglvnd? ( |
60 |
media-libs/libglvnd[${MULTILIB_USEDEP}] |
61 |
!app-eselect/eselect-opengl |
62 |
) |
59 |
app-misc/pax-utils |
63 |
app-misc/pax-utils |
60 |
) |
64 |
) |
61 |
" |
65 |
" |
Lines 448-454
Link Here
|
448 |
|
452 |
|
449 |
src_install-libs() { |
453 |
src_install-libs() { |
450 |
local inslibdir=$(get_libdir) |
454 |
local inslibdir=$(get_libdir) |
451 |
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" |
455 |
if use libglvnd; then |
|
|
456 |
local GL_ROOT="/usr/$(get_libdir)" |
457 |
else |
458 |
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" |
459 |
fi |
452 |
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" |
460 |
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" |
453 |
local nv_libdir="${NV_OBJ}" |
461 |
local nv_libdir="${NV_OBJ}" |
454 |
|
462 |
|
Lines 458-475
Link Here
|
458 |
|
466 |
|
459 |
if use X; then |
467 |
if use X; then |
460 |
NV_GLX_LIBRARIES=( |
468 |
NV_GLX_LIBRARIES=( |
461 |
"libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}" |
|
|
462 |
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
469 |
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
463 |
"libGL.so.1.7.0 ${GL_ROOT}" |
|
|
464 |
"libGLESv1_CM.so.1.2.0 ${GL_ROOT}" |
465 |
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
470 |
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
466 |
"libGLESv2.so.2.1.0 ${GL_ROOT}" |
|
|
467 |
"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
471 |
"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
468 |
"libGLX.so.0 ${GL_ROOT}" |
|
|
469 |
"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
472 |
"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" |
470 |
"libGLdispatch.so.0 ${GL_ROOT}" |
|
|
471 |
"libOpenCL.so.1.0.0 ${CL_ROOT}" |
473 |
"libOpenCL.so.1.0.0 ${CL_ROOT}" |
472 |
"libOpenGL.so.0 ${GL_ROOT}" |
|
|
473 |
"libcuda.so.${NV_SOVER}" |
474 |
"libcuda.so.${NV_SOVER}" |
474 |
"libnvcuvid.so.${NV_SOVER}" |
475 |
"libnvcuvid.so.${NV_SOVER}" |
475 |
"libnvidia-compiler.so.${NV_SOVER}" |
476 |
"libnvidia-compiler.so.${NV_SOVER}" |
Lines 485-490
Link Here
|
485 |
"libnvidia-ptxjitcompiler.so.${NV_SOVER}" |
486 |
"libnvidia-ptxjitcompiler.so.${NV_SOVER}" |
486 |
"libvdpau_nvidia.so.${NV_SOVER}" |
487 |
"libvdpau_nvidia.so.${NV_SOVER}" |
487 |
) |
488 |
) |
|
|
489 |
if ! use libglvnd; then |
490 |
NV_GLX_LIBRARIES+=( |
491 |
"libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}" |
492 |
"libGL.so.1.7.0 ${GL_ROOT}" |
493 |
"libGLESv1_CM.so.1.2.0 ${GL_ROOT}" |
494 |
"libGLESv2.so.2.1.0 ${GL_ROOT}" |
495 |
"libGLX.so.0 ${GL_ROOT}" |
496 |
"libGLdispatch.so.0 ${GL_ROOT}" |
497 |
"libOpenGL.so.0 ${GL_ROOT}" |
498 |
) |
499 |
fi |
488 |
|
500 |
|
489 |
if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]]; |
501 |
if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]]; |
490 |
then |
502 |
then |
Lines 552-558
Link Here
|
552 |
use driver && use kernel_linux && linux-mod_pkg_postinst |
564 |
use driver && use kernel_linux && linux-mod_pkg_postinst |
553 |
|
565 |
|
554 |
# Switch to the nvidia implementation |
566 |
# Switch to the nvidia implementation |
555 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia |
567 |
if ! use libglvnd; then |
|
|
568 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia |
569 |
fi |
556 |
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia |
570 |
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia |
557 |
|
571 |
|
558 |
readme.gentoo_print_elog |
572 |
readme.gentoo_print_elog |
Lines 576-585
Link Here
|
576 |
} |
590 |
} |
577 |
|
591 |
|
578 |
pkg_prerm() { |
592 |
pkg_prerm() { |
579 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
593 |
if ! use libglvnd; then |
|
|
594 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
595 |
fi |
580 |
} |
596 |
} |
581 |
|
597 |
|
582 |
pkg_postrm() { |
598 |
pkg_postrm() { |
583 |
use driver && use kernel_linux && linux-mod_pkg_postrm |
599 |
use driver && use kernel_linux && linux-mod_pkg_postrm |
584 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
600 |
if ! use libglvnd; then |
|
|
601 |
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 |
602 |
fi |
585 |
} |
603 |
} |