aboutsummaryrefslogtreecommitdiff
path: root/x11/nvidia-driver
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2019-10-29 13:44:57 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2019-10-29 13:44:57 +0000
commit836cc2b180cc77ead7b8a9bc3622a63b34facbd2 (patch)
treea2dc1cfe099e93e857bb23e05249d7dd3fcf2743 /x11/nvidia-driver
parent86df10d07e30540a85bf25c8e9d63e6ed53c259c (diff)
downloadports-836cc2b180cc77ead7b8a9bc3622a63b34facbd2.tar.gz
ports-836cc2b180cc77ead7b8a9bc3622a63b34facbd2.zip
- Update NVidia mainline driver to version 410.104, the latest in
the 410.xx series and the last without full Wayland support - Move 390.xx to corresponding legacy slave port and update to the latest version 390.129 PR: 232645
Notes
Notes: svn path=/head/; revision=515978
Diffstat (limited to 'x11/nvidia-driver')
-rw-r--r--x11/nvidia-driver/Makefile37
-rw-r--r--x11/nvidia-driver/Makefile.common4
-rw-r--r--x11/nvidia-driver/distinfo11
-rw-r--r--x11/nvidia-driver/pkg-plist22
4 files changed, 62 insertions, 12 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index b1f36444cd3e..3ca183dc6561 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.104
# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?= 4
+PORTREVISION?= 0
CATEGORIES= x11
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@@ -24,6 +24,11 @@ COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering
LICENSE_FILE= ${WRKSRC}/doc/license.txt
.include "${.CURDIR}/../nvidia-driver/Makefile.common"
+# Pull GNU sed(1) for "binary" patching of libEGL.so.1 (see below)
+.if ${NVVERSION} >= 410.057
+PATCH_DEPENDS= gsed:textproc/gsed
+.endif
+
USES= kmod uidfix
USE_XORG= x11 xorg-server xext
USE_GL= gl
@@ -35,7 +40,9 @@ 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}
+GLVND_JSON_PATH= ${PREFIX}/share/glvnd/egl_vendor.d
+MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} \
+ EGL_GLVND_JSON_PATH=${STAGEDIR}${GLVND_JSON_PATH}
SUB_FILES= pkg-deinstall pkg-install pkg-message nvidia.conf
SUB_PATCHES= extra-patch-src-Makefile \
extra-patch-src-nv-freebsd.h \
@@ -140,8 +147,10 @@ post-patch: .SILENT
.endif
# Adjust installation path of a conflicting file (shared between
# nvidia-driver and xorg-server) to ease package manager work
+.if ${NVVERSION} < 410.057
${REINPLACE_CMD} -e '/LIBDIR/s:xorg/modules/extensions:&/.nvidia:' \
${WRKSRC}/x11/extension/Makefile
+.endif
# Do not execute afterinstall target (prevent automatic module registration
# and "smart" installation of conflicting files heuristics)
${REINPLACE_CMD} -e 's/afterinstall/&_dontexecute/' ${WRKSRC}/Makefile
@@ -150,8 +159,16 @@ 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
- ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \
+.if ${NVVERSION} >= 410.057
+ ${REINPLACE_CMD} -e 's,/usr/share/nvidia,$${DESTDIR}${DOCSDIR},' \
+ ${WRKSRC}/lib/libGLX_nvidia/Makefile ${WRKSRC}/doc/Makefile
+ ${REINPLACE_CMD} -e '/AUXLINK_LINK/s,\$${DESTDIR},,' \
+ ${WRKSRC}/lib/libGLX_nvidia/Makefile
+ prefix="${PREFIX}" ; padding=$$(($${#prefix}+3)) ; \
+ gsed ${REINPLACE_ARGS} -E "s,/etc/glvnd/egl_vendor\.d.{$$padding},${GLVND_JSON_PATH}\x00," \
+ ${WRKSRC}/obj/libglvnd/libEGL.so.1
+.elif ${NVVERSION} >= 334.016
+ ${REINPLACE_CMD} -e 's,/usr/share/nvidia,$${DESTDIR}${DOCSDIR},' \
${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile
.endif
# Finally, process OPTIONS
@@ -209,7 +226,15 @@ post-install: .SILENT
${REINPLACE_CMD} -E '/(lib)?nvidia-(debugdump|smi|ml)/d' ${TMPPLIST}
.endif
.if ${NVVERSION} < 358.009
- ${REINPLACE_CMD} '/nvidia-modeset.ko/d' ${TMPPLIST}
+ ${REINPLACE_CMD} -e '/nvidia-modeset\.ko/d' ${TMPPLIST}
+.endif
+.if ${NVVERSION} < 410.057
+ ${REINPLACE_CMD} -E '/lib(EGL|GLESv[12].*)_nvidia/d ; \
+ /lib(GLX|GLdispatch|OpenGL)/d ; \
+ /extensions\/libglxserver_nvidia\.so/d ; \
+ /10_nvidia\.json/d' ${TMPPLIST}
+.else
+ ${REINPLACE_CMD} -e '/extensions\/\.nvidia\/libglx/d' ${TMPPLIST}
.endif
# Rename some libraries and install a libmap file to resolve conflict with
# Mesa libraries.
diff --git a/x11/nvidia-driver/Makefile.common b/x11/nvidia-driver/Makefile.common
index 004efc90f8cc..1217a625d339 100644
--- a/x11/nvidia-driver/Makefile.common
+++ b/x11/nvidia-driver/Makefile.common
@@ -4,7 +4,11 @@ LICENSE= NVIDIA
LICENSE_NAME= License For Customer Use of NVIDIA Software
LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
+.if ${DISTVERSION:R} > 390
+ONLY_FOR_ARCHS= amd64
+.else
ONLY_FOR_ARCHS= i386 amd64
+.endif
ARCH_SUFX= x86${ARCH:S/i386//:S/amd/_/}
diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo
index 9850adc99e85..d053fb310274 100644
--- a/x11/nvidia-driver/distinfo
+++ b/x11/nvidia-driver/distinfo
@@ -1,8 +1,11 @@
TIMESTAMP = 1482026038
-SHA256 (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 221c80982378a333f541646d5d2030c72311c491f5a0f98b93fdd95cd5be11fc
-SIZE (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 63648591
-SHA256 (NVIDIA-FreeBSD-x86-390.87.tar.gz) = a2e61b0c541aa9bdcde7de43cd88a7ce5ff3de9fdafe60fa7d6e10942186d7d4
-SIZE (NVIDIA-FreeBSD-x86-390.87.tar.gz) = 64326801
+SHA256 (NVIDIA-FreeBSD-x86_64-410.104.tar.gz) = 39bafa652026fae3dc077ceff8bea0a15401c36fd13c4770842f546b2e27498f
+SIZE (NVIDIA-FreeBSD-x86_64-410.104.tar.gz) = 61995820
+SHA256 (NVIDIA-FreeBSD-x86_64-390.129.tar.gz) = fa109c9737a529c87efe66c3bc0a47bffa49278d6361aebc1bf6b784eb5d6968
+SIZE (NVIDIA-FreeBSD-x86_64-390.129.tar.gz) = 63905694
+TIMESTAMP = 1572354940
+SHA256 (NVIDIA-FreeBSD-x86-390.129.tar.gz) = 58e537c1a016e4fd362590e32c6f874ccdd90ce265839eb30cf370afcdc22bae
+SIZE (NVIDIA-FreeBSD-x86-390.129.tar.gz) = 64565178
SHA256 (NVIDIA-FreeBSD-x86_64-340.107.tar.gz) = 047efae28cc81e4d56c64d2a0c15d9b7ff07f09bba22696464de8276334a4df7
SIZE (NVIDIA-FreeBSD-x86_64-340.107.tar.gz) = 61179967
SHA256 (NVIDIA-FreeBSD-x86-340.107.tar.gz) = 1978ae48512d8a693979b153463c76954d2aec91a6b2a568b3aa1198e5b3d199
diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist
index 34d8ad9d31ef..ee181260f904 100644
--- a/x11/nvidia-driver/pkg-plist
+++ b/x11/nvidia-driver/pkg-plist
@@ -2,14 +2,29 @@ bin/nvidia-bug-report.sh
bin/nvidia-debugdump
bin/nvidia-smi
etc/libmap.d/nvidia.conf
-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/libGL-NVIDIA.so
+lib/libGL-NVIDIA.so.1
lib/libGLESv1_CM.so
lib/libGLESv1_CM.so.1
+lib/libGLESv1_CM_nvidia.so
+lib/libGLESv1_CM_nvidia.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,8 +44,11 @@ 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/libglxserver_nvidia.so
+%%MODULESDIR%%/extensions/libglxserver_nvidia.so.1
/%%KMODDIR%%/nvidia.ko
/%%KMODDIR%%/nvidia-modeset.ko