summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/extra-cmake-modules')
-rw-r--r--kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.72.0-r1.ebuild77
-rw-r--r--kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.72.0-skip-ecm_add_test-early.patch54
2 files changed, 131 insertions, 0 deletions
diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.72.0-r1.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.72.0-r1.ebuild
new file mode 100644
index 000000000000..aedbbe8565e1
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.72.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+QTMIN=5.14.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 ~x86"
+IUSE="doc 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]
+"
+
+RESTRICT+=" !test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.49.0-no-fatal-warnings.patch"
+ "${FILESDIR}/${PN}-5.65.0-disable-qmlplugindump.patch"
+ "${FILESDIR}/${PN}-5.72.0-skip-ecm_add_test-early.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
+ # possible race condition with multiple jobs, bug #701854
+ local myctestargs=(
+ -j1
+ -E "(ECMToolchainAndroidTest|ECMPoQmToolsTest)"
+ )
+
+ cmake_src_test
+}
diff --git a/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.72.0-skip-ecm_add_test-early.patch b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.72.0-skip-ecm_add_test-early.patch
new file mode 100644
index 000000000000..72541d73e72e
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.72.0-skip-ecm_add_test-early.patch
@@ -0,0 +1,54 @@
+From ad3aec71ed7f8820e69fe55489368a19d0735ab5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sat, 11 Jul 2020 23:04:16 +0200
+Subject: [PATCH] ECMAddTests.cmake: Skip ecm_add_test early if Qt5::Test is not available
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ modules/ECMAddTests.cmake | 9 +++++++++
+ tests/ECMAddTests/CMakeLists.txt | 5 +++++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/modules/ECMAddTests.cmake b/modules/ECMAddTests.cmake
+index 4bc7fb8..12825aa 100644
+--- a/modules/ECMAddTests.cmake
++++ b/modules/ECMAddTests.cmake
+@@ -81,6 +81,10 @@ function(ecm_add_test)
+ message(FATAL_ERROR "ecm_add_test() called with multiple source files but without setting \"TEST_NAME\"")
+ endif()
+
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ set(_testname ${ARG_NAME_PREFIX}${_targetname})
+ set(gui_args)
+ if(ARG_GUI)
+@@ -122,6 +126,11 @@ function(ecm_add_tests)
+ endif()
+ set(test_names)
+ set(target_names)
++
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ foreach(_test_source ${ARG_UNPARSED_ARGUMENTS})
+ ecm_add_test(${_test_source}
+ NAME_PREFIX ${ARG_NAME_PREFIX}
+diff --git a/tests/ECMAddTests/CMakeLists.txt b/tests/ECMAddTests/CMakeLists.txt
+index e77b33f..4e191fe 100644
+--- a/tests/ECMAddTests/CMakeLists.txt
++++ b/tests/ECMAddTests/CMakeLists.txt
+@@ -1,3 +1,8 @@
++if(NOT TARGET Qt5::Test)
++ message(STATUS "WARNING: skipping tests that require Qt5::Test")
++ return()
++endif()
++
+ macro(add_check NAME)
+ string(REPLACE "." "/" dir "${NAME}")
+ string(REGEX REPLACE "[^.]*\\." "" proj "${NAME}")
+--
+2.27.0
+