git: 56fc27c31c34 - main - multimedia/audacious: Update to 4.3

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Thu, 09 Mar 2023 09:38:30 UTC
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=56fc27c31c340e3054fb08073c70c7bdd3f2dfda

commit 56fc27c31c340e3054fb08073c70c7bdd3f2dfda
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2023-03-09 09:36:41 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2023-03-09 09:38:25 +0000

    multimedia/audacious: Update to 4.3
    
    Release changelog: https://audacious-media-player.org/news/56-audacious-4-3-released
    
    - Added flavors for gtk3 (legacy) and qt6
    - Convert port to use meson
---
 multimedia/audacious/Makefile                      | 66 ++++++++++++++--------
 multimedia/audacious/distinfo                      |  6 +-
 multimedia/audacious/files/patch-Makefile          | 11 ----
 multimedia/audacious/files/patch-buildsys.mk.in    | 19 -------
 multimedia/audacious/files/patch-extra.mk.in       | 10 ----
 multimedia/audacious/files/patch-meson.build       | 10 ++++
 .../audacious/files/patch-src_audtool_Makefile     |  8 ---
 .../audacious/files/patch-src_libaudqt_meson.build | 27 +++++++++
 multimedia/audacious/pkg-plist                     | 42 +++++++-------
 9 files changed, 105 insertions(+), 94 deletions(-)

diff --git a/multimedia/audacious/Makefile b/multimedia/audacious/Makefile
index c461f287c49b..7d4647a03587 100644
--- a/multimedia/audacious/Makefile
+++ b/multimedia/audacious/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	audacious
-PORTVERSION=	4.2
+PORTVERSION=	4.3
 CATEGORIES=	multimedia audio
 MASTER_SITES=	https://distfiles.audacious-media-player.org/
 
@@ -14,48 +14,67 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 LIB_DEPENDS=	libfreetype.so:print/freetype2 \
 		libfontconfig.so:x11-fonts/fontconfig
 
-FLAVORS=	qt5 gtk2
+FLAVORS=	qt5 qt6 gtk2 gtk3
 FLAVOR?=	${FLAVORS:[1]}
 
 USES=		compiler:c++11-lib desktop-file-utils gettext-tools gmake \
-		gnome iconv localbase pkgconfig tar:bzip2 xorg
+		gnome iconv localbase meson pkgconfig tar:bzip2 xorg
 USE_GNOME=	glib20
 USE_XORG=	x11 sm
 USE_LDCONFIG=	yes
+SUB_FILES=	pkg-message
+
+qt5_CONFLICTS_INSTALL=	audacious-qt6 audacious-gtk2 audacious-gtk3
 
-qt5_CONFLICTS_INSTALL=	audacious-gtk2
+qt6_PKGNAMESUFFIX=	-qt6
+qt6_CONFLICTS_INSTALL=	audacious audacious-gtk2 audacious-gtk3
 
-gtk2_LIB_DEPENDS+=	libharfbuzz.so:print/harfbuzz
+gtk2_LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
 gtk2_PKGNAMESUFFIX=	-gtk2
-gtk2_CONFLICTS_INSTALL=	audacious
+gtk2_CONFLICTS_INSTALL=	audacious audacious-qt6 audacious-gtk3
 
-GNU_CONFIGURE=	yes
-SUB_FILES=	pkg-message
+gtk3_LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
+gtk3_PKGNAMESUFFIX=	-gtk3
+gtk3_CONFLICTS_INSTALL=	audacious audacious-qt6 audacious-gtk2
 
-CONFIGURE_ARGS=	--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig \
-		--without-buildstamp
 
 .if ${FLAVOR} == qt5
-CONFIGURE_ARGS+=	--enable-qt --disable-gtk
+MESON_ARGS+=		-Dqt=true -Dqt6=false -Dgtk=false -Dgtk3=false
 USES+=			qt:5
 USE_QT=			buildtools:build core gui widgets
-PLIST_SUB=		QT5="" GTK2="@comment "
+PLIST_SUB=		QT="" GTK="@comment "
+.elif ${FLAVOR} == qt6
+MESON_ARGS+=		-Dqt=true -Dqt6=true -Dgtk=false -Dgtk3=false
+USES+=			qt:6
+USE_QT=			base
+PLIST_SUB=		QT="" GTK="@comment "
 .elif ${FLAVOR} == gtk2
-CONFIGURE_ARGS+=	--disable-qt --enable-gtk
+MESON_ARGS+=		-Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=false
 USE_GNOME+=		cairo gdkpixbuf2 gtk20
-PLIST_SUB=		QT5="@comment " GTK2=""
+PLIST_SUB=		QT="@comment " GTK=""
+.elif ${FLAVOR} == gtk3
+MESON_ARGS+=		-Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=true
+USE_GNOME+=		cairo gdkpixbuf2 gtk30
+PLIST_SUB=		QT="@comment " GTK=""
 .endif
 
-OPTIONS_DEFINE=	NLS EXECINFO
-OPTIONS_DEFAULT=EXECINFO
-OPTIONS_SUB=	yes
-EXECINFO_DESC=	Build with libexecinfo support
+OPTIONS_DEFINE=		NLS LIBARCHIVE EXECINFO
+OPTIONS_DEFAULT=	EXECINFO
+OPTIONS_SUB=		yes
+EXECINFO_DESC=		Build with libexecinfo support
+LIBARCHIVE_DESC=	Build with libarchive support
+
+LIBARCHIVE_MESON_TRUE=	libarchive
+LIBARCHIVE_USES=	libarchive
+
+NLS_USES=		gettext-runtime
 
-NLS_USES=	gettext-runtime
-NLS_CONFIGURE_ENABLE=	nls
+post-patch:
+	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+		${WRKSRC}/src/libaudqt/meson.build
 
 post-patch-NLS-off:
-	${REINPLACE_CMD} -e 's,po,,' ${WRKSRC}/Makefile
+	@${REINPLACE_CMD} -e "/^subdir('po')/d" ${WRKSRC}/meson.build
 
 post-patch-EXECINFO-on:
 	@${REINPLACE_CMD} 's|-lm |-lm -lexecinfo |' \
@@ -64,7 +83,8 @@ post-patch-EXECINFO-on:
 		${WRKSRC}/audacious.pc.in
 
 post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/aud*
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/metainfo
+	${INSTALL_DATA} ${WRKSRC}/contrib/audacious.appdata.xml \
+		${STAGEDIR}${PREFIX}/share/metainfo/
 
 .include <bsd.port.mk>
diff --git a/multimedia/audacious/distinfo b/multimedia/audacious/distinfo
index 5720bab1a08a..88c11a9e13c4 100644
--- a/multimedia/audacious/distinfo
+++ b/multimedia/audacious/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1657443720
-SHA256 (audacious-4.2.tar.bz2) = feb304e470a481fe2b3c4ca1c9cb3b23ec262540c12d0d1e6c22a5eb625e04b3
-SIZE (audacious-4.2.tar.bz2) = 612155
+TIMESTAMP = 1678119453
+SHA256 (audacious-4.3.tar.bz2) = 27584dc845c7e70db8c9267990945f17322a1ecc80ff8b452e9ca916a0ce9091
+SIZE (audacious-4.3.tar.bz2) = 623855
diff --git a/multimedia/audacious/files/patch-Makefile b/multimedia/audacious/files/patch-Makefile
deleted file mode 100644
index 702dbc1b5a38..000000000000
--- a/multimedia/audacious/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig	2016-08-24 14:50:57 UTC
-+++ Makefile
-@@ -14,6 +14,8 @@ DATA = AUTHORS \
-        images/playlist.png \
-        images/plugins.png
- 
-+CONTRIB = contrib/audacious.appdata.xml
-+
- include buildsys.mk
- 
- install-extra:
diff --git a/multimedia/audacious/files/patch-buildsys.mk.in b/multimedia/audacious/files/patch-buildsys.mk.in
deleted file mode 100644
index 60ba317135ec..000000000000
--- a/multimedia/audacious/files/patch-buildsys.mk.in
+++ /dev/null
@@ -1,19 +0,0 @@
---- buildsys.mk.in.orig	2021-02-01 23:26:34 UTC
-+++ buildsys.mk.in
-@@ -656,6 +656,16 @@ install: install-extra
- 		${DIR_LEAVE}; \
- 	done
- 
-+	for i in "" ${CONTRIB}; do \
-+		test x"$$i" = x"" && continue; \
-+		${INSTALL_STATUS}; \
-+		if ${MKDIR_P} ${DESTDIR}${datarootdir}/appdata && ${INSTALL} -m 644 $$i ${DESTDIR}${datarootdir}/appdata/$$(basename $$i); then \
-+			${INSTALL_OK}; \
-+		else \
-+			${INSTALL_FAILED}; \
-+		fi \
-+	done
-+
- 	for i in "" ${SHARED_LIB}; do \
- 		test x"$$i" = x"" && continue; \
- 		${INSTALL_STATUS}; \
diff --git a/multimedia/audacious/files/patch-extra.mk.in b/multimedia/audacious/files/patch-extra.mk.in
deleted file mode 100644
index 5789fd2e6418..000000000000
--- a/multimedia/audacious/files/patch-extra.mk.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- extra.mk.in.orig	2016-08-24 14:50:57 UTC
-+++ extra.mk.in
-@@ -12,6 +12,7 @@ GMODULE_LIBS ?= @GMODULE_LIBS@
- GTK_CFLAGS ?= @GTK_CFLAGS@
- GTK_LIBS ?= @GTK_LIBS@
- QTCORE_CFLAGS ?= @QTCORE_CFLAGS@
-+LIBINTL ?= @LIBINTL@
- QTCORE_LIBS ?= @QTCORE_LIBS@
- QT_CFLAGS ?= @QT_CFLAGS@
- QT_LIBS ?= @QT_LIBS@
diff --git a/multimedia/audacious/files/patch-meson.build b/multimedia/audacious/files/patch-meson.build
new file mode 100644
index 000000000000..a7fd9bfccfd7
--- /dev/null
+++ b/multimedia/audacious/files/patch-meson.build
@@ -0,0 +1,10 @@
+--- meson.build.orig	2023-03-05 17:47:00 UTC
++++ meson.build
+@@ -55,6 +55,7 @@ have_darwin = host_machine.system() == 'darwin'
+ 
+ 
+ have_darwin = host_machine.system() == 'darwin'
++have_freebsd = host_machine.system() == 'freebsd'
+ have_windows = host_machine.system() == 'windows'
+ 
+ 
diff --git a/multimedia/audacious/files/patch-src_audtool_Makefile b/multimedia/audacious/files/patch-src_audtool_Makefile
deleted file mode 100644
index c4edbcb3709f..000000000000
--- a/multimedia/audacious/files/patch-src_audtool_Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/audtool/Makefile.orig	2016-08-24 14:50:57 UTC
-+++ src/audtool/Makefile
-@@ -15,4 +15,4 @@ include ../../buildsys.mk
- include ../../extra.mk
- 
- CPPFLAGS := -I../.. -I../dbus ${CPPFLAGS} ${GLIB_CFLAGS} ${GIO_CFLAGS}
--LIBS := ../dbus/aud-dbus.a ${LIBS} ${GLIB_LIBS} ${GIO_LIBS}
-+LIBS := ../dbus/aud-dbus.a ${LIBS} ${GLIB_LIBS} ${GIO_LIBS} ${LIBINTL}
diff --git a/multimedia/audacious/files/patch-src_libaudqt_meson.build b/multimedia/audacious/files/patch-src_libaudqt_meson.build
new file mode 100644
index 000000000000..ebc37c936d75
--- /dev/null
+++ b/multimedia/audacious/files/patch-src_libaudqt_meson.build
@@ -0,0 +1,27 @@
+--- src/libaudqt/meson.build.orig	2023-03-05 17:47:00 UTC
++++ src/libaudqt/meson.build
+@@ -42,10 +42,15 @@ libaudqt_headers = [
+   'treeview.h'
+ ]
+ 
+
+ images_src = qt.preprocess(qresources: 'images.qrc')
+ 
++libaudqt_deps = [qt_dep]
+ 
++if have_freebsd
++  libaudqt_deps += [cc.find_library('intl', has_headers: ['libintl.h'], dirs: ['%%LOCALBASE%%/lib'], required: true)]
++endif
++
+ install_headers(libaudqt_headers, subdir: 'libaudqt')
+ 
+ 
+@@ -54,7 +58,7 @@ libaudqt_lib = library('audqt',
+   images_src,
+   cpp_args: ['-DLIBAUDQT_BUILD'],
+   include_directories: [src_inc],
+-  dependencies: [qt_dep],
++  dependencies: libaudqt_deps,
+   link_with: [libaudcore_lib],
+   soversion: '2',
+   version: '2.4.0',
diff --git a/multimedia/audacious/pkg-plist b/multimedia/audacious/pkg-plist
index ef895db3c3f1..8620914dc1de 100644
--- a/multimedia/audacious/pkg-plist
+++ b/multimedia/audacious/pkg-plist
@@ -30,34 +30,34 @@ include/libaudcore/tuple.h
 include/libaudcore/vfs.h
 include/libaudcore/vfs_async.h
 include/libaudcore/visualizer.h
-%%QT5%%include/libaudqt/colorbutton.h
-%%QT5%%include/libaudqt/dock.h
-%%QT5%%include/libaudqt/export.h
-%%QT5%%include/libaudqt/iface.h
-%%QT5%%include/libaudqt/info-widget.h
-%%QT5%%include/libaudqt/libaudqt.h
-%%QT5%%include/libaudqt/menu.h
-%%QT5%%include/libaudqt/treeview.h
-%%GTK2%%include/libaudgui/libaudgui-gtk.h
-%%GTK2%%include/libaudgui/libaudgui.h
-%%GTK2%%include/libaudgui/list.h
-%%GTK2%%include/libaudgui/menu.h
+%%QT%%include/libaudqt/colorbutton.h
+%%QT%%include/libaudqt/dock.h
+%%QT%%include/libaudqt/export.h
+%%QT%%include/libaudqt/iface.h
+%%QT%%include/libaudqt/info-widget.h
+%%QT%%include/libaudqt/libaudqt.h
+%%QT%%include/libaudqt/menu.h
+%%QT%%include/libaudqt/treeview.h
+%%GTK%%include/libaudgui/gtk-compat.h
+%%GTK%%include/libaudgui/libaudgui-gtk.h
+%%GTK%%include/libaudgui/libaudgui.h
+%%GTK%%include/libaudgui/list.h
+%%GTK%%include/libaudgui/menu.h
 lib/libaudcore.so
 lib/libaudcore.so.5
-lib/libaudcore.so.5.3.0
-%%GTK2%%lib/libaudgui.so
-%%GTK2%%lib/libaudgui.so.5
-%%GTK2%%lib/libaudgui.so.5.1.0
-%%QT5%%lib/libaudqt.so
-%%QT5%%lib/libaudqt.so.2
-%%QT5%%lib/libaudqt.so.2.4.0
+lib/libaudcore.so.5.4.0
+%%GTK%%lib/libaudgui.so
+%%GTK%%lib/libaudgui.so.5
+%%GTK%%lib/libaudgui.so.5.2.0
+%%QT%%lib/libaudqt.so
+%%QT%%lib/libaudqt.so.2
+%%QT%%lib/libaudqt.so.2.4.0
 lib/libaudtag.so
 lib/libaudtag.so.3
 lib/libaudtag.so.3.0.0
 libdata/pkgconfig/audacious.pc
 man/man1/audacious.1.gz
 man/man1/audtool.1.gz
-share/appdata/audacious.appdata.xml
 share/applications/audacious.desktop
 %%DATADIR%%/AUTHORS
 %%DATADIR%%/COPYING
@@ -96,6 +96,7 @@ share/icons/hicolor/scalable/apps/audacious.svg
 %%NLS%%share/locale/pl/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/pt_BR/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/pt_PT/LC_MESSAGES/audacious.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/ru/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/si/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/sk/LC_MESSAGES/audacious.mo
@@ -110,3 +111,4 @@ share/icons/hicolor/scalable/apps/audacious.svg
 %%NLS%%share/locale/uz/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/zh_CN/LC_MESSAGES/audacious.mo
 %%NLS%%share/locale/zh_TW/LC_MESSAGES/audacious.mo
+share/metainfo/audacious.appdata.xml