git: a992a7515b0d - main - multimedia/arcan: update 0.7.0.1 -> 0.7.1

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Wed, 31 Dec 2025 17:11:54 UTC
The branch main has been updated by fernape:

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

commit a992a7515b0d06e9cc640ccb6f26a31f9d956264
Author:     Al Hoang <hoanga@gmail.com>
AuthorDate: 2025-12-30 17:30:29 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2025-12-31 17:11:17 +0000

    multimedia/arcan: update 0.7.0.1 -> 0.7.1
    
    ChangeLog:
    https://codeberg.org/letoram/arcan/src/branch/master/CHANGELOG.md#0-7-1
    
    PR:             292012
---
 multimedia/arcan/Makefile                          | 16 +++---
 multimedia/arcan/distinfo                          |  6 +-
 multimedia/arcan/files/ffmpeg.patch                | 57 -------------------
 ...patch-frameserver_decode_default_uvc__support.c | 66 ++++++++++++++++++++++
 multimedia/arcan/pkg-plist                         | 12 ++--
 5 files changed, 83 insertions(+), 74 deletions(-)

diff --git a/multimedia/arcan/Makefile b/multimedia/arcan/Makefile
index ffb567898ec7..dc5e06db0c75 100644
--- a/multimedia/arcan/Makefile
+++ b/multimedia/arcan/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	arcan
-DISTVERSION=	0.7.0.1
-PORTREVISION=	2
+DISTVERSION=	0.7.1
 CATEGORIES=	multimedia
+MASTER_SITES=   https://codeberg.org/letoram/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
 
-MAINTAINER=	hoanga@gmail.com	
+MAINTAINER=	hoanga@gmail.com
 COMMENT=	Display Server, Multimedia Framework, Game Engine
 WWW=		https://arcan-fe.com/
 
@@ -13,19 +13,17 @@ LICENSE_FILE_BSD3CLAUSE=${WRKSRC:H}/data/distr/LICENSE.BSD
 LICENSE_FILE_GPLv2+ =	${WRKSRC:H}/data/distr/LICENSE.GPL
 LICENSE_FILE_LGPL21+ =	${WRKSRC:H}/data/distr/LICENSE.LGPL
 
-EXTRA_PATCHES=	${FILESDIR}/ffmpeg.patch:-p1
-
 BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto
 LIB_DEPENDS=	libdrm.so:graphics/libdrm \
-		libfreetype.so:print/freetype2
+		libfreetype.so:print/freetype2 \
+		libdisplay-info.so:sysutils/libdisplay-info
 RUN_DEPENDS=	mesa-dri>0:graphics/mesa-dri
 
 USES=		cmake compiler:c11 gl iconv openal pkgconfig sqlite
-USE_GITHUB=	yes
-USE_GL=		egl gbm gl
 USE_LDCONFIG=	yes
-GH_ACCOUNT=	letoram
+USE_GL=		egl gbm gl
 WRKSRC_SUBDIR=	src
+WRKSRC=		${WRKDIR}/arcan
 CMAKE_ON=	HYBRID_HEADLESS
 CMAKE_OFF=	STATIC_LIBUVC
 CMAKE_ARGS=	-DDISTR_TAG:STRING="portbld" \
diff --git a/multimedia/arcan/distinfo b/multimedia/arcan/distinfo
index 2fb5fb737857..73c08bf2a189 100644
--- a/multimedia/arcan/distinfo
+++ b/multimedia/arcan/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747581364
-SHA256 (letoram-arcan-0.7.0.1_GH0.tar.gz) = 63d925d100389e7a1074a8746a080a01d94739df487c2f8e311eb49adc006c6e
-SIZE (letoram-arcan-0.7.0.1_GH0.tar.gz) = 12978670
+TIMESTAMP = 1766851126
+SHA256 (arcan-0.7.1.tar.gz) = b015dba937a5dc3ef525d09d07cd59f8aeeb8173e37a2f514ff5d19f7bc1ed0c
+SIZE (arcan-0.7.1.tar.gz) = 13392556
diff --git a/multimedia/arcan/files/ffmpeg.patch b/multimedia/arcan/files/ffmpeg.patch
deleted file mode 100644
index c1038e0e3c90..000000000000
--- a/multimedia/arcan/files/ffmpeg.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Index: src/frameserver/encode/default/encode_presets.c
-==================================================================
---- src/frameserver/encode/default/encode_presets.c
-+++ src/frameserver/encode/default/encode_presets.c
-@@ -61,11 +61,11 @@
- 
- 	if (avcodec_open2(dst->storage.video.context,
- 		dst->storage.video.codec, NULL) != 0){
- 		dst->storage.video.codec   = NULL;
- 		dst->storage.video.context = NULL;
--		avcodec_close(dst->storage.video.context);
-+		avcodec_free_context(&dst->storage.video.context);
- 		return false;
- 	}
- 
- 	return true;
- }
-@@ -89,11 +89,11 @@
- 		"got %d kbit/s using %s\n", samplerate, abr,
- 		(int)(ctx->bit_rate / 1000), codec->name);
- 
- 	if (avcodec_open2(
- 		dst->storage.audio.context, dst->storage.audio.codec, NULL) != 0){
--		avcodec_close(dst->storage.audio.context);
-+		avcodec_free_context(&dst->storage.audio.context);
- 		dst->storage.audio.context = NULL;
- 		dst->storage.audio.codec   = NULL;
- 		return false;
- 	}
- 
-@@ -179,11 +179,11 @@
- 	LOG("(encode) video setup @ %d * %d, %f fps, %d kbit / s.\n",
- 		width, height, fps, vbr / 1000);
- 
- 	if (avcodec_open2(dst->storage.video.context,
- 		dst->storage.video.codec, &opts) != 0){
--		avcodec_close(dst->storage.video.context);
-+		avcodec_free_context(&dst->storage.video.context);
- 		dst->storage.video.context = NULL;
- 		dst->storage.video.codec   = NULL;
- 		return false;
- 	}
- 
-@@ -245,11 +245,11 @@
- 
- 	LOG("(encode) video setup @ %d * %d, %f fps, %d kbit / s.\n",
- 		width, height, fps, vbr / 1024);
- 	if (avcodec_open2(dst->storage.video.context,
- 		dst->storage.video.codec, &opts) != 0){
--		avcodec_close(dst->storage.video.context);
-+		avcodec_free_context(&dst->storage.video.context);
- 		dst->storage.video.context = NULL;
- 		dst->storage.video.codec   = NULL;
- 		return false;
- 	}
- 
-
diff --git a/multimedia/arcan/files/patch-frameserver_decode_default_uvc__support.c b/multimedia/arcan/files/patch-frameserver_decode_default_uvc__support.c
new file mode 100644
index 000000000000..d1ccb33657c1
--- /dev/null
+++ b/multimedia/arcan/files/patch-frameserver_decode_default_uvc__support.c
@@ -0,0 +1,66 @@
+--- frameserver/decode/default/uvc_support.c.orig	2025-12-26 22:39:35 UTC
++++ frameserver/decode/default/uvc_support.c
+@@ -141,7 +141,7 @@ static void frame_ffmpeg(
+ 	if (!codec){
+ 		codec = avcodec_find_decoder(fmt);
+ 		if (!codec){
+-			LOG("status=error:fatal:kind=missing:message=no %s support", fmtstr);
++			//LOG("status=error:fatal:kind=missing:message=no %s support", fmtstr);
+ 			arcan_shmif_last_words(cont, "ffmpeg no matching codec");
+ 			arcan_shmif_drop(cont);
+ 			exit(EXIT_FAILURE);
+@@ -151,7 +151,7 @@ static void frame_ffmpeg(
+ 		frame = av_frame_alloc();
+ 		packet = av_packet_alloc();
+ 		if (avcodec_open2(decode, codec, NULL) < 0){
+-			LOG("status=error:fatal:kind=codec_fail:message=codec failed open");
++			//LOG("status=error:fatal:kind=codec_fail:message=codec failed open");
+ 			arcan_shmif_drop(cont);
+ 			exit(EXIT_FAILURE);
+ 		}
+@@ -167,7 +167,7 @@ static void frame_ffmpeg(
+ 		);
+ 
+ 		if (ret < 0){
+-			LOG("status=error:fatal:kind=ebad:message=%s parser failed", fmtstr);
++			//LOG("status=error:fatal:kind=ebad:message=%s parser failed", fmtstr);
+ 			arcan_shmif_last_words(cont, "ffmpeg parser error");
+ 			arcan_shmif_drop(cont);
+ 			exit(EXIT_FAILURE);
+@@ -206,7 +206,7 @@ decode_fail:
+ 	return;
+ 
+ decode_fail:
+-	LOG("status=error:fatal:kind=ebad:message=%s decoder failed", fmtstr);
++	//LOG("status=error:fatal:kind=ebad:message=%s decoder failed", fmtstr);
+ 	arcan_shmif_last_words(cont, "ffmpeg decoder error");
+ 	arcan_shmif_drop(cont);
+ 	exit(EXIT_FAILURE);
+@@ -247,7 +247,7 @@ static void callback(uvc_frame_t* frame, void* tag)
+ 			arcan_shmif_substruct(cont, SHMIF_META_VENC).venc;
+ 		if (!venc){
+ 			h264_passthrough = false;
+-			LOG("status=feature:h264_passthrough=false");
++			//LOG("status=feature:h264_passthrough=false");
+ 		}
+ /* sanity-check fail, revert to normal */
+ 		else {
+@@ -262,7 +262,7 @@ static void callback(uvc_frame_t* frame, void* tag)
+ 				venc->fourcc[3] = '4';
+ 
+ 				venc->framesize = frame->data_bytes;
+-				LOG("status=frame:h264_passthrough=true:size=%zu", (size_t) frame->data_bytes);
++				//LOG("status=frame:h264_passthrough=true:size=%zu", (size_t) frame->data_bytes);
+ 				memcpy(cont->vidb, frame->data, venc->framesize);
+ 				arcan_shmif_signal(cont, SHMIF_SIGVID);
+ 				return;
+@@ -294,7 +294,8 @@ static void callback(uvc_frame_t* frame, void* tag)
+ 	break;
+ /* h264 and mjpeg should map into ffmpeg as well */
+ 	default:
+-		LOG("unhandled frame format: %d\n", (int)frame->frame_format);
++		//LOG("unhandled frame format: %d\n", (int)frame->frame_format);
++		;;
+ 	break;
+ 	}
+ }
diff --git a/multimedia/arcan/pkg-plist b/multimedia/arcan/pkg-plist
index 666f4368e1b6..6044a74f065a 100644
--- a/multimedia/arcan/pkg-plist
+++ b/multimedia/arcan/pkg-plist
@@ -7,6 +7,7 @@ bin/afsrv_remoting
 bin/afsrv_terminal
 %%MAYBE_SUID%%bin/arcan
 bin/arcan-net
+bin/arcan-net-session
 %%WAYLAND%%bin/arcan-wayland
 bin/arcan_db
 bin/arcan_frameserver
@@ -32,15 +33,16 @@ lib/libarcan_a12.so
 lib/libarcan_a12.so.0.1
 lib/libarcan_shmif.a
 lib/libarcan_shmif.so
-lib/libarcan_shmif.so.0.17
+lib/libarcan_shmif.so.0.18
 lib/libarcan_shmif_ext.so
-lib/libarcan_shmif_ext.so.0.17
+lib/libarcan_shmif_ext.so.0.18
 lib/libarcan_shmif_intext.so
-lib/libarcan_shmif_intext.so.0.17
+lib/libarcan_shmif_intext.so.0.18
 lib/libarcan_shmif_server.so
-lib/libarcan_shmif_server.so.0.17
+lib/libarcan_shmif_server.so.0.18
 lib/libarcan_tui.so
-lib/libarcan_tui.so.0.17
+lib/libarcan_tui.so.0.18
+libdata/pkgconfig/arcan-a12.pc
 libdata/pkgconfig/arcan-shmif-ext.pc
 libdata/pkgconfig/arcan-shmif-srv.pc
 libdata/pkgconfig/arcan-shmif-tui.pc