summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-02-14 22:17:23 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-02-14 22:33:31 +0100
commit4982069645563f329759356b95f5f1fc470a7ec3 (patch)
tree33cc0b52bcf8d16614aa771b8019ffc227554967 /kde-frameworks/extra-cmake-modules
parentkde-frameworks/breeze-icons-rcc: 5.91.0 version bump (diff)
downloadgentoo-4982069645563f329759356b95f5f1fc470a7ec3.tar.gz
gentoo-4982069645563f329759356b95f5f1fc470a7ec3.tar.bz2
gentoo-4982069645563f329759356b95f5f1fc470a7ec3.zip
kde-frameworks/extra-cmake-modules: 5.91.0 version bump
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/extra-cmake-modules')
-rw-r--r--kde-frameworks/extra-cmake-modules/Manifest1
-rw-r--r--kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.91.0.ebuild78
-rw-r--r--kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.91.0-disable-qmlplugindump.patch76
3 files changed, 155 insertions, 0 deletions
diff --git a/kde-frameworks/extra-cmake-modules/Manifest b/kde-frameworks/extra-cmake-modules/Manifest
index 4be26439c4ef..419c68133160 100644
--- a/kde-frameworks/extra-cmake-modules/Manifest
+++ b/kde-frameworks/extra-cmake-modules/Manifest
@@ -1 +1,2 @@
DIST extra-cmake-modules-5.90.0.tar.xz 323352 BLAKE2B 00df6be76989e0730b8b0be66ea68d979c22ee66f115720218b80eb6a06f2d471b24c08e4db2b5a4febdc3e44481adce522c4e62cf86bbe0c10d07cd40ae0cab SHA512 1f1257a8b9d0a7ba088d5da3bb96070c6cd18d19a17224249e886d7a4aa9bda8192be54607908b1cbcbea57366649cebde173e5bce64ea16ed3b60d1a5ba04a5
+DIST extra-cmake-modules-5.91.0.tar.xz 329328 BLAKE2B 74aa6d445bdde98e27683aa04068a2d82938dff8993889f6d089d2d1864b687bd20f4619ae4396df85c0a63b2cd7279ea487586371a6f0ac0bf2dd66b183ed9e SHA512 5134ce41171db708dc31ead1cc05c6c9e21187a49e4ab0930790440c2183de4c07d7e7170ac1e32d98344167313a39a132a431801c7927e986821705f807c457
diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.91.0.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.91.0.ebuild
new file mode 100644
index 000000000000..6d30f42e236f
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.91.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+QTMIN=5.15.2
+inherit cmake 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 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
+ >=dev-qt/qthelp-${QTMIN}:5
+ )
+ test? (
+ >=dev-qt/linguist-tools-${QTMIN}:5
+ >=dev-qt/qtcore-${QTMIN}:5
+ )
+"
+RDEPEND="
+ app-arch/libarchive[bzip2]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.49.0-no-fatal-warnings.patch"
+ "${FILESDIR}/${PN}-5.72.0-skip-ecm_add_test-early.patch"
+ "${FILESDIR}/${PN}-5.91.0-disable-qmlplugindump.patch"
+)
+
+python_check_deps() {
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ # Requires PyQt5, bug #680256
+ sed -i -e "/^if(NOT SIP_Qt5Core_Mod_FILE)/s/NOT SIP_Qt5Core_Mod_FILE/TRUE/" \
+ tests/CMakeLists.txt || die "failed to disable GenerateSipBindings tests"
+}
+
+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() {
+ # ECMToolchainAndroidTest passes but then breaks src_install
+ # ECMPoQmToolsTest is broken, bug #627806
+ # KDEFetchTranslations can not possibly succeed in releases, bug #764953
+ # possible race condition with multiple jobs, bug #701854
+ local myctestargs=(
+ -j1
+ -E "(ECMToolchainAndroidTest|ECMPoQmToolsTest|KDEFetchTranslations)"
+ )
+
+ cmake_src_test
+}
diff --git a/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.91.0-disable-qmlplugindump.patch b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.91.0-disable-qmlplugindump.patch
new file mode 100644
index 000000000000..fbec9a441e37
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.91.0-disable-qmlplugindump.patch
@@ -0,0 +1,76 @@
+From 76ee984d5094990c2bd79c71b84ba9f82b3bf3da 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 | 45 ++++++++++++++++++-------------
+ 1 file changed, 27 insertions(+), 18 deletions(-)
+
+diff --git a/modules/ECMFindQmlModule.cmake.in b/modules/ECMFindQmlModule.cmake.in
+index 6c054bf0..1c17c981 100644
+--- a/modules/ECMFindQmlModule.cmake.in
++++ b/modules/ECMFindQmlModule.cmake.in
+@@ -7,27 +7,36 @@
+ include(FindPackageHandleStandardArgs)
+ include("${ECM_MODULE_DIR}/QtVersionOption.cmake")
+
+-if (QT_MAJOR_VERSION EQUAL "5")
+- include("${ECM_MODULE_DIR}/ECMQueryQmake.cmake")
+- query_qmake(qt_binaries_dir QT_HOST_BINS)
+- find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
+-elseif (QT_MAJOR_VERSION EQUAL "6")
+- find_package(Qt6 COMPONENTS QmlTools REQUIRED)
+- get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
+-endif()
+-
+-if(NOT QMLPLUGINDUMP_PROGRAM)
+- message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
+-endif()
++option (ECM_DISABLE_QMLPLUGINDUMP "Do not use qmlplugindump which may segfault in some sandboxed environments" OFF)
+
+-execute_process(COMMAND "${QMLPLUGINDUMP_PROGRAM}" "@MODULE_NAME@" "@VERSION@" ERROR_VARIABLE ERRORS_OUTPUT OUTPUT_VARIABLE DISREGARD_VARIABLE RESULT_VARIABLE ExitCode TIMEOUT 30)
+-
+-if(ExitCode EQUAL 0)
++if(ECM_DISABLE_QMLPLUGINDUMP)
++ message(NOTICE "@GENMODULE@: qmlplugindump disabled - assuming dependency is available as >= @VERSION@.")
+ set(@GENMODULE@_FOUND TRUE)
+- set(@GENMODULE@_VERSION "${PACKAGE_FIND_VERSION}")
++ set(@GENMODULE@_VERSION @VERSION@)
+ else()
+- message(STATUS "qmlplugindump failed for @MODULE_NAME@.")
+- set(@GENMODULE@_FOUND FALSE)
++
++ if (QT_MAJOR_VERSION EQUAL "5")
++ include("${ECM_MODULE_DIR}/ECMQueryQmake.cmake")
++ query_qmake(qt_binaries_dir QT_HOST_BINS)
++ find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
++ elseif (QT_MAJOR_VERSION EQUAL "6")
++ find_package(Qt6 COMPONENTS QmlTools REQUIRED)
++ get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
++ endif()
++
++ if(NOT QMLPLUGINDUMP_PROGRAM)
++ message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
++ endif()
++
++ execute_process(COMMAND "${QMLPLUGINDUMP_PROGRAM}" "@MODULE_NAME@" "@VERSION@" ERROR_VARIABLE ERRORS_OUTPUT OUTPUT_VARIABLE DISREGARD_VARIABLE RESULT_VARIABLE ExitCode TIMEOUT 30)
++
++ if(ExitCode EQUAL 0)
++ set(@GENMODULE@_FOUND TRUE)
++ set(@GENMODULE@_VERSION "${PACKAGE_FIND_VERSION}")
++ else()
++ message(STATUS "qmlplugindump failed for @MODULE_NAME@.")
++ set(@GENMODULE@_FOUND FALSE)
++ endif()
+ endif()
+
+ find_package_handle_standard_args(@GENMODULE@
+--
+2.34.1
+