diff --git a/x11/nvidia-driver-390/Makefile b/x11/nvidia-driver-390/Makefile new file mode 100644 index 000000000000..3b7d3897ce0b --- /dev/null +++ b/x11/nvidia-driver-390/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +DISTVERSION= 390.87 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../nvidia-driver +PKGNAMESUFFIX= -390 + +.include "${MASTERDIR}/Makefile" diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile index ec269f712aaf..4035daecf53d 100644 --- a/x11/nvidia-driver/Makefile +++ b/x11/nvidia-driver/Makefile @@ -10,9 +10,9 @@ # slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304'). PORTNAME= nvidia-driver -DISTVERSION?= 390.87 +DISTVERSION?= 410.93 # Always try to set PORTREVISION as it can be overridden by the slave ports -PORTREVISION?= 2 +PORTREVISION?= 0 CATEGORIES= x11 MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} @@ -41,7 +41,8 @@ USE_LDCONFIG= yes # fixed upstream (across all versions, including legacy ones), use this # hack below to universally set NVIDIA_ROOT. Also provide X11BASE value # since it is still used by legacy drivers. -MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} +MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} \ + EGL_GLVND_JSON_PATH=${STAGEDIR}/${PREFIX}/share/glvnd/egl_vendor.d PLIST_RE= # empty SUB_FILES= pkg-deinstall pkg-install pkg-message nvidia.conf SUB_PATCHES= extra-patch-src-Makefile \ @@ -284,7 +285,11 @@ LINUX32_LINKS+= libOpenGL.so.0 libOpenGL.so PLIST_RE+= '\,${LINUXBASE}.*libGLdispatch\.so,d' \ '\,${LINUXBASE}.*libOpenGL\.so,d' .endif -.if ${NVVERSION} >= 387.012 +.if ${NVVERSION} >= 410.057 +LINUX_LIBS+= libnvidia-egl-wayland.so.1.1.0 +LINUX_LINKS+= libnvidia-egl-wayland.so.1.1.0 libnvidia-egl-wayland.so.1 +PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.0/' +.elif ${NVVERSION} >= 387.012 LINUX_LIBS+= libnvidia-egl-wayland.so.1.0.2 LINUX_LINKS+= libnvidia-egl-wayland.so.1.0.2 libnvidia-egl-wayland.so.1 PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.0.2/' @@ -303,6 +308,17 @@ PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.${PORTVERSION}/' .else PLIST_RE+= '\,${LINUXBASE}.*libnvidia-egl-wayland\.so,d' .endif +.if ${NVVERSION} >= 410.057 +LINUX_LIBS+= libnvidia-rtcore.so.${PORTVERSION} +.else +PLIST_RE+= '\,${LINUXBASE}.*libnvidia-rtcore,d' +.endif +.if ${NVVERSION} >= 396.018 +LINUX_LIBS+= libnvidia-glvkspirv.so.${PORTVERSION} +LINUX32_LIBS+= libnvidia-glvkspirv.so.${PORTVERSION} +.else +PLIST_RE+= '\,${LINUXBASE}.*libnvidia-glvkspirv,d' +.endif .if ${NVVERSION} >= 331.013 LINUX_LIBS+= libnvidia-eglcore.so.${PORTVERSION} \ libnvidia-fbc.so.${PORTVERSION} \ @@ -461,10 +477,19 @@ post-patch: .SILENT # /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we # won't adhere to this stupidity and install nvidia-application-profiles-* # files as part of documentation -.if ${NVVERSION} >= 334.016 +.if ${NVVERSION} >= 410.057 + ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ + ${WRKSRC}/lib/libGLX_nvidia/Makefile ${WRKSRC}/doc/Makefile +.elif ${NVVERSION} >= 334.016 ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ ${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile .endif +.if ${NVVERSION} >= 410.057 + ${REINPLACE_CMD} -e 's|AUXLINK_LINK= $${DESTDIR}$${LIBDIR}/libGLX_indirect.so.0|AUXLINK_LINK= $${LIBDIR}/libGLX_indirect.so.0|' \ + ${WRKSRC}/lib/libGLX_nvidia/Makefile + ${REINPLACE_CMD} -e 's|/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d|/usr/local/share/glvnd/egl_vendor.d: |' \ + ${WRKSRC}/obj/libglvnd/libEGL.so.1 +.endif # Finally, process OPTIONS .if ${PORT_OPTIONS:MFREEBSD_AGP} ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ @@ -510,6 +535,14 @@ post-install: .SILENT ${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \ ${STAGEDIR}${PREFIX}/bin # pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's +.if ${NVVERSION} < 410.057 + ${REINPLACE_CMD} 's|.nvidia/libglxserver_nvidia.so|.nvidia/libglx.so|g' \ + ${TMPPLIST} + ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/lib(EGL_nvidia|GLESv2_nvidia|GLX|GLdispatch|OpenGL)/d;}' \ + ${TMPPLIST} + ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/10_nvidia.json/d;}' \ + ${TMPPLIST} +.endif .if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016 ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/libvdpau(_trace)?\.so/d;}' \ ${TMPPLIST} diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo index ecd7ea942839..9245c9e80470 100644 --- a/x11/nvidia-driver/distinfo +++ b/x11/nvidia-driver/distinfo @@ -1,4 +1,8 @@ -TIMESTAMP = 1482026038 +TIMESTAMP = 1546695309 +SHA256 (NVIDIA-FreeBSD-x86_64-410.93.tar.gz) = a9729feeeabc85ca8152cc99957cea69938d090ed47b3ee3d98226ab076d4156 +SIZE (NVIDIA-FreeBSD-x86_64-410.93.tar.gz) = 61977979 +SHA256 (NVIDIA-Linux-x86_64-410.93.run) = 33bee52be25dc680e9f83997a0faa00ebdaa800c51c7131428900809721e2161 +SIZE (NVIDIA-Linux-x86_64-410.93.run) = 107257681 SHA256 (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 221c80982378a333f541646d5d2030c72311c491f5a0f98b93fdd95cd5be11fc SIZE (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 63648591 SHA256 (NVIDIA-Linux-x86_64-390.87.run) = 38290a0b19e86037112f22397e02be9cdd6bcd677dd926b2977bbd49119e611e diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist index bedbfb414320..0e4d5795050c 100644 --- a/x11/nvidia-driver/pkg-plist +++ b/x11/nvidia-driver/pkg-plist @@ -6,10 +6,23 @@ lib/libGL-NVIDIA.so lib/libGL-NVIDIA.so.1 lib/libEGL-NVIDIA.so lib/libEGL-NVIDIA.so.1 +lib/libEGL_nvidia.so +lib/libEGL_nvidia.so.0 lib/libGLESv1_CM.so lib/libGLESv1_CM.so.1 lib/libGLESv2-NVIDIA.so lib/libGLESv2-NVIDIA.so.2 +lib/libGLESv2_nvidia.so +lib/libGLESv2_nvidia.so.2 +lib/libGLX.so +lib/libGLX.so.0 +lib/libGLX_indirect.so.0 +lib/libGLX_nvidia.so +lib/libGLX_nvidia.so.0 +lib/libGLdispatch.so +lib/libGLdispatch.so.0 +lib/libOpenGL.so +lib/libOpenGL.so.0 lib/libXvMCNVIDIA.a lib/libXvMCNVIDIA.so lib/libXvMCNVIDIA.so.1 @@ -29,9 +42,10 @@ lib/libnvidia-tls.so.1 lib/libvdpau_nvidia.so lib/vdpau/libvdpau_nvidia.so.1 man/man1/nvidia-smi.1.gz +share/glvnd/egl_vendor.d/10_nvidia.json %%MODULESDIR%%/drivers/nvidia_drv.so -%%MODULESDIR%%/extensions/.nvidia/libglx.so -%%MODULESDIR%%/extensions/.nvidia/libglx.so.1 +%%MODULESDIR%%/extensions/.nvidia/libglxserver_nvidia.so +%%MODULESDIR%%/extensions/.nvidia/libglxserver_nvidia.so.1 /%%KMODDIR%%/nvidia.ko /%%KMODDIR%%/nvidia-modeset.ko %%LINUX%%%%LINUXBASE%%/etc/OpenCL/vendors/nvidia.icd @@ -85,6 +99,7 @@ man/man1/nvidia-smi.1.gz %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-fbc.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glcore.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glsi.so.%%SHLIB_VERSION%% +%%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glvkspirv.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so.1 %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so.%%SHLIB_VERSION%% @@ -149,6 +164,7 @@ man/man1/nvidia-smi.1.gz %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-fbc.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glsi.so.%%SHLIB_VERSION%% +%%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glvkspirv.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-gtk2.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-gtk3.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ifr.so @@ -162,6 +178,7 @@ man/man1/nvidia-smi.1.gz %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so.1 %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so.%%SHLIB_VERSION%% +%%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-rtcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-tls.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libvdpau_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/tls/libnvidia-tls.so.%%SHLIB_VERSION%%