git: 3c65a080f765 - main - graphics/drm-54-kmod: Add new port

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Sun, 01 May 2022 17:24:23 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3c65a080f765cf0aaf850eb6f42ebc57c2710731

commit 3c65a080f765cf0aaf850eb6f42ebc57c2710731
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2022-04-28 12:14:57 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2022-05-01 17:23:25 +0000

    graphics/drm-54-kmod: Add new port
    
    Add new ports that track drm from Linux 5.4
    This ports works on all 13 branches and current.
    
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 graphics/Makefile                |  1 +
 graphics/drm-54-kmod/Makefile    | 52 ++++++++++++++++++++++++++++++++++++++++
 graphics/drm-54-kmod/distinfo    |  3 +++
 graphics/drm-54-kmod/pkg-descr   |  5 ++++
 graphics/drm-54-kmod/pkg-message | 18 ++++++++++++++
 graphics/drm-54-kmod/pkg-plist   |  6 +++++
 6 files changed, 85 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 0348a23f45c5..85c3ab1499c3 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -139,6 +139,7 @@
     SUBDIR += dmtx-utils
     SUBDIR += drawing
     SUBDIR += drawpile
+    SUBDIR += drm-54-kmod
     SUBDIR += drm-current-kmod
     SUBDIR += drm-devel-kmod
     SUBDIR += drm-fbsd12.0-kmod
diff --git a/graphics/drm-54-kmod/Makefile b/graphics/drm-54-kmod/Makefile
new file mode 100644
index 000000000000..0ff437562ba5
--- /dev/null
+++ b/graphics/drm-54-kmod/Makefile
@@ -0,0 +1,52 @@
+PORTNAME=	drm-54-kmod
+PORTVERSION=	5.4.144
+CATEGORIES=	graphics kld
+
+MAINTAINER=	x11@FreeBSD.org
+COMMENT=	DRM drivers modules
+
+LICENSE=	BSD2CLAUSE MIT GPLv2
+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-devel-kmod drm-current-kmod
+
+USES=		kmod uidfix compiler:c++11-lang
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	freebsd
+GH_PROJECT=	drm-kmod
+GH_TAGNAME=	drm_v5.4.144_7
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1300136
+IGNORE=		not supported on older than 13.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-54-kmod/distinfo b/graphics/drm-54-kmod/distinfo
new file mode 100644
index 000000000000..4880b449ce61
--- /dev/null
+++ b/graphics/drm-54-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1651420992
+SHA256 (freebsd-drm-kmod-5.4.144-drm_v5.4.144_7_GH0.tar.gz) = eafe0404859bf4dfede13118db1cf0e5960eb5f9b2ed3cfa6eb2729c69b46d28
+SIZE (freebsd-drm-kmod-5.4.144-drm_v5.4.144_7_GH0.tar.gz) = 18822772
diff --git a/graphics/drm-54-kmod/pkg-descr b/graphics/drm-54-kmod/pkg-descr
new file mode 100644
index 000000000000..967d36398760
--- /dev/null
+++ b/graphics/drm-54-kmod/pkg-descr
@@ -0,0 +1,5 @@
+amdgpu, i915, and radeon DRM drivers modules.
+Currently corresponding to Linux 5.4.114 DRM.
+This version is for FreeBSD 13.0 and above.
+
+WWW: https://github.com/freebsd/drm-kmod/
diff --git a/graphics/drm-54-kmod/pkg-message b/graphics/drm-54-kmod/pkg-message
new file mode 100644
index 000000000000..75064f10adbf
--- /dev/null
+++ b/graphics/drm-54-kmod/pkg-message
@@ -0,0 +1,18 @@
+[
+{ type: install
+  message: <<EOM
+The drm-54-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 (similar to amdgpu).
+
+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-54-kmod/pkg-plist b/graphics/drm-54-kmod/pkg-plist
new file mode 100644
index 000000000000..bba0b9fd915b
--- /dev/null
+++ b/graphics/drm-54-kmod/pkg-plist
@@ -0,0 +1,6 @@
+%%AMDGPU%%/%%KMODDIR%%/amdgpu.ko
+/%%KMODDIR%%/drm.ko
+%%I915%%/%%KMODDIR%%/i915kms.ko
+/%%KMODDIR%%/linuxkpi_gplv2.ko
+/%%KMODDIR%%/radeonkms.ko
+/%%KMODDIR%%/ttm.ko