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 +
