git: 77991744ec03 - main - multimedia/ffms2: Update to 5.0

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sun, 31 Aug 2025 00:27:58 UTC
The branch main has been updated by diizzy:

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

commit 77991744ec03e20b9019d036d81d01625040aada
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2025-08-31 00:24:35 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2025-08-31 00:27:52 +0000

    multimedia/ffms2: Update to 5.0
    
    * Backport upstream commit 25cef14386fcaaa58ee547065deee8f6e82c56a2
    * Import patch from Fedora to use system installed VapourSynth
    
    References:
    https://github.com/FFMS/ffms2/commit/25cef14386fcaaa58ee547065deee8f6e82c56a2
    https://src.fedoraproject.org/rpms/ffms2/blob/4abb3e39048f3c8959dac77bee61bd8da749551e/f/ffms2-use-system-vapoursynth.patch
    
    PR:             289060
---
 multimedia/ffms2/Makefile                          | 34 ++++++++++------------
 multimedia/ffms2/distinfo                          | 14 ++++-----
 .../ffms2/files/patch-use-system-vapoursynth       | 34 ++++++++++++++++++++++
 multimedia/ffms2/pkg-plist                         |  5 ++--
 4 files changed, 56 insertions(+), 31 deletions(-)

diff --git a/multimedia/ffms2/Makefile b/multimedia/ffms2/Makefile
index e914a59843da..e0289ee9ae82 100644
--- a/multimedia/ffms2/Makefile
+++ b/multimedia/ffms2/Makefile
@@ -1,12 +1,9 @@
 PORTNAME=	ffms2
-DISTVERSION=	2.40
-PORTREVISION=	3
+DISTVERSION=	5.0
 CATEGORIES=	multimedia
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+=	96cbf38ea938.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
-PATCHFILES+=	586d87de3f89.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
-PATCHFILES+=	45673149e9a2.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
+PATCHFILES=	25cef14386fcaaa58ee547065deee8f6e82c56a2.patch:-p1
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	FFmpeg-based source library and VapourSynth plugin
@@ -22,27 +19,26 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	FFMS
 
 USES=		autoreconf compiler:c++11-lib gmake libtool pathfix pkgconfig
-EXCLUDE=	VSHelper.h VSScript.h VapourSynth.h
-EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,}
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-static
-CPPFLAGS+=	`pkg-config vapoursynth --cflags`
-INSTALL_TARGET=	install-strip
 USE_LDCONFIG=	yes
+
+EXTRACT_AFTER_ARGS=	--exclude src/vapoursynth/V*.h \
+			--no-same-owner --no-same-permissions
+
+GNU_CONFIGURE=	yes
+
 DATADIR=	${PREFIX}/lib/vapoursynth
+INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=	DOCS
+CONFIGURE_ARGS=	--enable-static
 
-pre-configure:
-	@${MKDIR} ${WRKSRC}/src/config # from autogen.sh
+OPTIONS_DEFINE=	DOCS
 
 post-patch:
 	@${REINPLACE_CMD} -e '/^dist_doc_DATA/s,=,& \
-			doc/${PORTNAME}-vapoursynth.md,' \
-		${WRKSRC}/Makefile.am
+	   doc/${PORTNAME}-vapoursynth.md,' \
+	   ${WRKSRC}/Makefile.am
 
-post-install:
-	${MKDIR} ${STAGEDIR}${DATADIR}
-	${LN} -sf ../lib${PORTNAME}.so ${STAGEDIR}${DATADIR}/
+pre-configure:
+	@${MKDIR} ${WRKSRC}/src/config # from autogen.sh
 
 .include <bsd.port.mk>
diff --git a/multimedia/ffms2/distinfo b/multimedia/ffms2/distinfo
index a8d034f5d271..448224476f05 100644
--- a/multimedia/ffms2/distinfo
+++ b/multimedia/ffms2/distinfo
@@ -1,9 +1,5 @@
-TIMESTAMP = 1598095686
-SHA256 (FFMS-ffms2-2.40_GH0.tar.gz) = 82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
-SIZE (FFMS-ffms2-2.40_GH0.tar.gz) = 140356
-SHA256 (96cbf38ea938.patch) = dd063e21c6e7887614ab5fb1009cf9b353066829771d4426dfe779d74dfac758
-SIZE (96cbf38ea938.patch) = 13422
-SHA256 (586d87de3f89.patch) = d5ec6ee44bf8f0a2bd943c1c61bace33b7b80559137b71fe5c4af5e7dd9ac7f8
-SIZE (586d87de3f89.patch) = 931
-SHA256 (45673149e9a2.patch) = ecef89ce1bb4158181c96eecdbc2c37e49a880a88e72a271b54ce98832dcf049
-SIZE (45673149e9a2.patch) = 3693
+TIMESTAMP = 1756589822
+SHA256 (FFMS-ffms2-5.0_GH0.tar.gz) = 7770af0bbc0063f9580a6a5c8e7c51f1788f171d7da0b352e48a1e60943a8c3c
+SIZE (FFMS-ffms2-5.0_GH0.tar.gz) = 167985
+SHA256 (25cef14386fcaaa58ee547065deee8f6e82c56a2.patch) = f60096f07d8cf63a3abf8aa1066746e174541523bdc642ec2eabde5b1f286926
+SIZE (25cef14386fcaaa58ee547065deee8f6e82c56a2.patch) = 1145
diff --git a/multimedia/ffms2/files/patch-use-system-vapoursynth b/multimedia/ffms2/files/patch-use-system-vapoursynth
new file mode 100644
index 000000000000..58c8f06affaf
--- /dev/null
+++ b/multimedia/ffms2/files/patch-use-system-vapoursynth
@@ -0,0 +1,34 @@
+diff -up ffms2-5.0/configure.ac.orig ffms2-5.0/configure.ac
+--- configure.ac.orig	2024-05-28 16:52:48.000000000 +0200
++++ configure.ac	2024-09-20 12:13:11.134979566 +0200
+@@ -118,6 +118,10 @@ if test "$FFMPEG_WORKS" = no; then
+ AC_MSG_FAILURE([cannot link with FFmpeg])
+ fi
+ 
++PKG_CHECK_MODULES(VAPOURSYNTH, [vapoursynth])
++
++AC_SUBST([VAPOURSYNTH_CFLAGS])
++
+ src_core_libffms2_la_LDFLAGS=""
+ AC_MSG_CHECKING([whether -Wl,-Bsymbolic is needed])
+ if test "$enable_shared" = yes; then
+diff -up ffms2-5.0/Makefile.am.orig ffms2-5.0/Makefile.am
+--- Makefile.am.orig	2024-09-20 12:12:14.272194649 +0200
++++ Makefile.am	2024-09-20 12:13:00.781018729 +0200
+@@ -14,6 +14,7 @@ AM_CPPFLAGS = \
+ 	-DFFMS_EXPORTS \
+ 	-D__STDC_CONSTANT_MACROS \
+ 	@FFMPEG_CFLAGS@ \
++	@VAPOURSYNTH_CFLAGS@ \
+ 	@ZLIB_CPPFLAGS@ \
+ 	-include config.h
+ AM_CXXFLAGS = -fvisibility=hidden
+@@ -39,8 +40,6 @@ src_core_libffms2_la_SOURCES = \
+ 	src/core/videoutils.h \
+ 	src/core/zipfile.cpp \
+ 	src/core/zipfile.h \
+-	src/vapoursynth/VapourSynth4.h \
+-	src/vapoursynth/VSHelper4.h \
+ 	src/vapoursynth/vapoursource4.cpp \
+ 	src/vapoursynth/vapoursource4.h \
+ 	src/vapoursynth/vapoursynth4.cpp
diff --git a/multimedia/ffms2/pkg-plist b/multimedia/ffms2/pkg-plist
index d4164d07ee7d..40a0e0e525ea 100644
--- a/multimedia/ffms2/pkg-plist
+++ b/multimedia/ffms2/pkg-plist
@@ -3,9 +3,8 @@ include/ffms.h
 include/ffmscompat.h
 lib/libffms2.a
 lib/libffms2.so
-lib/libffms2.so.4
-lib/libffms2.so.4.0.0
-%%DATADIR%%/libffms2.so
+lib/libffms2.so.5
+lib/libffms2.so.5.0.0
 libdata/pkgconfig/ffms2.pc
 %%PORTDOCS%%%%DOCSDIR%%/ffms2-api.md
 %%PORTDOCS%%%%DOCSDIR%%/ffms2-changelog.md