Date: Friday, May 14, 2021 @ 18:56:37 Author: arojas Revision: 415507
Build docs Added: extra-cmake-modules/trunk/ecm-sphinx4.patch Modified: extra-cmake-modules/trunk/PKGBUILD -------------------+ PKGBUILD | 13 ++++++---- ecm-sphinx4.patch | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-05-14 18:16:02 UTC (rev 415506) +++ PKGBUILD 2021-05-14 18:56:37 UTC (rev 415507) @@ -4,7 +4,7 @@ pkgname=extra-cmake-modules pkgver=5.82.0 -pkgrel=1 +pkgrel=2 pkgdesc='Extra modules and scripts for CMake' arch=(any) url='https://community.kde.org/Frameworks' @@ -16,20 +16,23 @@ 'python-yaml: to generate fastlane metadata for Android apps') groups=(kf5) source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig} - ECM-no-init.py.patch) + ECM-no-init.py.patch + ecm-sphinx4.patch) sha256sums=('5972ec6d78c3e95ab9cbecdb0661c158570e868466357c5cec2b63a4251ecce4' 'SKIP' - '5695e45c7621a00c0bca28f058c13b5d524f963a00b53337c8cefcdaf22c4b52') + '5695e45c7621a00c0bca28f058c13b5d524f963a00b53337c8cefcdaf22c4b52' + 'e50408ef16aecec34c1ca624c2b9d2ddbadbcdf431532a5a765f7e80c4dde726') validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB) # David Faure <[email protected]> prepare() { - patch -d $pkgname-$pkgver -p1 -i ../ECM-no-init.py.patch # Don't create __init__.py + patch -d $pkgname-$pkgver -p1 < ECM-no-init.py.patch # Don't create __init__.py + patch -d $pkgname-$pkgver -p1 < ecm-sphinx4.patch # Fix build with sphinx 4 } build() { cmake -B build -S $pkgname-$pkgver \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DBUILD_HTML_DOCS=OFF \ + -DBUILD_HTML_DOCS=ON \ -DBUILD_QTHELP_DOCS=ON cmake --build build } Added: ecm-sphinx4.patch =================================================================== --- ecm-sphinx4.patch (rev 0) +++ ecm-sphinx4.patch 2021-05-14 18:56:37 UTC (rev 415507) @@ -0,0 +1,64 @@ +diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt +index 84cca9e..32687b6 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 8667b36..a09e489 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'),
