git: 71e92b26bd43 - main - graphics/nvidia-drm-kmod: Update to 550.54.14

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Tue, 27 Feb 2024 15:49:13 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=71e92b26bd43763a7b82208625e628f043858fa7

commit 71e92b26bd43763a7b82208625e628f043858fa7
Author:     Austin Shafer <ashafer@badland.io>
AuthorDate: 2024-02-27 15:46:23 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2024-02-27 15:48:19 +0000

    graphics/nvidia-drm-kmod: Update to 550.54.14
    
    Differential Revision: https://reviews.freebsd.org/D44073
---
 graphics/drm-515-kmod/distinfo                     |  2 +-
 graphics/nvidia-drm-510-kmod/Makefile              |  3 +--
 graphics/nvidia-drm-510-kmod/distinfo              |  6 ++---
 graphics/nvidia-drm-510-kmod/pkg-message           |  8 ++++++
 graphics/nvidia-drm-515-kmod/Makefile              |  4 +--
 graphics/nvidia-drm-515-kmod/distinfo              |  6 ++---
 graphics/nvidia-drm-515-kmod/pkg-message           |  8 ++++++
 graphics/nvidia-drm-61-kmod/Makefile               |  2 --
 graphics/nvidia-drm-61-kmod/distinfo               |  6 ++---
 .../files/patch-nvidia-drm-freebsd-lkpi.c          |  6 ++---
 graphics/nvidia-drm-61-kmod/pkg-message            |  8 ++++++
 graphics/nvidia-drm-kmod/Makefile                  | 16 +++++++++---
 graphics/nvidia-drm-kmod/Makefile.common           | 30 ++++++++++++++--------
 graphics/nvidia-drm-kmod/pkg-message               |  8 ++++++
 14 files changed, 78 insertions(+), 35 deletions(-)

diff --git a/graphics/drm-515-kmod/distinfo b/graphics/drm-515-kmod/distinfo
index 3599fc42317b..b72172f15f90 100644
--- a/graphics/drm-515-kmod/distinfo
+++ b/graphics/drm-515-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1703336317
+TIMESTAMP = 1708811594
 SHA256 (freebsd-drm-kmod-5.15.118-drm_v5.15.118_4_GH0.tar.gz) = 58e2fc195979e2361346ca57cc158e44413e5de26b83b951a631d09849caf90c
 SIZE (freebsd-drm-kmod-5.15.118-drm_v5.15.118_4_GH0.tar.gz) = 26092371
diff --git a/graphics/nvidia-drm-510-kmod/Makefile b/graphics/nvidia-drm-510-kmod/Makefile
index d549a185f954..329241a95ff5 100644
--- a/graphics/nvidia-drm-510-kmod/Makefile
+++ b/graphics/nvidia-drm-510-kmod/Makefile
@@ -1,9 +1,8 @@
 PORTNAME=	nvidia-drm-510-kmod
-PORTVERSION=	${NVIDIA_DISTVERSION}
 CATEGORIES=	graphics
 
 RUN_DEPENDS+=	${KMODDIR}/drm.ko:graphics/drm-510-kmod
-CONFLICTS_INSTALL=	nvidia-drm-515-kmod
+CONFLICTS_INSTALL=	nvidia-drm-515-kmod nvidia-drm-61-kmod
 
 .include "${.CURDIR}/../drm-510-kmod/Makefile.version"
 .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common"
diff --git a/graphics/nvidia-drm-510-kmod/distinfo b/graphics/nvidia-drm-510-kmod/distinfo
index 2457caf60e85..1d3b7d7e86ca 100644
--- a/graphics/nvidia-drm-510-kmod/distinfo
+++ b/graphics/nvidia-drm-510-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1702321606
-SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-510-kmod-535.146.02_GH0.tar.gz) = 0cf4454722ce3b866800273b5b47352ffef078384c2437b823435f42e53c0089
-SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-510-kmod-535.146.02_GH0.tar.gz) = 185687473
+TIMESTAMP = 1708813467
+SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340
+SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876
 SHA256 (freebsd-drm-kmod-drm_v5.10.163_7_GH0.tar.gz) = dbdff8ad8cad8152d1c286b058f1f5114b3672f1a936e13933ce52915b77eaaa
 SIZE (freebsd-drm-kmod-drm_v5.10.163_7_GH0.tar.gz) = 20095338
diff --git a/graphics/nvidia-drm-510-kmod/pkg-message b/graphics/nvidia-drm-510-kmod/pkg-message
new file mode 100644
index 000000000000..2bbe2287f72d
--- /dev/null
+++ b/graphics/nvidia-drm-510-kmod/pkg-message
@@ -0,0 +1,8 @@
+Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done
+by setting the modeset sysctl, the equivalent of the modeset kernel parameter
+on Linux.
+
+hw.nvidiadrm.modeset=1
+
+This must be set before loading nvdidia-drm.ko, most easily done by placing the
+above in /boot/loader.conf.
diff --git a/graphics/nvidia-drm-515-kmod/Makefile b/graphics/nvidia-drm-515-kmod/Makefile
index 5d43afc9f2c4..fee33ee96bc4 100644
--- a/graphics/nvidia-drm-515-kmod/Makefile
+++ b/graphics/nvidia-drm-515-kmod/Makefile
@@ -1,10 +1,8 @@
 PORTNAME=	nvidia-drm-515-kmod
-PORTVERSION=	${NVIDIA_DISTVERSION}
-PORTREVISION=	2
 CATEGORIES=	graphics
 
 RUN_DEPENDS+=	${KMODDIR}/drm.ko:graphics/drm-515-kmod
-CONFLICTS_INSTALL=	nvidia-drm-510-kmod
+CONFLICTS_INSTALL=	nvidia-drm-510-kmod nvidia-drm-61-kmod
 
 .include "${.CURDIR}/../drm-515-kmod/Makefile.version"
 .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common"
diff --git a/graphics/nvidia-drm-515-kmod/distinfo b/graphics/nvidia-drm-515-kmod/distinfo
index aba5c7956b4a..31f2739535e4 100644
--- a/graphics/nvidia-drm-515-kmod/distinfo
+++ b/graphics/nvidia-drm-515-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1702321513
-SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-515-kmod-535.146.02_GH0.tar.gz) = 3508b21e4e15ff16ef921386e199b9f61cd3b160309c07a15810a582c4fa6442
-SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-515-kmod-535.146.02_GH0.tar.gz) = 185689214
+TIMESTAMP = 1708813421
+SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340
+SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876
 SHA256 (freebsd-drm-kmod-drm_v5.15.118_4_GH0.tar.gz) = 58e2fc195979e2361346ca57cc158e44413e5de26b83b951a631d09849caf90c
 SIZE (freebsd-drm-kmod-drm_v5.15.118_4_GH0.tar.gz) = 26092371
diff --git a/graphics/nvidia-drm-515-kmod/pkg-message b/graphics/nvidia-drm-515-kmod/pkg-message
new file mode 100644
index 000000000000..2bbe2287f72d
--- /dev/null
+++ b/graphics/nvidia-drm-515-kmod/pkg-message
@@ -0,0 +1,8 @@
+Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done
+by setting the modeset sysctl, the equivalent of the modeset kernel parameter
+on Linux.
+
+hw.nvidiadrm.modeset=1
+
+This must be set before loading nvdidia-drm.ko, most easily done by placing the
+above in /boot/loader.conf.
diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile
index c19838a0ec14..1a4fa5236a4d 100644
--- a/graphics/nvidia-drm-61-kmod/Makefile
+++ b/graphics/nvidia-drm-61-kmod/Makefile
@@ -1,6 +1,4 @@
 PORTNAME=	nvidia-drm-61-kmod
-PORTVERSION=	${NVIDIA_DISTVERSION}
-PORTREVISION=	2
 CATEGORIES=	graphics
 
 RUN_DEPENDS+=	${KMODDIR}/drm.ko:graphics/drm-61-kmod
diff --git a/graphics/nvidia-drm-61-kmod/distinfo b/graphics/nvidia-drm-61-kmod/distinfo
index d2e55f85a849..52c5c6f384c9 100644
--- a/graphics/nvidia-drm-61-kmod/distinfo
+++ b/graphics/nvidia-drm-61-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1708829799
-SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-61-kmod-535.146.02_GH0.tar.gz) = 3dff8909f1c51ef086cc9f88574083292c51d18f13bb3708abd0f76b703807b2
-SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-61-kmod-535.146.02_GH0.tar.gz) = 185685669
+TIMESTAMP = 1708963422
+SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340
+SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876
 SHA256 (freebsd-drm-kmod-drm_v6.1.69_1_GH0.tar.gz) = da88f18f0678b12525a236dfd580bc762f42a5d9c29294192d8cf7fa2b36f68a
 SIZE (freebsd-drm-kmod-drm_v6.1.69_1_GH0.tar.gz) = 37093608
diff --git a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c
index 5f707bd2f03d..6fc6285876f2 100644
--- a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c
+++ b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c
@@ -1,8 +1,8 @@
---- nvidia-drm-freebsd-lkpi.c.orig	2023-11-06 18:11:13 UTC
+--- nvidia-drm-freebsd-lkpi.c.orig	2024-02-22 01:03:15 UTC
 +++ nvidia-drm-freebsd-lkpi.c
-@@ -228,7 +228,6 @@ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1);
- 
+@@ -148,7 +148,6 @@ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1);
  LKPI_DRIVER_MODULE(nvidia_drm, nv_drm_init, nv_drm_exit);
+ LKPI_PNP_INFO(pci, nvidia_drm, nv_module_device_table);
  MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1);
 -MODULE_DEPEND(nvidia_drm, linuxkpi_gplv2, 1, 1, 1);
  MODULE_DEPEND(nvidia_drm, drmn, 2, 2, 2);
diff --git a/graphics/nvidia-drm-61-kmod/pkg-message b/graphics/nvidia-drm-61-kmod/pkg-message
new file mode 100644
index 000000000000..2bbe2287f72d
--- /dev/null
+++ b/graphics/nvidia-drm-61-kmod/pkg-message
@@ -0,0 +1,8 @@
+Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done
+by setting the modeset sysctl, the equivalent of the modeset kernel parameter
+on Linux.
+
+hw.nvidiadrm.modeset=1
+
+This must be set before loading nvdidia-drm.ko, most easily done by placing the
+above in /boot/loader.conf.
diff --git a/graphics/nvidia-drm-kmod/Makefile b/graphics/nvidia-drm-kmod/Makefile
index 3bc90bf8933e..81341a2e8349 100644
--- a/graphics/nvidia-drm-kmod/Makefile
+++ b/graphics/nvidia-drm-kmod/Makefile
@@ -4,17 +4,25 @@ CATEGORIES=	graphics kld
 
 MAINTAINER=	ashafer@badland.io
 COMMENT=	NVIDIA DRM Kernel Module
-WWW=		https://github.com/amshafer/nvidia-driver
+WWW=		https://www.nvidia.com/object/unix.html
 
 USES=		metaport
 
-RUN_DEPENDS+=	${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod
-
 .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version"
 .include <bsd.port.pre.mk>
 
 .if ${OPSYS} != FreeBSD
-IGNORE=		not supported on anything but FreeBSD (missing linuxkpi functionality)
+IGNORE=         not supported on anything but FreeBSD (missing linuxkpi functionality)
+.else
+.  if ${OSVERSION} >= 1302000 && ${OSVERSION} < 1400097
+RUN_DEPENDS+=  ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod
+.  elif ${OSVERSION} >= 1400097 && (${ARCH} == i386 || ${ARCH} == aarch64)
+RUN_DEPENDS+=  ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod
+.  elif ${OSVERSION} >= 1400097 && ${OSVERSION} < 1500008
+RUN_DEPENDS+=  ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-515-kmod
+.  elif ${OSVERSION} >= 1500008
+RUN_DEPENDS+=  ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-61-kmod
+.  endif
 .endif
 
 .include <bsd.port.post.mk>
diff --git a/graphics/nvidia-drm-kmod/Makefile.common b/graphics/nvidia-drm-kmod/Makefile.common
index d42f147d0442..16b9f09620ea 100644
--- a/graphics/nvidia-drm-kmod/Makefile.common
+++ b/graphics/nvidia-drm-kmod/Makefile.common
@@ -2,31 +2,39 @@
 
 MAINTAINER=	ashafer@badland.io
 COMMENT=	NVIDIA DRM Kernel Module
-WWW=		https://github.com/amshafer/nvidia-driver
+WWW=		https://www.nvidia.com/object/unix.html
+MASTER_SITES=	NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${NVIDIA_DISTVERSION}:nvidia \
+				https://codeload.github.com/freebsd/drm-kmod/tar.gz/${DRM_KMOD_GH_TAGNAME}?dummy=/:drm
+DISTVERSION?=   ${NVIDIA_DISTVERSION}
+DISTFILES=		NVIDIA-FreeBSD-${ARCH_SUFX}-${NVIDIA_DISTVERSION}${EXTRACT_SUFX}:nvidia \
+				freebsd-drm-kmod-${DRM_KMOD_GH_TAGNAME}_GH0.tar.gz:drm
 
 ONLY_FOR_ARCHS=	amd64
-USES=		kmod uidfix
+USES=		kmod uidfix tar:xz
 
 SUB_FILES=	20-nvidia-drm-outputclass.conf
 
 RUN_DEPENDS+=	${KMODDIR}/nvidia.ko:x11/nvidia-driver
 
 .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version"
+.include "${.CURDIR}/../../x11/nvidia-driver/Makefile.common"
 
-LICENSE_FILE=	${WRKSRC}/nvidia/doc/license.txt
-
-NVIDIA_GH_TAGNAME=	${PORTNAME}-${DISTVERSION}
-USE_GITHUB=	yes
-GH_ACCOUNT=	amshafer freebsd:drm
-GH_PROJECT=	nvidia-driver drm-kmod:drm
-GH_TAGNAME:=	${NVIDIA_GH_TAGNAME} ${DRM_KMOD_GH_TAGNAME}:drm
+LICENSE_FILE=	${WRKSRC}/../../doc/license.txt
 
 PLIST_FILES=	${KMODDIR}/nvidia-drm.ko \
 		share/X11/xorg.conf.d/20-nvidia-drm-outputclass.conf
 
-MAKE_ENV+=	DRMKMODDIR=${WRKDIR}/drm-kmod-${DRM_KMOD_GH_TAGNAME}/
-WRKSRC_SUBDIR=	nvidia/src/nvidia-drm/
+MAKE_ENV+=	DEBUG_FLAGS=${DEBUG_FLAGS} \
+			DRMKMODDIR=${WRKDIR}/drm-kmod-${DRM_KMOD_GH_TAGNAME}/
+WRKSRC=		${WRKDIR}/NVIDIA-FreeBSD-${ARCH_SUFX}-${NVIDIA_DISTVERSION}/
+WRKSRC_SUBDIR=	src/nvidia-drm/
 
 post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d/
 	${INSTALL_DATA} ${WRKDIR}/20-nvidia-drm-outputclass.conf ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d/
+
+post-patch:
+	# We should support -CURRENT: kill the check (first #if __FreeBSD_version)
+	linenum=$$(${SED} -ne '/^#if __FreeBSD_version/ { = ; q ; }' \
+			${WRKSRC}/../nvidia/nv-freebsd.h) ; ${REINPLACE_CMD} \
+			-e "$$linenum,+2d" ${WRKSRC}/../nvidia/nv-freebsd.h
diff --git a/graphics/nvidia-drm-kmod/pkg-message b/graphics/nvidia-drm-kmod/pkg-message
new file mode 100644
index 000000000000..2bbe2287f72d
--- /dev/null
+++ b/graphics/nvidia-drm-kmod/pkg-message
@@ -0,0 +1,8 @@
+Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done
+by setting the modeset sysctl, the equivalent of the modeset kernel parameter
+on Linux.
+
+hw.nvidiadrm.modeset=1
+
+This must be set before loading nvdidia-drm.ko, most easily done by placing the
+above in /boot/loader.conf.