sage: 8.7 -> 8.8.beta2

This commit is contained in:
Timo Kaufmann 2019-04-18 22:54:25 +02:00
parent c2948f640b
commit 21c1ab6776
2 changed files with 64 additions and 35 deletions

View file

@ -0,0 +1,57 @@
diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
index 0f2700168a..60f71357d2 100644
--- a/src/sage_setup/docbuild/__init__.py
+++ b/src/sage_setup/docbuild/__init__.py
@@ -86,26 +86,6 @@ def builder_helper(type):
"""
Returns a function which builds the documentation for
output type ``type``.
-
- TESTS:
-
- Check that :trac:`25161` has been resolved::
-
- sage: from sage_setup.docbuild import DocBuilder, setup_parser
- sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set
-
- sage: import sage_setup.docbuild.sphinxbuild
- sage: def raiseBaseException():
- ....: raise BaseException("abort pool operation")
- sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException
-
- sage: from sage_setup.docbuild import builder_helper, build_many, build_ref_doc
- sage: helper = builder_helper("html")
- sage: try:
- ....: build_many(build_ref_doc, [("docname", "en", "html", {})])
- ....: except Exception as E:
- ....: "Non-exception during docbuild: abort pool operation" in str(E)
- True
"""
def f(self, *args, **kwds):
output_dir = self._output_dir(type)
@@ -127,10 +107,9 @@ def builder_helper(type):
logger.debug(build_command)
# Run Sphinx with Sage's special logger
- sys.argv = ["sphinx-build"] + build_command.split()
- from .sphinxbuild import runsphinx
+ args = "python -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split()
try:
- runsphinx()
+ subprocess.check_call(args)
except Exception:
if ABORT_ON_ERROR:
raise
diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
index 9a2fba79bc..77c8ed3592 100644
--- a/src/sage_setup/docbuild/sphinxbuild.py
+++ b/src/sage_setup/docbuild/sphinxbuild.py
@@ -318,3 +318,8 @@ def runsphinx():
sys.stderr = saved_stderr
sys.stdout.flush()
sys.stderr.flush()
+
+if __name__ == '__main__':
+ import sys
+ sys.argv[0] = "sphinx-build"
+ runsphinx()

View file

@ -10,14 +10,14 @@
# all get the same sources with the same patches applied.
stdenv.mkDerivation rec {
version = "8.7";
version = "8.8.beta2";
pname = "sage-src";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sage";
rev = version;
sha256 = "05vvrd6syh0hlmrk6kzjrwd0hpmvxp8vr8p3mkjb0jh5p2kjdd27";
sha256 = "1avrxhhcd1hy4hm9sgma430hvxg36f10kr9p3himj6kl4m9pyflv";
};
# Patches needed because of particularities of nix or the way this is packaged.
@ -45,15 +45,6 @@ stdenv.mkDerivation rec {
# Fixes a potential race condition which can lead to transient doctest failures.
./patches/fix-ecl-race.patch
# Parallelize docubuild using subprocesses, fixing an isolation issue. See
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
(fetchpatch {
name = "sphinx-docbuild-subprocesses.patch";
url = "https://salsa.debian.org/science-team/sagemath/raw/8a215b17e6f791ddfae6df8ce6d01dfb89acb434/debian/patches/df-subprocess-sphinx.patch";
sha256 = "07p9i0fwjgapmfvmi436yn6v60p8pvmxqjc93wsssqgh5kd8qw3n";
stripLen = 1;
})
# Part of the build system. Should become unnecessary with sage 8.8.
# Upstream discussion here: https://trac.sagemath.org/ticket/27124#comment:33
./patches/do-not-test-package-manifests.patch
@ -71,20 +62,16 @@ stdenv.mkDerivation rec {
# https://trac.sagemath.org/ticket/28007
./patches/threejs-offline.patch
# Parallelize docubuild using subprocesses, fixing an isolation issue. See
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
./patches/sphinx-docbuild-subprocesses.patch
];
# Since sage unfortunately does not release bugfix releases, packagers must
# fix those bugs themselves. This is for critical bugfixes, where "critical"
# == "causes (transient) doctest failures / somebody complained".
bugfixPatches = [
# Transient doctest failure in src/sage/modular/abvar/torsion_subgroup.py
# https://trac.sagemath.org/ticket/27477
(fetchpatch {
name = "sig_on_in_matrix_sparce.patch";
url = "https://git.sagemath.org/sage.git/patch?id2=10407524b18659e14e184114b61c043fb816f3c2&id=c9b0cc9d0b8748ab85e568f8f57f316c5e8cbe54";
sha256 = "0wgp7yvn9sm1ynlhcr4l0hzmvr2n28llg4xc01p6k1zz4im64c17";
})
];
bugfixPatches = [ ];
# Patches needed because of package updates. We could just pin the versions of
# dependencies, but that would lead to rebuilds, confusion and the burdons of
@ -116,14 +103,6 @@ stdenv.mkDerivation rec {
stripLen = 1;
})
# https://trac.sagemath.org/ticket/26451
(fetchSageDiff {
name = "sphinx-1.8.patch";
base = "8.7";
rev = "737afd8f314bd1e16feaec562bb4b5efa2effa8b";
sha256 = "0n56ss88ds662bp49j23z5c2i6hsn3jynxw13wv76hyl0h7l1hjh";
})
# https://trac.sagemath.org/ticket/27653
(fetchpatch {
name = "sympy-1.4.patch";
@ -131,13 +110,6 @@ stdenv.mkDerivation rec {
sha256 = "09avaanwmdgqv14mmllbgw9z2scf4lc0y0kzdhlriiq8ss9j8iir";
})
# https://trac.sagemath.org/ticket/27094
(fetchpatch {
name = "gap-4.10.1.patch";
url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
})
# https://trac.sagemath.org/ticket/27738
(fetchpatch {
name = "R-3.6.0.patch";