git: 668f0b73043f - main - multimedia/vlc: prevent silent grab several libs, add dependency from devel/abseil to CHROMECAST, make portclippy happy

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Sat, 25 May 2024 18:12:03 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=668f0b73043f23658b72de8d2e1272e62c87213c

commit 668f0b73043f23658b72de8d2e1272e62c87213c
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-05-25 18:06:43 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-05-25 18:11:39 +0000

    multimedia/vlc: prevent silent grab several libs, add dependency from devel/abseil to CHROMECAST, make portclippy happy
    
    1. Add options ARIBSUB and SRT.
    2. Add libabsl_base.so:devel/abseil to CHROMECAST_LIB_DEPENDS.
    3. Sort options to make portclippy happy.
    4. Remove GNU_CONFIGURE_MANPREFIX.
    5. Prevent silent grab aribb25.
    
    PR:             278916
    Approved by:    multimedia (maintainer, timeout 2 weeks)
---
 multimedia/vlc/Makefile | 201 ++++++++++++++++++++++++------------------------
 1 file changed, 101 insertions(+), 100 deletions(-)

diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index 6dac77d37454..f43795983e73 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -15,6 +15,9 @@ WWW=		https://www.videolan.org
 
 LICENSE=	GPLv2
 
+BUILD_DEPENDS=	gsed:textproc/gsed \
+		ffmpeg>=3.4.1,1:multimedia/ffmpeg \
+		yasm:devel/yasm
 LIB_DEPENDS=	libgcrypt.so:security/libgcrypt \
 		libdvbpsi.so:multimedia/libdvbpsi \
 		libfontconfig.so:x11-fonts/fontconfig \
@@ -23,9 +26,6 @@ LIB_DEPENDS=	libgcrypt.so:security/libgcrypt \
 		libmatroska.so:multimedia/libmatroska \
 		libgpg-error.so:security/libgpg-error \
 		libebml.so:textproc/libebml
-BUILD_DEPENDS=	gsed:textproc/gsed \
-		ffmpeg>=3.4.1,1:multimedia/ffmpeg \
-		yasm:devel/yasm
 RUN_DEPENDS=	ffmpeg>=3.4.1,1:multimedia/ffmpeg
 
 USES=		compiler:c++17-lang cpe desktop-file-utils elfctl gettext-tools \
@@ -33,30 +33,20 @@ USES=		compiler:c++17-lang cpe desktop-file-utils elfctl gettext-tools \
 		tar:xz
 
 CPE_VENDOR=	videolan
-ELF_FEATURES=	+noaslr:bin/.libs/vlc # See PR 270038
-
-# VLC git (post 2.2.4) requires C++11 support and passes the appropriate flag
-# to the compiler. Until the port is updated, we explicitly pass -std=c++11 to
-# the compiler because Qt 5.7+ requires C++11 support, and FreeBSD 10's clang
-# does not default to C++11 mode.
-# USE_CXXSTD=	c++11
 
 USE_GNOME=	libxml2
 USE_LDCONFIG=	yes
-INSTALL_TARGET=	install-strip
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-BINARY_ALIAS=	sed=${LOCALBASE}/bin/gsed
 CONFIGURE_ARGS=	--enable-avcodec --enable-avformat --enable-dvbpsi \
 		--enable-fontconfig --enable-freetype --enable-libgcrypt \
 		--enable-libxml2 --enable-oss --enable-postproc \
 		--enable-swscale --enable-vlc \
-		--disable-alsa --disable-archive --disable-chromaprint \
-		--disable-crystalhd --disable-dc1394 --disable-decklink \
-		--disable-dsm --disable-dv1394 --disable-fdkaac \
-		--disable-gst-decode --disable-gles2 --disable-kai \
-		--disable-kate --disable-kva --disable-libcddb \
+		--disable-alsa --disable-archive --disable-aribb25 \
+		--disable-chromaprint --disable-crystalhd --disable-dc1394 \
+		--disable-decklink --disable-dsm --disable-dv1394 \
+		--disable-fdkaac --disable-gst-decode --disable-gles2 \
+		--disable-kai --disable-kate --disable-kva --disable-libcddb \
 		--disable-mpg123 --disable-vnc --disable-opencv \
 		--disable-projectm --disable-schroedinger --disable-secret \
 		--disable-soxr --disable-telx --disable-tiger \
@@ -68,77 +58,89 @@ CONFIGURE_ARGS=	--enable-avcodec --enable-avformat --enable-dvbpsi \
 .if defined(WITH_DEBUG)
 CONFIGURE_ARGS+=--enable-debug
 .endif
+INSTALL_TARGET=	install-strip
 CFLAGS_i386=	-fomit-frame-pointer
+ELF_FEATURES=	+noaslr:bin/.libs/vlc # See PR 270038
+BINARY_ALIAS=	sed=${LOCALBASE}/bin/gsed
+
+PORTDATA=	*
+PORTDOCS=	*
 
-OPTIONS_DEFINE=	A52 AALIB AOM ASS AVAHI CACA CHROMECAST DAV1D DBUS DCA DOCS DVDREAD \
-		DEBUG DVDNAV FAAD FLAC FLUID FREERDP FRIBIDI GME GNUTLS \
-		GOOM HARFBUZZ JACK JPEG LIBBLURAY LIBPLACEBO LIBRSVG2 LIBSSH2 LIRC \
-		LIVEMEDIA LUA MAD MFX MODPLUG MPEG2 MTP MUSEPACK \
-		NCURSES NFS NLS NOTIFY OGG OGGSPOTS OPTIMIZED_CFLAGS OPUS PNG PULSEAUDIO \
-		QT5 REALRTSP RUNROOT SAMPLERATE SIDPLAY \
-		SDL SHOUTCAST SKINS SMB SNDIO STREAM SPEEX TAGLIB THEORA \
-		TWOLAME UPNP V4L VAAPI VCD VDPAU VPX VORBIS WAYLAND X11 X264 X265 ZVBI
-OPTIONS_DEFINE_powerpc=	ALTIVEC
+OPTIONS_DEFINE=	A52 AALIB AOM ARIBSUB ASS AVAHI CACA CHROMECAST DAV1D DBUS DCA \
+		DEBUG DOCS DVDNAV DVDREAD DEBUG FAAD FLAC FLUID FREERDP FRIBIDI \
+		GME GNUTLS GOOM HARFBUZZ JACK JPEG LIBBLURAY LIBPLACEBO LIBRSVG2 \
+		LIBSSH2 LIRC LIVEMEDIA LUA MAD MFX MODPLUG MPEG2 MTP MUSEPACK \
+		NCURSES NFS NLS NOTIFY OGGSPOTS OGG OPTIMIZED_CFLAGS OPUS PNG \
+		PULSEAUDIO QT5 REALRTSP RUNROOT SAMPLERATE SDL SHOUTCAST SIDPLAY \
+		SKINS SMB SNDIO SPEEX SRT STREAM TAGLIB THEORA TWOLAME UPNP V4L \
+		VAAPI VCD VDPAU VORBIS VPX WAYLAND X11 X264 X265 ZVBI
+OPTIONS_DEFINE_powerpc=		ALTIVEC
 OPTIONS_DEFINE_powerpc64=	ALTIVEC
-OPTIONS_DEFAULT=ASS AVAHI DAV1D DBUS DVDREAD DVDNAV GNUTLS HARFBUZZ JPEG \
-		LIVEMEDIA LUA OGG OPTIMIZED_CFLAGS \
-		OPUS PNG QT5 SAMPLERATE STREAM SPEEX TAGLIB THEORA TWOLAME \
-		UPNP V4L VAAPI VCD VDPAU VORBIS WAYLAND X11
+OPTIONS_DEFAULT=ASS AVAHI DAV1D DBUS DVDNAV DVDREAD GNUTLS HARFBUZZ JPEG \
+		LIVEMEDIA LUA OGG OPTIMIZED_CFLAGS OPUS PNG QT5 SAMPLERATE \
+		SPEEX STREAM TAGLIB THEORA TWOLAME UPNP V4L VAAPI VCD VDPAU \
+		VORBIS WAYLAND X11
 OPTIONS_DEFAULT_powerpc=	ALTIVEC
 OPTIONS_DEFAULT_powerpc64=	ALTIVEC
-OPTIONS_EXCLUDE=LIBPLACEBO # https://code.videolan.org/videolan/vlc/-/commit/8e22c39ea3c3
+OPTIONS_EXCLUDE=	LIBPLACEBO # https://code.videolan.org/videolan/vlc/-/commit/8e22c39ea3c3
 OPTIONS_EXCLUDE+=	VAAPI # Not compatible until VLC 4
-OPTIONS_SUB=	yes
-
-AOM_DESC=	AV1 video encoding/decoding via libaom
-ASS_DESC=	ASS/SSA subtitle rendering
-CHROMECAST_DESC=Streaming to Chromecast devices
-DAV1D_DESC=	AV1 video decoding via libdav1d
-DVDREAD_DESC=	DVD Playback support
-DVDNAV_DESC=	DVD menu navigation
-FLUID_DESC=	Fluidsynth MIDI support
-FREERDP_DESC=	RDP support
-GME_DESC=	Game Music Emu (libgme) support
-GOOM_DESC=	Goom visualisation plugin
-HARFBUZZ_DESC=	OpenType text shaping engine
-LIBPLACEBO_DESC=HDR tonemapping support through libplacebo
-LIBSSH2_DESC=	SCP/SFTP support via libssh2
-MFX_DESC=	Intel MediaSDK (aka Quick Sync Video)
-OGGSPOTS_DESC=	Experimental OggSpots codec
-REALRTSP_DESC=	Real RTSP access module
-RUNROOT_DESC=	Enable running as root
-SIDPLAY_DESC=	C64 sid demux support
-SKINS_DESC=	Build skins2 interface module (implies QT5)
-STREAM_DESC=	stream output
-TAGLIB_DESC=	ID3 tag and Ogg comment support
-VCD_DESC=	Audio/Video CD support
-ZVBI_DESC=	VBI decoding support
+OPTIONS_SUB=		yes
+
+AOM_DESC=		AV1 video encoding/decoding via libaom
+ARIBSUB_DESC=		ARIB text decoding via libaribb24
+ASS_DESC=		ASS/SSA subtitle rendering
+CHROMECAST_DESC=	Streaming to Chromecast devices
+DAV1D_DESC=		AV1 video decoding via libdav1d
+DVDNAV_DESC=		DVD menu navigation
+DVDREAD_DESC=		DVD Playback support
+FLUID_DESC=		Fluidsynth MIDI support
+FREERDP_DESC=		RDP support
+GME_DESC=		Game Music Emu (libgme) support
+GOOM_DESC=		Goom visualisation plugin
+HARFBUZZ_DESC=		OpenType text shaping engine
+LIBPLACEBO_DESC=	HDR tonemapping support through libplacebo
+LIBSSH2_DESC=		SCP/SFTP support via libssh2
+MFX_DESC=		Intel MediaSDK (aka Quick Sync Video)
+OGGSPOTS_DESC=		Experimental OggSpots codec
+REALRTSP_DESC=		Real RTSP access module
+RUNROOT_DESC=		Enable running as root
+SIDPLAY_DESC=		C64 sid demux support
+SKINS_DESC=		Build skins2 interface module (implies QT5)
+SRT_DESC=		Secure Reliable Transport support
+STREAM_DESC=		stream output
+TAGLIB_DESC=		ID3 tag and Ogg comment support
+VCD_DESC=		Audio/Video CD support
+ZVBI_DESC=		VBI decoding support
 
-A52_CONFIGURE_ENABLE=	a52
-A52_CONFIGURE_ON=	--with-a52=${LOCALBASE}
 A52_LIB_DEPENDS=	liba52.so:audio/liba52
+A52_CONFIGURE_ON=	--with-a52=${LOCALBASE}
+A52_CONFIGURE_ENABLE=	a52
 
 AALIB_LIB_DEPENDS=	libaa.so:graphics/aalib
 AALIB_CONFIGURE_ENABLE=	aa
 
-ASS_LIB_DEPENDS=	libass.so:multimedia/libass
-ASS_CONFIGURE_ENABLE=	libass
-
 ALTIVEC_CONFIGURE_ENABLE=	altivec
 ALTIVEC_CFLAGS=		-maltivec
 
 AOM_LIB_DEPENDS=	libaom.so:multimedia/aom
 AOM_CONFIGURE_ENABLE=	aom
 
+ARIBSUB_LIB_DEPENDS=	libaribb24.so:multimedia/aribb24
+ARIBSUB_CONFIGURE_ENABLE=	aribsub
+
+ASS_LIB_DEPENDS=	libass.so:multimedia/libass
+ASS_CONFIGURE_ENABLE=	libass
+
 AVAHI_LIB_DEPENDS=	libavahi-common.so:net/avahi-app
 AVAHI_CONFIGURE_ENABLE=	avahi
 
 CACA_LIB_DEPENDS=	libcaca.so:graphics/libcaca
 CACA_CONFIGURE_ENABLE=	caca
 
-CHROMECAST_LIB_DEPENDS=	libprotobuf-lite.so:devel/protobuf
-CHROMECAST_CONFIGURE_ENABLE=	chromecast
+CHROMECAST_LIB_DEPENDS=	libabsl_base.so:devel/abseil \
+			libprotobuf-lite.so:devel/protobuf
 CHROMECAST_USE=		cxxstd=c++17
+CHROMECAST_CONFIGURE_ENABLE=	chromecast
 
 DAV1D_LIB_DEPENDS=	libdav1d.so:multimedia/dav1d
 DAV1D_CONFIGURE_ENABLE=	dav1d
@@ -149,12 +151,12 @@ DBUS_CONFIGURE_ENABLE=	dbus
 DCA_LIB_DEPENDS=	libdca.so:multimedia/libdca
 DCA_CONFIGURE_ENABLE=	dca
 
+DVDNAV_LIB_DEPENDS=	libdvdnav.so:multimedia/libdvdnav
+DVDNAV_CONFIGURE_ENABLE=	dvdnav
+
 DVDREAD_LIB_DEPENDS=	libdvdread.so:multimedia/libdvdread
 DVDREAD_CONFIGURE_ENABLE=	dvdread
 
-DVDNAV_LIB_DEPENDS=	libdvdnav.so:multimedia/libdvdnav
-DVDNAV_CONFIGURE_ENABLE=dvdnav
-
 FAAD_LIB_DEPENDS=	libfaad.so:audio/faad
 FAAD_CONFIGURE_ENABLE=	faad
 FAAD_CONFIGURE_ENV=	CPPFLAGS_faad="-I${LOCALBASE}/include" \
@@ -211,8 +213,8 @@ LIRC_LIB_DEPENDS=	liblirc_client.so:comms/lirc
 LIRC_CONFIGURE_ENABLE=	lirc
 LIRC_CONFIGURE_ENV=	LIBS_lirc="-L${LOCALBASE}/lib -llirc_client"
 
-LIVEMEDIA_USES=		ssl
 LIVEMEDIA_LIB_DEPENDS=	libliveMedia.so:net/liveMedia
+LIVEMEDIA_USES=		ssl
 LIVEMEDIA_CONFIGURE_ENABLE=	live555
 LIVEMEDIA_CONFIGURE_ENV=	\
 	LIVE555_CFLAGS="-I${LOCALBASE}/include/liveMedia \
@@ -225,13 +227,13 @@ LIVEMEDIA_CONFIGURE_ENV=	\
 			-L${OPENSSLLIB} -lssl -lcrypto"
 
 LUA_USES=		lua
-LUA_CONFIGURE_ENABLE=	lua
 LUA_CONFIGURE_ON=	LUAC=${LUAC_CMD} LUA_CFLAGS="-I${LUA_INCDIR}" \
 			LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
+LUA_CONFIGURE_ENABLE=	lua
 
 MAD_LIB_DEPENDS=	libmad.so:audio/libmad
-MAD_CONFIGURE_ENABLE=	mad
 MAD_CONFIGURE_ON=	--with-mad=${LOCALBASE}
+MAD_CONFIGURE_ENABLE=	mad
 
 MFX_LIB_DEPENDS=	libmfx.so:multimedia/intel-media-sdk
 MFX_CONFIGURE_ENABLE=	mfx
@@ -250,9 +252,9 @@ MUSEPACK_CONFIGURE_ENABLE=	mpc
 MUSEPACK_CONFIGURE_ENV=		LIBS_mpc="-L${LOCALBASE}/lib -lmpcdec"
 
 NCURSES_USES=			ncurses
+NCURSES_CONFIGURE_ENABLE=	ncurses
 NCURSES_CONFIGURE_ENV=		NCURSES_CFLAGS="-I${NCURSESINC}" \
 				NCURSES_LIBS="-L${NCURSESLIB} -lncursesw"
-NCURSES_CONFIGURE_ENABLE=	ncurses
 
 NFS_LIB_DEPENDS=	libnfs.so:net/libnfs
 NFS_CONFIGURE_ENABLE=	nfs
@@ -262,14 +264,14 @@ NLS_CONFIGURE_ENABLE=	nls
 
 NOTIFY_LIB_DEPENDS=	libnotify.so:devel/libnotify
 NOTIFY_USE=		GNOME=gtk30,cairo
-NOTIFY_CONFIGURE_ENABLE=notify
+NOTIFY_CONFIGURE_ENABLE=	notify
+
+OGGSPOTS_IMPLIES=	OGG
+OGGSPOTS_CONFIGURE_ENABLE=	oggspots
 
 OGG_LIB_DEPENDS=	libogg.so:audio/libogg
 OGG_CONFIGURE_ENABLE=	ogg
 
-OGGSPOTS_CONFIGURE_ENABLE=	oggspots
-OGGSPOTS_IMPLIES=	OGG
-
 OPTIMIZED_CFLAGS_CONFIGURE_ENABLE=	optimizations
 
 OPUS_LIB_DEPENDS=	libopus.so:audio/opus
@@ -281,10 +283,10 @@ PNG_CONFIGURE_ENABLE=	png
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PULSEAUDIO_CONFIGURE_ENABLE=	pulse
 
-QT5_USES=	qt:5
-QT5_USE=	QT=gui,core,svg,widgets,x11extras,buildtools:build
+QT5_IMPLIES=		X11
+QT5_USES=		qt:5
+QT5_USE=		QT=gui,core,svg,widgets,x11extras,buildtools:build
 QT5_CONFIGURE_ENABLE=	qt
-QT5_IMPLIES=	X11
 
 REALRTSP_CONFIGURE_ENABLE=	realrtsp
 
@@ -297,36 +299,38 @@ SDL_USES=		sdl
 SDL_USE=		SDL=image
 SDL_CONFIGURE_ENABLE=	sdl-image
 
-SIDPLAY_LIB_DEPENDS=	libsidplay2.so:audio/libsidplay2
-SIDPLAY_LDFLAGS=	-L${LOCALBASE}/lib/sidplay/builders
-SIDPLAY_CONFIGURE_ENABLE=	sid
-CONFIGURE_ARGS+=	--disable-sid
-
 SHOUTCAST_LIB_DEPENDS=	libshout.so:audio/libshout
 SHOUTCAST_CONFIGURE_ENABLE=	shout
 
-SKINS_USE=		XORG=xext,xinerama,xpm
+SIDPLAY_LIB_DEPENDS=	libsidplay2.so:audio/libsidplay2
+SIDPLAY_CONFIGURE_ENABLE=	sid
+SIDPLAY_LDFLAGS=	-L${LOCALBASE}/lib/sidplay/builders
+
+SKINS_IMPLIES=		QT5
 SKINS_USES=		xorg
+SKINS_USE=		XORG=xext,xinerama,xpm
 SKINS_CONFIGURE_ENABLE=	skins2
-SKINS_IMPLIES=		QT5
-
-SNDIO_LIB_DEPENDS=	libsndio.so:audio/sndio
-SNDIO_CONFIGURE_ENABLE=	sndio
 
 SMB_USES=		samba:lib
 SMB_CONFIGURE_ENABLE=	smbclient
 
-STREAM_CONFIGURE_ENABLE=sout
+SNDIO_LIB_DEPENDS=	libsndio.so:audio/sndio
+SNDIO_CONFIGURE_ENABLE=	sndio
 
 SPEEX_LIB_DEPENDS=	libspeex.so:audio/speex \
 			libspeexdsp.so:audio/speexdsp
 SPEEX_CONFIGURE_ENABLE=	speex
 
+SRT_LIB_DEPENDS=	libsrt.so:www/srt
+SRT_CONFIGURE_ENABLE=	srt
+
+STREAM_CONFIGURE_ENABLE=	sout
+
 TAGLIB_LIB_DEPENDS=	libtag.so:audio/taglib
-TAGLIB_CONFIGURE_ENABLE=taglib
+TAGLIB_CONFIGURE_ENABLE=	taglib
 
 THEORA_LIB_DEPENDS=	libtheora.so:multimedia/libtheora
-THEORA_CONFIGURE_ENABLE=theora
+THEORA_CONFIGURE_ENABLE=	theora
 
 TWOLAME_LIB_DEPENDS=		libtwolame.so:audio/twolame
 TWOLAME_CONFIGURE_ENABLE=	twolame
@@ -343,24 +347,24 @@ VAAPI_CONFIGURE_ENABLE=	libva
 
 VCD_CONFIGURE_ENABLE=	vcd
 
+VDPAU_IMPLIES=		X11
 VDPAU_LIB_DEPENDS=	libvdpau.so:multimedia/libvdpau
 VDPAU_CONFIGURE_ENABLE=	vdpau
-VDPAU_IMPLIES=		X11
+
+VORBIS_LIB_DEPENDS=	libvorbis.so:audio/libvorbis
+VORBIS_CONFIGURE_ENABLE=	vorbis
 
 VPX_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
 VPX_CONFIGURE_ENABLE=	vpx
 
-VORBIS_LIB_DEPENDS=	libvorbis.so:audio/libvorbis
-VORBIS_CONFIGURE_ENABLE=vorbis
-
 WAYLAND_CATEGORIES=	wayland
 WAYLAND_BUILD_DEPENDS=	wayland-protocols>=0:graphics/wayland-protocols
 WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/wayland
 WAYLAND_CONFIGURE_ENABLE=	wayland
 
-X11_USE=		GL=gl XORG=xcb,xorgproto,sm,ice,x11
-X11_USES=		gl xorg
 X11_LIB_DEPENDS=	libxcb-keysyms.so:x11/xcb-util-keysyms
+X11_USES=		gl xorg
+X11_USE=		GL=gl XORG=xcb,xorgproto,sm,ice,x11
 X11_CONFIGURE_ENABLE=	xcb xvideo
 X11_CONFIGURE_WITH=	x
 
@@ -373,9 +377,6 @@ X265_CONFIGURE_ENABLE=	x265
 ZVBI_LIB_DEPENDS=	libzvbi.so:devel/libzvbi
 ZVBI_CONFIGURE_ENABLE=	zvbi
 
-PORTDATA=	*
-PORTDOCS=	*
-
 WITH_CDROM_DEVICE?=/dev/cd0
 WITH_DVD_DEVICE?=/dev/cd0