diff --git a/audio/kid3/Makefile b/audio/kid3/Makefile index 80a706835b1c..65ba6d768a38 100644 --- a/audio/kid3/Makefile +++ b/audio/kid3/Makefile @@ -1,99 +1,98 @@ PORTNAME= kid3 -PORTVERSION= 3.9.6 -PORTREVISION= 1 +PORTVERSION= 3.9.7 CATEGORIES= audio kde MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} PKGNAMESUFFIX= -${FLAVOR} MAINTAINER= jhale@FreeBSD.org COMMENT= Audio file tag editor WWW= https://kid3.kde.org/ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl LIB_DEPENDS= libtag.so:audio/taglib FLAVORS= qt6 kf6 FLAVOR?= ${FLAVORS:[1]} USES= cmake compiler:c++17-lang desktop-file-utils gl gnome \ pkgconfig qt:6 tar:xz USE_GL= opengl USE_GNOME= libxslt:build USE_LDCONFIG= yes USE_QT= base multimedia tools:build CMAKE_ARGS= -DWITH_DOCBOOKDIR="${LOCALBASE}/share/xsl/docbook" \ -DWITH_LIBDIR=lib \ -DWITH_MANDIR=share/man \ -DWITH_PLUGINSDIR=lib/kid3 \ -DFFMPEG_ROOT="${LOCALBASE}" \ -DWITH_APPS="${_KID3_APPS:S/ /;/gW}" CMAKE_OFF= WITH_ID3LIB \ WITH_MP4V2 \ WITH_QML CMAKE_ON= BUILD_WITH_QT6 \ WITH_TAGLIB PLIST_SUB+= SHLIB_VER=${PORTVERSION} .if ${FLAVOR} == qt6 PLIST_SUB+= KF="@comment " \ QT="" \ QT_SUFX="-qt" _KID3_APPS+= QT .elif ${FLAVOR} == kf6 USES+= kde:6 -USE_KDE= colorscheme config configwidgets coreaddons kio \ +USE_KDE= colorscheme config configwidgets coreaddons guiaddons kio \ widgetsaddons xmlgui doctools:build ecm:build PLIST_SUB+= KF="" \ QT="@comment " \ QT_SUFX="" _KID3_APPS+= KDE .endif .for f in ${FLAVORS} . if ${FLAVOR} != ${f} CONFLICTS_INSTALL+= kid3-${f} . endif .endfor OPTIONS_DEFINE= CLI ACOUSTID FLAC VORBIS TEST OPTIONS_DEFAULT= CLI ACOUSTID FLAC VORBIS 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= python:test readline CLI_VARS= _KID3_APPS+=CLI FLAC_LIB_DEPENDS= libFLAC.so:audio/flac FLAC_CMAKE_BOOL= WITH_FLAC FLAC_IMPLIES= VORBIS TEST_CMAKE_BOOL= BUILD_TESTING TEST_TARGET= # define to override CMAKE_ARGS from Uses/kde.mk 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 .include pre-test: @${CP} ${WRKSRC}/src/test/*.py ${TEST_WRKSRC} do-test: -@(cd ${TEST_WRKSRC}; ${SETENVI} ${WRK_ENV} ${TEST_ENV} ./kid3-test) do-test-CLI-on: -@(cd ${TEST_WRKSRC}; ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} test_cli_functions.py) .include diff --git a/audio/kid3/distinfo b/audio/kid3/distinfo index ee2f41d0516f..69886d480975 100644 --- a/audio/kid3/distinfo +++ b/audio/kid3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1727597128 -SHA256 (kid3-3.9.6.tar.xz) = cf27ffcc4369c9940da7bfc12fd10dfbda526b8187e5b62662abe8069fc26c27 -SIZE (kid3-3.9.6.tar.xz) = 1872012 +TIMESTAMP = 1754515332 +SHA256 (kid3-3.9.7.tar.xz) = f9cfeef7d4ddde78ad8978876cb3525843a302504f547c225e9c22c81d710760 +SIZE (kid3-3.9.7.tar.xz) = 1910860 diff --git a/audio/kid3/files/patch-CMakeLists.txt b/audio/kid3/files/patch-CMakeLists.txt deleted file mode 100644 index 55c0b58940c8..000000000000 --- a/audio/kid3/files/patch-CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -Fix detection of Qt5 if both Qt5 and Qt6 are installed. - ---- CMakeLists.txt.orig 2023-07-10 19:51:30 UTC -+++ CMakeLists.txt -@@ -273,7 +273,7 @@ else() - if(BUILD_WITH_QT6) - find_package(QT NAMES Qt6 COMPONENTS Core REQUIRED) - else() -- find_package(QT NAMES Qt5 Qt6 COMPONENTS Core REQUIRED) -+ find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED) - endif() - if(QT_VERSION_MAJOR EQUAL 6 AND QT_VERSION_MINOR LESS 2) - set(WITH_MULTIMEDIA OFF) diff --git a/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp b/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp index cd0eaad45f70..91ce12367838 100644 --- a/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp +++ b/audio/kid3/files/patch-src_app_kde_kdemainwindow.cpp @@ -1,45 +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 "reload" "Re&load" 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 2022-08-05 16:27:08 UTC +--- src/app/kde/kdemainwindow.cpp.orig 2025-07-24 02:28:50 UTC +++ src/app/kde/kdemainwindow.cpp @@ -190,7 +190,7 @@ void KdeMainWindow::initActions() action = new QAction(QIcon::fromTheme(QLatin1String("document-open")), tr("O&pen Folder..."), this); action->setStatusTip(tr("Opens a folder")); - action->setShortcut(QKeySequence(QLatin1String("Ctrl+D"))); + collection->setDefaultShortcut(action, QKeySequence(Qt::CTRL + Qt::Key_D)); collection->addAction(QLatin1String("open_directory"), action); connect(action, &QAction::triggered, impl(), &BaseMainWindowImpl::slotFileOpenDirectory); @@ -203,7 +203,7 @@ void KdeMainWindow::initActions() // Avoid this by assigning Qt::Key_F5 instead of QKeySequence::Refresh. // The section "Standard Shortcuts" in the QKeySequence documentation lists // F5 as a key for "Refresh" on all platforms. - action->setShortcut(Qt::Key_F5); + collection->setDefaultShortcut(action, QKeySequence(Qt::Key_F5)); collection->addAction(QLatin1String("reload"), action); connect(action, &QAction::triggered, impl(), &BaseMainWindowImpl::slotFileReload); -@@ -426,7 +426,7 @@ void KdeMainWindow::initActions() +@@ -424,7 +424,7 @@ void KdeMainWindow::initActions() collection->addAction(QLatin1String("filelist_focus"), action); connect(action, &QAction::triggered, form(), &Kid3Form::setFocusFileList); action = new QAction(tr("&Rename"), this); - action->setShortcut(QKeySequence(Qt::Key_F2)); + collection->setDefaultShortcut(action, QKeySequence(Qt::Key_F2)); action->setShortcutContext(Qt::WidgetShortcut); connect(action, &QAction::triggered, impl(), &BaseMainWindowImpl::renameFile); // This action is not made configurable because its shortcut F2 conflicts -@@ -435,7 +435,7 @@ void KdeMainWindow::initActions() +@@ -433,7 +433,7 @@ void KdeMainWindow::initActions() // collection->addAction(QLatin1String("filelist_rename"), action); form()->getFileList()->setRenameAction(action); action = new QAction(tr("&Move to Trash"), this); - action->setShortcut(QKeySequence::Delete); + collection->setDefaultShortcut(action, QKeySequence::Delete); action->setShortcutContext(Qt::WidgetShortcut); connect(action, &QAction::triggered, impl(), &BaseMainWindowImpl::deleteFile); // collection->addAction(QLatin1String("filelist_delete"), action); diff --git a/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp b/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp index 3b1504aa77ec..5d985524d313 100644 --- a/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp +++ b/audio/kid3/files/patch-src_plugins_mp4v2metadata_m4afile.cpp @@ -1,53 +1,53 @@ cmID and xid atoms only supported in mp4v2 >= 2.0.0 ---- src/plugins/mp4v2metadata/m4afile.cpp.orig 2022-08-05 16:27:08 UTC +--- src/plugins/mp4v2metadata/m4afile.cpp.orig 2025-07-24 02:28:50 UTC +++ src/plugins/mp4v2metadata/m4afile.cpp @@ -124,6 +124,8 @@ 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 @@ -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 || - 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); -@@ -889,11 +894,13 @@ bool M4aFile::writeTags(bool force, bool* renamed, boo +@@ -894,11 +899,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 && -@@ -1579,7 +1586,10 @@ QStringList M4aFile::getFrameIds(Frame::TagNumber tagN +@@ -1595,7 +1602,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 lst << QLatin1String("Chapters"); return lst; diff --git a/audio/kid3/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt b/audio/kid3/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt deleted file mode 100644 index 6878afda2d2b..000000000000 --- a/audio/kid3/files/patch-src_plugins_oggflacmetadata_CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -Make FLAC support optional - ---- src/plugins/oggflacmetadata/CMakeLists.txt.orig 2019-08-23 09:52:05 UTC -+++ src/plugins/oggflacmetadata/CMakeLists.txt -@@ -1,8 +1,12 @@ --if(WITH_VORBIS) -+if(WITH_VORBIS OR WITH_FLAC) - set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) - -- find_package(Vorbis REQUIRED) -- find_package(FLAC) -+ if(WITH_VORBIS) -+ find_package(Vorbis REQUIRED) -+ endif() -+ if(WITH_FLAC) -+ find_package(FLAC REQUIRED) -+ endif() - - configure_file(oggflacconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/oggflacconfig.h) - -@@ -28,7 +32,13 @@ if(WITH_VORBIS) - - target_include_directories(${plugin_TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - -- target_link_libraries(${plugin_TARGET} kid3-core VorbisFile::VorbisFile FLACPP::FLACPP Kid3Plugin) -+ target_link_libraries(${plugin_TARGET} kid3-core Kid3Plugin) -+ if(HAVE_VORBIS) -+ target_link_libraries(${plugin_TARGET} VorbisFile::VorbisFile) -+ endif() -+ if(HAVE_FLAC) -+ target_link_libraries(${plugin_TARGET} FLACPP::FLACPP) -+ endif() - - target_compile_definitions(${plugin_TARGET} PRIVATE HAVE_CONFIG_H) -