summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild15
-rw-r--r--kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.82.0-sphinx-4.patch81
2 files changed, 91 insertions, 5 deletions
diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild
index 6bd09789c61..41f98627db4 100644
--- a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild
@@ -16,10 +16,16 @@ IUSE="doc test"
RESTRICT+=" !test? ( test )"
+RDEPEND="
+ app-arch/libarchive[bzip2]
+"
BDEPEND="
doc? (
${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ ')
>=dev-qt/qthelp-${QTMIN}:5
)
test? (
@@ -27,18 +33,17 @@ BDEPEND="
>=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.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/sphinx[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]"
}
pkg_setup() {
diff --git a/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.82.0-sphinx-4.patch b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.82.0-sphinx-4.patch
new file mode 100644
index 00000000000..7ccd024affc
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.82.0-sphinx-4.patch
@@ -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
+