git: 00508c01e276 - main - graphics/drm-66-kmod: Add new port

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Tue, 18 Feb 2025 07:25:56 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=00508c01e2762632f758b64b12abf1e2918c6cf9

commit 00508c01e2762632f758b64b12abf1e2918c6cf9
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2025-02-18 07:12:18 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2025-02-18 07:25:52 +0000

    graphics/drm-66-kmod: Add new port
    
    Add drm-66-kmod which tracks linux 6.6-lts.
    Currently synced with 6.6.25
    
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 graphics/Makefile                         |  1 +
 graphics/drm-66-kmod/Makefile             | 60 +++++++++++++++++++++++++++++++
 graphics/drm-66-kmod/Makefile.version     |  5 +++
 graphics/drm-66-kmod/distinfo             |  3 ++
 graphics/drm-66-kmod/files/pkg-message.in | 22 ++++++++++++
 graphics/drm-66-kmod/pkg-descr            |  4 +++
 graphics/drm-66-kmod/pkg-plist            |  6 ++++
 7 files changed, 101 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 09a57ebdb57f..04653904b4b3 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -152,6 +152,7 @@
     SUBDIR += drm-510-kmod
     SUBDIR += drm-515-kmod
     SUBDIR += drm-61-kmod
+    SUBDIR += drm-66-kmod
     SUBDIR += drm-kmod
     SUBDIR += drm_info
     SUBDIR += dspdfviewer
diff --git a/graphics/drm-66-kmod/Makefile b/graphics/drm-66-kmod/Makefile
new file mode 100644
index 000000000000..1aa037f4900b
--- /dev/null
+++ b/graphics/drm-66-kmod/Makefile
@@ -0,0 +1,60 @@
+PORTNAME=	drm-66-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
+ONLY_FOR_ARCHS_REASON=	the new KMS components are only supported on amd64
+
+CONFLICTS_INSTALL=	drm-510-kmod \
+			drm-515-kmod \
+			drm-66-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>
+
+SUB_FILES=	pkg-message
+SUB_LIST=	OPSYS=${OPSYS} OSREL=${OSREL}
+
+.if ${OPSYS} == FreeBSD && !( ${OSVERSION} >= 1500031 )
+IGNORE=		not supported on older than 1500031, 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-66-kmod/Makefile.version b/graphics/drm-66-kmod/Makefile.version
new file mode 100644
index 000000000000..92f5a1e36ef3
--- /dev/null
+++ b/graphics/drm-66-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.6.25
+DRM_KMOD_GH_TAGNAME=	drm_v6.6.25_1
diff --git a/graphics/drm-66-kmod/distinfo b/graphics/drm-66-kmod/distinfo
new file mode 100644
index 000000000000..b1466e6a252e
--- /dev/null
+++ b/graphics/drm-66-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1739521804
+SHA256 (freebsd-drm-kmod-6.6.25-drm_v6.6.25_1_GH0.tar.gz) = 9de65da6907e2b61b09e9836e923b48dc029e68e2cb4521c17df75f3529fa640
+SIZE (freebsd-drm-kmod-6.6.25-drm_v6.6.25_1_GH0.tar.gz) = 38488410
diff --git a/graphics/drm-66-kmod/files/pkg-message.in b/graphics/drm-66-kmod/files/pkg-message.in
new file mode 100644
index 000000000000..0ca5e2d94286
--- /dev/null
+++ b/graphics/drm-66-kmod/files/pkg-message.in
@@ -0,0 +1,22 @@
+[
+{ type: install
+  message: <<EOM
+The drm-61-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.
+
+Please note that this package was built for %%OPSYS%% %%OSREL%%.
+If this is not your current running version, please rebuild
+it from ports to prevent panics when loading the module.
+EOM
+}
+]
diff --git a/graphics/drm-66-kmod/pkg-descr b/graphics/drm-66-kmod/pkg-descr
new file mode 100644
index 000000000000..5c2e973fa050
--- /dev/null
+++ b/graphics/drm-66-kmod/pkg-descr
@@ -0,0 +1,4 @@
+amdgpu, i915, and radeon DRM drivers modules.
+Currently corresponding to Linux 6.6 DRM.
+This version is for FreeBSD 15 1500023
+and above.
diff --git a/graphics/drm-66-kmod/pkg-plist b/graphics/drm-66-kmod/pkg-plist
new file mode 100644
index 000000000000..42f54df26cff
--- /dev/null
+++ b/graphics/drm-66-kmod/pkg-plist
@@ -0,0 +1,6 @@
+/%%KMODDIR%%/dmabuf.ko
+%%AMDGPU%%/%%KMODDIR%%/amdgpu.ko
+/%%KMODDIR%%/drm.ko
+%%I915%%/%%KMODDIR%%/i915kms.ko
+/%%KMODDIR%%/radeonkms.ko
+/%%KMODDIR%%/ttm.ko