git: 724c2486e632 - main - audio/baresip: Modernize port

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Fri, 25 Apr 2025 14:11:43 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=724c2486e632fc451c0ca70a372e9fd409fe7f54

commit 724c2486e632fc451c0ca70a372e9fd409fe7f54
Author:     Zsolt Udvari <uzsolt@FreeBSD.org>
AuthorDate: 2025-04-25 14:07:25 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-04-25 14:11:20 +0000

    audio/baresip: Modernize port
    
    Use option helpers instead of many if-statements.
    The MODULES_LIST is handled by OPT_VARS option helpers. The make's
    variable modifier sets the semicolon separator in CMAKE_ARGS.
    
    PR:             286024
    Approved by:    Herbert J. Skuhra <herbert@gojira.at> (maintainer)
---
 audio/baresip/Makefile  | 240 ++++++++++++++++--------------------------------
 audio/baresip/pkg-plist |   2 -
 2 files changed, 78 insertions(+), 164 deletions(-)

diff --git a/audio/baresip/Makefile b/audio/baresip/Makefile
index 6b8450533ad2..4ac71a68ce6f 100644
--- a/audio/baresip/Makefile
+++ b/audio/baresip/Makefile
@@ -10,7 +10,7 @@ WWW=		https://github.com/baresip
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	re>=${PORTVERSION:R}:audio/re
+BUILD_DEPENDS=	re>=${DISTVERSION:R}:audio/re
 RUN_DEPENDS:=	${BUILD_DEPENDS}
 
 USES=		cmake pkgconfig ssl
@@ -32,170 +32,86 @@ OPTIONS_DEFINE=		ALSA AV1 AVCODEC AVFILTER AVFORMAT CTRL_DBUS DOCS \
 OPTIONS_DEFAULT=	DOCS EXAMPLES
 OPTIONS_SUB=		yes
 
-ALSA_DESC=		ALSA audio driver
-AV1_DESC=		AV1 Video Codec
-AVCODEC_DESC=		Video codecs using libavcodec
-AVFILTER_DESC=		Video filter using libavfilter
-AVFORMAT_DESC=		libavformat media-source
-CTRL_DBUS_DESC=		[broken] DBUS interface for baresip
-G711_DESC=		G.711 audio codec
-G722_DESC=		G.722 audio codec
-G726_DESC=		G.726 audio codec
-GST_DESC=		Gstreamer audio module
-MQTT_DESC=		Message Queue Telemetry Transport (MQTT) client
-OPUS_DESC=		Opus audio codec
-OPUS_MS_DESC=		Opus Multistream audio codec
-PLC_DESC=		Packet Loss Concealment
-PORTAUDIO_DESC=		Portaudio audio driver
-PULSEAUDIO_DESC=	Pulseaudio audio driver
-SDL_DESC=		libSDL2 video output
-SNAPSHOT_DESC=		Snapshot video module
-SNDFILE_DESC=		sndfile wav dumper
-SWSCALE_DESC=		Video filter for scaling and pixel conversion
-V4L2_DESC=		Video4Linux2 module
-VPX_DESC=		VP8/VP9 video codecs
-X11_DESC=		X11 video output
-
-MODULES_LIST:=	account;aubridge;auconv;aufile;auresamp;ausine
-MODULES_LIST:=	$(MODULES_LIST);cons;contact;ctrl_tcp
-MODULES_LIST:=	$(MODULES_LIST);debug_cmd;dtls_srtp
-MODULES_LIST:=	$(MODULES_LIST);ebuacip;echo
-MODULES_LIST:=	$(MODULES_LIST);fakevideo;httpd;httpreq;ice;l16
-MODULES_LIST:=	$(MODULES_LIST);menu;mixausrc;mixminus;mwi;natpmp;netroam
-MODULES_LIST:=	$(MODULES_LIST);pcp;presence;rtcpsummary
-MODULES_LIST:=	$(MODULES_LIST);selfview;serreg;srtp;stdio;stun;syslog
-MODULES_LIST:=	$(MODULES_LIST);turn;uuid;vidbridge;vidinfo;vumeter
+ALSA_DESC=	ALSA audio driver
+AV1_DESC=	AV1 Video Codec
+AVCODEC_DESC=	Video codecs using libavcodec
+AVFILTER_DESC=	Video filter using libavfilter
+AVFORMAT_DESC=	libavformat media-source
+CTRL_DBUS_DESC=	[broken] DBUS interface for baresip
+G711_DESC=	G.711 audio codec
+G722_DESC=	G.722 audio codec
+G726_DESC=	G.726 audio codec
+GST_DESC=	Gstreamer audio module
+MQTT_DESC=	Message Queue Telemetry Transport (MQTT) client
+OPUS_MS_DESC=	Opus Multistream audio codec
+PLC_DESC=	Packet Loss Concealment
+SDL_DESC=	libSDL2 video output
+SNAPSHOT_DESC=	Snapshot video module
+SNDFILE_DESC=	sndfile wav dumper
+SWSCALE_DESC=	Video filter for scaling and pixel conversion
+V4L2_DESC=	Video4Linux2 module
+VPX_DESC=	VP8/VP9 video codecs
+X11_DESC=	X11 video output
+
+_MODULES_LIST=	account aubridge auconv aufile auresamp ausine cons contact \
+		ctrl_tcp debug_cmd dtls_srtp ebuacip echo fakevideo httpd \
+		httpreq ice l16 menu mixausrc mixminus mwi natpmp netroam pcp \
+		presence rtcpsummary selfview serreg srtp stdio stun syslog \
+		turn uuid vidbridge vidinfo vumeter
+
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+ALSA_VARS=		_MODULES_LIST+=alsa
+AV1_LIB_DEPENDS+=	libaom.so:multimedia/aom
+AV1_VARS=		_MODULES_LIST+=av1
+AVCODEC_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
+			libdrm.so:graphics/libdrm
+AVCODEC_VARS=		_MODULES_LIST+=avcodec
+AVFILTER_LIB_DEPENDS=	libavfilter.so:multimedia/ffmpeg
+AVFILTER_VARS=		_MODULES_LIST+=avfilter
+AVFORMAT_LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg
+AVFORMAT_VARS=		_MODULES_LIST+=avformat
+G711_LIB_DEPENDS=	libspandsp.so:comms/spandsp
+G711_VARS=		_MODULES_LIST+=g711
+G722_LIB_DEPENDS=	libspandsp.so:comms/spandsp
+G722_VARS=		_MODULES_LIST+=g722
+G726_LIB_DEPENDS=	libspandsp.so:comms/spandsp
+G722_VARS=		_MODULES_LIST+=g726
+GST_USES=		gnome gstreamer:1
+GST_VARS=		USE_GNOME+=glib20
+MQTT_LIB_DEPENDS=	libmosquitto.so:net/mosquitto
+MQTT_VARS=		_MODULES_LIST+=mqtt
+OPUS_LIB_DEPENDS=	libopus.so:audio/opus
+OPUS_VARS=		_MODULES_LIST+=opus
+OPUS_MS_LIB_DEPENDS=	libopus.so:audio/opus
+OPUS_VARS=		_MODULES_LIST+=opus_multistream
+PLC_LIB_DEPENDS=	libspandsp.so:comms/spandsp
+PLC_VARS=		_MODULES_LIST+=plc
+PORTAUDIO_LIB_DEPENDS=	libportaudio.so:audio/portaudio
+PORTAUDIO_VARS=		_MODULES_LIST+=portaudio
+PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
+PULSEAUDIO_VARS=	_MODULES_LIST+=pulse
+SDL_LIB_DEPENDS=	libglapi.so:graphics/mesa-libs
+SDL_USES=		sdl
+SDL_VARS=		_MODULES_LIST+=sdl \
+			USE_SDL=sdl2
+SNAPSHOT_LIB_DEPENDS=	libpng16.so:graphics/png
+SNAPSHOT_VARS=		_MODULES_LIST+=snapshot
+SNDFILE_LIB_DEPENDS=	libsndfile.so:audio/libsndfile
+SNDFILE_VARS=		_MODULES_LIST+=sndfile
+SWSCALE_LIB_DEPENDS=	libswscale.so:multimedia/ffmpeg
+SWSCALE_VARS=		_MODULES_LIST+=swscale
+V4L2_BUILD_DEPENDS=	v4l_compat>0:multimedia/v4l_compat
+V4L2_LIB_DEPENDS=	libv4l1.so:multimedia/libv4l
+V4L2_VARS=		_MODULES_LIST+=v4l2
+VPX_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
+VPX_VARS=		_MODULES_LIST+="vp8 vp9"
+X11_USES=		xorg
+X11_VARS=		_MODULES_LIST+=x11 \
+			USE_XORG="x11 ice sm xext"
 
 .include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MALSA}
-ALSA_DEPEND=	${LOCALBASE}/include/alsa/asoundlib.h:audio/alsa-lib
-MODULES_LIST:=	$(MODULES_LIST);alsa
-.endif
-
-.if ${PORT_OPTIONS:MAV1}
-LIB_DEPENDS+=	libaom.so:multimedia/aom
-MODULES_LIST:=	$(MODULES_LIST);av1
-.endif
-
-.if ${PORT_OPTIONS:MAVCODEC}
-AVCODEC_DEPEND=	${LOCALBASE}/include/libavcodec/avcodec.h:multimedia/ffmpeg \
-		libdrm>0:graphics/libdrm
-MODULES_LIST:=	$(MODULES_LIST);avcodec
-.endif
-
-.if ${PORT_OPTIONS:MAVFILTER}
-AVFILTER_DEPEND=	${LOCALBASE}/include/libavfilter/avfilter.h:multimedia/ffmpeg
-MODULES_LIST:=		$(MODULES_LIST);avfilter
-.endif
-
-.if ${PORT_OPTIONS:MAVFORMAT}
-AVFORMAT_DEPEND=	${LOCALBASE}/include/libavformat/avformat.h:multimedia/ffmpeg
-MODULES_LIST:=		$(MODULES_LIST);avformat
-.endif
-
-.if ${PORT_OPTIONS:MG711}
-G711_DEPEND=	${LOCALBASE}/include/spandsp/g711.h:comms/spandsp
-MODULES_LIST:=	$(MODULES_LIST);g711
-.endif
-
-.if ${PORT_OPTIONS:MG722}
-G722_DEPEND=	${LOCALBASE}/include/spandsp/g722.h:comms/spandsp
-MODULES_LIST:=	$(MODULES_LIST);g722
-.endif
-
-.if ${PORT_OPTIONS:MG726}
-G726_DEPEND=	${LOCALBASE}/include/spandsp/g726.h:comms/spandsp
-MODULES_LIST:=	$(MODULES_LIST);g726
-.endif
-
-.if ${PORT_OPTIONS:MGST}
-GST_DEPEND=		${LOCALBASE}/include/gstreamer-1.0/gst/gst.h:multimedia/gstreamer1
-PORT_OPTIONS+=		GSTREAMER
-USES+=			gnome
-USE_GNOME+=		glib20
-USE_GSTREAMER1+=	yes
-.endif
-
-.if ${PORT_OPTIONS:MMQTT}
-LIB_DEPENDS+=	libmosquitto.so:net/mosquitto
-MODULES_LIST:=	$(MODULES_LIST);mqtt
-.endif
-
-.if ${PORT_OPTIONS:MOPUS}
-OPUS_DEPEND=	${LOCALBASE}/include/opus/opus.h:audio/opus
-MODULES_LIST:=	$(MODULES_LIST);opus
-.endif
-
-.if ${PORT_OPTIONS:MOPUS_MS}
-OPUS_MS_DEPEND=	${LOCALBASE}/include/opus/opus.h:audio/opus
-MODULES_LIST:=	$(MODULES_LIST);opus_multistream
-.endif
-
-.if ${PORT_OPTIONS:MPLC}
-PLC_DEPEND=	${LOCALBASE}/include/spandsp/plc.h:comms/spandsp
-MODULES_LIST:=	$(MODULES_LIST);plc
-.endif
-
-.if ${PORT_OPTIONS:MPORTAUDIO}
-PORTAUDIO_DEPEND=	${LOCALBASE}/include/portaudio.h:audio/portaudio
-MODULES_LIST:=		$(MODULES_LIST);portaudio
-.endif
-
-# Port calls it PULSE, standard OPTION is PULSEAUDIO
-.if ${PORT_OPTIONS:MPULSEAUDIO}
-PORT_OPTIONS+=		PULSE
-PULSEAUDIO_DEPEND=	${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio
-MODULES_LIST:=		$(MODULES_LIST);pulse
-.endif
-
-.if ${PORT_OPTIONS:MSDL}
-USES+=		sdl
-USE_SDL=	sdl2
-SDLDEPEND=	mesa-libs>0:graphics/mesa-libs
-MODULES_LIST:=	$(MODULES_LIST);sdl
-.endif
-
-.if ${PORT_OPTIONS:MSNAPSHOT}
-LIB_DEPENDS+=	libpng16.so:graphics/png
-MODULES_LIST:=	$(MODULES_LIST);snapshot
-.endif
-
-.if ${PORT_OPTIONS:MSNDFILE}
-SNDFILE_DEPEND=	${LOCALBASE}/include/sndfile.h:audio/libsndfile
-MODULES_LIST:=	$(MODULES_LIST);sndfile
-.endif
-
-.if ${PORT_OPTIONS:MSWSCALE}
-SWSCALE_DEPEND=	${LOCALBASE}/include/libavformat/avformat.h:multimedia/ffmpeg
-MODULES_LIST:=	$(MODULES_LIST);swscale
-.endif
-
-.if ${PORT_OPTIONS:MV4L2}
-V4L2_DEPEND=	${LOCALBASE}/include/libv4l2.h:multimedia/libv4l \
-		v4l_compat>0:multimedia/v4l_compat
-
-MODULES_LIST:=	$(MODULES_LIST);v4l2
-.endif
-
-.if ${PORT_OPTIONS:MVPX}
-VPX_DEPEND=	${LOCALBASE}/include/vpx/vp8.h:multimedia/libvpx
-MODULES_LIST:=	$(MODULES_LIST);vp8;vp9
-.endif
-
-.if ${PORT_OPTIONS:MX11}
-USES+=		xorg
-USE_XORG=	x11
-USE_XORG+=	ice sm xext
-MODULES_LIST:=	$(MODULES_LIST);x11
-.endif
-
-.for o in ${PORT_OPTIONS}
-BUILD_DEPENDS+=	${$o_DEPEND}
-RUN_DEPENDS+=	${$o_DEPEND}
-.endfor
-
-CMAKE_ARGS+=	-DMODULES="$(MODULES_LIST)" \
+CMAKE_ARGS+=	-DMODULES="$(_MODULES_LIST:ts;)" \
 		-DRE_INCLUDE_DIR:STRING="${LOCALBASE}/include/re" \
 		-DREM_INCLUDE_DIR:STRING="${LOCALBASE}/include/rem"
 
diff --git a/audio/baresip/pkg-plist b/audio/baresip/pkg-plist
index 93bbef0d4d36..b822d5806886 100644
--- a/audio/baresip/pkg-plist
+++ b/audio/baresip/pkg-plist
@@ -21,7 +21,6 @@ lib/baresip/modules/ebuacip.so
 lib/baresip/modules/echo.so
 lib/baresip/modules/fakevideo.so
 %%G711%%lib/baresip/modules/g711.so
-%%G722%%lib/baresip/modules/g722.so
 %%G726%%lib/baresip/modules/g726.so
 lib/baresip/modules/httpd.so
 lib/baresip/modules/httpreq.so
@@ -34,7 +33,6 @@ lib/baresip/modules/mixminus.so
 lib/baresip/modules/mwi.so
 lib/baresip/modules/natpmp.so
 lib/baresip/modules/netroam.so
-%%OPUS%%lib/baresip/modules/opus.so
 %%OPUS_MS%%lib/baresip/modules/opus_multistream.so
 lib/baresip/modules/pcp.so
 %%PLC%%lib/baresip/modules/plc.so