git: 3f3ce2a60f96 - main - multimedia/jellyfin-ffmpeg: Update to 8.1.2.5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 23 Sep 2026 13:11:45 UTC
The branch main has been updated by joneum:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3f3ce2a60f968c105fcc6984a7f7dffedb18027b
commit 3f3ce2a60f968c105fcc6984a7f7dffedb18027b
Author: Michael Johnson <michaeljohnson@ahze.net>
AuthorDate: 2026-09-23 13:10:36 +0000
Commit: Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-09-23 13:11:20 +0000
multimedia/jellyfin-ffmpeg: Update to 8.1.2.5
Build chromaprint statically, which drops the dependency on
audio/chromaprint and a second FFmpeg with it.
PR: 298787
Sponsored by: Netzkommune GmbH
---
multimedia/jellyfin-ffmpeg/Makefile | 29 ++++++++++++++++++++++++++---
multimedia/jellyfin-ffmpeg/distinfo | 8 +++++---
2 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/multimedia/jellyfin-ffmpeg/Makefile b/multimedia/jellyfin-ffmpeg/Makefile
index ab4c9baa1c7b..32a40449e5f4 100644
--- a/multimedia/jellyfin-ffmpeg/Makefile
+++ b/multimedia/jellyfin-ffmpeg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= jellyfin-ffmpeg
-PORTVERSION= 8.1.2.4
+PORTVERSION= 8.1.2.5
CATEGORIES= multimedia
MAINTAINER= michaeljohnson@ahze.net
@@ -13,11 +13,12 @@ ONLY_FOR_ARCHS= aarch64 amd64
ONLY_FOR_ARCHS_REASON= upstream jellyfin-ffmpeg targets 64-bit; 32-bit builds non-PIC asm that lld rejects
BUILD_DEPENDS= nasm:devel/nasm \
+ ${LOCALBASE}/include/fftw3.h:math/fftw3 \
+ ${LOCALBASE}/lib/libfftw3f.a:math/fftw3-float \
${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
PATCH_DEPENDS= quilt:devel/quilt
LIB_DEPENDS= libass.so:multimedia/libass \
libbluray.so:multimedia/libbluray \
- libchromaprint.so:audio/chromaprint \
libdav1d.so:multimedia/dav1d \
libfdk-aac.so:audio/fdk-aac \
libfontconfig.so:x11-fonts/fontconfig \
@@ -51,11 +52,12 @@ LIB_DEPENDS= libass.so:multimedia/libass \
libasound.so:audio/alsa-lib \
libsndio.so:audio/sndio
-USES= compiler:c17 gmake localbase:ldflags pkgconfig tar:xz
+USES= cmake:indirect compiler:c17 gmake localbase:ldflags pkgconfig tar:xz
USE_GITHUB= yes
GH_ACCOUNT= jellyfin
GH_PROJECT= jellyfin-ffmpeg
GH_TAGNAME= v${PORTVERSION:C/\.([0-9]+)$/-\1/}
+GH_TUPLE= acoustid:chromaprint:v1.6.0:chromaprint
# Everything installs into a private subdir so nothing collides with
# multimedia/ffmpeg or jellyfin-ffmpeg7; only the suffixed bin/ symlinks land
@@ -67,8 +69,29 @@ post-patch:
cd ${WRKSRC} && QUILT_PATCHES=debian/patches quilt push -a || \
QUILT_PATCHES=debian/patches quilt applied | ${GREP} -q 0098
+# Static chromaprint on fftw3f, as upstream's builder does: audio/chromaprint
+# links multimedia/ffmpeg for its FFT, dragging a second FFmpeg and ~30 other
+# ports (gcc, boost, numpy, ...) into this port's runtime.
+CHROMAPRINT_PREFIX= ${WRKDIR}/chromaprint-static
+CMAKE_INSTALL_PREFIX= ${CHROMAPRINT_PREFIX}
+CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR:STRING=lib -DFFT_LIB:STRING=fftw3f
+CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_FFmpeg CMAKE_POSITION_INDEPENDENT_CODE
+CMAKE_OFF= BUILD_SHARED_LIBS BUILD_TESTS BUILD_TOOLS
+
+pre-configure:
+ ${SETENVI} ${WRK_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
+ -S ${WRKSRC_chromaprint} -B ${WRKDIR}/chromaprint-build
+ ${SETENVI} ${WRK_ENV} ${CMAKE_BIN} --build ${WRKDIR}/chromaprint-build \
+ -j ${MAKE_JOBS_NUMBER}
+ ${SETENVI} ${WRK_ENV} ${CMAKE_BIN} --install ${WRKDIR}/chromaprint-build
+ # configure links with plain `pkg-config --libs` (shared build), so the
+ # static deps go in Libs:, not Libs.private: as upstream's builder does
+ ${REINPLACE_CMD} -e 's|^Libs:.*|Libs: -L$${libdir} -lchromaprint ${LOCALBASE}/lib/libfftw3f.a -lc++ -lm|' \
+ ${CHROMAPRINT_PREFIX}/lib/pkgconfig/libchromaprint.pc
+
HAS_CONFIGURE= yes
CONFIGURE_LOG= ffbuild/config.log
+CONFIGURE_ENV+= PKG_CONFIG_PATH=${CHROMAPRINT_PREFIX}/lib/pkgconfig
NOPRECIOUSMAKEVARS= yes
MAKE_ENV+= V=1
diff --git a/multimedia/jellyfin-ffmpeg/distinfo b/multimedia/jellyfin-ffmpeg/distinfo
index ef5adb38d3dd..6d14bfd5d8f4 100644
--- a/multimedia/jellyfin-ffmpeg/distinfo
+++ b/multimedia/jellyfin-ffmpeg/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1788678647
-SHA256 (jellyfin-jellyfin-ffmpeg-8.1.2.4-v8.1.2-4_GH0.tar.gz) = eeb6b4a095193520293e59e2f9a17e7126ba697cc7e194377f7f63919988e6e0
-SIZE (jellyfin-jellyfin-ffmpeg-8.1.2.4-v8.1.2-4_GH0.tar.gz) = 17717861
+TIMESTAMP = 1790153155
+SHA256 (jellyfin-jellyfin-ffmpeg-8.1.2.5-v8.1.2-5_GH0.tar.gz) = 2d871248eb86f15ce54dad8d57787cf2c098b5c675b556d1f40025b1ae53acd0
+SIZE (jellyfin-jellyfin-ffmpeg-8.1.2.5-v8.1.2-5_GH0.tar.gz) = 17733403
+SHA256 (acoustid-chromaprint-v1.6.0_GH0.tar.gz) = 65bfce4a35b2e673dbcda917b6aa577e2f145cf805243d19e6a50fea2a520c2a
+SIZE (acoustid-chromaprint-v1.6.0_GH0.tar.gz) = 1580199