Date: Thursday, May 21, 2020 @ 09:34:36 Author: arojas Revision: 631087
archrelease: copy trunk to community-any Added: sagemath-doc/repos/community-any/PKGBUILD (from rev 631086, sagemath-doc/trunk/PKGBUILD) sagemath-doc/repos/community-any/docbuild_main.patch (from rev 631086, sagemath-doc/trunk/docbuild_main.patch) sagemath-doc/repos/community-any/sagemath-doc-sphinx-3.patch (from rev 631086, sagemath-doc/trunk/sagemath-doc-sphinx-3.patch) sagemath-doc/repos/community-any/sagemath-ecl-sigfpe.patch (from rev 631086, sagemath-doc/trunk/sagemath-ecl-sigfpe.patch) sagemath-doc/repos/community-any/sagemath-matplotlib-3.2.patch (from rev 631086, sagemath-doc/trunk/sagemath-matplotlib-3.2.patch) Deleted: sagemath-doc/repos/community-any/PKGBUILD sagemath-doc/repos/community-any/docbuild_main.patch sagemath-doc/repos/community-any/sagemath-doc-sphinx-3.patch sagemath-doc/repos/community-any/sagemath-ecl-sigfpe.patch sagemath-doc/repos/community-any/sagemath-matplotlib-3.2.patch sagemath-doc/repos/community-any/sphinxify-warnings.patch -------------------------------+ PKGBUILD | 144 +++++------ docbuild_main.patch | 12 sagemath-doc-sphinx-3.patch | 508 ++++++++++++++++++++-------------------- sagemath-ecl-sigfpe.patch | 294 +++++++++++------------ sagemath-matplotlib-3.2.patch | 124 ++++----- sphinxify-warnings.patch | 16 - 6 files changed, 540 insertions(+), 558 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-05-21 09:24:26 UTC (rev 631086) +++ PKGBUILD 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,73 +0,0 @@ -# Maintainer: Antonio Rojas <aro...@archlinux.org> - -pkgname=sagemath-doc -pkgver=9.0 -pkgrel=4 -pkgdesc="HTML documentation for SageMath" -arch=(any) -url="http://www.sagemath.org" -license=(GPL) -depends=(gap-doc python-pplpy) -makedepends=(sagemath python-pyzmq python-docutils python-jupyter_client python-pkgconfig cython python-ipywidgets thebe) -source=(sagemath-$pkgver.tar.gz::"https://github.com/sagemath/sage/archive/$pkgver.tar.gz" - docbuild_main.patch - sagemath-ecl-sigfpe.patch - sphinxify-warnings.patch - sagemath-matplotlib-3.2.patch - sagemath-doc-sphinx-3.patch) -sha256sums=('6f5d42b306a2c03073dd95086f80602bd1a0b929b8ad19c6d219c8ca8e96da26' - 'ea5e17bb7a7cb36a22e5e3872fcc2585852bc971c4b139b0b2cd69a36c1b009b' - 'e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0' - '99fc7f393d5ee2687573c0ef6bf5ecb75077e415aa0605af3766824fa11aafd6' - '979777363001cca87f73128dd4db5f372fc9e4f1079805a20af01df47797468f' - '7efe6f95a9c9f5513e3dc90d43e832161e4eb0af67236b1c1c9f7474037c6423') -options=(!strip) - -prepare() { - cd sage-$pkgver - -# fix relative imports - patch -p0 -i ../docbuild_main.patch -# use sage_setup imports from sagemath source, but use system sage ones (which include compiled modules) - mkdir -p local-python - ln -sr src/sage_setup local-python -# Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191 - patch -p1 -i ../sagemath-ecl-sigfpe.patch -# Fix sphinxify deprecation warnings - patch -p1 -i ../sphinxify-warnings.patch -# Fix warnings with matplotlib 3.2 - patch -p1 -i ../sagemath-matplotlib-3.2.patch -# Fix build with sphinx 3.0 - patch -p1 -i ../sagemath-doc-sphinx-3.patch -} - -build() { - cd sage-$pkgver/src - - export SAGE_LOCAL="/usr" \ - SAGE_ROOT="/usr" \ - SAGE_SRC="$PWD" \ - SAGE_DOC_SRC="$PWD"/doc \ - SAGE_DOC="$PWD"/doc \ - MATHJAX_DIR="/usr/share/mathjax2" \ - PYTHONPATH="$srcdir"/sage-$pkgver/local-python \ - SAGE_NUM_THREADS=10 - python sage_setup/docbuild --no-pdf-links --mathjax all html -} - -package() { - cd sage-$pkgver/src/doc - - mkdir -p "$pkgdir"/usr/share/doc/sage - cp -r common "$pkgdir"/usr/share/doc/sage - cp -r html "$pkgdir"/usr/share/doc/sage - -# Replace duplicated files by symlinks (Gentoo) - cd "$pkgdir"/usr/share/doc/sage - mv html/en/_static{,.tmp} - for _dir in `find -name _static` ; do - rm -r $_dir - ln -s /usr/share/doc/sage/html/en/_static $_dir - done - mv html/en/_static{.tmp,} -} Copied: sagemath-doc/repos/community-any/PKGBUILD (from rev 631086, sagemath-doc/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-05-21 09:34:36 UTC (rev 631087) @@ -0,0 +1,71 @@ +# Maintainer: Antonio Rojas <aro...@archlinux.org> + +pkgname=sagemath-doc +pkgver=9.1 +pkgrel=1 +pkgdesc="HTML documentation for SageMath" +arch=(any) +url="http://www.sagemath.org" +license=(GPL) +depends=(gap-doc python-pplpy) +makedepends=(sagemath python-pyzmq python-docutils python-jupyter_client python-pkgconfig cython python-ipywidgets thebe) +source=(sagemath-$pkgver.tar.gz::"https://github.com/sagemath/sage/archive/$pkgver.tar.gz" + docbuild_main.patch + sagemath-ecl-sigfpe.patch + sagemath-matplotlib-3.2.patch + sagemath-doc-sphinx-3.patch) +sha256sums=('07f3da5ca3e48f92c5a55b690408a3c87642689c28675a1f25b55a0f48ce5023' + 'ea5e17bb7a7cb36a22e5e3872fcc2585852bc971c4b139b0b2cd69a36c1b009b' + 'e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0' + '979777363001cca87f73128dd4db5f372fc9e4f1079805a20af01df47797468f' + '5576d2702a12b6c65e40bf1bdefe9a7f595e6c57fc6ff003903ce0f21643f64b') +options=(!strip) + +prepare() { + cd sage-$pkgver + +# fix relative imports + patch -p0 -i ../docbuild_main.patch +# use sage_setup imports from sagemath source, but use system sage ones (which include compiled modules) + mkdir -p local-python + ln -sr src/sage_setup local-python +# Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191 + patch -p1 -i ../sagemath-ecl-sigfpe.patch +# Fix warnings with matplotlib 3.2 + patch -p1 -i ../sagemath-matplotlib-3.2.patch +# Fix build with sphinx 3.0 + patch -p1 -i ../sagemath-doc-sphinx-3.patch + + SAGE_ROOT="$PWD" PATH="$PWD/build/bin:$PATH" src/doc/bootstrap +} + +build() { + cd sage-$pkgver/src + + export SAGE_LOCAL="/usr" \ + SAGE_ROOT="/usr" \ + SAGE_SRC="$PWD" \ + SAGE_DOC_SRC="$PWD"/doc \ + SAGE_DOC="$PWD"/doc \ + MATHJAX_DIR="/usr/share/mathjax2" \ + PYTHONPATH="$srcdir"/sage-$pkgver/local-python \ + SAGE_NUM_THREADS=10 + python sage_setup/docbuild --no-pdf-links --mathjax all html +} + +package() { + cd sage-$pkgver/src/doc + + mkdir -p "$pkgdir"/usr/share/doc/sage + cp -r common "$pkgdir"/usr/share/doc/sage + cp -r html "$pkgdir"/usr/share/doc/sage + +# Replace duplicated files by symlinks (Gentoo) + cd "$pkgdir"/usr/share/doc/sage + mv html/en/_static{,.tmp} + for _dir in `find -name _static` ; do + rm -r $_dir + ln -s /usr/share/doc/sage/html/en/_static $_dir + done + mv html/en/_static{.tmp,} +} Deleted: docbuild_main.patch =================================================================== --- docbuild_main.patch 2020-05-21 09:24:26 UTC (rev 631086) +++ docbuild_main.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,6 +0,0 @@ ---- src/sage_setup/docbuild/__main__.py.orig -+++ src/sage_setup/docbuild/__main__.py -@@ -1,2 +1,2 @@ --from . import main -+from sage_setup.docbuild import main - main() Copied: sagemath-doc/repos/community-any/docbuild_main.patch (from rev 631086, sagemath-doc/trunk/docbuild_main.patch) =================================================================== --- docbuild_main.patch (rev 0) +++ docbuild_main.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -0,0 +1,6 @@ +--- src/sage_setup/docbuild/__main__.py.orig ++++ src/sage_setup/docbuild/__main__.py +@@ -1,2 +1,2 @@ +-from . import main ++from sage_setup.docbuild import main + main() Deleted: sagemath-doc-sphinx-3.patch =================================================================== --- sagemath-doc-sphinx-3.patch 2020-05-21 09:24:26 UTC (rev 631086) +++ sagemath-doc-sphinx-3.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,254 +0,0 @@ -diff --git a/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst b/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst -index 13f1a83a2b..4726bce061 100644 ---- a/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst -+++ b/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst -@@ -721,8 +721,6 @@ derive from the one that follows. - - .. CODE-BLOCK:: python - -- :class:`sage.coding.repetition_code.BinaryRepetitionCode <sage.coding.repetition_code.BinaryRepetitionCode>` -- #the line above creates a link to the class in the html documentation of coding theory library - from sage.coding.repetition_code import BinaryRepetitionCode - - ``encoders_catalog.py`` (continued): -diff --git a/src/sage/combinat/permutation.py b/src/sage/combinat/permutation.py -index a68d6734f8..ae644cf28a 100644 ---- a/src/sage/combinat/permutation.py -+++ b/src/sage/combinat/permutation.py -@@ -415,9 +415,6 @@ class Permutation(CombinatorialElement): - [] - sage: Permutation( [[], []] ) - [] -- -- .. automethod:: Permutation.left_action_product -- .. automethod:: Permutation.right_action_product - """ - @staticmethod - def __classcall_private__(cls, l, check_input = True): -diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py -index 10664c67f5..768729fb3c 100644 ---- a/src/sage/docs/conf.py -+++ b/src/sage/docs/conf.py -@@ -8,6 +8,7 @@ from docutils import nodes - from docutils.transforms import Transform - from sphinx.ext.doctest import blankline_re - from sphinx import highlighting -+import sphinx.ext.intersphinx as intersphinx - from IPython.lib.lexers import IPythonConsoleLexer, IPyLexer - - # If your extensions are in another directory, add it here. -@@ -169,13 +170,8 @@ todo_include_todos = True - - # Cross-links to other project's online documentation. - python_version = sys.version_info.major --intersphinx_mapping = { -- 'python': ('https://docs.python.org/', -- os.path.join(SAGE_DOC_SRC, "common", -- "python{}.inv".format(python_version))), -- 'pplpy': (PPLPY_DOCS, None)} - --def set_intersphinx_mappings(app): -+def set_intersphinx_mappings(app, config): - """ - Add precompiled inventory (the objects.inv) - """ -@@ -186,7 +182,11 @@ def set_intersphinx_mappings(app): - app.config.intersphinx_mapping = {} - return - -- app.config.intersphinx_mapping = intersphinx_mapping -+ app.config.intersphinx_mapping = { -+ 'python': ('https://docs.python.org/', -+ os.path.join(SAGE_DOC_SRC, "common", -+ "python{}.inv".format(python_version))), -+ 'pplpy': (PPLPY_DOCS, None)} - - # Add master intersphinx mapping - dst = os.path.join(invpath, 'objects.inv') -@@ -201,6 +201,7 @@ def set_intersphinx_mappings(app): - dst = os.path.join(invpath, directory, 'objects.inv') - app.config.intersphinx_mapping[src] = dst - -+ intersphinx.normalize_intersphinx_mapping(app, config) - - # By default document are not master. - multidocs_is_master = True -@@ -669,7 +670,7 @@ def call_intersphinx(app, env, node, contnode): - """ - debug_inf(app, "???? Trying intersphinx for %s" % node['reftarget']) - builder = app.builder -- res = sphinx.ext.intersphinx.missing_reference( -+ res = intersphinx.missing_reference( - app, env, node, contnode) - if res: - # Replace absolute links to $SAGE_DOC by relative links: this -@@ -852,11 +853,10 @@ def setup(app): - if app.srcdir.startswith(SAGE_DOC_SRC): - app.add_config_value('intersphinx_mapping', {}, False) - app.add_config_value('intersphinx_cache_limit', 5, False) -+ app.connect('config-inited', set_intersphinx_mappings) -+ app.connect('builder-inited', intersphinx.load_mappings) - # We do *not* fully initialize intersphinx since we call it by hand - # in find_sage_dangling_links. - # app.connect('missing-reference', missing_reference) - app.connect('missing-reference', find_sage_dangling_links) -- import sphinx.ext.intersphinx -- app.connect('builder-inited', set_intersphinx_mappings) -- app.connect('builder-inited', sphinx.ext.intersphinx.load_mappings) - app.connect('builder-inited', nitpick_patch_config) -diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py -index 128117b960..5aad13c8c5 100644 ---- a/src/sage_setup/docbuild/__init__.py -+++ b/src/sage_setup/docbuild/__init__.py -@@ -817,9 +817,13 @@ class ReferenceSubBuilder(DocBuilder): - - env_pickle = os.path.join(self._doctrees_dir(), 'environment.pickle') - try: -- env = BuildEnvironment.frompickle(env_pickle, FakeApp(self.dir)) -- logger.debug("Opened Sphinx environment: %s", env_pickle) -- return env -+ with open(env_pickle, 'rb') as f: -+ import pickle -+ env = pickle.load(f) -+ env.app = FakeApp(self.dir) -+ env.config.values = env.app.config.values -+ logger.debug("Opened Sphinx environment: %s", env_pickle) -+ return env - except IOError as err: - logger.debug("Failed to open Sphinx environment: %s", err) - -diff --git a/src/sage_setup/docbuild/ext/multidocs.py b/src/sage_setup/docbuild/ext/multidocs.py -index 71a08cd937..ffed722d33 100644 ---- a/src/sage_setup/docbuild/ext/multidocs.py -+++ b/src/sage_setup/docbuild/ext/multidocs.py -@@ -52,27 +52,29 @@ def merge_environment(app, env): - docenv = get_env(app, curdoc) - if docenv is not None: - fixpath = lambda path: os.path.join(curdoc, path) -+ todos = docenv.domaindata['todo'].get('todos', dict()) -+ citations = docenv.domaindata['citation'].get('citations', dict()) -+ indexentries = docenv.domaindata['index'].get('entries', dict()) - logger.info(" %s todos, %s index, %s citations"%( -- len(docenv.todo_all_todos), -- len(docenv.indexentries), -- len(docenv.domaindata["std"]["citations"]) -+ sum(len(t) for t in todos.values()), -+ len(indexentries), -+ len(citations) - ), nonl=1) - - # merge titles - for t in docenv.titles: - env.titles[fixpath(t)] = docenv.titles[t] - # merge the todo links -- for dct in docenv.todo_all_todos: -- dct['docname'] = fixpath(dct['docname']) -- env.todo_all_todos += docenv.todo_all_todos -+ for dct in todos: -+ env.domaindata['todo']['todos'][fixpath(dct)] = todos[dct] - # merge the html index links - newindex = {} -- for ind in docenv.indexentries: -+ for ind in indexentries: - if ind.startswith('sage/'): -- newindex[fixpath(ind)] = docenv.indexentries[ind] -+ newindex[fixpath(ind)] = indexentries[ind] - else: -- newindex[ind] = docenv.indexentries[ind] -- env.indexentries.update(newindex) -+ newindex[ind] = indexentries[ind] -+ env.domaindata['index']['entries'].update(newindex) - # merge the all_docs links, needed by the js index - newalldoc = {} - for ind in docenv.all_docs: -@@ -86,24 +88,23 @@ def merge_environment(app, env): - env.metadata[ind] = md - # merge the citations - newcite = {} -- citations = docenv.domaindata["std"]["citations"] -- for ind, (path, tag, lineno) in six.iteritems(docenv.domaindata["std"]["citations"]): -+ for ind, (path, tag, lineno) in six.iteritems(citations): - # TODO: Warn on conflicts - newcite[ind] = (fixpath(path), tag, lineno) -- env.domaindata["std"]["citations"].update(newcite) -+ env.domaindata['citation']['citations'].update(newcite) - # merge the py:module indexes - newmodules = {} -- for ind,(modpath,v1,v2,v3) in ( -+ for ind,(modpath,v1,v2,v3,v4) in ( - six.iteritems(docenv.domaindata['py']['modules'])): -- newmodules[ind] = (fixpath(modpath),v1,v2,v3) -+ newmodules[ind] = (fixpath(modpath),v1,v2,v3,v4) - env.domaindata['py']['modules'].update(newmodules) - logger.info(", %s modules"%(len(newmodules))) - logger.info('... done (%s todos, %s index, %s citations, %s modules)'%( -- len(env.todo_all_todos), -- len(env.indexentries), -- len(env.domaindata["std"]["citations"]), -+ sum(len(t) for t in env.domaindata['todo']['todos'].values()), -+ len(env.domaindata['index']['entries']), -+ len(env.domaindata['citation']['citations']), - len(env.domaindata['py']['modules']))) -- write_citations(app, env.domaindata["std"]["citations"]) -+ write_citations(app, env.domaindata['citation']['citations']) - - - def get_env(app, curdoc): -@@ -253,7 +254,7 @@ def fetch_citation(app, env): - with open(filename, 'rb') as f: - cache = cPickle.load(f) - logger.info("done (%s citations)."%len(cache)) -- cite = env.domaindata["std"]["citations"] -+ cite = env.domaindata['citation'].get('citations', dict()) - for ind, (path, tag, lineno) in six.iteritems(cache): - if ind not in cite: # don't override local citation - cite[ind] = (os.path.join("..", path), tag, lineno) -diff --git a/src/sage_setup/docbuild/ext/sage_autodoc.py b/src/sage_setup/docbuild/ext/sage_autodoc.py -index bba274fe35..179fc25d0e 100644 ---- a/src/sage_setup/docbuild/ext/sage_autodoc.py -+++ b/src/sage_setup/docbuild/ext/sage_autodoc.py -@@ -35,14 +35,15 @@ import sys - from docutils.statemachine import ViewList - - import sphinx --from sphinx.ext.autodoc.importer import mock, import_object, get_object_members -+from sphinx.ext.autodoc import mock -+from sphinx.ext.autodoc.importer import import_object, get_object_members, get_module_members - from sphinx.locale import _, __ - from sphinx.pycode import ModuleAnalyzer - from sphinx.errors import PycodeError - from sphinx.util import logging - from sphinx.util import rpartition, force_decode - from sphinx.util.docstrings import prepare_docstring --from sphinx.util.inspect import isdescriptor, safe_getmembers, \ -+from sphinx.util.inspect import isdescriptor, \ - safe_getattr, object_description, is_builtin_class_method, \ - isenumattribute, isclassmethod, isstaticmethod, getdoc - -@@ -536,7 +537,7 @@ class Documenter(object): - - # add content from docstrings - if not no_docstring: -- encoding = self.analyzer and self.analyzer.encoding -+ encoding = self.analyzer and self.analyzer._encoding - docstrings = self.get_doc(encoding) - if not docstrings: - # append at least a dummy docstring, so that the event -@@ -882,7 +883,7 @@ class ModuleDocumenter(Documenter): - if not hasattr(self.object, '__all__'): - # for implicit module members, check __module__ to avoid - # documenting imported objects -- return True, safe_getmembers(self.object) -+ return True, get_module_members(self.object) - else: - memberlist = self.object.__all__ - # Sometimes __all__ is broken... -@@ -893,7 +894,7 @@ class ModuleDocumenter(Documenter): - '(in module %s) -- ignoring __all__' % - (memberlist, self.fullname)) - # fall back to all members -- return True, safe_getmembers(self.object) -+ return True, get_module_members(self.object) - else: - memberlist = self.options.members or [] - ret = [] Copied: sagemath-doc/repos/community-any/sagemath-doc-sphinx-3.patch (from rev 631086, sagemath-doc/trunk/sagemath-doc-sphinx-3.patch) =================================================================== --- sagemath-doc-sphinx-3.patch (rev 0) +++ sagemath-doc-sphinx-3.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -0,0 +1,254 @@ +diff --git a/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst b/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst +index 13f1a83a2b..4726bce061 100644 +--- a/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst ++++ b/src/doc/en/thematic_tutorials/structures_in_coding_theory.rst +@@ -721,8 +721,6 @@ derive from the one that follows. + + .. CODE-BLOCK:: python + +- :class:`sage.coding.repetition_code.BinaryRepetitionCode <sage.coding.repetition_code.BinaryRepetitionCode>` +- #the line above creates a link to the class in the html documentation of coding theory library + from sage.coding.repetition_code import BinaryRepetitionCode + + ``encoders_catalog.py`` (continued): +diff --git a/src/sage/combinat/permutation.py b/src/sage/combinat/permutation.py +index a68d6734f8..ae644cf28a 100644 +--- a/src/sage/combinat/permutation.py ++++ b/src/sage/combinat/permutation.py +@@ -415,9 +415,6 @@ class Permutation(CombinatorialElement): + [] + sage: Permutation( [[], []] ) + [] +- +- .. automethod:: Permutation.left_action_product +- .. automethod:: Permutation.right_action_product + """ + @staticmethod + def __classcall_private__(cls, l, check_input = True): +diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py +index 10664c67f5..768729fb3c 100644 +--- a/src/sage/docs/conf.py ++++ b/src/sage/docs/conf.py +@@ -8,6 +8,7 @@ from docutils import nodes + from docutils.transforms import Transform + from sphinx.ext.doctest import blankline_re + from sphinx import highlighting ++import sphinx.ext.intersphinx as intersphinx + from IPython.lib.lexers import IPythonConsoleLexer, IPyLexer + + # If your extensions are in another directory, add it here. +@@ -173,13 +174,8 @@ todo_include_todos = True + + # Cross-links to other project's online documentation. + python_version = sys.version_info.major +-intersphinx_mapping = { +- 'python': ('https://docs.python.org/', +- os.path.join(SAGE_DOC_SRC, "common", +- "python{}.inv".format(python_version))), +- 'pplpy': (PPLPY_DOCS, None)} + +-def set_intersphinx_mappings(app): ++def set_intersphinx_mappings(app, config): + """ + Add precompiled inventory (the objects.inv) + """ +@@ -190,7 +186,11 @@ def set_intersphinx_mappings(app): + app.config.intersphinx_mapping = {} + return + +- app.config.intersphinx_mapping = intersphinx_mapping ++ app.config.intersphinx_mapping = { ++ 'python': ('https://docs.python.org/', ++ os.path.join(SAGE_DOC_SRC, "common", ++ "python{}.inv".format(python_version))), ++ 'pplpy': (PPLPY_DOCS, None)} + + # Add master intersphinx mapping + dst = os.path.join(invpath, 'objects.inv') +@@ -205,6 +205,7 @@ def set_intersphinx_mappings(app): + dst = os.path.join(invpath, directory, 'objects.inv') + app.config.intersphinx_mapping[src] = dst + ++ intersphinx.normalize_intersphinx_mapping(app, config) + + # By default document are not master. + multidocs_is_master = True +@@ -673,7 +674,7 @@ def call_intersphinx(app, env, node, contnode): + """ + debug_inf(app, "???? Trying intersphinx for %s" % node['reftarget']) + builder = app.builder +- res = sphinx.ext.intersphinx.missing_reference( ++ res = intersphinx.missing_reference( + app, env, node, contnode) + if res: + # Replace absolute links to $SAGE_DOC by relative links: this +@@ -856,11 +857,10 @@ def setup(app): + if app.srcdir.startswith(SAGE_DOC_SRC): + app.add_config_value('intersphinx_mapping', {}, False) + app.add_config_value('intersphinx_cache_limit', 5, False) ++ app.connect('config-inited', set_intersphinx_mappings) ++ app.connect('builder-inited', intersphinx.load_mappings) + # We do *not* fully initialize intersphinx since we call it by hand + # in find_sage_dangling_links. + # app.connect('missing-reference', missing_reference) + app.connect('missing-reference', find_sage_dangling_links) +- import sphinx.ext.intersphinx +- app.connect('builder-inited', set_intersphinx_mappings) +- app.connect('builder-inited', sphinx.ext.intersphinx.load_mappings) + app.connect('builder-inited', nitpick_patch_config) +diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py +index 128117b960..5aad13c8c5 100644 +--- a/src/sage_setup/docbuild/__init__.py ++++ b/src/sage_setup/docbuild/__init__.py +@@ -817,9 +817,13 @@ class ReferenceSubBuilder(DocBuilder): + + env_pickle = os.path.join(self._doctrees_dir(), 'environment.pickle') + try: +- env = BuildEnvironment.frompickle(env_pickle, FakeApp(self.dir)) +- logger.debug("Opened Sphinx environment: %s", env_pickle) +- return env ++ with open(env_pickle, 'rb') as f: ++ import pickle ++ env = pickle.load(f) ++ env.app = FakeApp(self.dir) ++ env.config.values = env.app.config.values ++ logger.debug("Opened Sphinx environment: %s", env_pickle) ++ return env + except IOError as err: + logger.debug("Failed to open Sphinx environment: %s", err) + +diff --git a/src/sage_setup/docbuild/ext/multidocs.py b/src/sage_setup/docbuild/ext/multidocs.py +index 71a08cd937..ffed722d33 100644 +--- a/src/sage_setup/docbuild/ext/multidocs.py ++++ b/src/sage_setup/docbuild/ext/multidocs.py +@@ -52,27 +52,29 @@ def merge_environment(app, env): + docenv = get_env(app, curdoc) + if docenv is not None: + fixpath = lambda path: os.path.join(curdoc, path) ++ todos = docenv.domaindata['todo'].get('todos', dict()) ++ citations = docenv.domaindata['citation'].get('citations', dict()) ++ indexentries = docenv.domaindata['index'].get('entries', dict()) + logger.info(" %s todos, %s index, %s citations"%( +- len(docenv.todo_all_todos), +- len(docenv.indexentries), +- len(docenv.domaindata["std"]["citations"]) ++ sum(len(t) for t in todos.values()), ++ len(indexentries), ++ len(citations) + ), nonl=1) + + # merge titles + for t in docenv.titles: + env.titles[fixpath(t)] = docenv.titles[t] + # merge the todo links +- for dct in docenv.todo_all_todos: +- dct['docname'] = fixpath(dct['docname']) +- env.todo_all_todos += docenv.todo_all_todos ++ for dct in todos: ++ env.domaindata['todo']['todos'][fixpath(dct)] = todos[dct] + # merge the html index links + newindex = {} +- for ind in docenv.indexentries: ++ for ind in indexentries: + if ind.startswith('sage/'): +- newindex[fixpath(ind)] = docenv.indexentries[ind] ++ newindex[fixpath(ind)] = indexentries[ind] + else: +- newindex[ind] = docenv.indexentries[ind] +- env.indexentries.update(newindex) ++ newindex[ind] = indexentries[ind] ++ env.domaindata['index']['entries'].update(newindex) + # merge the all_docs links, needed by the js index + newalldoc = {} + for ind in docenv.all_docs: +@@ -86,24 +88,23 @@ def merge_environment(app, env): + env.metadata[ind] = md + # merge the citations + newcite = {} +- citations = docenv.domaindata["std"]["citations"] +- for ind, (path, tag, lineno) in six.iteritems(docenv.domaindata["std"]["citations"]): ++ for ind, (path, tag, lineno) in six.iteritems(citations): + # TODO: Warn on conflicts + newcite[ind] = (fixpath(path), tag, lineno) +- env.domaindata["std"]["citations"].update(newcite) ++ env.domaindata['citation']['citations'].update(newcite) + # merge the py:module indexes + newmodules = {} +- for ind,(modpath,v1,v2,v3) in ( ++ for ind,(modpath,v1,v2,v3,v4) in ( + six.iteritems(docenv.domaindata['py']['modules'])): +- newmodules[ind] = (fixpath(modpath),v1,v2,v3) ++ newmodules[ind] = (fixpath(modpath),v1,v2,v3,v4) + env.domaindata['py']['modules'].update(newmodules) + logger.info(", %s modules"%(len(newmodules))) + logger.info('... done (%s todos, %s index, %s citations, %s modules)'%( +- len(env.todo_all_todos), +- len(env.indexentries), +- len(env.domaindata["std"]["citations"]), ++ sum(len(t) for t in env.domaindata['todo']['todos'].values()), ++ len(env.domaindata['index']['entries']), ++ len(env.domaindata['citation']['citations']), + len(env.domaindata['py']['modules']))) +- write_citations(app, env.domaindata["std"]["citations"]) ++ write_citations(app, env.domaindata['citation']['citations']) + + + def get_env(app, curdoc): +@@ -253,7 +254,7 @@ def fetch_citation(app, env): + with open(filename, 'rb') as f: + cache = cPickle.load(f) + logger.info("done (%s citations)."%len(cache)) +- cite = env.domaindata["std"]["citations"] ++ cite = env.domaindata['citation'].get('citations', dict()) + for ind, (path, tag, lineno) in six.iteritems(cache): + if ind not in cite: # don't override local citation + cite[ind] = (os.path.join("..", path), tag, lineno) +diff --git a/src/sage_setup/docbuild/ext/sage_autodoc.py b/src/sage_setup/docbuild/ext/sage_autodoc.py +index bba274fe35..179fc25d0e 100644 +--- a/src/sage_setup/docbuild/ext/sage_autodoc.py ++++ b/src/sage_setup/docbuild/ext/sage_autodoc.py +@@ -35,14 +35,15 @@ import sys + from docutils.statemachine import ViewList + + import sphinx +-from sphinx.ext.autodoc.importer import mock, import_object, get_object_members ++from sphinx.ext.autodoc import mock ++from sphinx.ext.autodoc.importer import import_object, get_object_members, get_module_members + from sphinx.locale import _, __ + from sphinx.pycode import ModuleAnalyzer + from sphinx.errors import PycodeError + from sphinx.util import logging + from sphinx.util import rpartition, force_decode + from sphinx.util.docstrings import prepare_docstring +-from sphinx.util.inspect import isdescriptor, safe_getmembers, \ ++from sphinx.util.inspect import isdescriptor, \ + safe_getattr, object_description, is_builtin_class_method, \ + isenumattribute, isclassmethod, isstaticmethod, getdoc + +@@ -536,7 +537,7 @@ class Documenter(object): + + # add content from docstrings + if not no_docstring: +- encoding = self.analyzer and self.analyzer.encoding ++ encoding = self.analyzer and self.analyzer._encoding + docstrings = self.get_doc(encoding) + if not docstrings: + # append at least a dummy docstring, so that the event +@@ -882,7 +883,7 @@ class ModuleDocumenter(Documenter): + if not hasattr(self.object, '__all__'): + # for implicit module members, check __module__ to avoid + # documenting imported objects +- return True, safe_getmembers(self.object) ++ return True, get_module_members(self.object) + else: + memberlist = self.object.__all__ + # Sometimes __all__ is broken... +@@ -893,7 +894,7 @@ class ModuleDocumenter(Documenter): + '(in module %s) -- ignoring __all__' % + (memberlist, self.fullname)) + # fall back to all members +- return True, safe_getmembers(self.object) ++ return True, get_module_members(self.object) + else: + memberlist = self.options.members or [] + ret = [] Deleted: sagemath-ecl-sigfpe.patch =================================================================== --- sagemath-ecl-sigfpe.patch 2020-05-21 09:24:26 UTC (rev 631086) +++ sagemath-ecl-sigfpe.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,147 +0,0 @@ -diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx -index e408866..fa24ac0 100644 ---- a/src/sage/libs/ecl.pyx -+++ b/src/sage/libs/ecl.pyx -@@ -15,7 +15,7 @@ from __future__ import print_function, absolute_import - #adapted to work with pure Python types. - - from libc.stdlib cimport abort --from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD -+from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD, SIGFPE - from libc.signal cimport raise_ as signal_raise - from posix.signal cimport sigaction, sigaction_t - cimport cysignals.signals -@@ -47,9 +47,14 @@ cdef extern from "eclsig.h": - void ecl_sig_off() - cdef sigaction_t ecl_sigint_handler - cdef sigaction_t ecl_sigbus_handler -+ cdef sigaction_t ecl_sigfpe_handler - cdef sigaction_t ecl_sigsegv_handler - cdef mpz_t ecl_mpz_from_bignum(cl_object obj) - cdef cl_object ecl_bignum_from_mpz(mpz_t num) -+ cdef int fegetexcept() -+ cdef int feenableexcept(int) -+ cdef int fedisableexcept(int) -+ cdef int ecl_feflags - - cdef cl_object string_to_object(char * s): - return ecl_read_from_cstring(s) -@@ -238,6 +243,7 @@ def init_ecl(): - global ecl_has_booted - cdef char *argv[1] - cdef sigaction_t sage_action[32] -+ cdef int sage_fpes - cdef int i - - if ecl_has_booted: -@@ -257,6 +263,8 @@ def init_ecl(): - for i in range(1,32): - sigaction(i, NULL, &sage_action[i]) - -+ sage_fpes = fegetexcept() -+ - #initialize ECL - ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0) - cl_boot(1, argv) -@@ -264,8 +272,12 @@ def init_ecl(): - #save signal handler from ECL - sigaction(SIGINT, NULL, &ecl_sigint_handler) - sigaction(SIGBUS, NULL, &ecl_sigbus_handler) -+ sigaction(SIGFPE, NULL, &ecl_sigfpe_handler) - sigaction(SIGSEGV, NULL, &ecl_sigsegv_handler) - -+ #save ECL's floating point exception flags -+ ecl_feflags = fegetexcept() -+ - #verify that no SIGCHLD handler was installed - cdef sigaction_t sig_test - sigaction(SIGCHLD, NULL, &sig_test) -@@ -276,6 +288,9 @@ def init_ecl(): - for i in range(1,32): - sigaction(i, &sage_action[i], NULL) - -+ fedisableexcept(ecl_feflags) -+ feenableexcept(sage_fpes) -+ - #initialise list of objects and bind to global variable - # *SAGE-LIST-OF-OBJECTS* to make it rooted in the reachable tree for the GC - list_of_objects=cl_cons(Cnil,cl_cons(Cnil,Cnil)) -@@ -319,7 +334,6 @@ def init_ecl(): - (values nil (princ-to-string cnd))))) - """)) - safe_funcall_clobj=cl_eval(string_to_object(b"(symbol-function 'sage-safe-funcall)")) -- - ecl_has_booted = 1 - - cdef cl_object ecl_safe_eval(cl_object form) except NULL: -diff --git a/src/sage/libs/eclsig.h b/src/sage/libs/eclsig.h -index f9f2690..a7e1f40 100644 ---- a/src/sage/libs/eclsig.h -+++ b/src/sage/libs/eclsig.h -@@ -9,24 +9,66 @@ - - - #include <signal.h> -+ -+/* Rummage around to determine how ECL was configured */ -+#define ECL_AVOID_FPE_H /* Prevent some local includes */ -+#include <ecl/config-internal.h> -+ -+#ifdef HAVE_FENV_H -+#include <fenv.h> -+#ifndef FE_ALL_EXCEPT -+#define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID -+#endif -+#else -+#ifndef FE_ALL_EXCEPT -+#define FE_ALL_EXCEPT 0 -+#endif -+#define feclearexcept(flags) do {} while (0) -+#endif -+ -+#ifndef HAVE_FEENABLEEXCEPT -+/* These are GNU extensions */ -+#define fegetexcept() 0 -+#define feenablexcept(flags) do {} while (0) -+#define fdisableexcept(flags) do {} while (0) -+#endif -+ - static struct sigaction ecl_sigint_handler; - static struct sigaction ecl_sigbus_handler; -+static struct sigaction ecl_sigfpe_handler; - static struct sigaction ecl_sigsegv_handler; - static struct sigaction sage_sigint_handler; - static struct sigaction sage_sigbus_handler; -+static struct sigaction sage_sigfpe_handler; - static struct sigaction sage_sigsegv_handler; -+static int ecl_feflags; -+static int sage_feflags; - - static inline void set_ecl_signal_handler(void) - { - sigaction(SIGINT, &ecl_sigint_handler, &sage_sigint_handler); - sigaction(SIGBUS, &ecl_sigbus_handler, &sage_sigbus_handler); -+ sigaction(SIGFPE, &ecl_sigfpe_handler, &sage_sigfpe_handler); - sigaction(SIGSEGV, &ecl_sigsegv_handler, &sage_sigsegv_handler); -+ -+ /* first clear pending floating point exceptions, if any */ -+ feclearexcept(FE_ALL_EXCEPT); -+ -+ /* sage_feflags should be 0; we don't set them otherwise */ -+ sage_feflags = fedisableexcept(FE_ALL_EXCEPT); -+ feenableexcept(ecl_feflags); - } - - static inline void unset_ecl_signal_handler(void) - { -+ /* clear pending exceptions and restore previous exception mask */ -+ feclearexcept(FE_ALL_EXCEPT); -+ ecl_feflags = fedisableexcept(FE_ALL_EXCEPT); -+ feenableexcept(sage_feflags); -+ - sigaction(SIGINT, &sage_sigint_handler, NULL); - sigaction(SIGBUS, &sage_sigbus_handler, NULL); -+ sigaction(SIGFPE, &sage_sigfpe_handler, NULL); - sigaction(SIGSEGV, &sage_sigsegv_handler, NULL); - } - Copied: sagemath-doc/repos/community-any/sagemath-ecl-sigfpe.patch (from rev 631086, sagemath-doc/trunk/sagemath-ecl-sigfpe.patch) =================================================================== --- sagemath-ecl-sigfpe.patch (rev 0) +++ sagemath-ecl-sigfpe.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -0,0 +1,147 @@ +diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx +index e408866..fa24ac0 100644 +--- a/src/sage/libs/ecl.pyx ++++ b/src/sage/libs/ecl.pyx +@@ -15,7 +15,7 @@ from __future__ import print_function, absolute_import + #adapted to work with pure Python types. + + from libc.stdlib cimport abort +-from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD ++from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD, SIGFPE + from libc.signal cimport raise_ as signal_raise + from posix.signal cimport sigaction, sigaction_t + cimport cysignals.signals +@@ -47,9 +47,14 @@ cdef extern from "eclsig.h": + void ecl_sig_off() + cdef sigaction_t ecl_sigint_handler + cdef sigaction_t ecl_sigbus_handler ++ cdef sigaction_t ecl_sigfpe_handler + cdef sigaction_t ecl_sigsegv_handler + cdef mpz_t ecl_mpz_from_bignum(cl_object obj) + cdef cl_object ecl_bignum_from_mpz(mpz_t num) ++ cdef int fegetexcept() ++ cdef int feenableexcept(int) ++ cdef int fedisableexcept(int) ++ cdef int ecl_feflags + + cdef cl_object string_to_object(char * s): + return ecl_read_from_cstring(s) +@@ -238,6 +243,7 @@ def init_ecl(): + global ecl_has_booted + cdef char *argv[1] + cdef sigaction_t sage_action[32] ++ cdef int sage_fpes + cdef int i + + if ecl_has_booted: +@@ -257,6 +263,8 @@ def init_ecl(): + for i in range(1,32): + sigaction(i, NULL, &sage_action[i]) + ++ sage_fpes = fegetexcept() ++ + #initialize ECL + ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0) + cl_boot(1, argv) +@@ -264,8 +272,12 @@ def init_ecl(): + #save signal handler from ECL + sigaction(SIGINT, NULL, &ecl_sigint_handler) + sigaction(SIGBUS, NULL, &ecl_sigbus_handler) ++ sigaction(SIGFPE, NULL, &ecl_sigfpe_handler) + sigaction(SIGSEGV, NULL, &ecl_sigsegv_handler) + ++ #save ECL's floating point exception flags ++ ecl_feflags = fegetexcept() ++ + #verify that no SIGCHLD handler was installed + cdef sigaction_t sig_test + sigaction(SIGCHLD, NULL, &sig_test) +@@ -276,6 +288,9 @@ def init_ecl(): + for i in range(1,32): + sigaction(i, &sage_action[i], NULL) + ++ fedisableexcept(ecl_feflags) ++ feenableexcept(sage_fpes) ++ + #initialise list of objects and bind to global variable + # *SAGE-LIST-OF-OBJECTS* to make it rooted in the reachable tree for the GC + list_of_objects=cl_cons(Cnil,cl_cons(Cnil,Cnil)) +@@ -319,7 +334,6 @@ def init_ecl(): + (values nil (princ-to-string cnd))))) + """)) + safe_funcall_clobj=cl_eval(string_to_object(b"(symbol-function 'sage-safe-funcall)")) +- + ecl_has_booted = 1 + + cdef cl_object ecl_safe_eval(cl_object form) except NULL: +diff --git a/src/sage/libs/eclsig.h b/src/sage/libs/eclsig.h +index f9f2690..a7e1f40 100644 +--- a/src/sage/libs/eclsig.h ++++ b/src/sage/libs/eclsig.h +@@ -9,24 +9,66 @@ + + + #include <signal.h> ++ ++/* Rummage around to determine how ECL was configured */ ++#define ECL_AVOID_FPE_H /* Prevent some local includes */ ++#include <ecl/config-internal.h> ++ ++#ifdef HAVE_FENV_H ++#include <fenv.h> ++#ifndef FE_ALL_EXCEPT ++#define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID ++#endif ++#else ++#ifndef FE_ALL_EXCEPT ++#define FE_ALL_EXCEPT 0 ++#endif ++#define feclearexcept(flags) do {} while (0) ++#endif ++ ++#ifndef HAVE_FEENABLEEXCEPT ++/* These are GNU extensions */ ++#define fegetexcept() 0 ++#define feenablexcept(flags) do {} while (0) ++#define fdisableexcept(flags) do {} while (0) ++#endif ++ + static struct sigaction ecl_sigint_handler; + static struct sigaction ecl_sigbus_handler; ++static struct sigaction ecl_sigfpe_handler; + static struct sigaction ecl_sigsegv_handler; + static struct sigaction sage_sigint_handler; + static struct sigaction sage_sigbus_handler; ++static struct sigaction sage_sigfpe_handler; + static struct sigaction sage_sigsegv_handler; ++static int ecl_feflags; ++static int sage_feflags; + + static inline void set_ecl_signal_handler(void) + { + sigaction(SIGINT, &ecl_sigint_handler, &sage_sigint_handler); + sigaction(SIGBUS, &ecl_sigbus_handler, &sage_sigbus_handler); ++ sigaction(SIGFPE, &ecl_sigfpe_handler, &sage_sigfpe_handler); + sigaction(SIGSEGV, &ecl_sigsegv_handler, &sage_sigsegv_handler); ++ ++ /* first clear pending floating point exceptions, if any */ ++ feclearexcept(FE_ALL_EXCEPT); ++ ++ /* sage_feflags should be 0; we don't set them otherwise */ ++ sage_feflags = fedisableexcept(FE_ALL_EXCEPT); ++ feenableexcept(ecl_feflags); + } + + static inline void unset_ecl_signal_handler(void) + { ++ /* clear pending exceptions and restore previous exception mask */ ++ feclearexcept(FE_ALL_EXCEPT); ++ ecl_feflags = fedisableexcept(FE_ALL_EXCEPT); ++ feenableexcept(sage_feflags); ++ + sigaction(SIGINT, &sage_sigint_handler, NULL); + sigaction(SIGBUS, &sage_sigbus_handler, NULL); ++ sigaction(SIGFPE, &sage_sigfpe_handler, NULL); + sigaction(SIGSEGV, &sage_sigsegv_handler, NULL); + } + Deleted: sagemath-matplotlib-3.2.patch =================================================================== --- sagemath-matplotlib-3.2.patch 2020-05-21 09:24:26 UTC (rev 631086) +++ sagemath-matplotlib-3.2.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,62 +0,0 @@ -diff --git a/src/sage/plot/contour_plot.py b/src/sage/plot/contour_plot.py -index a7533fa3d9..12a2b1f670 100644 ---- a/src/sage/plot/contour_plot.py -+++ b/src/sage/plot/contour_plot.py -@@ -223,7 +223,7 @@ class ContourPlot(GraphicPrimitive): - cb.add_lines(CS) - - --@suboptions('colorbar', orientation='vertical', format=None, spacing=None) -+@suboptions('colorbar', orientation='vertical', format=None, spacing='uniform') - @suboptions('label', fontsize=9, colors='blue', inline=None, inline_spacing=3, - fmt="%1.2f") - @options(plot_points=100, fill=True, contours=None, linewidths=None, -diff --git a/src/sage/plot/colors.py b/src/sage/plot/colors.py -index 1860b6c948..af6fc7ec64 100644 ---- a/src/sage/plot/colors.py -+++ b/src/sage/plot/colors.py -@@ -20,7 +20,7 @@ comprises the "official" W3C CSS3_ / SVG_ colors. - For a list of color maps in Sage, evaluate:: - - sage: sorted(colormaps) -- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', u'BrBG', u'BrBG_r', ...] -+ [u'Accent', u'Blues', u'BrBG', ...] - - These are imported from matplotlib's cm_ module. - -@@ -1374,7 +1374,7 @@ def get_cmap(cmap): - and color names. For a list of map names, evaluate:: - - sage: sorted(colormaps) -- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', ...] -+ [u'Accent', u'Blues', ...] - - See :func:`rgbcolor` for valid list/tuple element formats. - -@@ -1468,7 +1468,7 @@ class Colormaps(collections.MutableMapping): - For a list of map names, evaluate:: - - sage: sorted(colormaps) -- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', ...] -+ [u'Accent', u'Blues', ...] - """ - def __init__(self): - """ -@@ -1495,7 +1495,7 @@ class Colormaps(collections.MutableMapping): - sage: len(maps.maps) - 0 - sage: maps.load_maps() -- sage: len(maps.maps)>130 -+ sage: len(maps.maps)>65 - True - """ - global cm -@@ -1539,7 +1539,7 @@ class Colormaps(collections.MutableMapping): - - sage: from sage.plot.colors import Colormaps - sage: maps = Colormaps() -- sage: len(maps)>130 -+ sage: len(maps)>65 - True - """ - self.load_maps() Copied: sagemath-doc/repos/community-any/sagemath-matplotlib-3.2.patch (from rev 631086, sagemath-doc/trunk/sagemath-matplotlib-3.2.patch) =================================================================== --- sagemath-matplotlib-3.2.patch (rev 0) +++ sagemath-matplotlib-3.2.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -0,0 +1,62 @@ +diff --git a/src/sage/plot/contour_plot.py b/src/sage/plot/contour_plot.py +index a7533fa3d9..12a2b1f670 100644 +--- a/src/sage/plot/contour_plot.py ++++ b/src/sage/plot/contour_plot.py +@@ -223,7 +223,7 @@ class ContourPlot(GraphicPrimitive): + cb.add_lines(CS) + + +-@suboptions('colorbar', orientation='vertical', format=None, spacing=None) ++@suboptions('colorbar', orientation='vertical', format=None, spacing='uniform') + @suboptions('label', fontsize=9, colors='blue', inline=None, inline_spacing=3, + fmt="%1.2f") + @options(plot_points=100, fill=True, contours=None, linewidths=None, +diff --git a/src/sage/plot/colors.py b/src/sage/plot/colors.py +index 1860b6c948..af6fc7ec64 100644 +--- a/src/sage/plot/colors.py ++++ b/src/sage/plot/colors.py +@@ -20,7 +20,7 @@ comprises the "official" W3C CSS3_ / SVG_ colors. + For a list of color maps in Sage, evaluate:: + + sage: sorted(colormaps) +- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', u'BrBG', u'BrBG_r', ...] ++ [u'Accent', u'Blues', u'BrBG', ...] + + These are imported from matplotlib's cm_ module. + +@@ -1374,7 +1374,7 @@ def get_cmap(cmap): + and color names. For a list of map names, evaluate:: + + sage: sorted(colormaps) +- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', ...] ++ [u'Accent', u'Blues', ...] + + See :func:`rgbcolor` for valid list/tuple element formats. + +@@ -1468,7 +1468,7 @@ class Colormaps(collections.MutableMapping): + For a list of map names, evaluate:: + + sage: sorted(colormaps) +- [u'Accent', u'Accent_r', u'Blues', u'Blues_r', ...] ++ [u'Accent', u'Blues', ...] + """ + def __init__(self): + """ +@@ -1495,7 +1495,7 @@ class Colormaps(collections.MutableMapping): + sage: len(maps.maps) + 0 + sage: maps.load_maps() +- sage: len(maps.maps)>130 ++ sage: len(maps.maps)>65 + True + """ + global cm +@@ -1539,7 +1539,7 @@ class Colormaps(collections.MutableMapping): + + sage: from sage.plot.colors import Colormaps + sage: maps = Colormaps() +- sage: len(maps)>130 ++ sage: len(maps)>65 + True + """ + self.load_maps() Deleted: sphinxify-warnings.patch =================================================================== --- sphinxify-warnings.patch 2020-05-21 09:24:26 UTC (rev 631086) +++ sphinxify-warnings.patch 2020-05-21 09:34:36 UTC (rev 631087) @@ -1,16 +0,0 @@ -diff --git a/src/doc/common/themes/sage/search.html b/src/doc/common/themes/sage/search.html -index 88d5813bea..9fd5017991 100644 ---- a/src/doc/common/themes/sage/search.html -+++ b/src/doc/common/themes/sage/search.html -@@ -9,7 +9,10 @@ - #} - {% extends "layout.html" %} - {% set title = _('Search') %} --{% set script_files = script_files + ['_static/searchtools.js'] %} -+{%- block scripts %} -+ {{ super() }} -+ <script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script> -+{%- endblock %} - {% block extrahead %} - <script type="text/javascript"> - jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });