git: 3f127a1f9a42 - main - multimedia/ustreamer: Add options: DRM, JANUS, SETPROCTITLE

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 28 Feb 2025 19:31:52 UTC
The branch main has been updated by yuri:

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

commit 3f127a1f9a4258679c86a89a827d3e6a285ec473
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-02-28 15:00:09 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-02-28 19:31:49 +0000

    multimedia/ustreamer: Add options: DRM, JANUS, SETPROCTITLE
---
 multimedia/ustreamer/Makefile                      | 31 ++++++++++++++++++++++
 .../ustreamer/files/patch-src_libs_drm_drm.c       | 10 +++++++
 2 files changed, 41 insertions(+)

diff --git a/multimedia/ustreamer/Makefile b/multimedia/ustreamer/Makefile
index 2e0cacfd2344..06ff94805423 100644
--- a/multimedia/ustreamer/Makefile
+++ b/multimedia/ustreamer/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	ustreamer
 DISTVERSIONPREFIX=	v
 DISTVERSION=	6.33
+PORTREVISION=	1
 CATEGORIES=	multimedia net
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -26,4 +27,34 @@ PLIST_FILES=	bin/ustreamer \
 		share/man/man1/ustreamer-dump.1.gz \
 		share/man/man1/ustreamer.1.gz
 
+OPTIONS_DEFINE=			DRM JANUS SETPROCTITLE
+OPTIONS_DEFAULT=		DRM JANUS SETPROCTITLE
+
+DRM_DESC=			Use libdrm for V4P functionality
+DRM_MAKE_ARGS=			WITH_V4P=1
+DRM_LIB_DEPENDS=		libdrm.so:graphics/libdrm
+DRM_PLIST_FILES=		bin/ustreamer-v4p
+
+JANUS_DESC=			Build Janus plugin for Janus WebRTC gateway
+JANUS_MAKE_ARGS=		WITH_JANUS=1
+JANUS_USES=			gettext-runtime gnome
+JANUS_USE=			GNOME=glib20
+JANUS_CFLAGS=			-I${LOCALBASE}/include/janus # https://github.com/meetecho/janus-gateway/issues/3523, https://github.com/pikvm/ustreamer/issues/305
+JANUS_BUILD_DEPENDS=		janus>0:www/janus
+JANUS_LIB_DEPENDS=		libasound.so:audio/alsa-lib \
+				libjansson.so:devel/jansson \
+				libspeexdsp.so:audio/speexdsp \
+				libopus.so:audio/opus
+JANUS_RUN_DEPENDS=		janus>0:www/janus
+JANUS_PLIST_FILES=		lib/ustreamer/janus/libjanus_ustreamer.so
+
+SETPROCTITLE_DESC=		Enable setproctitle functionality
+SETPROCTITLE_MAKE_ARGS_OFF=	WITH_SETPROCTITLE=0
+
+post-install-JANUS-on:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/ustreamer/janus/libjanus_ustreamer.so
+
+# other optional dependencies:
+# * libgpiod: linux-only library sourced from git.kernel.org probably not supporting FreeBSD
+
 .include <bsd.port.mk>
diff --git a/multimedia/ustreamer/files/patch-src_libs_drm_drm.c b/multimedia/ustreamer/files/patch-src_libs_drm_drm.c
new file mode 100644
index 000000000000..78e285bfa747
--- /dev/null
+++ b/multimedia/ustreamer/files/patch-src_libs_drm_drm.c
@@ -0,0 +1,10 @@
+--- src/libs/drm/drm.c.orig	2025-02-28 19:07:57 UTC
++++ src/libs/drm/drm.c
+@@ -28,7 +28,6 @@
+ 
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+-#include <sys/sysmacros.h>
+ 
+ #include <linux/videodev2.h>
+