git: 8706bc5dd4ea - main - multimedia/lives: Improve port

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Sun, 22 Feb 2026 16:45:43 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8706bc5dd4eaccad757968da4c1ec5ca2e0dd3fd

commit 8706bc5dd4eaccad757968da4c1ec5ca2e0dd3fd
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-02-22 16:28:05 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-02-22 16:28:05 +0000

    multimedia/lives: Improve port
    
    - Fix build with FFMPEG option, but mark it BROKEN:
      "Crashes at runtime if the FFMPEG option is enabled".
    - Replace PORTVERSION with DISTVERSION.
    - Merge gettext-runtime and gettext-tools to gettext in USES.
    - Split long OPTIONS_DEFINE.
    - Remove NLS from OPTIONS_DEFINE - NLS is enabled by default by ports
      framework.
    - Remove NLS_USES=gettext-tools - gettext already in USES.
    - Refresh patch-jack1.
---
 multimedia/lives/Makefile          | 29 +++++++++++++++--------------
 multimedia/lives/files/patch-jack1 | 18 +++++++++---------
 2 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index 5f6801650898..981548f24eb4 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	lives
 DISTVERSION=	3.2.0
-PORTREVISION=	25
+PORTREVISION=	26
 CATEGORIES=	multimedia
 MASTER_SITES=	http://lives-video.com/releases/
-DISTNAME=	LiVES-${PORTVERSION}
+DISTNAME=	LiVES-${DISTVERSION}
 
 MAINTAINER=	vvd@FreeBSD.org
 COMMENT=	Video editing system
@@ -23,9 +23,8 @@ RUN_DEPENDS=	analyseplugin:audio/ladspa \
 		ffprobe:multimedia/ffmpeg \
 		sox:audio/sox
 
-USES=		autoreconf compiler:c++11-lib gettext-runtime gettext-tools \
-		gl gnome libtool localbase pathfix perl5 pkgconfig python \
-		sdl shebangfix xorg
+USES=		autoreconf compiler:c++11-lib gettext gl gnome libtool \
+		localbase pathfix perl5 pkgconfig python sdl shebangfix xorg
 USE_GL=		gl glu
 USE_GNOME=	cairo gdkpixbuf gtk30 intltool
 USE_LDCONFIG=	yes
@@ -40,7 +39,7 @@ SHEBANG_FILES=	build-lives-rfx-plugin build-lives-rfx-plugin-multi smogrify \
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--disable-ldvgrab --disable-prctl --disable-system-weed --disable-dirac
 INSTALL_TARGET=	install-strip
-WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
+WRKSRC=		${WRKDIR}/${PORTNAME}-${DISTVERSION}
 
 DOC_FILES=	AUTHORS COPYING COPYING.LGPL ChangeLog FEATURES GETTING.STARTED NEWS README \
 		OMC/lives-OMC.txt RFX/LiVES-Perl.odt RFX/rfxbuilder.odt \
@@ -48,12 +47,12 @@ 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 FFMPEG FFTW FREI0R IMAGEMAGICK JACK \
-		LIBEXPLAIN LIBVISUAL NLS OGG OPENCV OPTIMIZED_CFLAGS \
-		PROJECTM PULSEAUDIO THEORA V4L WAYLAND
+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
+			LAME MPG123 MPLAYER 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
@@ -93,8 +92,12 @@ 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_BROKEN=			Crashes at runtime if the FFMPEG option is enabled
+FFMPEG_LIB_DEPENDS=		libavcodec.so.58:multimedia/ffmpeg4
 FFMPEG_CONFIGURE_OFF=		--disable-ffmpeg
+FFMPEG_CONFIGURE_ENV=		PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
+FFMPEG_CFLAGS=			-I${LOCALBASE}/ffmpeg4/include
+FFMPEG_LDFLAGS=			-L${LOCALBASE}/ffmpeg4/lib
 
 FFTW_LIB_DEPENDS=		libfftw3.so:math/fftw3 \
 				libfftw3f.so:math/fftw3-float
@@ -132,8 +135,6 @@ MPLAYER_RUN_DEPENDS=		mplayer:multimedia/mplayer
 
 MPV_RUN_DEPENDS=		mpv:multimedia/mpv
 
-NLS_USES=			gettext-tools
-
 OGG123_RUN_DEPENDS=		ogg123:audio/vorbis-tools
 
 OGG_LIB_DEPENDS=		libogg.so:audio/libogg
diff --git a/multimedia/lives/files/patch-jack1 b/multimedia/lives/files/patch-jack1
index ceeebfa9373a..750338437c48 100644
--- a/multimedia/lives/files/patch-jack1
+++ b/multimedia/lives/files/patch-jack1
@@ -1,6 +1,6 @@
---- configure.ac.orig
+--- configure.ac.orig	2020-11-08 15:11:10 UTC
 +++ configure.ac
-@@ -240,6 +240,7 @@ AM_CONDITIONAL(HAVE_LINUX_JOYSTICK_H, $HAVE_LINUX_JOYSTICK_H)
+@@ -240,6 +240,7 @@ HAVE_JACK_TRANSPORT=false
  HAVE_JACK=false
  HAVE_JACK_SERVER=false
  HAVE_JACK_TRANSPORT=false
@@ -8,7 +8,7 @@
  
  AC_ARG_ENABLE(jack, [  --disable-jack     Disable jack support.] , disable_jack=yes)
  AC_ARG_ENABLE(jack-transport, [  --disable-jack-transport     Disable jack transport support.] , disable_jack_transport=yes)
-@@ -252,10 +253,23 @@ PKG_CHECK_MODULES(JACK, [jack >= 0.100.0], HAVE_JACK=true, HAVE_JACK=false)
+@@ -252,10 +253,23 @@ if test "$HAVE_JACK" = "true" ; then
  
  if test "$HAVE_JACK" = "true" ; then
  
@@ -32,7 +32,7 @@
  echo jack server libs found
  else
  echo jack server libs not found
-@@ -308,6 +322,7 @@ HAVE_JACK_VIDEO=true
+@@ -308,6 +322,7 @@ AM_CONDITIONAL(ENABLE_VJACK,$HAVE_JACK_VIDEO)
  AM_CONDITIONAL(ENABLE_JACK,$HAVE_JACK)
  AM_CONDITIONAL(ENABLE_JACK_TRANSPORT,$HAVE_JACK_TRANSPORT)
  AM_CONDITIONAL(ENABLE_VJACK,$HAVE_JACK_VIDEO)
@@ -40,9 +40,9 @@
  
  PKG_CHECK_MODULES(X11,x11,HAVE_X11=true,HAVE_X11=false)
  
---- src/Makefile.am.orig
+--- src/Makefile.am.orig	2026-02-04 12:29:55 UTC
 +++ src/Makefile.am
-@@ -92,6 +92,10 @@ jack_LDADD = @JACK_LIBS@ @JACK_SERVER_LIBS@
+@@ -92,6 +92,10 @@ endif
  if ENABLE_JACK_TRANSPORT
  jack_CFLAGS += -DENABLE_JACK_TRANSPORT=1
  endif
@@ -53,7 +53,7 @@
  endif
  
  if ENABLE_LIBOIL
---- src/jack.c.orig
+--- src/jack.c.orig	2020-10-21 23:39:23 UTC
 +++ src/jack.c
 @@ -121,6 +121,7 @@ boolean lives_jack_init(void) {
        return FALSE;
@@ -76,7 +76,7 @@
    }
  
    mainw->jack_inited = TRUE;
-@@ -1061,7 +1068,7 @@ int lives_start_ready_callback(jack_transport_state_t state, jack_position_t *po
+@@ -1061,7 +1068,7 @@ int lives_start_ready_callback(jack_transport_state_t 
    if (!jack_transport_client) return TRUE;
  
    if (!LIVES_IS_PLAYING && state == JackTransportStopped) {
@@ -85,7 +85,7 @@
        double trtime = (double)jack_transport_get_current_ticks() / TICKS_PER_SECOND_DBL;
        if (!mainw->multitrack) {
  #ifndef ENABLE_GIW_3
-@@ -1077,7 +1084,7 @@ int lives_start_ready_callback(jack_transport_state_t state, jack_position_t *po
+@@ -1077,7 +1084,7 @@ int lives_start_ready_callback(jack_transport_state_t 
  
    if (state != JackTransportStarting) return TRUE;