git: c10d550ff173 - main - x11-drivers/xorgxrdp-devel: Add new port

From: Koichiro Iwao <meta_at_FreeBSD.org>
Date: Mon, 04 Apr 2022 04:57:51 UTC
The branch main has been updated by meta:

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

commit c10d550ff17394b3dd0348c23c21cd57061d6f5d
Author:     Koichiro Iwao <meta@FreeBSD.org>
AuthorDate: 2022-03-30 09:22:47 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2022-04-04 04:54:07 +0000

    x11-drivers/xorgxrdp-devel: Add new port
---
 x11-drivers/Makefile                            |  1 +
 x11-drivers/xorgxrdp-devel/Makefile             | 47 +++++++++++++++++++++++++
 x11-drivers/xorgxrdp-devel/distinfo             |  5 +++
 x11-drivers/xorgxrdp-devel/files/pkg-message.in | 43 ++++++++++++++++++++++
 x11-drivers/xorgxrdp-devel/pkg-descr            |  3 ++
 x11-drivers/xorgxrdp-devel/pkg-plist            | 10 ++++++
 x11-drivers/xorgxrdp/Makefile                   |  1 +
 7 files changed, 110 insertions(+)

diff --git a/x11-drivers/Makefile b/x11-drivers/Makefile
index 2c87e43c0522..892b9bb50625 100644
--- a/x11-drivers/Makefile
+++ b/x11-drivers/Makefile
@@ -44,5 +44,6 @@
     SUBDIR += xf86-video-voodoo
     SUBDIR += xorg-drivers
     SUBDIR += xorgxrdp
+    SUBDIR += xorgxrdp-devel
 
 .include <bsd.port.subdir.mk>
diff --git a/x11-drivers/xorgxrdp-devel/Makefile b/x11-drivers/xorgxrdp-devel/Makefile
new file mode 100644
index 000000000000..426f56502a05
--- /dev/null
+++ b/x11-drivers/xorgxrdp-devel/Makefile
@@ -0,0 +1,47 @@
+PORTNAME=	xorgxrdp
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.19.b20220329
+CATEGORIES=	x11-drivers
+PKGNAMESUFFIX=	-devel
+DIST_SUBDIR=	xrdp
+
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+
+MAINTAINER=	meta@FreeBSD.org
+COMMENT=	X.Org driver enabling use through an RDP session with xrdp
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+RUN_DEPENDS=	xauth:x11/xauth
+BUILD_DEPENDS=	nasm:devel/nasm
+
+USES=		autoreconf libtool:build localbase pkgconfig xorg
+USE_XORG=	xorgproto xorg-server
+USE_LDCONFIG=	yes
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	neutrinolabs
+GH_TAGNAME=	0d5cbfe
+GH_TUPLE=	neutrinolabs:xrdp:cd1af47:xrdp
+GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
+
+CONFIGURE_ENV=	XRDP_CFLAGS=-I${WRKSRC_xrdp}/common
+CONFLICTS=	xorgxrdp
+
+OPTIONS_DEFINE=	DEBUG DRI3
+OPTIONS_DEFAULT=
+
+DRI3_DESC=	DRI3/Glamor OpenGL Support
+DRI3_CONFIGURE_ENABLE=	glamor
+DRI3_LIB_DEPENDS=	libepoxy.so:graphics/libepoxy
+DRI3_SUB_FILES=		pkg-message
+
+post-patch-DEBUG-on:
+	${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e 's|#define LOG_LEVEL [0-9]*|#define LOG_LEVEL 20|'
+
+pre-configure:
+	@cd ${WRKSRC} && ./bootstrap
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xorgxrdp-devel/distinfo b/x11-drivers/xorgxrdp-devel/distinfo
new file mode 100644
index 000000000000..cbc19d28e573
--- /dev/null
+++ b/x11-drivers/xorgxrdp-devel/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1648627933
+SHA256 (xrdp/neutrinolabs-xorgxrdp-v0.2.19.b20220329-0d5cbfe_GH0.tar.gz) = 59c4312f7d9f517ce28ef23aaf399f7f90c3fb97aabf3465654d6a7e0453d9e9
+SIZE (xrdp/neutrinolabs-xorgxrdp-v0.2.19.b20220329-0d5cbfe_GH0.tar.gz) = 103613
+SHA256 (xrdp/neutrinolabs-xrdp-cd1af47_GH0.tar.gz) = 8310ebf27b909b20be89088c24873b94816d2c678923a5635de643c5d16539a3
+SIZE (xrdp/neutrinolabs-xrdp-cd1af47_GH0.tar.gz) = 806287
diff --git a/x11-drivers/xorgxrdp-devel/files/pkg-message.in b/x11-drivers/xorgxrdp-devel/files/pkg-message.in
new file mode 100644
index 000000000000..195fc39a23d6
--- /dev/null
+++ b/x11-drivers/xorgxrdp-devel/files/pkg-message.in
@@ -0,0 +1,43 @@
+[
+{ type: install
+  message: <<EOM
+
+xorgxrdp supports hardware acceleration as well as usual xorg-server.
+To configure hardware acceleration, follow the following steps.
+
+1. Install drm-kmod
+    # pkg install drm-kmod
+
+2. Configure to load kernel module (either one of the following)
+    # sysrc kld_list="/boot/modules/i915kms.ko"
+    # sysrc kld_list="/boot/modules/amdgpu.ko"
+    # sysrc kld_list="/boot/modules/radeonkms.ko"
+
+3. Ensure users who login via xrdp are members of the "video" group
+    # pw groupmod video -m username|| pw groupmod wheel -m username
+
+4. Edit /etc/X11/xrdp/xorg.conf to fit your environment
+   "/dev/dri/renderD128" might be different depending on your environment.
+
+   Find the following line and change it to the actual path.
+    Option "DRMDevice" "/dev/dri/renderD128"
+
+   Change "0" to "1" of the following line.
+    Option "DRI3" "0"
+
+5. Restart your system and login via xrdp
+
+See also the Wiki page for detailed instructions:
+  https://wiki.freebsd.org/Graphics#Hardware_Support
+
+
+If hardware acceleration is properly configured, you will see logs like both
+of the following in ~/.local/share/xorg/Xorg.10.log. 10 can be replaced with
+display number.
+
+    "glamor X acceleration enabled on Mesa DRI Intel(R) Ivybridge Desktop"
+    "rdpScreenInit: rdpDri3Init ok"
+
+EOM
+}
+]
diff --git a/x11-drivers/xorgxrdp-devel/pkg-descr b/x11-drivers/xorgxrdp-devel/pkg-descr
new file mode 100644
index 000000000000..45d255d3aefc
--- /dev/null
+++ b/x11-drivers/xorgxrdp-devel/pkg-descr
@@ -0,0 +1,3 @@
+xorgxrdp is a set of drivers that enables Xorg to use RDP session with xrdp.
+
+WWW: http://www.xrdp.org/
diff --git a/x11-drivers/xorgxrdp-devel/pkg-plist b/x11-drivers/xorgxrdp-devel/pkg-plist
new file mode 100644
index 000000000000..8170631330d8
--- /dev/null
+++ b/x11-drivers/xorgxrdp-devel/pkg-plist
@@ -0,0 +1,10 @@
+@dir /etc/X11/xrdp
+/etc/X11/xrdp/xorg.conf
+lib/xorg/modules/drivers/xrdpdev_drv.a
+lib/xorg/modules/drivers/xrdpdev_drv.so
+lib/xorg/modules/input/xrdpkeyb_drv.a
+lib/xorg/modules/input/xrdpkeyb_drv.so
+lib/xorg/modules/input/xrdpmouse_drv.a
+lib/xorg/modules/input/xrdpmouse_drv.so
+lib/xorg/modules/libxorgxrdp.a
+lib/xorg/modules/libxorgxrdp.so
diff --git a/x11-drivers/xorgxrdp/Makefile b/x11-drivers/xorgxrdp/Makefile
index 9905906da1de..f1134f977fb3 100644
--- a/x11-drivers/xorgxrdp/Makefile
+++ b/x11-drivers/xorgxrdp/Makefile
@@ -27,6 +27,7 @@ GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
 CONFIGURE_ENV=	XRDP_CFLAGS=-I${WRKSRC_xrdp}/common
+CONFLICTS=	xorgxrdp-devel
 
 OPTIONS_DEFINE=	DEBUG DRI3
 OPTIONS_DEFAULT=