git: 41a17a96c3e1 - main - multimedia/lives: try to unbreak and undeprecate the port

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Mon, 31 Mar 2025 04:13:55 UTC
The branch main has been updated by danfe:

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

commit 41a17a96c3e1963de5cfab07f9e31c9ab92df133
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2025-03-31 04:12:06 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2025-03-31 04:12:06 +0000

    multimedia/lives: try to unbreak and undeprecate the port
    
    - Make FFmpeg support optional and disabled for the moment
    - Disable Haar Analyser plugin due to obscure build issues
    - Add missing %%-substitutions to the pkg-plist discovered
      along the way (might not be exhaustive)
---
 multimedia/lives/Makefile  | 30 ++++++++++++++++++------------
 multimedia/lives/pkg-plist | 16 ++++++++--------
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index 25db3f73d58e..ae59498953d3 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -14,15 +14,10 @@ LICENSE_COMB=		multi
 LICENSE_FILE_GPLv3+ =	${WRKSRC}/COPYING
 LICENSE_FILE_LGPL3+ =	${WRKSRC}/COPYING.LGPL
 
-BROKEN=		fails to build with FFmpeg 6
-DEPRECATED=	Marked broken in 2023, sunset port
-EXPIRATION_DATE=2025-03-31
-
 BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
 		analyseplugin:audio/ladspa
 LIB_DEPENDS=	liboil-0.3.so:devel/liboil \
 		libpng.so:graphics/png \
-		libavcodec.so:multimedia/ffmpeg \
 		libmjpegutils.so:multimedia/mjpegtools
 RUN_DEPENDS=	analyseplugin:audio/ladspa \
 		ffprobe:multimedia/ffmpeg \
@@ -43,7 +38,6 @@ SHEBANG_FILES=	build-lives-rfx-plugin build-lives-rfx-plugin-multi smogrify \
 		lives-plugins/plugins/encoders/multi_encoder3 \
 		lives-plugins/plugins/playback/audiostream/audiostreamer.pl
 GNU_CONFIGURE=	yes
-
 CONFIGURE_ARGS=	--disable-ldvgrab --disable-prctl --disable-system-weed --disable-dirac
 INSTALL_TARGET=	install-strip
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
@@ -54,12 +48,13 @@ DOC_FILES=	AUTHORS COPYING COPYING.LGPL ChangeLog FEATURES GETTING.STARTED NEWS
 		lives-plugins/marcos-encoders/README.multi_encoder \
 		weed-docs/weedspec.txt weed-docs/weedevents.txt
 
-OPTIONS_DEFINE=			ALSA DOCS DOXYGEN DV FFTW FREI0R JACK IMAGEMAGICK LIBEXPLAIN \
-				LIBVISUAL OGG OPENCV OPTIMIZED_CFLAGS NLS PROJECTM PULSEAUDIO \
-				THEORA V4L WAYLAND
-OPTIONS_DEFAULT=		CDDA2WAV DOCS DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK LAME \
-				MPG123 MPLAYER NLS OGG123 OGG OGM OPENCV \
-				THEORA X264 XDG_SCREENSAVER XDOTOOL XWININFO YTDLP
+OPTIONS_DEFINE=	ALSA DOCS DOXYGEN DV FFMPEG FFTW FREI0R IMAGEMAGICK JACK \
+		LIBEXPLAIN LIBVISUAL NLS OGG OPENCV OPTIMIZED_CFLAGS \
+		PROJECTM PULSEAUDIO THEORA V4L WAYLAND
+OPTIONS_DEFAULT=	CDDA2WAV DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK \
+			LAME MPG123 MPLAYER NLS OGG OGG123 OGM THEORA \
+			X264 XDG_SCREENSAVER XDOTOOL XWININFO YTDLP
+
 OPTIONS_GROUP=			RUNTIME EXT_WIN_CAPTURE MPLAYERS MP3
 OPTIONS_GROUP_EXT_WIN_CAPTURE=	WMCTRL XDOTOOL
 OPTIONS_GROUP_MP3=		MPG123 MPG321
@@ -98,6 +93,9 @@ DV_LIB_DEPENDS=			libdv.so:multimedia/libdv
 DV_RUN_DEPENDS=			encodedv:multimedia/libdv
 DV_CONFIGURE_OFF=		--disable-libdv
 
+FFMPEG_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg
+FFMPEG_CONFIGURE_OFF=		--disable-ffmpeg
+
 FFTW_LIB_DEPENDS=		libfftw3.so:math/fftw3 \
 				libfftw3f.so:math/fftw3-float
 FFTW_CONFIGURE_OFF=		--disable-fftw3f
@@ -188,6 +186,14 @@ post-patch:
 		${WRKSRC}/lives-plugins/weed-plugins/frei0r.c
 	@${REINPLACE_CMD} 's|/usr/bin/perl|${perl_CMD}|' \
 		${WRKSRC}/build-lives-rfx-plugin
+	@${REINPLACE_CMD} -e '/haar_analyser\.la/d' \
+		${WRKSRC}/lives-plugins/weed-plugins/gdk/Makefile.am
+# ISO C++17 does not allow 'register' storage class specifier
+	@${REINPLACE_CMD} -e 's,register int,int,' \
+		${WRKSRC}/lives-plugins/plugins/playback/video/openGL.cpp \
+		${WRKSRC}/lives-plugins/weed-plugins/farneback_analyser.cpp \
+		${WRKSRC}/lives-plugins/weed-plugins/gdk/haar_analyser.cpp \
+		${WRKSRC}/lives-plugins/weed-plugins/projectM.cpp
 
 pre-build-NLS-on:
 	@(cd ${WRKSRC}/po && ${DO_MAKE_BUILD} update-po)
diff --git a/multimedia/lives/pkg-plist b/multimedia/lives/pkg-plist
index 6e5b0f140e8e..c484bc01105c 100644
--- a/multimedia/lives/pkg-plist
+++ b/multimedia/lives/pkg-plist
@@ -58,13 +58,13 @@ lib/libweed_gslice.so.0.1.13
 lib/libweed_gslice_scripting.so
 lib/libweed_gslice_scripting.so.0
 lib/libweed_gslice_scripting.so.0.1.13
-lib/lives/plugins/decoders/asf_decoder.so
+%%FFMPEG%%lib/lives/plugins/decoders/asf_decoder.so
 lib/lives/plugins/decoders/dv_decoder.so
-lib/lives/plugins/decoders/flv_decoder.so
-lib/lives/plugins/decoders/mkv_decoder.so
-lib/lives/plugins/decoders/mpegts_decoder.so
+%%FFMPEG%%lib/lives/plugins/decoders/flv_decoder.so
+%%FFMPEG%%lib/lives/plugins/decoders/mkv_decoder.so
+%%FFMPEG%%lib/lives/plugins/decoders/mpegts_decoder.so
 lib/lives/plugins/decoders/ogg_decoder.so
-lib/lives/plugins/decoders/zzavformat_decoder.so
+%%FFMPEG%%lib/lives/plugins/decoders/zzavformat_decoder.so
 lib/lives/plugins/effects/realtime/weed/RGBdelay.so
 lib/lives/plugins/effects/realtime/weed/alien_overlay.so
 lib/lives/plugins/effects/realtime/weed/alpha_means.so
@@ -90,13 +90,13 @@ lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/regrlives.txt
 lib/lives/plugins/effects/realtime/weed/data/fourKlives/songs/roselives.txt
 lib/lives/plugins/effects/realtime/weed/deinterlace.so
 lib/lives/plugins/effects/realtime/weed/edge.so
-lib/lives/plugins/effects/realtime/weed/farneback_analyser.so
+%%OPENCV%%lib/lives/plugins/effects/realtime/weed/farneback_analyser.so
 lib/lives/plugins/effects/realtime/weed/fg_bg_removal.so
 lib/lives/plugins/effects/realtime/weed/fireTV.so
 %%FREI0R%%lib/lives/plugins/effects/realtime/weed/frei0r/frei0r.so
 lib/lives/plugins/effects/realtime/weed/fourKlives.so
 lib/lives/plugins/effects/realtime/weed/gdk_fast_resize.so
-lib/lives/plugins/effects/realtime/weed/haar_analyser.so
+@comment lib/lives/plugins/effects/realtime/weed/haar_analyser.so
 lib/lives/plugins/effects/realtime/weed/haip.so
 lib/lives/plugins/effects/realtime/weed/kaleidoscope.so
 lib/lives/plugins/effects/realtime/weed/ladspa.so
@@ -204,7 +204,7 @@ lib/lives/plugins/encoders/sswf_encoder
 lib/lives/plugins/encoders/x264_encoder
 lib/lives/plugins/playback/audiostream/audiostreamer.pl
 lib/lives/plugins/playback/video/icecast_output.so
-lib/lives/plugins/playback/video/libav_stream.so
+%%FFMPEG%%lib/lives/plugins/playback/video/libav_stream.so
 lib/lives/plugins/playback/video/lives2lives_stream.so
 lib/lives/plugins/playback/video/oggstream.so
 lib/lives/plugins/playback/video/openGL.so