git: 66dec8f11b78 - main - graphics/drm-61-kmod: Add new port

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Fri, 05 Jan 2024 16:43:29 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=66dec8f11b7804bb6dfd7af79a170f0832f2936e

commit 66dec8f11b7804bb6dfd7af79a170f0832f2936e
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2024-01-05 16:33:09 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2024-01-05 16:43:24 +0000

    graphics/drm-61-kmod: Add new port
    
    DRM drivers tracking 6.1-lts Linux version.
    Big thanks to dumbbell@ and wulf@ for working on this update.
    
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 graphics/Makefile                     |  1 +
 graphics/drm-510-kmod/Makefile        |  3 +-
 graphics/drm-515-kmod/Makefile        |  3 +-
 graphics/drm-61-kmod/Makefile         | 56 +++++++++++++++++++++++++++++++++++
 graphics/drm-61-kmod/Makefile.version |  5 ++++
 graphics/drm-61-kmod/distinfo         |  3 ++
 graphics/drm-61-kmod/pkg-descr        |  3 ++
 graphics/drm-61-kmod/pkg-message      | 18 +++++++++++
 graphics/drm-61-kmod/pkg-plist        |  7 +++++
 9 files changed, 97 insertions(+), 2 deletions(-)

diff --git a/graphics/Makefile b/graphics/Makefile
index 8a0ee70ce556..cae10a15b02d 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -146,6 +146,7 @@
     SUBDIR += drawpile
     SUBDIR += drm-510-kmod
     SUBDIR += drm-515-kmod
+    SUBDIR += drm-61-kmod
     SUBDIR += drm-kmod
     SUBDIR += drm_info
     SUBDIR += dspdfviewer
diff --git a/graphics/drm-510-kmod/Makefile b/graphics/drm-510-kmod/Makefile
index 1bdeb3d7ff69..9ebc61dab106 100644
--- a/graphics/drm-510-kmod/Makefile
+++ b/graphics/drm-510-kmod/Makefile
@@ -15,7 +15,8 @@ LICENSE_COMB=	multi
 ONLY_FOR_ARCHS=	aarch64 amd64 i386 powerpc64 powerpc64le
 ONLY_FOR_ARCHS_REASON=	the new KMS components are only supported on amd64, i386, aarch64, and powerpc64
 
-CONFLICTS_INSTALL=	drm-515-kmod
+CONFLICTS_INSTALL=	drm-515-kmod \
+			drm-61-kmod
 
 USES=		kmod uidfix compiler:c++11-lang
 
diff --git a/graphics/drm-515-kmod/Makefile b/graphics/drm-515-kmod/Makefile
index 4083bd26b59d..8bc7029d0f13 100644
--- a/graphics/drm-515-kmod/Makefile
+++ b/graphics/drm-515-kmod/Makefile
@@ -15,7 +15,8 @@ LICENSE_COMB=	multi
 ONLY_FOR_ARCHS=	amd64 powerpc64 powerpc64le
 ONLY_FOR_ARCHS_REASON=	the new KMS components are only supported on amd64 and powerpc64
 
-CONFLICTS_INSTALL=	drm-510-kmod
+CONFLICTS_INSTALL=	drm-510-kmod \
+			drm-61-kmod
 
 USES=		kmod uidfix compiler:c++11-lang
 
diff --git a/graphics/drm-61-kmod/Makefile b/graphics/drm-61-kmod/Makefile
new file mode 100644
index 000000000000..43f0d5be31aa
--- /dev/null
+++ b/graphics/drm-61-kmod/Makefile
@@ -0,0 +1,56 @@
+PORTNAME=	drm-61-kmod
+PORTVERSION=	${DRM_KMOD_DISTVERSION}
+CATEGORIES=	graphics kld
+
+.include "Makefile.version"
+
+MAINTAINER=	x11@FreeBSD.org
+COMMENT=	DRM drivers modules
+WWW=		https://github.com/freebsd/drm-kmod/
+
+LICENSE=	BSD2CLAUSE MIT GPLv2
+LICENSE_COMB=	multi
+
+ONLY_FOR_ARCHS=	amd64 powerpc64 powerpc64le
+ONLY_FOR_ARCHS_REASON=	the new KMS components are only supported on amd64 and powerpc64
+
+CONFLICTS_INSTALL=	drm-510-kmod \
+			drm-61-kmod
+
+USES=		kmod uidfix compiler:c++11-lang
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	freebsd
+GH_PROJECT=	drm-kmod
+GH_TAGNAME=	${DRM_KMOD_GH_TAGNAME}
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500008
+IGNORE=		not supported on older than 15.0, no kernel support
+.endif
+.if ${OPSYS} != FreeBSD
+IGNORE=		not supported on anything but FreeBSD (missing linuxkpi functionality)
+.endif
+
+.if ${ARCH} == "amd64"
+PLIST_SUB+=	AMDGPU=""
+PLIST_SUB+=	I915=""
+.elif ${ARCH} == "i386"
+PLIST_SUB+=	AMDGPU="@comment "
+PLIST_SUB+=	I915=""
+.elif ${ARCH} == "aarch64" || ${ARCH:Mpowerpc*}
+PLIST_SUB+=	AMDGPU=""
+PLIST_SUB+=	I915="@comment "
+.else
+PLIST_SUB+=	AMDGPU="@comment "
+PLIST_SUB+=	I915="@comment "
+.endif
+
+MAKE_ENV+=	MAKEOBJDIRPREFIX=${WRKSRC}/obj
+
+pre-build:
+		${MKDIR} ${WRKSRC}/obj
+		(cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} obj)
+
+.include <bsd.port.mk>
diff --git a/graphics/drm-61-kmod/Makefile.version b/graphics/drm-61-kmod/Makefile.version
new file mode 100644
index 000000000000..c96b856be7d1
--- /dev/null
+++ b/graphics/drm-61-kmod/Makefile.version
@@ -0,0 +1,5 @@
+# drm-kmod common version definition
+#
+# This will be included from consumers such as nvidia-drm
+DRM_KMOD_DISTVERSION=	6.1.69
+DRM_KMOD_GH_TAGNAME=	drm_v6.1.69
diff --git a/graphics/drm-61-kmod/distinfo b/graphics/drm-61-kmod/distinfo
new file mode 100644
index 000000000000..80cbb156b286
--- /dev/null
+++ b/graphics/drm-61-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704471820
+SHA256 (freebsd-drm-kmod-6.1.69-drm_v6.1.69_GH0.tar.gz) = 2327b60eb403f07c9782894cff70de04920cb14a70efc565d68d4b5ad12bc5cb
+SIZE (freebsd-drm-kmod-6.1.69-drm_v6.1.69_GH0.tar.gz) = 37088102
diff --git a/graphics/drm-61-kmod/pkg-descr b/graphics/drm-61-kmod/pkg-descr
new file mode 100644
index 000000000000..4f137a75d5eb
--- /dev/null
+++ b/graphics/drm-61-kmod/pkg-descr
@@ -0,0 +1,3 @@
+amdgpu, i915, and radeon DRM drivers modules.
+Currently corresponding to Linux 5.15 DRM.
+This version is for FreeBSD 14.0 and above.
diff --git a/graphics/drm-61-kmod/pkg-message b/graphics/drm-61-kmod/pkg-message
new file mode 100644
index 000000000000..e8371da62e5a
--- /dev/null
+++ b/graphics/drm-61-kmod/pkg-message
@@ -0,0 +1,18 @@
+[
+{ type: install
+  message: <<EOM
+The drm-515-kmod port can be enabled for amdgpu (for AMD
+GPUs starting with the HD7000 series / Tahiti) or i915kms (for Intel
+APUs starting with HD3000 / Sandy Bridge) through kld_list in
+/etc/rc.conf. radeonkms for older AMD GPUs can be loaded and there are
+some positive reports if EFI boot is NOT enabled.
+
+For amdgpu: kld_list="amdgpu"
+For Intel: kld_list="i915kms"
+For radeonkms: kld_list="radeonkms"
+
+Please ensure that all users requiring graphics are members of the
+"video" group.
+EOM
+}
+]
diff --git a/graphics/drm-61-kmod/pkg-plist b/graphics/drm-61-kmod/pkg-plist
new file mode 100644
index 000000000000..ee5f2847b995
--- /dev/null
+++ b/graphics/drm-61-kmod/pkg-plist
@@ -0,0 +1,7 @@
+/%%KMODDIR%%/dmabuf.ko
+/%%KMODDIR%%/linuxkpi_video.ko
+%%AMDGPU%%/%%KMODDIR%%/amdgpu.ko
+/%%KMODDIR%%/drm.ko
+%%I915%%/%%KMODDIR%%/i915kms.ko
+/%%KMODDIR%%/radeonkms.ko
+/%%KMODDIR%%/ttm.ko