commit:     a1de4569e0572cd035d40b8698792a7ab6738ed6
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 17 22:29:52 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 18 20:35:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1de4569

media-sound/kid3: Fix test REQUIRED_USE, build w/ USE="-flac,vorbis"

Fix for the latter also gets rid of IUSE flac requiring IUSE vorbis:
https://invent.kde.org/multimedia/kid3/-/merge_requests/34

Closes: https://bugs.gentoo.org/918519
Closes: https://bugs.gentoo.org/926747
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kid3-3.9.6-oggflacmetadata-buildfix.patch      | 76 +++++++++++++++++
 media-sound/kid3/kid3-3.9.6-r2.ebuild              | 97 ++++++++++++++++++++++
 2 files changed, 173 insertions(+)

diff --git a/media-sound/kid3/files/kid3-3.9.6-oggflacmetadata-buildfix.patch 
b/media-sound/kid3/files/kid3-3.9.6-oggflacmetadata-buildfix.patch
new file mode 100644
index 000000000000..ab1ef15f3cf5
--- /dev/null
+++ b/media-sound/kid3/files/kid3-3.9.6-oggflacmetadata-buildfix.patch
@@ -0,0 +1,76 @@
+From 711b6a839523ced7453be89d3a4333b408b90b30 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Mon, 17 Mar 2025 22:54:16 +0100
+Subject: [PATCH] CMake: Restore WITH_FLAC lever and oggflacmetadata option w/o
+ WITH_VORBIS
+
+Make explicit and properly conditionalise both WITH_FLAC and WITH_VORBIS.
+
+Follow-up to 365af1eb613f879d25d6aad8565e24259ad90e9f
+Fixes https://invent.kde.org/multimedia/kid3/-/issues/581
+
+Signed-off-by: Andreas Sturmlechner <[email protected]>
+---
+ src/plugins/oggflacmetadata/CMakeLists.txt | 32 ++++++++++++++--------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+diff --git a/src/plugins/oggflacmetadata/CMakeLists.txt 
b/src/plugins/oggflacmetadata/CMakeLists.txt
+index c3365ea52..91d9c690c 100644
+--- a/src/plugins/oggflacmetadata/CMakeLists.txt
++++ b/src/plugins/oggflacmetadata/CMakeLists.txt
+@@ -1,24 +1,25 @@
+-if(WITH_VORBIS)
+-  set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
++set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+ 
++if(WITH_VORBIS)
+   find_package(Vorbis REQUIRED)
+-  find_package(FLAC)
++endif()
++if(WITH_FLAC)
++  find_package(FLAC REQUIRED)
++endif()
+ 
++if(WITH_VORBIS OR WITH_FLAC)
+   configure_file(oggflacconfig.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/oggflacconfig.h)
+ 
+   set(plugin_NAME OggFlacMetadata)
+ 
+   string(TOLOWER ${plugin_NAME} plugin_TARGET)
+ 
+-  add_library(${plugin_TARGET}
+-    oggflacmetadataplugin.cpp
+-    oggfile.cpp
+-    vcedit.c
+-  )
++  add_library(${plugin_TARGET} oggflacmetadataplugin.cpp)
++  if(HAVE_VORBIS)
++    target_sources(${plugin_TARGET} PRIVATE oggfile.cpp vcedit.c)
++  endif()
+   if(HAVE_FLAC)
+-    target_sources(${plugin_TARGET} PRIVATE
+-      flacfile.cpp
+-    )
++    target_sources(${plugin_TARGET} PRIVATE flacfile.cpp)
+   endif()
+   qt_wrap_cpp(plugin_GEN_MOC_SRCS
+     oggflacmetadataplugin.h
+@@ -28,7 +29,14 @@ 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)
+ 
+-- 
+GitLab
+

diff --git a/media-sound/kid3/kid3-3.9.6-r2.ebuild 
b/media-sound/kid3/kid3-3.9.6-r2.ebuild
new file mode 100644
index 000000000000..638ffde75f28
--- /dev/null
+++ b/media-sound/kid3/kid3-3.9.6-r2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake kde.org python-any-r1 xdg
+
+DESCRIPTION="Simple tag editor based on Qt"
+HOMEPAGE="https://kid3.kde.org/";
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+       SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="acoustid flac kde mp3 mp4 +mpris +taglib test vorbis"
+
+REQUIRED_USE="test? ( flac mp3 mp4 taglib vorbis )" # bug 926747
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       dev-qt/qtbase:6[gui,network,widgets,xml]
+       dev-qt/qtdeclarative:6
+       dev-qt/qtmultimedia:6
+       sys-libs/readline:=
+       acoustid? (
+               media-libs/chromaprint:=
+               media-video/ffmpeg:=
+       )
+       flac? ( media-libs/flac:=[cxx] )
+       kde? (
+               kde-frameworks/kconfig:6
+               kde-frameworks/kconfigwidgets:6
+               kde-frameworks/kcoreaddons:6
+               kde-frameworks/kio:6
+               kde-frameworks/kwidgetsaddons:6
+               kde-frameworks/kxmlgui:6
+       )
+       mp3? ( media-libs/id3lib )
+       mp4? ( media-libs/libmp4v2 )
+       mpris? ( dev-qt/qtbase:6[dbus] )
+       taglib? ( >=media-libs/taglib-1.9.1:= )
+       vorbis? (
+               media-libs/libogg
+               media-libs/libvorbis
+       )
+"
+RDEPEND="${DEPEND}
+       !media-sound/kid3:5
+"
+BDEPEND="${PYTHON_DEPS}
+       dev-qt/qttools:6[linguist]
+       kde? ( kde-frameworks/extra-cmake-modules:0 )
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-no-ndebug.patch" # bug 949369
+       # https://invent.kde.org/multimedia/kid3/-/merge_requests/34
+       "${FILESDIR}/${P}-oggflacmetadata-buildfix.patch" # bug 917038
+)
+
+pkg_setup() {
+       use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       # overengineered upstream build system
+       cmake_src_prepare
+       # applies broken python hacks, bug #614950
+       cmake_comment_add_subdirectory doc
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_WITH_QT6=ON
+               -DWITH_QAUDIODECODER=ON # bug 855281
+               -DWITH_CHROMAPRINT=$(usex acoustid)
+               -DWITH_DBUS=$(usex mpris)
+               -DWITH_FLAC=$(usex flac)
+               -DWITH_ID3LIB=$(usex mp3)
+               -DWITH_MP4V2=$(usex mp4)
+               -DWITH_TAGLIB=$(usex taglib)
+               -DBUILD_TESTING=$(usex test)
+               -DWITH_VORBIS=$(usex vorbis)
+       )
+
+       if use kde ; then
+               mycmakeargs+=( "-DWITH_APPS=KDE;CLI" )
+       else
+               mycmakeargs+=( "-DWITH_APPS=Qt;CLI" )
+       fi
+
+       cmake_src_configure
+}

Reply via email to