git: 5c12984f839f - main - audio/kid3: Update to 3.9.2; flavorize

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Wed, 14 Sep 2022 02:42:26 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5c12984f839f5328c065915c26206b42580f5656

commit 5c12984f839f5328c065915c26206b42580f5656
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2022-09-14 02:07:10 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2022-09-14 02:40:43 +0000

    audio/kid3: Update to 3.9.2; flavorize
    
    Convert to FLAVORS with qt5 set as the default
    - audio/kid3-qt5 -> audio/kid3@qt5
    - audio/kid3-kf5 -> audio/kid3@kf5
    - Add Qt6 flavor audio/kid3@qt6
---
 MOVED                                              |  7 +--
 audio/Makefile                                     |  3 +-
 audio/kid3-kf5/Makefile                            |  4 --
 audio/kid3-qt5/distinfo                            |  3 --
 audio/{kid3-qt5 => kid3}/Makefile                  | 61 ++++++++++++++--------
 audio/kid3/distinfo                                |  3 ++
 audio/kid3/files/patch-CMakeLists.txt              | 25 +++++++++
 .../files/patch-src_app_kde_kdemainwindow.cpp      |  6 +--
 .../patch-src_plugins_mp4v2metadata_m4afile.cpp    | 12 ++---
 ...atch-src_plugins_oggflacmetadata_CMakeLists.txt |  0
 audio/{kid3-qt5 => kid3}/pkg-descr                 |  0
 audio/{kid3-qt5 => kid3}/pkg-plist                 |  1 +
 12 files changed, 83 insertions(+), 42 deletions(-)

diff --git a/MOVED b/MOVED
index 96d6c963bc58..e6fd9d195857 100644
--- a/MOVED
+++ b/MOVED
@@ -4393,7 +4393,6 @@ audio/cheesetracker||2013-07-26|Has expired: Depends on Qt 3.x
 audio/cynthiune||2013-07-26|Has expired: Depends on Qt 3.x
 audio/ermixer||2013-07-26|Has expired: Depends on Qt 3.x
 audio/k3bmonkeyaudioplugin||2013-07-26|Has expired: Depends on Qt 3.x
-audio/kid3||2013-07-26|Has expired: Depends on Qt 3.x
 audio/kirocker||2013-07-26|Has expired: Depends on Qt 3.x
 audio/kmp||2013-07-26|Has expired: Depends on Qt 3.x
 audio/lplayer||2013-07-26|Has expired: Depends on Qt 3.x
@@ -11248,7 +11247,7 @@ audio/libkcompactdisc-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
 audio/kmix-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
 audio/audex||2018-12-31|Has expired: Qt4 has been EOL since december 2015
 audio/kio-audiocd-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
-audio/kid3-kde4||2018-12-31|Has expired: Qt4 and KDE4 EOL upstream. Use audio/kid3-qt5 or audio/kid3-kf5 instead
+audio/kid3-kde4||2018-12-31|Has expired: Qt4 and KDE4 EOL upstream. Use audio/kid3@qt5 or audio/kid3@kf5 instead
 audio/libkcddb-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
 audio/kstreamripper||2018-12-31|Has expired: Qt4 has been EOL since december 2015
 audio/juk-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
@@ -11338,7 +11337,7 @@ sysutils/kfloppy-kde4||2018-12-31|Has expired: KDE4 is EOL upstream
 sysutils/kcm-polkit-kde||2018-12-31|Has expired: Qt4 has been EOL since december 2015
 hungarian/kde4-l10n||2018-12-31|Has expired: KDE4 is EOL upstream
 java/netbeans-devel|java/netbeans|2018-12-31|Development port was removed now that this version is stable
-audio/kid3-qt4|audio/kid3-qt5|2018-12-31|Has expired: KDE4 is EOL upstream
+audio/kid3-qt4|audio/kid3@qt5|2018-12-31|Has expired: Qt4 is EOL upstream
 textproc/uim-kde4||2018-12-31|Has expired: Qt4 has been EOL since december 2015
 misc/kde4-xdg-env||2018-12-31|Removed, KDE4-related
 x11-themes/wallpapers-freebsd-kde4|x11-themes/wallpapers-freebsd-kde|2018-12-31|Renamed, the port is not KDE4 specific
@@ -17557,3 +17556,5 @@ archivers/ppmd-7z|archivers/7-zip|2022-09-11|ppmd-7z was a mis-named p7zip proje
 science/R-cran-AMORE||2022-09-12|Has expired: Upstream no longer maintained
 www/moodle310|www/moodle311|2022-09-12|Has expired: Upstream no longer maintained, upgrade to next LTS
 security/s2n|security/s2n-tls|2022-09-13|Moved to match upstream name
+audio/kid3-kf5|audio/kid3@kf5|2022-09-13|Merged into flavorized version
+audio/kid3-qt5|audio/kid3@qt5|2022-09-13|Merged into flavorized version
diff --git a/audio/Makefile b/audio/Makefile
index ab1e823e4395..41ef2421c57c 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -331,8 +331,7 @@
     SUBDIR += julius
     SUBDIR += kapitonov-plugins-pack-lv2
     SUBDIR += kexis
-    SUBDIR += kid3-kf5
-    SUBDIR += kid3-qt5
+    SUBDIR += kid3
     SUBDIR += klystrack
     SUBDIR += kmix
     SUBDIR += komposter
diff --git a/audio/kid3-kf5/Makefile b/audio/kid3-kf5/Makefile
deleted file mode 100644
index 40601456fc26..000000000000
--- a/audio/kid3-kf5/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-SLAVE=		kf5
-MASTERDIR=	${.CURDIR}/../../audio/kid3-qt5
-
-.include "${MASTERDIR}/Makefile"
diff --git a/audio/kid3-qt5/distinfo b/audio/kid3-qt5/distinfo
deleted file mode 100644
index d5c96bbd2f55..000000000000
--- a/audio/kid3-qt5/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1645446832
-SHA256 (kid3-3.9.1.tar.xz) = 37f1c3c1f267ecfcb8cbf1997080db7a8304a86f92b9118edb721364ca2df1c7
-SIZE (kid3-3.9.1.tar.xz) = 1796320
diff --git a/audio/kid3-qt5/Makefile b/audio/kid3/Makefile
similarity index 69%
rename from audio/kid3-qt5/Makefile
rename to audio/kid3/Makefile
index 198789ae738b..745e061fb4ff 100644
--- a/audio/kid3-qt5/Makefile
+++ b/audio/kid3/Makefile
@@ -1,9 +1,8 @@
 PORTNAME=	kid3
-PORTVERSION=	3.9.1
-PORTREVISION?=	2
+PORTVERSION=	3.9.2
 CATEGORIES=	audio kde
 MASTER_SITES=	KDE/stable/${PORTNAME}/${PORTVERSION}
-PKGNAMESUFFIX=	-${SLAVE}
+PKGNAMESUFFIX=	-${FLAVOR}
 
 MAINTAINER=	jhale@FreeBSD.org
 COMMENT=	Audio file tag editor
@@ -14,12 +13,13 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
 
-USES=		cmake compiler:c++11-lang desktop-file-utils gnome \
-		pkgconfig qt:5 tar:xz
+FLAVORS=	qt5 qt6 kf5
+FLAVOR?=	${FLAVORS:[1]}
+
+USES=		cmake compiler:c++11-lang desktop-file-utils gnome pkgconfig \
+		tar:xz
 USE_GNOME=	libxslt:build
 USE_LDCONFIG=	yes
-USE_QT=		core dbus gui multimedia network xml widgets \
-		buildtools:build linguisttools:build qmake:build
 
 CMAKE_ARGS=	-DWITH_DOCBOOKDIR="${LOCALBASE}/share/xsl/docbook" \
 		-DWITH_LIBDIR=lib \
@@ -30,24 +30,40 @@ CMAKE_ARGS=	-DWITH_DOCBOOKDIR="${LOCALBASE}/share/xsl/docbook" \
 		-DWITH_APPS="${KID3_APPS:S/ /;/gW}"
 PLIST_SUB+=	SHLIB_VER=${PORTVERSION}
 
-SLAVE?=		qt5
-.if ${SLAVE} == qt5
-# Qt5
-PLIST_SUB+=	KF5="@comment " QT="" QT_SUFX="-qt"
+.if ${FLAVOR} == qt5
+USES+=		qt:5
+USE_QT=		core dbus gui multimedia network xml widgets \
+		buildtools:build linguisttools:build qmake:build
+CMAKE_ARGS+=	-DWITH_QT5=ON
+PLIST_SUB+=	KF5="@comment " \
+		QT="" \
+		QT_SUFX="-qt"
+KID3_APPS+=	QT
+.elif ${FLAVOR} == qt6
+USES+=		gl qt:6
+USE_GL=		opengl
+USE_QT=		base multimedia tools:build
+CMAKE_ARGS+=	-DWITH_QT5=OFF
+PLIST_SUB+=	KF5="@comment " \
+		QT="" \
+		QT_SUFX="-qt"
 KID3_APPS+=	QT
-.else
-# KF5
-USES+=		kde:5
-USE_KDE+=	auth codecs config configwidgets coreaddons kio \
+.elif ${FLAVOR} == kf5
+USES+=		kde:5 qt:5
+USE_KDE=	auth codecs config configwidgets coreaddons kio \
 		service widgetsaddons xmlgui doctools:build ecm:build
-USE_QT+=	concurrent
-PLIST_SUB+=	KF5="" QT="@comment " QT_SUFX=""
+USE_QT=		concurrent core dbus gui multimedia network xml widgets \
+		buildtools:build linguisttools:build qmake:build
+CMAKE_ARGS+=	-DWITH_QT5=ON
+PLIST_SUB+=	KF5="" \
+		QT="@comment " \
+		QT_SUFX=""
 KID3_APPS+=	KDE
 .endif
 
-.for s in kf5 qt5
-.  if ${SLAVE} != ${s}
-CONFLICTS_INSTALL+=	kid3-${s}
+.for f in ${FLAVORS}
+.  if ${FLAVOR} != ${f}
+CONFLICTS_INSTALL+=	kid3-${f}
 .  endif
 .endfor
 
@@ -78,7 +94,10 @@ TAGLIB_DESC=		Various audio formats support via Taglib
 TAGLIB_LIB_DEPENDS=	libtag.so:audio/taglib
 TAGLIB_CMAKE_BOOL=	WITH_TAGLIB
 
-TEST_USE=		LOCALE=en_US.UTF-8 QT=testlib:build
+TEST_USE=		LOCALE=en_US.UTF-8
+.if ${FLAVOR} == qt5 || ${FLAVOR} == kf5
+TEST_USE+=		QT=testlib:build
+.endif
 TEST_CMAKE_BOOL=	BUILD_TESTING
 TEST_TARGET=		# define to override CMAKE_ARGS from Uses/kde.mk
 TEST_WRKSRC=		${BUILD_WRKSRC}/src/test
diff --git a/audio/kid3/distinfo b/audio/kid3/distinfo
new file mode 100644
index 000000000000..abf4d222d7a2
--- /dev/null
+++ b/audio/kid3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1662953098
+SHA256 (kid3-3.9.2.tar.xz) = 4785eff8f9b3299405d6d16d4904c58da8ac1ae83610a33a98f5681aeb4d9e89
+SIZE (kid3-3.9.2.tar.xz) = 1952344
diff --git a/audio/kid3/files/patch-CMakeLists.txt b/audio/kid3/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..9e2d5dc014e0
--- /dev/null
+++ b/audio/kid3/files/patch-CMakeLists.txt
@@ -0,0 +1,25 @@
+Add CMake option to specify the version of Qt we want to build against.
+
+--- CMakeLists.txt.orig	2022-09-12 03:46:59 UTC
++++ CMakeLists.txt
+@@ -27,6 +27,7 @@ set(BUILD_SHARED_LIBS ON CACHE BOOL "build shared libr
+ cmake_minimum_required(VERSION 3.3)
+ 
+ set(BUILD_SHARED_LIBS ON CACHE BOOL "build shared libraries")
++set(WITH_QT5    ON CACHE BOOL "build with Qt 5")
+ set(WITH_QML    ON CACHE BOOL "build with QML")
+ set(WITH_TAGLIB ON CACHE BOOL "build with TagLib")
+ set(WITH_MP4V2 OFF CACHE BOOL "build with mp4v2")
+@@ -263,7 +264,11 @@ endif()
+     set(Qt${_qtVersionMajor}AndroidExtras_DIR "${_qtDir}/lib/cmake/Qt${_qtVersionMajor}AndroidExtras")
+   endif()
+ endif()
+-find_package(QT NAMES Qt5 Qt6 COMPONENTS Core REQUIRED)
++if(WITH_QT5)
++  find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED)
++else()
++  find_package(QT NAMES Qt6 COMPONENTS Core REQUIRED)
++endif()
+ if(QT_VERSION_MAJOR EQUAL 6 AND QT_VERSION_MINOR LESS 2)
+   set(WITH_MULTIMEDIA OFF)
+ endif()
diff --git a/audio/kid3-qt5/files/patch-src_app_kde_kdemainwindow.cpp b/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp
similarity index 94%
rename from audio/kid3-qt5/files/patch-src_app_kde_kdemainwindow.cpp
rename to audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp
index 9b94f77796b2..cd0eaad45f70 100644
--- a/audio/kid3-qt5/files/patch-src_app_kde_kdemainwindow.cpp
+++ b/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp
@@ -5,7 +5,7 @@ Shortcut for action  "reload" "Re&load" set with QAction::setShortcut()! Use KAc
 Shortcut for action  "filelist_rename" "&Rename" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
 Shortcut for action  "filelist_delete" "&Move to Trash" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
 
---- src/app/kde/kdemainwindow.cpp.orig	2020-09-25 07:02:19 UTC
+--- src/app/kde/kdemainwindow.cpp.orig	2022-08-05 16:27:08 UTC
 +++ src/app/kde/kdemainwindow.cpp
 @@ -190,7 +190,7 @@ void KdeMainWindow::initActions()
    action = new QAction(QIcon::fromTheme(QLatin1String("document-open")),
@@ -25,7 +25,7 @@ Shortcut for action  "filelist_delete" "&Move to Trash" set with QAction::setSho
    collection->addAction(QLatin1String("reload"), action);
    connect(action, &QAction::triggered,
            impl(), &BaseMainWindowImpl::slotFileReload);
-@@ -421,7 +421,7 @@ void KdeMainWindow::initActions()
+@@ -426,7 +426,7 @@ void KdeMainWindow::initActions()
    collection->addAction(QLatin1String("filelist_focus"), action);
    connect(action, &QAction::triggered, form(), &Kid3Form::setFocusFileList);
    action = new QAction(tr("&Rename"), this);
@@ -34,7 +34,7 @@ Shortcut for action  "filelist_delete" "&Move to Trash" set with QAction::setSho
    action->setShortcutContext(Qt::WidgetShortcut);
    connect(action, &QAction::triggered, impl(), &BaseMainWindowImpl::renameFile);
    // This action is not made configurable because its shortcut F2 conflicts
-@@ -430,7 +430,7 @@ void KdeMainWindow::initActions()
+@@ -435,7 +435,7 @@ void KdeMainWindow::initActions()
    // collection->addAction(QLatin1String("filelist_rename"), action);
    form()->getFileList()->setRenameAction(action);
    action = new QAction(tr("&Move to Trash"), this);
diff --git a/audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp b/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
similarity index 86%
rename from audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
rename to audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
index c7c979f5ecba..3b1504aa77ec 100644
--- a/audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
+++ b/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
@@ -1,8 +1,8 @@
 cmID and xid atoms only supported in mp4v2 >= 2.0.0
 
---- src/plugins/mp4v2metadata/m4afile.cpp.orig	2018-04-18 18:01:00 UTC
+--- src/plugins/mp4v2metadata/m4afile.cpp.orig	2022-08-05 16:27:08 UTC
 +++ src/plugins/mp4v2metadata/m4afile.cpp
-@@ -136,6 +136,8 @@ static const struct {
+@@ -124,6 +124,8 @@ const struct {
    { "geID", Frame::FT_Other },
    { "purl", Frame::FT_Other },
    { "egid", Frame::FT_Other },
@@ -11,7 +11,7 @@ cmID and xid atoms only supported in mp4v2 >= 2.0.0
    { "cmID", Frame::FT_Other },
    { "xid ", Frame::FT_Other },
  #endif
-@@ -346,8 +348,11 @@ static QByteArray getValueByteArray(const char* name,
+@@ -343,8 +345,11 @@ QByteArray getValueByteArray(const char* name,
  #if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0109
    } else if (std::strcmp(name, "tvsn") == 0 || std::strcmp(name, "tves") == 0 ||
               std::strcmp(name, "sfID") == 0 || std::strcmp(name, "cnID") == 0 ||
@@ -25,7 +25,7 @@ cmID and xid atoms only supported in mp4v2 >= 2.0.0
      if (size >= 4) {
        uint val = value[3] + (value[2] << 8) +
          (value[1] << 16) + (value[0] << 24);
-@@ -712,11 +717,13 @@ bool M4aFile::writeTags(bool force, bool* renamed, boo
+@@ -889,11 +894,13 @@ bool M4aFile::writeTags(bool force, bool* renamed, boo
            } else if (name == QLatin1String("geID")) {
              uint32_t val = str.toULong();
              MP4TagsSetGenreID(tags, &val);
@@ -39,7 +39,7 @@ cmID and xid atoms only supported in mp4v2 >= 2.0.0
            } else {
              MP4ItmfItem* item;
              if (name.length() == 4 &&
-@@ -1306,7 +1313,10 @@ QStringList M4aFile::getFrameIds(Frame::TagNumber tagN
+@@ -1579,7 +1586,10 @@ QStringList M4aFile::getFrameIds(Frame::TagNumber tagN
      QLatin1String("plID") << QLatin1String("purd") << QLatin1String("rtng") << QLatin1String("sfID") <<
      QLatin1String("sosn") << QLatin1String("stik") << QLatin1String("tven") <<
      QLatin1String("tves") << QLatin1String("tvnn") << QLatin1String("tvsh") << QLatin1String("tvsn") <<
@@ -49,5 +49,5 @@ cmID and xid atoms only supported in mp4v2 >= 2.0.0
 +#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
 +  lst << QLatin1String("cmID") << QLatin1String("xid ");
  #endif
+   lst << QLatin1String("Chapters");
    return lst;
- }
diff --git a/audio/kid3-qt5/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt b/audio/kid3/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt
similarity index 100%
rename from audio/kid3-qt5/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt
rename to audio/kid3/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt
diff --git a/audio/kid3-qt5/pkg-descr b/audio/kid3/pkg-descr
similarity index 100%
rename from audio/kid3-qt5/pkg-descr
rename to audio/kid3/pkg-descr
diff --git a/audio/kid3-qt5/pkg-plist b/audio/kid3/pkg-plist
similarity index 99%
rename from audio/kid3-qt5/pkg-plist
rename to audio/kid3/pkg-plist
index 0e89f995c944..9265025f2412 100644
--- a/audio/kid3-qt5/pkg-plist
+++ b/audio/kid3/pkg-plist
@@ -91,6 +91,7 @@ share/icons/hicolor/64x64/apps/kid3%%QT_SUFX%%.png
 %%DATADIR%%/translations/kid3_it.qm
 %%DATADIR%%/translations/kid3_ko.qm
 %%DATADIR%%/translations/kid3_nl.qm
+%%DATADIR%%/translations/kid3_nn.qm
 %%DATADIR%%/translations/kid3_pl.qm
 %%DATADIR%%/translations/kid3_pt.qm
 %%DATADIR%%/translations/kid3_pt_BR.qm