From nobody Sat Jun 13 02:40:45 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gcgbx5G19z6h70Z for ; Sat, 13 Jun 2026 02:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gcgbx4GdQz41Ts for ; Sat, 13 Jun 2026 02:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781318445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XBDMspKhCg2Xl1sDyJtgMXSE48LdTCiiGEfFReOp5Go=; b=KJMndTo5dea/t1Nda8k034Pcba/MwA4Uip5qB3Jd+Zdv0hlLJGZL+4/MPoXTz4M4A1ZOM7 zRJWXdJPsKniQYJJ91hFXHHn/FKZg8RM3/VFtCqrnPEyFi/pSBeFczbGoi17L0NyOmm5Fo JvlKAJdkNM5xrZh5yuPNpMAIDBCEY2njleiVK88e6UvYvnApwHcUPo+ExjXHLsBLFl/RKi KVCqVrjxHkHuKHfdLjpQMh4FqK5XbpezvB0xvS+ATSB/AUZcG4rUYIYinKW21ZAO3Gmqwg HGprBYgwf5oTcTDkRyvXFbdu1RrrtprzOCBUEFZY4geof/6ALByVPiCO1EcQCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781318445; a=rsa-sha256; cv=none; b=dDyfmHOVGTwYB092IpGeHxNzQlw/k9XsY/55SXka6f+jh5OHIymAtFgUObJBq3zr0LtoCg +okCxp3EJg45fWGnonuk/kk7EnkHW/j2jF3HFDPkSI6swJXoX9fbwfFIP3qS0EuWC/TZRl M6x+INQ1tZYEVHkhi1iL7Dz+UpXuhDuYF++nmQC+clG7cDYsfuh6e24v8hM78/uLDi9zoS +7Sd9cPkxb48tSwV4l/aZJFjjRpZlzNYDfhGFVCo9zKNtCKlCuhF92QcF4joxR0gnK/5t3 JRsmtgp5Ra7dJx7zaPEXkDBmll28WFGPP8WQEZbj3yPbLybP+x5x5mZQ000mlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781318445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XBDMspKhCg2Xl1sDyJtgMXSE48LdTCiiGEfFReOp5Go=; b=wulFATDWCU8OYevY1geRmJAdje1e0d1lpWcIrQnAlyVY2Ym3XpWD9SiyGNuXSZuZk2opHg 8ZYn+pvWpfcy/e5pp+Nd4CWjQls6VoftKBxA67jApED/e/nz+eDKZ2RunhZZ6ODAiKaug6 rVkKARENmEe0r07t8i7gQEJx8/7fb79MNnOG+H3F+dQv6nbdnMloGXSNpu9mAeA9f/uFlo uBckauY1dRnvJqw9ZAwkoXXCs3rX9E3IB8HE7qN5C+I7y4WYw2se8YJEY5l+A0YUlulgHx TRxU2mPOUDavbBl4PdGgYKZJQmqFTJKAQwOwLZYI/NdhzezwQpwtoI5lbwSZvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gcgbx3t81z13S3 for ; Sat, 13 Jun 2026 02:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3319e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 13 Jun 2026 02:40:45 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Jason E. Hale Subject: git: 4a2ab125bf7f - main - multimedia/gavl: Update to 2.0.1 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhale X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a2ab125bf7ff04b21d74371e7260c5d9c3b439e Auto-Submitted: auto-generated Date: Sat, 13 Jun 2026 02:40:45 +0000 Message-Id: <6a2cc32d.3319e.421ab2a6@gitrepo.freebsd.org> The branch main has been updated by jhale: URL: https://cgit.FreeBSD.org/ports/commit/?id=4a2ab125bf7ff04b21d74371e7260c5d9c3b439e commit 4a2ab125bf7ff04b21d74371e7260c5d9c3b439e Author: Jason E. Hale AuthorDate: 2026-06-12 21:00:43 +0000 Commit: Jason E. Hale CommitDate: 2026-06-12 21:44:47 +0000 multimedia/gavl: Update to 2.0.1 Project migrated to Github. Remvove PNG option for simplicity as most consumers of this will have ulitimately have graphics/png installed anyways. Remove old cruft that doesn't apply to any supported version of FreeBSD like CFLAGS+= -D_WITH_CPU_SET_T. We've had clock_nanosleep(2) since 11.1 too, so files/patch-gavl-time.c has been removed. --- multimedia/gavl/Makefile | 31 +++++++++-------- multimedia/gavl/distinfo | 5 +-- multimedia/gavl/files/patch-configure | 28 +++++++++++++++ multimedia/gavl/files/patch-gavl-time.c | 24 ------------- multimedia/gavl/files/patch-gavl_http.c | 27 +++++++++++++++ multimedia/gavl/files/patch-gavl_io__stdio.c | 51 ++++++++++++++++++++++++++++ multimedia/gavl/files/patch-gavl_socket.c | 25 ++++++++++++++ multimedia/gavl/files/patch-gavl_utils.c | 19 +++++++++++ multimedia/gavl/pkg-plist | 31 +++++++++++++++-- 9 files changed, 197 insertions(+), 44 deletions(-) diff --git a/multimedia/gavl/Makefile b/multimedia/gavl/Makefile index 77d1b0ec758e..35400c794dc9 100644 --- a/multimedia/gavl/Makefile +++ b/multimedia/gavl/Makefile @@ -1,37 +1,38 @@ PORTNAME= gavl -PORTVERSION= 1.4.0 -PORTREVISION= 4 +DISTVERSION= 2.0.1 CATEGORIES= multimedia -MASTER_SITES= SF/gmerlin/${PORTNAME}/${PORTVERSION} +MASTER_SITES= https://github.com/bplaum/gavl/releases/download/v${DISTVERSION}/ MAINTAINER= jhale@FreeBSD.org COMMENT= Library for handling uncompressed video and audio data -WWW= https://gmerlin.sourceforge.net/ +WWW= https://github.com/bplaum/gavl LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -USES= libtool localbase pathfix pkgconfig +BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat +LIB_DEPENDS= libdrm.so:graphics/libdrm \ + libgnutls.so:security/gnutls \ + libnettle.so:security/nettle \ + libpng.so:graphics/png \ + libva.so:multimedia/libva + +USES= gl libtool localbase pkgconfig +USE_GL= egl gl USE_LDCONFIG= yes + GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-cpuflags=none --without-doxygen INSTALL_TARGET= install-strip -# Opt-in to sched* functions -# https://cgit.freebsd.org/src/commit/?id=90fa9705d5cd29cf11c5dc7319299788dec2546a -CFLAGS+= -D_WITH_CPU_SET_T -LIBS+= -lm - PORTDOCS= README -OPTIONS_DEFINE= OPTIMIZED_CFLAGS PNG DOCS -OPTIONS_DEFAULT= OPTIMIZED_CFLAGS PNG -PNG_LIB_DEPENDS= libpng.so:graphics/png -PNG_CONFIGURE_OFF= --disable-libpng +OPTIONS_DEFINE= OPTIMIZED_CFLAGS DOCS +OPTIONS_DEFAULT= OPTIMIZED_CFLAGS post-patch-OPTIMIZED_CFLAGS-off: @${REINPLACE_CMD} -e \ - 's|-O3 -funroll-all-loops -fomit-frame-pointer -ffast-math||g' \ + 's|-O3 -fomit-frame-pointer||g' \ ${WRKSRC}/configure post-install: diff --git a/multimedia/gavl/distinfo b/multimedia/gavl/distinfo index fea464393e17..822d1a3dffc7 100644 --- a/multimedia/gavl/distinfo +++ b/multimedia/gavl/distinfo @@ -1,2 +1,3 @@ -SHA256 (gavl-1.4.0.tar.gz) = 51aaac41391a915bd9bad07710957424b046410a276e7deaff24a870929d33ce -SIZE (gavl-1.4.0.tar.gz) = 4592701 +TIMESTAMP = 1780472796 +SHA256 (gavl-2.0.1.tar.gz) = 628728ef170d2fcc1b74f2668ad49aa18fc08fda26d7c35013c7aebefdd935c2 +SIZE (gavl-2.0.1.tar.gz) = 4903435 diff --git a/multimedia/gavl/files/patch-configure b/multimedia/gavl/files/patch-configure new file mode 100644 index 000000000000..c79aa6fe211c --- /dev/null +++ b/multimedia/gavl/files/patch-configure @@ -0,0 +1,28 @@ +Remove check for getaddrinfo_a() which is glibc-specific and not used +anywhere in the codebase. This fuction was incorporated into glibc >= +2.34 (released 2021-08-01) [1], so even on systems that use glibc, +this check is moot. + +[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=2ace57217028da99fc98f79ae0a625a1ec842724 + +--- configure.orig 2026-01-16 20:31:09 UTC ++++ configure +@@ -13887,18 +13887,6 @@ fi + fi + + +-ANL_LIBS="" +-OLD_LIBS=$LIBS +-LIBS="$LIBS -lanl" +-ac_fn_c_check_func "$LINENO" "getaddrinfo_a" "ac_cv_func_getaddrinfo_a" +-if test "x$ac_cv_func_getaddrinfo_a" = xyes +-then : +- LIBGAVL_LIBS="${LIBGAVL_LIBS} -lanl" +-else $as_nop +- as_fn_error $? "\"getaddrinfo_a not found in libanl\"" "$LINENO" 5 +-fi +- +-LIBS=$OLD_LIBS + + + diff --git a/multimedia/gavl/files/patch-gavl-time.c b/multimedia/gavl/files/patch-gavl-time.c deleted file mode 100644 index a436568a1769..000000000000 --- a/multimedia/gavl/files/patch-gavl-time.c +++ /dev/null @@ -1,24 +0,0 @@ ---- gavl/time.c.orig 2010-01-14 19:32:51.000000000 +0100 -+++ gavl/time.c 2010-03-30 13:55:24.113853853 +0200 -@@ -44,7 +44,7 @@ - - - /* Sleep for a specified time */ --#ifdef HAVE_CLOCK_MONOTONIC -+#if defined(HAVE_CLOCK_MONOTONIC) || defined(__FreeBSD__) - void gavl_time_delay(gavl_time_t * t) - { - struct timespec tm; -@@ -53,8 +53,12 @@ - tm.tv_sec = *t / 1000000; - tm.tv_nsec = (*t % 1000000)*1000; - -+#if defined(__FreeBSD__) -+ while(nanosleep(&tm, &rem)) -+#else - while(clock_nanosleep(CLOCK_MONOTONIC, 0, - &tm, &rem)) -+#endif - { - if(errno == EINTR) - { diff --git a/multimedia/gavl/files/patch-gavl_http.c b/multimedia/gavl/files/patch-gavl_http.c new file mode 100644 index 000000000000..02059c076590 --- /dev/null +++ b/multimedia/gavl/files/patch-gavl_http.c @@ -0,0 +1,27 @@ +Fix conflicting types between declaration and implementation for +gavl_http_response_get_status_int(). + +http.c:595:11: error: conflicting types for 'gavl_http_response_from_string' + 595 | const int gavl_http_response_from_string(gavl_dictionary_t * res, const char * buf) + | ^ +../include/gavl/http.h:120:5: note: previous declaration is here + 120 | int gavl_http_response_from_string(gavl_dictionary_t * res, const char * buf); + | ^ +http.c:634:5: error: conflicting types for 'gavl_http_response_get_status_int' + 634 | int gavl_http_response_get_status_int(const gavl_dictionary_t * res) + | ^ +../include/gavl/http.h:133:11: note: previous declaration is here + 133 | const int gavl_http_response_get_status_int(const gavl_dictionary_t * res); + | ^ + +--- gavl/http.c.orig 2026-06-03 09:06:45 UTC ++++ gavl/http.c +@@ -631,7 +631,7 @@ const char * gavl_http_response_get_protocol(const gav + return gavl_dictionary_get_string(res, GAVL_HTTP_META_PROTOCOL); + } + +-int gavl_http_response_get_status_int(const gavl_dictionary_t * res) ++const int gavl_http_response_get_status_int(const gavl_dictionary_t * res) + { + int ret = 0; + gavl_dictionary_get_int(res, GAVL_HTTP_META_STATUS_INT, &ret); diff --git a/multimedia/gavl/files/patch-gavl_io__stdio.c b/multimedia/gavl/files/patch-gavl_io__stdio.c new file mode 100644 index 000000000000..4b3118939cf8 --- /dev/null +++ b/multimedia/gavl/files/patch-gavl_io__stdio.c @@ -0,0 +1,51 @@ +Fix compiler errors due to void pointer in stdio macros + +Cast the `priv` void pointer to `FILE *` before passing it to `feof()`, +`clearerr()` and GAVL_FSEEK()`. + +On platforms where standard I/O operations are implemented as macros +(such as FreeBSD), these macros directly dereference the underlying +struct members (e.g., `(p)->_flags`). Passing a `void *` directly to +them triggers a compilation failure: "member reference base type 'void' +is not a structure or union". + +io_stdio.c:67:6: error: member reference base type 'void' is not a structure or union + 67 | if(feof(priv)) + | ^~~~~~~~~~ +/usr/include/stdio.h:505:35: note: expanded from macro 'feof' + 505 | #define feof(p) (!__isthreaded ? __sfeof(p) : (feof)(p)) + | ^~~~~~~~~~ +/usr/include/stdio.h:499:25: note: expanded from macro '__sfeof' + 499 | #define __sfeof(p) (((p)->_flags & __SEOF) != 0) + | ~~~^ ~~~~~~ +io_stdio.c:68:5: error: member reference base type 'void' is not a structure or union + 68 | clearerr(priv); + | ^~~~~~~~~~~~~~ +/usr/include/stdio.h:507:38: note: expanded from macro 'clearerr' + 507 | #define clearerr(p) (!__isthreaded ? __sclearerr(p) : (clearerr)(p)) + | ^~~~~~~~~~~~~~ +/usr/include/stdio.h:501:35: note: expanded from macro '__sclearerr' + 501 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) + | ~~~^ ~~~~~~ + +--- gavl/io_stdio.c.orig 2025-04-18 11:16:35 UTC ++++ gavl/io_stdio.c +@@ -64,11 +64,13 @@ static int64_t seek_file(void * priv, int64_t pos, int + + static int64_t seek_file(void * priv, int64_t pos, int whence) + { +- if(feof(priv)) +- clearerr(priv); +- +- GAVL_FSEEK(priv, pos, whence); +- return GAVL_FTELL(priv); ++ FILE * f = priv; ++ ++ if(feof(f)) ++ clearerr(f); ++ ++ GAVL_FSEEK(f, pos, whence); ++ return GAVL_FTELL(f); + } + + static int flush_file(void * priv) diff --git a/multimedia/gavl/files/patch-gavl_socket.c b/multimedia/gavl/files/patch-gavl_socket.c new file mode 100644 index 000000000000..e37335506ae0 --- /dev/null +++ b/multimedia/gavl/files/patch-gavl_socket.c @@ -0,0 +1,25 @@ +Add missing header and fix undeclared variable. + +socket.c:836:56: error: use of undeclared identifier 'addr' + 836 | gavl_socket_address_get_port(addr), SOCK_DGRAM); + | ^ + +--- gavl/socket.c.orig 2025-01-05 16:14:44 UTC ++++ gavl/socket.c +@@ -48,6 +48,7 @@ + #include + #endif + ++#include // IPPROTO_IP + #include // IPPROTO_TCP, TCP_MAXSEG + + #include +@@ -832,7 +833,7 @@ int gavl_udp_socket_create_multicast(gavl_socket_addre + #else + memset(&bind_addr, 0, sizeof(bind_addr)); + gavl_socket_address_set(&bind_addr, "0.0.0.0", +- gavl_socket_address_get_port(addr), SOCK_DGRAM); ++ gavl_socket_address_get_port(multicast_addr), SOCK_DGRAM); + err = bind(ret, (struct sockaddr*)&bind_addr.addr, bind_addr.len); + #endif + // err = bind(ret, (struct sockaddr*)&addr->addr, addr->len); diff --git a/multimedia/gavl/files/patch-gavl_utils.c b/multimedia/gavl/files/patch-gavl_utils.c new file mode 100644 index 000000000000..e8f4ce2dc74d --- /dev/null +++ b/multimedia/gavl/files/patch-gavl_utils.c @@ -0,0 +1,19 @@ +FreeBSD doesn't define HOST_NAME_MAX anymore, so provide a fallback for +it and other systems that don't define this macro. + +--- gavl/utils.c.orig 2026-01-14 23:43:54 UTC ++++ gavl/utils.c +@@ -36,6 +36,13 @@ + #include + #include + ++#ifndef HOST_NAME_MAX ++# ifdef _POSIX_HOST_NAME_MAX ++# define HOST_NAME_MAX _POSIX_HOST_NAME_MAX ++# else ++# define HOST_NAME_MAX 255 ++# endif ++#endif + + #include + #include diff --git a/multimedia/gavl/pkg-plist b/multimedia/gavl/pkg-plist index 28b6b566ba7e..ea855f460720 100644 --- a/multimedia/gavl/pkg-plist +++ b/multimedia/gavl/pkg-plist @@ -1,13 +1,38 @@ +include/gavl/buffer.h +include/gavl/chapterlist.h include/gavl/compression.h +include/gavl/connectors.h +include/gavl/edl.h include/gavl/gavl.h -include/gavl/gavl_version.h include/gavl/gavldefs.h include/gavl/gavldsp.h +include/gavl/gavlsocket.h include/gavl/gavltime.h +include/gavl/http.h +include/gavl/hw.h +include/gavl/hw_dmabuf.h +include/gavl/hw_egl.h +include/gavl/hw_gl.h +include/gavl/hw_shm.h +include/gavl/hw_v4l2.h +include/gavl/hw_vaapi.h +include/gavl/io.h +include/gavl/keycodes.h +include/gavl/log.h include/gavl/metatags.h include/gavl/metadata.h +include/gavl/msg.h +include/gavl/numptr.h +include/gavl/packetindex.h +include/gavl/parameter.h +include/gavl/peakdetector.h +include/gavl/state.h +include/gavl/threadpool.h include/gavl/timecode.h +include/gavl/trackinfo.h +include/gavl/utils.h +include/gavl/value.h lib/libgavl.so -lib/libgavl.so.1 -lib/libgavl.so.1.0.0 +lib/libgavl.so.3 +lib/libgavl.so.3.0.0 libdata/pkgconfig/gavl.pc