Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2018 15:22:58 +0000 (UTC)
From:      "Jason E. Hale" <jhale@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r476239 - in head/audio: . kid3-kde4 kid3-kde4/files kid3-kf5 kid3-qt4 kid3-qt5
Message-ID:  <201808021522.w72FMwcA062509@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhale
Date: Thu Aug  2 15:22:58 2018
New Revision: 476239
URL: https://svnweb.freebsd.org/changeset/ports/476239

Log:
  Update to 3.6.1
  Add KDE Frameworks 5 (KF5) support and slave port
  Add regression tests and remove Qt testlib as a hard dependency
  Make COMMENT more generic since kid3 can tag many different types of files
  Improve pkg-descr and update WWW

Added:
  head/audio/kid3-kde4/files/
  head/audio/kid3-kde4/files/patch-CMakeLists.txt   (contents, props changed)
  head/audio/kid3-kde4/files/patch-src_app_kde_kdemainwindow.cpp   (contents, props changed)
  head/audio/kid3-kde4/files/patch-src_plugins_discogsimport_discogsimporter.cpp   (contents, props changed)
  head/audio/kid3-kde4/files/patch-src_plugins_mp4v2metadata_m4afile.cpp   (contents, props changed)
  head/audio/kid3-kde4/files/patch-src_test_testmusicbrainzreleaseimporter.cpp   (contents, props changed)
  head/audio/kid3-kf5/
     - copied from r476026, head/audio/kid3-qt5/
Modified:
  head/audio/Makefile
  head/audio/kid3-kde4/Makefile
  head/audio/kid3-kde4/distinfo
  head/audio/kid3-kde4/pkg-descr
  head/audio/kid3-kde4/pkg-plist
  head/audio/kid3-kf5/Makefile
  head/audio/kid3-qt4/Makefile
  head/audio/kid3-qt5/Makefile

Modified: head/audio/Makefile
==============================================================================
--- head/audio/Makefile	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/Makefile	Thu Aug  2 15:22:58 2018	(r476239)
@@ -366,6 +366,7 @@
     SUBDIR += julius
     SUBDIR += kexis
     SUBDIR += kid3-kde4
+    SUBDIR += kid3-kf5
     SUBDIR += kid3-qt4
     SUBDIR += kid3-qt5
     SUBDIR += kio-audiocd-kde4

Modified: head/audio/kid3-kde4/Makefile
==============================================================================
--- head/audio/kid3-kde4/Makefile	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-kde4/Makefile	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,76 +1,96 @@
 # $FreeBSD$
 
 PORTNAME=	kid3
-PORTVERSION=	3.5.1
-PORTREVISION?=	2
+PORTVERSION=	3.6.1
+PORTREVISION?=	0
 CATEGORIES=	audio kde
 MASTER_SITES=	SF
+PKGNAMESUFFIX=	-${SLAVE}
 
 MAINTAINER=	jhale@FreeBSD.org
-COMMENT?=	MP3/Ogg/FLAC tag editor for KDE
+COMMENT=	Audio file tag editor
 
 LICENSE=	GPLv2+
+LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		cmake:outsource kde:4 pkgconfig
+BUILD_DEPENDS=	${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
+
+USES=		cmake:outsource pkgconfig
+USE_GNOME=	libxslt:build
 USE_LDCONFIG=	yes
-CMAKE_ARGS=	-DWITH_DOCBOOKDIR=${LOCALBASE}/share/xsl/docbook \
+
+CMAKE_ARGS=	-DWITH_DOCBOOKDIR="${LOCALBASE}/share/xsl/docbook" \
 		-DWITH_LIBDIR=lib \
 		-DWITH_MANDIR=man \
 		-DWITH_PLUGINSDIR=lib/kid3 \
-		-DFFMPEG_ROOT=${LOCALBASE} \
-		-DWITH_QML=OFF
+		-DFFMPEG_ROOT="${LOCALBASE}" \
+		-DWITH_QML=OFF \
+		-DWITH_APPS="${KID3_APPS:S/ /;/gW}"
+PLIST_SUB+=	SHLIB_VER=${PORTVERSION}
 
-OPTIONS_DEFINE=		CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB PHONON
-OPTIONS_DEFAULT=	CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB
-OPTIONS_SUB=		yes
-NO_OPTIONS_SORT=	yes
-
-.if defined(PKGNAMESUFFIX)
-# Qt 4 and Qt 5
-BUILD_DEPENDS+=	${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
-
+SLAVE?=		kde4
+.if ${SLAVE} == qt4 || ${SLAVE} == qt5
+# Qt4 and Qt5
 USES+=		desktop-file-utils
-USE_GNOME=	libxslt:build
-CMAKE_ARGS+=	-DWITH_APPS="${KID3_CLI}QT"
-PLIST_SUB+=	QT="" KDE="@comment "
-.  if ${PKGNAMESUFFIX} == "-qt5"
-# Qt 5 only
-CONFLICTS_INSTALL=	kid3-3.* kid3-qt4-3.*
-USES+=		qt:5
-USE_QT=		core dbus gui multimedia network testlib xml widgets \
-		buildtools_build linguisttools_build qmake_build
-CMAKE_ARGS+=	-DWITH_QT5=true
-OPTIONS_EXCLUDE=PHONON
-.  elif ${PKGNAMESUFFIX} == "-qt4"
-# Qt 4 only
-CONFLICTS_INSTALL=	kid3-3.* kid3-qt5-3.*
-USES+=		qt:4
-USE_QT=		corelib dbus gui network xml \
-		qmake_build moc_build rcc_build uic_build \
-		linguisttools_build
-.  endif
+PLIST_SUB+=	KDE="@comment " KDE4="@comment " KF5="@comment " QT="" QT_SUFX="-qt"
+KID3_APPS+=	QT
 .else
-# KDE 4 only
-CONFLICTS_INSTALL=	kid3-qt4-3.* kid3-qt5-3.*
+# KDE4 and KF5
+PLIST_SUB+=	KDE="" QT="@comment " QT_SUFX=""
+KID3_APPS+=	KDE
+.endif
+
+.if ${SLAVE} == kde4 || ${SLAVE} == qt4
+# KDE4 and Qt4
 USES+=		qt:4
-USE_QT=		corelib dbus gui network svg xml \
+USE_QT+=	corelib dbus gui network xml \
 		qmake_build moc_build rcc_build uic_build \
 		linguisttools_build
-USE_KDE=	kdelibs automoc4
-CMAKE_ARGS+=	-DWITH_APPS="${KID3_CLI}KDE"
-PLIST_SUB+=	QT="@comment " KDE=""
-OPTIONS_SLAVE=	PHONON
+CMAKE_ON+=	WITH_QT4
+.else
+# KF5 and Qt5
+USES+=		qt:5
+USE_QT+=	core dbus gui multimedia network xml widgets \
+		buildtools_build linguisttools_build qmake_build
+CMAKE_ON+=	WITH_QT5
+OPTIONS_EXCLUDE+=	PHONON
 .endif
 
-PLIST_SUB+=	SHLIB_VER=${PORTVERSION}
+.if ${SLAVE} == kde4
+# KDE4 only
+USES+=		kde:4
+USE_KDE+=	kdelibs automoc4
+USE_QT+=	svg
+PLIST_SUB+=	KDE4="" KF5="@comment "
+OPTIONS_SLAVE+=	PHONON
+.elif ${SLAVE} == kf5
+# KF5 only
+USES+=		desktop-file-utils kde:5
+USE_KDE+=	auth bookmarks codecs completion config configwidgets \
+		coreaddons doctools_build ecm_build itemviews jobwidgets \
+		kio service solid widgetsaddons xmlgui
+USE_QT+=	concurrent
+PLIST_SUB+=	KDE4="@comment " KF5=""
+.endif
 
+.for s in kde4 kf5 qt4 qt5
+.  if ${SLAVE} != ${s}
+CONFLICTS_INSTALL+=	kid3-${s}
+.  endif
+.endfor
+
+OPTIONS_DEFINE=		CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB PHONON TEST
+OPTIONS_DEFAULT=	CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB
+OPTIONS_SUB=		yes
+NO_OPTIONS_SORT=	yes
+
 ACOUSTID_LIB_DEPENDS=	libchromaprint.so:audio/chromaprint \
 			libavcodec.so:multimedia/ffmpeg
 ACOUSTID_CMAKE_BOOL=	WITH_CHROMAPRINT WITH_FFMPEG
 
 CLI_DESC=		Build and install command line utility
-CLI_USES=		readline
-CLI_VARS=		KID3_CLI=CLI;
+CLI_USES=		python:3.4+,test readline
+CLI_VARS=		KID3_APPS+=CLI
 
 FLAC_LIB_DEPENDS=	libFLAC.so:audio/flac
 FLAC_CMAKE_BOOL=	WITH_FLAC
@@ -81,7 +101,6 @@ MP3_CMAKE_BOOL=		WITH_ID3LIB
 MP4_LIB_DEPENDS=	libmp4v2.so:multimedia/mp4v2
 MP4_CMAKE_BOOL=		WITH_MP4V2
 
-PHONON_USES=	qt:4
 PHONON_USE=		QT=phonon
 PHONON_CMAKE_BOOL=	WITH_PHONON
 
@@ -89,6 +108,15 @@ 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
+.if ${SLAVE} == qt4 || ${SLAVE} == kde4
+TEST_USE+=		QT=qtestlib_build
+.else
+TEST_USE+=		QT=testlib_build
+.endif
+TEST_WRKSRC=		${BUILD_WRKSRC}/src/test
+TEST_VARS=		KID3_APPS+=TEST
+
 VORBIS_LIB_DEPENDS=	libvorbis.so:audio/libvorbis \
 			libogg.so:audio/libogg
 VORBIS_CMAKE_BOOL=	WITH_VORBIS
@@ -100,5 +128,17 @@ PLIST_SUB+=	OGGFLAC=""
 .else
 PLIST_SUB+=	OGGFLAC="@comment "
 .endif
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|aiff|aif|g' ${WRKSRC}/src/test/test_cli_functions.py
+
+pre-test:
+	@${CP} ${WRKSRC}/src/test/*.py ${TEST_WRKSRC}
+
+do-test:
+	-@(cd ${TEST_WRKSRC}; ${SETENV} ${TEST_ENV} ./kid3-test)
+
+do-test-CLI-on:
+	-@(cd ${TEST_WRKSRC}; ${SETENV} ${TEST_ENV} ${PYTHON_CMD} test_cli_functions.py)
 
 .include <bsd.port.mk>

Modified: head/audio/kid3-kde4/distinfo
==============================================================================
--- head/audio/kid3-kde4/distinfo	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-kde4/distinfo	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1517047885
-SHA256 (kid3-3.5.1.tar.gz) = 88c20826deb13f81bcdfa7033a4b9ff9ca8957112b2fa2ccc0a9a1076df73926
-SIZE (kid3-3.5.1.tar.gz) = 1414829
+TIMESTAMP = 1524559677
+SHA256 (kid3-3.6.1.tar.gz) = 4644b2955265920d78c0d689545603a59e5020e98319be74c5b141f5a46976ad
+SIZE (kid3-3.6.1.tar.gz) = 1428799

Added: head/audio/kid3-kde4/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/kid3-kde4/files/patch-CMakeLists.txt	Thu Aug  2 15:22:58 2018	(r476239)
@@ -0,0 +1,30 @@
+Qt5Test is only needed for running the regression tests.
+
+--- CMakeLists.txt.orig	2018-04-25 11:23:10 UTC
++++ CMakeLists.txt
+@@ -258,7 +258,9 @@ if (NOT WITH_QT4 AND NOT Qt4_FOUND AND NOT QT4_FOUND)
+       set(Qt5Xml_DIR "${_qt5Dir}/lib/cmake/Qt5Xml")
+       set(Qt5Multimedia_DIR "${_qt5Dir}/lib/cmake/Qt5Multimedia")
+       set(Qt5LinguistTools_DIR "${_qt5Dir}/lib/cmake/Qt5LinguistTools")
+-      set(Qt5Test_DIR "${_qt5Dir}/lib/cmake/Qt5Test")
++      if (BUILD_TEST_APP)
++        set(Qt5Test_DIR "${_qt5Dir}/lib/cmake/Qt5Test")
++      endif (BUILD_TEST_APP)
+       if (WITH_DBUS)
+         set(Qt5DBus_DIR "${_qt5Dir}/lib/cmake/Qt5DBus")
+       endif (WITH_DBUS)
+@@ -299,9 +301,11 @@ if (NOT WITH_QT4 AND NOT Qt4_FOUND AND NOT QT4_FOUND)
+       endif (Qt5${_qt5Component}_FOUND)
+     endforeach ()
+     find_package(Qt5LinguistTools)
+-    find_package(Qt5Test)
+-    set(QT_QTTEST_LIBRARY Qt5::Test)
+-    set(QT_QTTEST_INCLUDE_DIR ${Qt5Test_INCLUDE_DIRS})
++    if (BUILD_TEST_APP)
++      find_package(Qt5Test)
++      set(QT_QTTEST_LIBRARY Qt5::Test)
++      set(QT_QTTEST_INCLUDE_DIR ${Qt5Test_INCLUDE_DIRS})
++    endif (BUILD_TEST_APP)
+     if (Qt5DBus_FOUND)
+       set(HAVE_QTDBUS 1)
+     endif (Qt5DBus_FOUND)

Added: head/audio/kid3-kde4/files/patch-src_app_kde_kdemainwindow.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/kid3-kde4/files/patch-src_app_kde_kdemainwindow.cpp	Thu Aug  2 15:22:58 2018	(r476239)
@@ -0,0 +1,45 @@
+Squash startup warnings for KF5 app.
+
+Shortcut for action  "open_directory" "O&pen Directory..." set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
+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	2018-03-18 20:56:24 UTC
++++ src/app/kde/kdemainwindow.cpp
+@@ -162,7 +162,12 @@ void KdeMainWindow::initActions()
+   action = new KAction(KIcon(QLatin1String("document-open")),
+                        tr("O&pen Directory..."), this);
+   action->setStatusTip(tr("Opens a directory"));
++#if QT_VERSION >= 0x050000
++  collection->setDefaultShortcut(action,
++                          QKeySequence(Qt::CTRL + Qt::Key_D));
++#else
+   action->setShortcut(KShortcut(QLatin1String("Ctrl+D")));
++#endif
+   collection->addAction(QLatin1String("open_directory"), action);
+   connect(action, SIGNAL(triggered()), impl(), SLOT(slotFileOpenDirectory()));
+   action = new KAction(KIcon(QLatin1String("document-import")),
+@@ -359,13 +364,23 @@ void KdeMainWindow::initActions()
+   collection->addAction(QLatin1String("filelist_focus"), action);
+   connect(action, SIGNAL(triggered()), form(), SLOT(setFocusFileList()));
+   action = new KAction(tr("&Rename"), this);
++#if QT_VERSION >= 0x050000
++  collection->setDefaultShortcut(action,
++                          QKeySequence(Qt::Key_F2));
++#else
+   action->setShortcut(QKeySequence(Qt::Key_F2));
++#endif
+   action->setShortcutContext(Qt::WidgetShortcut);
+   connect(action, SIGNAL(triggered()), impl(), SLOT(renameFile()));
+   collection->addAction(QLatin1String("filelist_rename"), action);
+   form()->getFileList()->setRenameAction(action);
+   action = new KAction(tr("&Move to Trash"), this);
++#if QT_VERSION >= 0x050000
++  collection->setDefaultShortcut(action,
++                          QKeySequence::Delete);
++#else
+   action->setShortcut(QKeySequence::Delete);
++#endif
+   action->setShortcutContext(Qt::WidgetShortcut);
+   connect(action, SIGNAL(triggered()), impl(), SLOT(deleteFile()));
+   collection->addAction(QLatin1String("filelist_delete"), action);

Added: head/audio/kid3-kde4/files/patch-src_plugins_discogsimport_discogsimporter.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/kid3-kde4/files/patch-src_plugins_discogsimport_discogsimporter.cpp	Thu Aug  2 15:22:58 2018	(r476239)
@@ -0,0 +1,15 @@
+Fix import of track duration from Discogs.
+
+--- src/plugins/discogsimport/discogsimporter.cpp.orig	2018-04-18 18:01:00 UTC
++++ src/plugins/discogsimport/discogsimporter.cpp
+@@ -526,8 +526,8 @@ void DiscogsImporter::parseAlbumResults(const QByteArr
+       QRegExp titleRe(QLatin1String(
+         "class=\"tracklist_track_title\"[^>]*>([^<]+)<"));
+       QRegExp durationRe(QLatin1String(
+-        "<td [^>]*class=\"tracklist_track_duration\"[^>]*>(?:<meta[^>]*>)?"
+-        "(?:<span>)?(\\d+):(\\d+)</"));
++        "<td [^>]*class=\"tracklist_track_duration\">"
++        "(?:<meta[^>]*>)(?:\\s+<span>)(\\d+):(\\d+)</"));
+       QRegExp indexRe(QLatin1String("<td class=\"track_index\">([^<]+)$"));
+       QRegExp rowEndRe(QLatin1String("</td>[\\s\\r\\n]*</tr>"));
+       ImportTrackDataVector::iterator it = trackDataVector.begin();

Added: head/audio/kid3-kde4/files/patch-src_plugins_mp4v2metadata_m4afile.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/kid3-kde4/files/patch-src_plugins_mp4v2metadata_m4afile.cpp	Thu Aug  2 15:22:58 2018	(r476239)
@@ -0,0 +1,53 @@
+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
+@@ -136,6 +136,8 @@ static const struct {
+   { "geID", Frame::FT_Other },
+   { "purl", Frame::FT_Other },
+   { "egid", Frame::FT_Other },
++#endif
++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
+   { "cmID", Frame::FT_Other },
+   { "xid ", Frame::FT_Other },
+ #endif
+@@ -346,8 +348,11 @@ static 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 ||
+-             std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0 ||
+-             std::strcmp(name, "cmID") == 0) {
++             std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0
++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
++             || std::strcmp(name, "cmID") == 0
++#endif
++            ) {
+     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
+           } else if (name == QLatin1String("geID")) {
+             uint32_t val = str.toULong();
+             MP4TagsSetGenreID(tags, &val);
++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
+           } else if (name == QLatin1String("cmID")) {
+             uint32_t val = str.toULong();
+             MP4TagsSetComposerID(tags, &val);
+           } else if (name == QLatin1String("xid ")) {
+             MP4TagsSetXID(tags, str);
++#endif
+           } else {
+             MP4ItmfItem* item;
+             if (name.length() == 4 &&
+@@ -1306,7 +1313,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") <<
+-    QLatin1String("purl") << QLatin1String("egid") << QLatin1String("cmID") << QLatin1String("xid ");
++    QLatin1String("purl") << QLatin1String("egid");
++#endif
++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
++  lst << QLatin1String("cmID") << QLatin1String("xid ");
+ #endif
+   return lst;
+ }

Added: head/audio/kid3-kde4/files/patch-src_test_testmusicbrainzreleaseimporter.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/kid3-kde4/files/patch-src_test_testmusicbrainzreleaseimporter.cpp	Thu Aug  2 15:22:58 2018	(r476239)
@@ -0,0 +1,28 @@
+Fix test to reflect the current data in the MusicBrainz database.
+
+--- src/test/testmusicbrainzreleaseimporter.cpp.orig	2018-04-18 18:01:00 UTC
++++ src/test/testmusicbrainzreleaseimporter.cpp
+@@ -38,7 +38,7 @@ void TestMusicBrainzReleaseImporter::testQueryAlbums()
+ {
+   queryAlbums(QLatin1String("Wizard"), QLatin1String("Odin"));
+   QStandardItemModel* albumModel = m_importer->getAlbumListModel();
+-  QCOMPARE(albumModel->rowCount(), 3);
++  QCOMPARE(albumModel->rowCount(), 4);
+   AlbumListItem* item = static_cast<AlbumListItem*>(albumModel->item(0, 0));
+   QVERIFY(item);
+   QVERIFY(item->type() == AlbumListItem::Type);
+@@ -53,12 +53,12 @@ void TestMusicBrainzReleaseImporter::testQueryTracks()
+ 
+   QStringList titles;
+   titles << QLatin1String("The Prophecy") << QLatin1String("Betrayer") << QLatin1String("Dead Hope") << QLatin1String("Dark God")
+-         << QLatin1String("Loki's Punishment") << QLatin1String("Beginning of the End") << QLatin1String("Thor's Hammer")
++         << QString::fromUtf8("Loki\u2019s Punishment") << QLatin1String("Beginning of the End") << QString::fromUtf8("Thor\u2019s Hammer")
+          << QLatin1String("Hall of Odin") << QLatin1String("The Powergod") << QLatin1String("March of the Einheriers")
+          << QLatin1String("End of All");
+   QStringList lengths;
+   lengths << QLatin1String("5:19") << QLatin1String("4:53") << QLatin1String("6:02") << QLatin1String("5:42") << QLatin1String("5:08") << QLatin1String("4:01") << QLatin1String("5:01")
+-          << QLatin1String("5:06") << QLatin1String("5:21") << QLatin1String("5:40") << QLatin1String("3:53");
++          << QLatin1String("5:06") << QLatin1String("5:21") << QLatin1String("5:40") << QLatin1String("3:55");
+   QCOMPARE(m_trackDataModel->rowCount(), 11);
+   for (int row = 0; row < 11; ++row) {
+     QCOMPARE(m_trackDataModel->index(row, 0).data().toString(), lengths.at(row));

Modified: head/audio/kid3-kde4/pkg-descr
==============================================================================
--- head/audio/kid3-kde4/pkg-descr	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-kde4/pkg-descr	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,4 +1,18 @@
-Kid3 is an application to edit the ID3v1 and ID3v2 tags in MP3 files in
-an efficient way. Also tags in Ogg/Vorbis and FLAC files are supported.
+Kid3 is an efficient audio file tag editor that allows you to easily
+edit the tags of multiple different types of audio files without having
+to type the same information repeatedly.
 
-WWW: http://kid3.sourceforge.net
+ * Edit and convert ID3v1.1 tags and all ID3v2.3 and ID3v2.4 frames
+ * Edit tags in MP3, Ogg/Vorbis, DSF, FLAC, MPC, MP4/AAC, MP2, Opus,
+   Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker
+   modules (MOD, S3M, IT, XM)
+ * Edit tags of multiple files, e.g. the artist, album, year and genre of all
+   files of an album typically have the same values and can be set together
+ * Generate tags from filenames or the contents of tag fields
+ * Generate filenames and rename and create directories from tags
+ * Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, and Amazon
+ * Export tags as CSV, HTML, playlists, Kover XML and other formats
+ * Edit synchronized lyrics and event timing codes, import/export LRC files
+ * Automate tasks using QML/JavaScript, D-Bus or the command-line interface
+
+WWW: https://kid3.sourceforge.io

Modified: head/audio/kid3-kde4/pkg-plist
==============================================================================
--- head/audio/kid3-kde4/pkg-plist	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-kde4/pkg-plist	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,6 +1,5 @@
-%%KDE%%bin/kid3
+bin/kid3%%QT_SUFX%%
 %%CLI%%bin/kid3-cli
-%%QT%%bin/kid3-qt
 lib/libkid3-core.so
 lib/libkid3-core.so.%%SHLIB_VER%%
 lib/libkid3-gui.so
@@ -20,30 +19,27 @@ man/de/man1/kid3.1.gz
 %%CLI%%man/man1/kid3-cli.1.gz
 %%QT%%man/man1/kid3-qt.1.gz
 man/man1/kid3.1.gz
-%%KDE%%share/applications/kde4/kid3.desktop
+%%KDE4%%share/applications/kde4/kid3.desktop
+%%KF5%%share/applications/kid3.desktop
 %%QT%%share/applications/kid3-qt.desktop
-%%KDE%%share/apps/kid3/kid3ui.rc
+%%KDE4%%share/apps/kid3/kid3ui.rc
 %%KDE%%share/dbus-1/interfaces/net.sourceforge.Kid3.xml
-%%KDE%%share/doc/HTML/de/kid3/common
+%%KDE4%%share/doc/HTML/de/kid3/common
 %%KDE%%share/doc/HTML/de/kid3/index.cache.bz2
 %%KDE%%share/doc/HTML/de/kid3/index.docbook
-%%KDE%%share/doc/HTML/en/kid3/common
+%%KDE4%%share/doc/HTML/en/kid3/common
 %%KDE%%share/doc/HTML/en/kid3/index.cache.bz2
 %%KDE%%share/doc/HTML/en/kid3/index.docbook
 %%QT%%share/doc/kid3-qt/kid3_de.html
 %%QT%%share/doc/kid3-qt/kid3_en.html
-%%QT%%share/icons/hicolor/128x128/apps/kid3-qt.png
-%%KDE%%share/icons/hicolor/128x128/apps/kid3.png
-%%QT%%share/icons/hicolor/16x16/apps/kid3-qt.png
-%%KDE%%share/icons/hicolor/16x16/apps/kid3.png
-%%QT%%share/icons/hicolor/32x32/apps/kid3-qt.png
-%%KDE%%share/icons/hicolor/32x32/apps/kid3.png
-%%QT%%share/icons/hicolor/48x48/apps/kid3-qt.png
-%%KDE%%share/icons/hicolor/48x48/apps/kid3.png
-%%QT%%share/icons/hicolor/64x64/apps/kid3-qt.png
-%%KDE%%share/icons/hicolor/64x64/apps/kid3.png
+share/icons/hicolor/128x128/apps/kid3%%QT_SUFX%%.png
+share/icons/hicolor/16x16/apps/kid3%%QT_SUFX%%.png
+share/icons/hicolor/32x32/apps/kid3%%QT_SUFX%%.png
+share/icons/hicolor/48x48/apps/kid3%%QT_SUFX%%.png
+share/icons/hicolor/64x64/apps/kid3%%QT_SUFX%%.png
 %%QT%%share/icons/hicolor/scalable/apps/kid3-qt.svg
 %%KDE%%share/icons/hicolor/scalable/apps/kid3.svgz
+%%KF5%%share/kxmlgui5/kid3/kid3ui.rc
 %%DATADIR%%/translations/kid3_cs.qm
 %%DATADIR%%/translations/kid3_da.qm
 %%DATADIR%%/translations/kid3_de.qm
@@ -62,5 +58,4 @@ man/man1/kid3.1.gz
 %%DATADIR%%/translations/kid3_tr.qm
 %%DATADIR%%/translations/kid3_zh_CN.qm
 %%DATADIR%%/translations/kid3_zh_TW.qm
-%%QT%%share/metainfo/kid3-qt.appdata.xml
-%%KDE%%share/metainfo/kid3.appdata.xml
+share/metainfo/kid3%%QT_SUFX%%.appdata.xml

Modified: head/audio/kid3-kf5/Makefile
==============================================================================
--- head/audio/kid3-qt5/Makefile	Tue Jul 31 22:01:25 2018	(r476026)
+++ head/audio/kid3-kf5/Makefile	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,8 +1,6 @@
 # $FreeBSD$
 
-PKGNAMESUFFIX=	-qt5
+SLAVE=		kf5
+MASTERDIR=	${.CURDIR}/../../audio/kid3-kde4
 
-COMMENT=	Qt 5 based MP3/Ogg/FLAC tag editor
-
-MASTERDIR=	${.CURDIR}/../kid3-kde4
 .include "${MASTERDIR}/Makefile"

Modified: head/audio/kid3-qt4/Makefile
==============================================================================
--- head/audio/kid3-qt4/Makefile	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-qt4/Makefile	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,8 +1,6 @@
 # $FreeBSD$
 
-PKGNAMESUFFIX=	-qt4
+SLAVE=		qt4
+MASTERDIR=	${.CURDIR}/../../audio/kid3-kde4
 
-COMMENT=	Qt 4 based MP3/Ogg/FLAC tag editor
-
-MASTERDIR=	${.CURDIR}/../kid3-kde4
 .include "${MASTERDIR}/Makefile"

Modified: head/audio/kid3-qt5/Makefile
==============================================================================
--- head/audio/kid3-qt5/Makefile	Thu Aug  2 15:10:27 2018	(r476238)
+++ head/audio/kid3-qt5/Makefile	Thu Aug  2 15:22:58 2018	(r476239)
@@ -1,8 +1,6 @@
 # $FreeBSD$
 
-PKGNAMESUFFIX=	-qt5
+SLAVE=		qt5
+MASTERDIR=	${.CURDIR}/../../audio/kid3-kde4
 
-COMMENT=	Qt 5 based MP3/Ogg/FLAC tag editor
-
-MASTERDIR=	${.CURDIR}/../kid3-kde4
 .include "${MASTERDIR}/Makefile"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808021522.w72FMwcA062509>