https://bugs.gentoo.org/813041mhiretskiy
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
|
||||
|
Loading…
Reference in new issue