git: 3c0bb723d31c - main - audio/libcanberra: split GStreamer and Pulse plugins

From: Max Brazhnikov <makc_at_FreeBSD.org>
Date: Tue, 29 Jul 2025 11:21:24 UTC
The branch main has been updated by makc:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3c0bb723d31cce656e8583b3768446a705ea8119

commit 3c0bb723d31cce656e8583b3768446a705ea8119
Author:     Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2025-07-29 11:18:09 +0000
Commit:     Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2025-07-29 11:19:06 +0000

    audio/libcanberra: split GStreamer and Pulse plugins
    
    Reviewed by:            arrowd@
    Differential Revision:  https://reviews.freebsd.org/D51485
---
 audio/Makefile                       |  2 ++
 audio/libcanberra-gstreamer/Makefile |  5 ++++
 audio/libcanberra-pulse/Makefile     |  5 ++++
 audio/libcanberra/Makefile           | 58 +++++++++++++++++-------------------
 audio/libcanberra/pkg-plist          |  4 +--
 5 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/audio/Makefile b/audio/Makefile
index c5219bdbac54..c08a95c8cb50 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -333,8 +333,10 @@
     SUBDIR += libbpm
     SUBDIR += libbs2b
     SUBDIR += libcanberra
+    SUBDIR += libcanberra-gstreamer
     SUBDIR += libcanberra-gtk2
     SUBDIR += libcanberra-gtk3
+    SUBDIR += libcanberra-pulse
     SUBDIR += libcdaudio
     SUBDIR += libconvolve
     SUBDIR += libcoverart
diff --git a/audio/libcanberra-gstreamer/Makefile b/audio/libcanberra-gstreamer/Makefile
new file mode 100644
index 000000000000..6a136755459f
--- /dev/null
+++ b/audio/libcanberra-gstreamer/Makefile
@@ -0,0 +1,5 @@
+MASTERDIR=	${.CURDIR:H}/libcanberra
+PORTREVISION=	0
+CANBERRA=	gstreamer
+
+.include "${MASTERDIR}/Makefile"
diff --git a/audio/libcanberra-pulse/Makefile b/audio/libcanberra-pulse/Makefile
new file mode 100644
index 000000000000..f5dba3a7e034
--- /dev/null
+++ b/audio/libcanberra-pulse/Makefile
@@ -0,0 +1,5 @@
+MASTERDIR=	${.CURDIR:H}/libcanberra
+PORTREVISION=	0
+CANBERRA=	pulse
+
+.include "${MASTERDIR}/Makefile"
diff --git a/audio/libcanberra/Makefile b/audio/libcanberra/Makefile
index 442baf563b8f..1802c1ba63dd 100644
--- a/audio/libcanberra/Makefile
+++ b/audio/libcanberra/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	libcanberra
 PORTVERSION=	0.30
-PORTREVISION?=	11
+PORTREVISION?=	12
 CATEGORIES=	audio devel
 MASTER_SITES=	http://0pointer.de/lennart/projects/libcanberra/ \
 		http://pkgs.fedoraproject.org/repo/pkgs/libcanberra/libcanberra-0.30.tar.xz/34cb7e4430afaf6f447c4ebdb9b42072/
@@ -18,47 +18,45 @@ LIB_DEPENDS=	libvorbisfile.so:audio/libvorbis \
 USES=		gmake gnome libtool localbase pkgconfig tar:xz
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
+# common
 CONFIGURE_ARGS=	--disable-alsa \
 		--disable-lynx \
 		--disable-tdb \
 		--disable-udev
+# base port
+CONFIGURE_ARGS+=--disable-gtk \
+		--disable-gtk3 \
+		--disable-gstreamer \
+		--disable-pulse
 INSTALL_TARGET=	install-strip
 
-CANBERRA?=
+CANBERRA?=	base
+CANBERRA_ALL=	base gtk2 gtk3 gstreamer pulse
 
-PLIST_SUB=	VERSION=${PORTVERSION}
-
-.if ${CANBERRA} != ""
-PKGNAMESUFFIX=	-${CANBERRA}
-LIB_DEPENDS+=	libcanberra.so:audio/libcanberra
-.endif
-.if ${CANBERRA:U} == gtk3
+.if ${CANBERRA} == gtk3
 USE_GNOME+=	gtk30
-CONFIGURE_ARGS+=	--enable-gtk3 \
-			--disable-gtk \
-			--disable-gstreamer \
-			--disable-pulse
-PLIST_SUB+=	BASE="@comment " GTK3="" GTK2="@comment "
-.elif ${CANBERRA:U} == gtk2
+.elif ${CANBERRA} == gtk2
 USE_GNOME+=	gnomeprefix gtk20
-CONFIGURE_ARGS+=	--enable-gtk \
-			--disable-gtk3 \
-			--disable-gstreamer \
-			--disable-pulse
-PLIST_SUB+=	BASE="@comment " GTK3="@comment " GTK2=""
-.else
-CONFIGURE_ARGS+=	--disable-gtk \
-			--disable-gtk3
-PLIST_SUB+=	BASE="" GTK3="@comment " GTK2="@comment "
-OPTIONS_DEFINE=	PULSEAUDIO GSTREAMER
-OPTIONS_SUB=	yes
+module_SWITCH=	gtk
+.elif ${CANBERRA} == pulse
+LIB_DEPENDS+=	libpulse.so:audio/pulseaudio
+.elif ${CANBERRA} == gstreamer
+USES+=		gstreamer
 .endif
 
-PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_ENABLE=	pulse
+.if ${CANBERRA} != "base"
+PKGNAMESUFFIX=	-${CANBERRA}
+LIB_DEPENDS+=	libcanberra.so:audio/libcanberra
+module_SWITCH?=	${CANBERRA}
+CONFIGURE_ARGS:=--enable-${module_SWITCH} \
+		${CONFIGURE_ARGS:N--disable-${module_SWITCH}}
+.endif
 
-GSTREAMER_USES=	gstreamer
-GSTREAMER_CONFIGURE_ENABLE=	gstreamer
+PLIST_SUB=	VERSION=${PORTVERSION} \
+		${CANBERRA:tu}=""
+.for module in ${CANBERRA_ALL:N${CANBERRA}}
+PLIST_SUB+=	${module:tu}="@comment "
+.endfor
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|-Wmissing-include-dirs||g' \
diff --git a/audio/libcanberra/pkg-plist b/audio/libcanberra/pkg-plist
index a24f785cf019..6fbfa97fdc40 100644
--- a/audio/libcanberra/pkg-plist
+++ b/audio/libcanberra/pkg-plist
@@ -15,11 +15,11 @@
 %%BASE%%lib/libcanberra.so
 %%BASE%%lib/libcanberra.so.0
 %%BASE%%lib/libcanberra.so.0.2.5
-%%BASE%%%%GSTREAMER%%lib/libcanberra-%%VERSION%%/libcanberra-gstreamer.so
+%%GSTREAMER%%lib/libcanberra-%%VERSION%%/libcanberra-gstreamer.so
 %%BASE%%lib/libcanberra-%%VERSION%%/libcanberra-multi.so
 %%BASE%%lib/libcanberra-%%VERSION%%/libcanberra-null.so
 %%BASE%%lib/libcanberra-%%VERSION%%/libcanberra-oss.so
-%%BASE%%%%PULSEAUDIO%%lib/libcanberra-%%VERSION%%/libcanberra-pulse.so
+%%PULSE%%lib/libcanberra-%%VERSION%%/libcanberra-pulse.so
 %%BASE%%libdata/pkgconfig/libcanberra.pc
 %%GTK2%%libdata/pkgconfig/libcanberra-gtk.pc
 %%GTK3%%libdata/pkgconfig/libcanberra-gtk3.pc