kde-frameworks/extra-cmake-modules: mask in portage, restore old version

https://bugs.gentoo.org/813041
mhiretskiy
parent 0a46bebdf0
commit 74e5117d00

@ -0,0 +1 @@
DIST extra-cmake-modules-5.82.0.tar.xz 313052 BLAKE2B 40f4a64ce1b9175137f01db9f148b21bde931934d238b3080fa8a8e6830fa556d5c0506ddd52705d3d0b1d419508663a0f96d7e9dbe565061081c48c47eabc5f SHA512 a8c8d1d15718760de42238b121ed1294d12d36f1ef25acdd2542f12a56d5091a5cc0135884b6c97e62123d64fc80e2756dccd32c88b65caaf6e86418bae4217f

@ -0,0 +1,83 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
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 x86"
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-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
')
>=dev-qt/qthelp-${QTMIN}:5
)
test? (
>=dev-qt/linguist-tools-${QTMIN}:5
>=dev-qt/qtcore-${QTMIN}:5
)
"
PATCHES=(
"${FILESDIR}/${PN}-5.49.0-no-fatal-warnings.patch"
"${FILESDIR}/${PN}-5.72.0-skip-ecm_add_test-early.patch"
"${FILESDIR}/${PN}-5.74.0-disable-qmlplugindump.patch"
"${FILESDIR}/${P}-sphinx-4.patch" # bug 789096, pending upstream MR 121
)
python_check_deps() {
has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
has_version "dev-python/sphinxcontrib-qthelp[${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
}

@ -0,0 +1,19 @@
Avoid triggering a build failure with GCC8 and ld.gold producing warnings.
Bug: https://bugs.gentoo.org/663512
diff --git a/kde-modules/KDECompilerSettings.cmake b/kde-modules/KDECompilerSettings.cmake
index 44358fb..0270aa5 100644
--- a/kde-modules/KDECompilerSettings.cmake
+++ b/kde-modules/KDECompilerSettings.cmake
@@ -344,8 +344,8 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT APPLE) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32))
# Linker warnings should be treated as errors
- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}")
- set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}")
+# set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}")
+# set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}")
# Do not allow undefined symbols, even in non-symbolic shared libraries
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")

@ -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

@ -0,0 +1,65 @@
From 8d30a7dd4517130bf1f6904b0969aaa78e44e16b 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
Back story: https://bugzilla.gnome.org/show_bug.cgi?id=744135
BUG: 387753
---
modules/ECMFindQMLModule.cmake.in | 35 +++++++++++++++++++------------
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/modules/ECMFindQMLModule.cmake.in b/modules/ECMFindQMLModule.cmake.in
index 8109ab8..1edc01d 100644
--- a/modules/ECMFindQMLModule.cmake.in
+++ b/modules/ECMFindQMLModule.cmake.in
@@ -26,23 +26,32 @@
#=============================================================================
include(FindPackageHandleStandardArgs)
-include("${ECM_MODULE_DIR}/ECMQueryQmake.cmake")
-query_qmake(qt_binaries_dir QT_INSTALL_BINS)
+option (ECM_DISABLE_QMLPLUGINDUMP "Do not use qmlplugindump which may segfault in some sandboxed environments" OFF)
-find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
-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)
+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)
+ include("${ECM_MODULE_DIR}/ECMQueryQmake.cmake")
+
+ query_qmake(qt_binaries_dir QT_INSTALL_BINS)
+
+ find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
+ 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)
+
+ 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.24.0

@ -0,0 +1,81 @@
From 02abfc3695b71e05e3d5df83514f50ec0ab60bdf Mon Sep 17 00:00:00 2001
From: Antonio Rojas <arojas@archlinux.org>
Date: Fri, 14 May 2021 20:42:02 +0200
Subject: [PATCH] Fix doc build with Sphinx 4
Port away from removed functions. In particular, port to the new index structure which was introduced in 1.4 (released november 2016).
Also account for the new default location of built man pages.
BUG: 436818
---
docs/CMakeLists.txt | 3 ++-
docs/sphinx/ext/ecm.py | 13 ++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 84cca9ea..32687b64 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -110,7 +110,8 @@ if(BUILD_MAN_DOCS)
set(name "${CMAKE_MATCH_1}")
set(sec "${CMAKE_MATCH_2}")
install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${name}.${sec}
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${name}.${sec} ${CMAKE_CURRENT_BINARY_DIR}/man/${sec}/${name}.${sec}
+ OPTIONAL
DESTINATION ${MAN_INSTALL_DIR}/man${sec}
)
endif()
diff --git a/docs/sphinx/ext/ecm.py b/docs/sphinx/ext/ecm.py
index 8667b367..a09e4890 100644
--- a/docs/sphinx/ext/ecm.py
+++ b/docs/sphinx/ext/ecm.py
@@ -5,6 +5,7 @@
#
# SPDX-License-Identifier: BSD-3-Clause
+import html
import os
import re
@@ -19,8 +20,11 @@ CMakeLexer.tokens["args"].append(('(\\$<)(.+?)(>)',
# Monkey patch for sphinx generating invalid content for qcollectiongenerator
# https://bitbucket.org/birkenfeld/sphinx/issue/1435/qthelp-builder-should-htmlescape-keywords
-from sphinx.util.pycompat import htmlescape
-from sphinx.builders.qthelp import QtHelpBuilder
+try:
+ from sphinxcontrib.qthelp import QtHelpBuilder
+except ImportError:
+ # sphinx < 4.0
+ from sphinx.builders.qthelp import QtHelpBuilder
old_build_keywords = QtHelpBuilder.build_keywords
def new_build_keywords(self, title, refs, subitems):
old_items = old_build_keywords(self, title, refs, subitems)
@@ -29,13 +33,12 @@ def new_build_keywords(self, title, refs, subitems):
before, rest = item.split("ref=\"", 1)
ref, after = rest.split("\"")
if ("<" in ref and ">" in ref):
- new_items.append(before + "ref=\"" + htmlescape(ref) + "\"" + after)
+ new_items.append(before + "ref=\"" + html.escape(ref) + "\"" + after)
else:
new_items.append(item)
return new_items
QtHelpBuilder.build_keywords = new_build_keywords
-
from docutils.parsers.rst import Directive, directives
from docutils.transforms import Transform
try:
@@ -127,7 +130,7 @@ class _ecm_index_entry:
self.desc = desc
def __call__(self, title, targetid):
- return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main')
+ return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main', None)
_ecm_index_objs = {
'manual': _ecm_index_entry('manual'),
--
GitLab

@ -29,3 +29,6 @@ sys-libs/db:6.0
# calculate-utils 3.7
=sys-apps/calculate-utils-3.7.1*
# https://bugs.gentoo.org/813041
=kde-frameworks/extra-cmake-modules-5.85.0

Loading…
Cancel
Save