summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-11-15 22:48:51 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2023-11-28 00:12:38 +0100
commit2d01bbd18f760fc4f0328b395fb0bf00f990c816 (patch)
treea805fe0be5504d113b5c954617380e59cb9aa53c
parent47651f006a2751f8c14a63d33e52713250c398aa (diff)
downloadkde-2d01bbd18f760fc4f0328b395fb0bf00f990c816.tar.gz
kde-2d01bbd18f760fc4f0328b395fb0bf00f990c816.tar.bz2
kde-2d01bbd18f760fc4f0328b395fb0bf00f990c816.zip
kde-frameworks/extra-cmake-modules: add 9999
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--kde-frameworks/extra-cmake-modules/extra-cmake-modules-9999.ebuild70
-rw-r--r--kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.245.0-disable-qmlplugindump.patch43
2 files changed, 113 insertions, 0 deletions
diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-9999.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-9999.ebuild
new file mode 100644
index 00000000000..3b334af0e5f
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-9999.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+QTMIN=6.6.0
+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=""
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-arch/libarchive[bzip2]"
+BDEPEND="
+ doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
+ >=dev-qt/qttools-${QTMIN}:6[assistant]
+ )
+ test? (
+ >=dev-qt/qttools-${QTMIN}:6[linguist]
+ >=dev-qt/qtbase-${QTMIN}:6
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.49.0-no-fatal-warnings.patch"
+ "${FILESDIR}/${PN}-5.93.0-skip-ecm_add_test-early.patch"
+ "${FILESDIR}/${PN}-5.112.0-disable-tests-requiring-PyQt5.patch" # bug 680256
+ "${FILESDIR}/${PN}-5.245.0-disable-qmlplugindump.patch"
+)
+
+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)
+ )
+
+ 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-5.245.0-disable-qmlplugindump.patch b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.245.0-disable-qmlplugindump.patch
new file mode 100644
index 00000000000..a684745d396
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.245.0-disable-qmlplugindump.patch
@@ -0,0 +1,43 @@
+From 528cdf38261239d8475e2a3e82dd1b5cb73c770b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 8 Dec 2019 15:01:33 +0100
+Subject: [PATCH] ECMFindQMLModule.cmake.in: Add ECM_DISABLE_QMLPLUGINDUMP to
+ avoid sandbox violations
+
+See also: https://phabricator.kde.org/D25812
+
+Backstory: https://bugzilla.gnome.org/show_bug.cgi?id=744135
+BUG: 387753
+---
+ modules/ECMFindQmlModule.cmake.in | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/modules/ECMFindQmlModule.cmake.in b/modules/ECMFindQmlModule.cmake.in
+index 3da55ced..46e8b0ce 100644
+--- a/modules/ECMFindQmlModule.cmake.in
++++ b/modules/ECMFindQmlModule.cmake.in
+@@ -9,6 +9,13 @@ include(FindPackageHandleStandardArgs)
+ include("${ECM_MODULE_DIR}/QtVersionOption.cmake")
+ include("${ECM_MODULE_DIR}/ECMQueryQt.cmake")
+
++option (ECM_DISABLE_QMLPLUGINDUMP "Do not use qmlplugindump which may segfault in some sandboxed environments" OFF)
++
++if(ECM_DISABLE_QMLPLUGINDUMP)
++ message(NOTICE "@GENMODULE@: qmlplugindump disabled - assuming dependency is available as >= @VERSION@.")
++ set(@GENMODULE@_FOUND TRUE)
++ set(@GENMODULE@_VERSION @VERSION@)
++else()
+ if (QT_MAJOR_VERSION EQUAL "6")
+ include(${ECM_MODULE_DIR}/ECMQmlModule.cmake)
+ # Get the qmldir file
+@@ -68,6 +75,7 @@ if (NOT CMAKE_CROSSCOMPILING AND NOT MODULE_NOTFOUND AND NOT @GENMODULE@_FOUND)
+ set(@GENMODULE@_FOUND FALSE)
+ endif()
+ endif()
++endif()
+
+ set(@GENMODULE@_FOUND ${@GENMODULE@_FOUND} PARENT_SCOPE)
+ set(@GENMODULE@_VERSION ${@GENMODULE@_VERSION} PARENT_SCOPE)
+--
+2.42.1
+