commit:     1bb6b6e9c9ae54def0ebeb4d712658ba419fdfbc
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  1 20:37:55 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jul  1 20:42:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bb6b6e9

kde-frameworks/extra-cmake-modules: ECMGenerateQDoc: Make Qt6Tools optional

See also:
https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/534

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

 .../extra-cmake-modules-6.15.0-r1.ebuild           | 81 ++++++++++++++++++++++
 ...tra-cmake-modules-6.15.0-optional-qttools.patch | 32 +++++++++
 2 files changed, 113 insertions(+)

diff --git 
a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.15.0-r1.ebuild 
b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.15.0-r1.ebuild
new file mode 100644
index 000000000000..603de2c69bea
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-6.15.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+QTMIN=6.7.2
+inherit cmake frameworks.kde.org python-any-r1
+
+DESCRIPTION="Extra modules and scripts for CMake"
+HOMEPAGE="https://invent.kde.org/frameworks/extra-cmake-modules";
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-arch/libarchive[bzip2]"
+DEPEND="
+       test? (
+               >=dev-qt/qtbase-${QTMIN}:6[dbus,gui]
+               >=dev-qt/qtdeclarative-${QTMIN}:6
+       )
+"
+BDEPEND="
+       doc? (
+               ${PYTHON_DEPS}
+               $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
+               >=dev-qt/qttools-${QTMIN}:6[assistant]
+       )
+       test? (
+               >=dev-qt/qtbase-${QTMIN}:6
+               >=dev-qt/qttools-${QTMIN}:6[linguist]
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-5.49.0-no-fatal-warnings.patch"
+       "${FILESDIR}/${PN}-5.93.0-skip-ecm_add_test-early.patch"
+       "${FILESDIR}/${PN}-5.245.0-disable-qmlplugindump.patch"
+       "${FILESDIR}/${PN}-6.5.0-disable-appstreamtest.patch"
+       "${FILESDIR}/${PN}-6.5.0-disable-git-commit-hooks.patch"
+       "${FILESDIR}/${P}-optional-qttools.patch" # bug 959341
+)
+
+python_check_deps() {
+       python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+       use doc && python-any-r1_pkg_setup
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DDOC_INSTALL_DIR=/usr/share/doc/"${PF}"
+               -DBUILD_QTHELP_DOCS=$(usex doc)
+               -DBUILD_HTML_DOCS=$(usex doc)
+               -DBUILD_MAN_DOCS=$(usex doc)
+               -DBUILD_TESTING=$(usex test)
+       )
+       if use test; then
+               mycmakeargs+=( -DQT_MAJOR_VERSION=6 ) # bug 938316
+       fi
+
+       cmake_src_configure
+}
+
+src_test() {
+       local CMAKE_SKIP_TESTS=(
+               # passes, but then breaks src_install
+               ECMToolchainAndroidTest
+               # broken, bug #627806
+               ECMPoQmToolsTest
+               # can not possibly succeed in releases, bug #764953
+               KDEFetchTranslations
+       )
+       # possible race condition with multiple jobs, bug #701854
+       cmake_src_test -j1
+}

diff --git 
a/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-6.15.0-optional-qttools.patch
 
b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-6.15.0-optional-qttools.patch
new file mode 100644
index 000000000000..bb2de3e6b948
--- /dev/null
+++ 
b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-6.15.0-optional-qttools.patch
@@ -0,0 +1,32 @@
+From af2d6d6dba7d44244abfb2eb513d123296297d3d Mon Sep 17 00:00:00 2001
+From: Azhar Momin <[email protected]>
+Date: Wed, 18 Jun 2025 11:14:10 +0530
+Subject: [PATCH] [ECMGenerateQDoc] Make QtTools optional
+
+---
+ modules/ECMGenerateQDoc.cmake | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/modules/ECMGenerateQDoc.cmake b/modules/ECMGenerateQDoc.cmake
+index b6d64783..68c57050 100644
+--- a/modules/ECMGenerateQDoc.cmake
++++ b/modules/ECMGenerateQDoc.cmake
+@@ -55,8 +55,13 @@ add_custom_target(generate_qch)
+ add_custom_target(install_qch_docs)
+ 
+ function(ecm_generate_qdoc target qdocconf_file)
+-    find_package(Qt6Tools CONFIG REQUIRED)
+-    find_package(Qt6 COMPONENTS ToolsTools CONFIG REQUIRED)
++    find_package(Qt6Tools CONFIG QUIET)
++    find_package(Qt6 OPTIONAL_COMPONENTS ToolsTools CONFIG QUIET)
++
++    if (NOT Qt6Tools_FOUND OR NOT Qt6ToolsTools_FOUND)
++        message(STATUS "Qt6Tools or Qt6ToolsTools not found, not generating 
API documentation")
++        return()
++    endif()
+ 
+     if (NOT TARGET ${target})
+         message(FATAL_ERROR "${target} is not a target")
+-- 
+GitLab
+

Reply via email to