diff --git a/nvidia-drivers-375.10-r1.ebuild b/nvidia-drivers-375.10-r1.ebuild index 7c86eb1..58f5db1 100644 --- a/nvidia-drivers-375.10-r1.ebuild +++ b/nvidia-drivers-375.10-r1.ebuild @@ -174,11 +174,11 @@ pkg_setup() { src_prepare() { if use tools; then - cp "${DISTDIR}"/nvml.h-${PV} "${S}"/nvidia-settings-${PV}/src/nvml.h || die - sed -i -e 's|-lnvidia-ml|-L../../ &|g' nvidia-settings-${PV}/src/Makefile || die + cp "${DISTDIR}"/nvml.h-${PV} "${WORKDIR}"/nvidia-settings-${PV}/src/nvml.h || die + sed -i -e 's|-lnvidia-ml|-L../../ &|g' "${WORKDIR}"/nvidia-settings-${PV}/src/Makefile || die fi - eapply "${FILESDIR}"/${P}-profiles-rc.patch + use kernel_linux && eapply "${FILESDIR}"/${P}-profiles-rc.patch if use pax_kernel; then ewarn "Using PAX patches is not supported. You will be asked to" @@ -205,7 +205,7 @@ src_compile() { fi if use tools; then - emake -C "${S}"/nvidia-settings-${PV}/src \ + emake -C "${WORKDIR}"/nvidia-settings-${PV}/src \ AR="$(tc-getAR)" \ CC="$(tc-getCC)" \ LIBDIR="$(get_libdir)" \ @@ -214,7 +214,7 @@ src_compile() { DO_STRIP= \ build-xnvctrl - emake -C "${S}"/nvidia-settings-${PV}/src \ + emake -C "${WORKDIR}"/nvidia-settings-${PV}/src \ CC="$(tc-getCC)" \ GTK3_AVAILABLE=$(usex gtk3 1 0) \ LD="$(tc-getCC)" \ @@ -283,18 +283,18 @@ src_install() { elif use kernel_FreeBSD; then if use x86-fbsd; then insinto /boot/modules - doins "${S}/src/nvidia.kld" + doins "${S}/src/nvidia/nvidia.kld" fi exeinto /boot/modules - doexe "${S}/src/nvidia.ko" + doexe "${S}/src/nvidia/nvidia.ko" fi # NVIDIA kernel <-> userspace driver config lib - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} + use kernel_linux && donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} # NVIDIA framebuffer capture library - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} + use kernel_linux && donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} # NVIDIA video encode/decode <-> CUDA if use kernel_linux; then @@ -312,7 +312,7 @@ src_install() { /usr/$(get_libdir)/opengl/nvidia/extensions # Xorg nvidia.conf - if has_version '>=x11-base/xorg-server-1.16'; then + if use kernel_linux && has_version '>=x11-base/xorg-server-1.16'; then insinto /usr/share/X11/xorg.conf.d newins {,50-}nvidia-drm-outputclass.conf fi @@ -343,7 +343,7 @@ src_install() { # Helper Apps exeinto /opt/bin/ - if use X; then + if use kernel_linux && use X; then doexe ${NV_OBJ}/nvidia-xconfig insinto /etc/vulkan/icd.d @@ -372,7 +372,7 @@ src_install() { fi if use tools; then - emake -C "${S}"/nvidia-settings-${PV}/src/ \ + emake -C "${WORKDIR}"/nvidia-settings-${PV}/src/ \ DESTDIR="${D}" \ GTK3_AVAILABLE=$(usex gtk3 1 0) \ LIBDIR="${D}/usr/$(get_libdir)" \ @@ -383,18 +383,26 @@ src_install() { install if use static-libs; then - dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a + dolib.a "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a insinto /usr/include/NVCtrl - doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h + doins "${WORKDIR}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h fi insinto /usr/share/nvidia/ - doins nvidia-application-profiles-${PV}-key-documentation + if use kernel_FreeBSD; then + doins ${NV_DOC}/nvidia-application-profiles-key-documentation + else + doins nvidia-application-profiles-${PV}-key-documentation + fi insinto /etc/nvidia - newins \ - nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc + if use kernel_FreeBSD; then + doins ${NV_OBJ}/nvidia-application-profiles-rc + else + newins \ + nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc + fi # There is no icon in the FreeBSD tarball. use kernel_FreeBSD || \ @@ -437,29 +445,12 @@ src_install-libs() { if use X; then NV_GLX_LIBRARIES=( "libEGL.so.1 ${GL_ROOT}" - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}" + "libGL.so.${NV_SOVER} ${GL_ROOT}" "libGLESv1_CM.so.1 ${GL_ROOT}" - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" "libGLESv2.so.2 ${GL_ROOT}" - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "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}" ) @@ -485,6 +476,23 @@ src_install-libs() { if use kernel_linux; then NV_GLX_LIBRARIES+=( + "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "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-encode.so.${NV_SOVER}" + "libnvidia-fatbinaryloader.so.${NV_SOVER}" + "libnvidia-fbc.so.${NV_SOVER}" + "libnvidia-ifr.so.${NV_SOVER}" + "libnvidia-opencl.so.${NV_SOVER}" + "libnvidia-ptxjitcompiler.so.${NV_SOVER}" "libnvidia-ml.so.${NV_SOVER}" "tls/libnvidia-tls.so.${NV_SOVER}" )