git: a992a7515b0d - main - multimedia/arcan: update 0.7.0.1 -> 0.7.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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