diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-05-14 21:01:18 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-05-14 21:07:13 +0200 |
commit | 82e55d83028f8d2c25d1ad14dd72c12ea6b979c8 (patch) | |
tree | 173c0ba110fac0c8dbfd8456b2593904d85a2729 /kde-frameworks | |
parent | dev-python/stomp-py: support python3_10 (diff) | |
download | gentoo-82e55d83028f8d2c25d1ad14dd72c12ea6b979c8.tar.gz gentoo-82e55d83028f8d2c25d1ad14dd72c12ea6b979c8.tar.bz2 gentoo-82e55d83028f8d2c25d1ad14dd72c12ea6b979c8.zip |
kde-frameworks/extra-cmake-modules: Fix IUSE=doc w/ dev-python/sphinx-4
See also: https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/121
Closes: https://bugs.gentoo.org/789096
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks')
-rw-r--r-- | kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.82.0.ebuild | 15 | ||||
-rw-r--r-- | kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.82.0-sphinx-4.patch | 81 |
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 6bd09789c613..41f98627db4f 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 000000000000..7ccd024affc4 --- /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 + |