--- /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-381.22.ebuild 2017-05-19 08:10:40.000000000 +0100 +++ /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-381.22.ebuild 2017-05-31 22:11:38.042212039 +0100 @@ -291,16 +291,16 @@ # NVIDIA kernel <-> userspace driver config lib donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} - # NVIDIA framebuffer capture library - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} + if use X; then + # NVIDIA framebuffer capture library + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} - # NVIDIA video encode/decode <-> CUDA - if use kernel_linux; then - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} - fi + # NVIDIA video encode/decode <-> CUDA + if use kernel_linux; then + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} + fi - if use X; then # Xorg DDX driver insinto /usr/$(get_libdir)/xorg/modules/drivers doins ${NV_X11}/nvidia_drv.so @@ -442,8 +442,18 @@ libdir=${NV_OBJ}/32 fi + # Libraries that don't depend on X11 libraries. + local NV_GLX_LIBRARIES=( + "libOpenCL.so.1.0.0 ${CL_ROOT}" + "libcuda.so.${NV_SOVER}" + "libnvidia-compiler.so.${NV_SOVER}" + "libnvidia-fatbinaryloader.so.${NV_SOVER}" + "libnvidia-opencl.so.${NV_SOVER}" + "libnvidia-ptxjitcompiler.so.${NV_SOVER}" + ) + if use X; then - NV_GLX_LIBRARIES=( + NV_GLX_LIBRARIES+=( "libEGL.so.$(usex compat ${NV_SOVER} 1) ${GL_ROOT}" "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" "libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}" @@ -454,20 +464,14 @@ "libGLX.so.0 ${GL_ROOT}" "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" "libGLdispatch.so.0 ${GL_ROOT}" - "libOpenCL.so.1.0.0 ${CL_ROOT}" "libOpenGL.so.0 ${GL_ROOT}" - "libcuda.so.${NV_SOVER}" "libnvcuvid.so.${NV_SOVER}" - "libnvidia-compiler.so.${NV_SOVER}" "libnvidia-eglcore.so.${NV_SOVER}" "libnvidia-encode.so.${NV_SOVER}" - "libnvidia-fatbinaryloader.so.${NV_SOVER}" "libnvidia-fbc.so.${NV_SOVER}" "libnvidia-glcore.so.${NV_SOVER}" "libnvidia-glsi.so.${NV_SOVER}" "libnvidia-ifr.so.${NV_SOVER}" - "libnvidia-opencl.so.${NV_SOVER}" - "libnvidia-ptxjitcompiler.so.${NV_SOVER}" "libvdpau_nvidia.so.${NV_SOVER}" ) @@ -477,31 +481,31 @@ "libnvidia-egl-wayland.so.1.0.1" ) fi + fi - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]]; - then - NV_GLX_LIBRARIES+=( - "libnvidia-wfb.so.${NV_SOVER}" - ) - fi - - if use kernel_FreeBSD; then - NV_GLX_LIBRARIES+=( - "libnvidia-tls.so.${NV_SOVER}" - ) - fi + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]]; + then + NV_GLX_LIBRARIES+=( + "libnvidia-wfb.so.${NV_SOVER}" + ) + fi - if use kernel_linux; then - NV_GLX_LIBRARIES+=( - "libnvidia-ml.so.${NV_SOVER}" - "tls/libnvidia-tls.so.${NV_SOVER}" - ) - fi + if use kernel_FreeBSD; then + NV_GLX_LIBRARIES+=( + "libnvidia-tls.so.${NV_SOVER}" + ) + fi - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do - donvidia ${libdir}/${NV_LIB} - done + if use kernel_linux; then + NV_GLX_LIBRARIES+=( + "libnvidia-ml.so.${NV_SOVER}" + "tls/libnvidia-tls.so.${NV_SOVER}" + ) fi + + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do + donvidia ${libdir}/${NV_LIB} + done } pkg_preinst() {