diff options
author | Timo Kaufmann <timokau@zoho.com> | 2020-12-19 18:13:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-19 18:13:16 +0100 |
commit | afead527c444e9459fc0a32c9b9992862ef9e77e (patch) | |
tree | 1e774b45d3d3a63246e441ac893471eaa2e86913 | |
parent | e52f705248c2086eef8abf091a6f9a625fd9d742 (diff) | |
parent | 8100c5a44b20a37c994c6923330f99674ffb9308 (diff) |
Merge pull request #105615 from collares/sage-update
sage: 8.9 -> 9.2
36 files changed, 329 insertions, 488 deletions
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index ea9c921f19e1..b090274919bd 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -9,11 +9,11 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation rec { pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; - version = "1.5.0-21"; # TODO try to remove preCheck phase on upgrade + version = "1.5.0-87"; # TODO try to remove preCheck phase on upgrade src = fetchurl { url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; - sha256 = "1b9khiv0mk2xzw1rblm2jy6qsf8y6f9k7qy15sxpb21d72hzzbl2"; + sha256 = "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"; }; patches = stdenv.lib.optionals (!enableGUI) [ diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 1bf7d16f2904..cdc81a876465 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -87,6 +87,10 @@ stdenv.mkDerivation ({ enableParallelBuilding = true; + passthru = { + ecl = ecl; + }; + meta = { description = "Computer algebra system"; homepage = "http://maxima.sourceforge.net"; diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index 76e7c796a138..94b7ad266c45 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "27r1"; src = fetchurl { url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz"; - sha256 = "1nym0p2djws8ylkpr0kgpxfa6fxdlh46cmvz0gn5vd02jzgs0aww"; + sha256 = "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn"; }; outputs = [ "out" "dev" ]; configureFlags = [ diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index a3e2f99ab274..7ec42d11ab14 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -15,7 +15,8 @@ stdenv.mkDerivation rec { version = "2.11.4"; src = fetchurl { - url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz"; + # Versions with current majorMinor values are at http://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz + url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.gz"; sha256 = "sha256-v8iPxPc1L0hA5uNSxy8DacvqikVAOxg0piafNwmXCxw="; }; diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix index 87fb205174bf..e3474d865e2d 100644 --- a/pkgs/applications/science/math/pynac/default.nix +++ b/pkgs/applications/science/math/pynac/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitHub +, fetchurl , autoreconfHook , pkgconfig , flint @@ -33,6 +34,14 @@ stdenv.mkDerivation rec { pkgconfig ]; + patches = [ + (fetchurl { + name = "py_ssize_t_clean.patch"; + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/py_ssize_t_clean.patch?h=9.2"; + sha256 = "0l3gbg9hc4v671zf4w376krnk3wh8hj3649610nlvzzxckcryzab"; + }) + ]; + meta = with stdenv.lib; { description = "Python is Not a CAS -- modified version of Ginac"; longDescription = '' diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index caf51c3da251..416f2b957b7b 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -9,31 +9,13 @@ let inherit (pkgs) symlinkJoin callPackage nodePackages; - # https://trac.sagemath.org/ticket/15980 for tracking of python3 support - python = pkgs.python2.override { + python3 = pkgs.python3.override { packageOverrides = self: super: { - # python packages that appear unmaintained and were not accepted into the nixpkgs - # tree because of that. These packages are only dependencies of the more-or-less - # deprecated sagenb. However sagenb is still a default dependency and the doctests - # depend on it. - # See https://github.com/NixOS/nixpkgs/pull/38787 for a discussion. - # The dependency on the sage notebook (and therefore these packages) will be - # removed in the future: - # https://trac.sagemath.org/ticket/25837 - flask-oldsessions = self.callPackage ./flask-oldsessions.nix {}; - flask-openid = self.callPackage ./flask-openid.nix {}; - python-openid = self.callPackage ./python-openid.nix {}; - sagenb = self.callPackage ./sagenb.nix { - mathjax = nodePackages.mathjax; - }; - - # Package with a cyclic dependency with sage - pybrial = self.callPackage ./pybrial.nix {}; - # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { - inherit flint ecl arb; + inherit flint arb; inherit sage-src env-locations pynac singular; + ecl = maxima-ecl.ecl; linbox = pkgs.linbox.override { withSage = true; }; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; @@ -59,9 +41,10 @@ let # A bash script setting various environment variables to tell sage where # the files its looking fore are located. Also see `sage-env`. env-locations = callPackage ./env-locations.nix { - inherit pari_data ecl; + inherit pari_data; inherit singular maxima-ecl; - cysignals = python.pkgs.cysignals; + ecl = maxima-ecl.ecl; + cysignals = python3.pkgs.cysignals; three = nodePackages.three; mathjax = nodePackages.mathjax; }; @@ -69,21 +52,22 @@ let # The shell file that gets sourced on every sage start. Will also source # the env-locations file. sage-env = callPackage ./sage-env.nix { - sagelib = python.pkgs.sagelib; + sagelib = python3.pkgs.sagelib; inherit env-locations; - inherit python ecl singular palp flint pynac pythonEnv maxima-ecl; + inherit python3 singular palp flint pynac pythonEnv maxima-ecl; + ecl = maxima-ecl.ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; # The documentation for sage, building it takes a lot of ram. sagedoc = callPackage ./sagedoc.nix { inherit sage-with-env; - inherit python maxima-ecl; + inherit python3 maxima-ecl; }; # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run. sage-with-env = callPackage ./sage-with-env.nix { - inherit pythonEnv; + inherit python3 pythonEnv; inherit sage-env; inherit pynac singular maxima-ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig @@ -100,10 +84,8 @@ let sage-src = callPackage ./sage-src.nix {}; - pythonRuntimeDeps = with python.pkgs; [ + pythonRuntimeDeps = with python3.pkgs; [ sagelib - pybrial - sagenb cvxopt networkx service-identity @@ -116,11 +98,10 @@ let ipywidgets rpy2 sphinx - typing pillow ]; - pythonEnv = python.buildEnv.override { + pythonEnv = python3.buildEnv.override { extraLibs = pythonRuntimeDeps; ignoreCollisions = true; } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible @@ -129,8 +110,21 @@ let singular = pkgs.singular.override { inherit flint; }; - # https://trac.sagemath.org/ticket/26625 - maxima-ecl = pkgs.maxima-ecl; + maxima-ecl = pkgs.maxima-ecl.override { + ecl = pkgs.ecl.override { + # "echo syntax error | ecl > /dev/full 2>&1" segfaults in + # ECL. We apply a patch to fix it (write_error.patch), but it + # only works if threads are disabled. sage 9.2 tests this + # (src/sage/interfaces/tests.py) and ships ecl like so. + # https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/1#note_1657275 + threadSupport = false; + + # if we don't use the system boehmgc, sending a SIGINT to ecl + # can segfault if we it happens during memory allocation. + # src/sage/libs/ecl.pyx would intermittently fail in this case. + useBoehmgc = true; + }; + }; # *not* to confuse with the python package "pynac" pynac = pkgs.pynac.override { inherit singular flint; }; @@ -161,9 +155,6 @@ let pari-seadata-small ]; }; - - # https://trac.sagemath.org/ticket/22191 - ecl = pkgs.ecl_16_1_2; in # A wrapper around sage that makes sure sage finds its docs (if they were build). callPackage ./sage.nix { diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index bda2d23b9e52..b1ad0aad9c76 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -44,6 +44,6 @@ writeTextFile rec { export JSMOL_DIR="${jmol}/share/jsmol" export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax" export THREEJS_DIR="${three}/lib/node_modules/three" - export SAGE_INCLUDE_DIRECTORIES="${cysignals}/lib/python2.7/site-packages" + export SAGE_INCLUDE_DIRECTORIES="${cysignals}/${cysignals.pythonModule.sitePackages}" ''; } diff --git a/pkgs/applications/science/math/sage/flask-oldsessions.nix b/pkgs/applications/science/math/sage/flask-oldsessions.nix deleted file mode 100644 index 86fe9912c19e..000000000000 --- a/pkgs/applications/science/math/sage/flask-oldsessions.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchFromGitHub -, python -, flask -}: - -buildPythonPackage rec { - pname = "Flask-OldSessions"; - version = "0.10"; - - # no artifact on pypi: https://github.com/mitsuhiko/flask-oldsessions/issues/1 - src = fetchFromGitHub { - owner = "mitsuhiko"; - repo = "flask-oldsessions"; - rev = version; - sha256 = "04b5m8njjiwld9a0zw55iqwvyjgwcpdbhz1cic8nyhgcmypbicqn"; - }; - - propagatedBuildInputs = [ - flask - ]; - - # missing module flask.testsuite, probably assumes an old version of flask - doCheck = false; - checkPhase = '' - ${python.interpreter} run-tests.py - ''; - - meta = with stdenv.lib; { - description = "Provides a session class that works like the one in Flask before 0.10."; - license = licenses.bsd2; - maintainers = teams.sage.members; - homepage = "https://github.com/mitsuhiko/flask-oldsessions"; - }; -} diff --git a/pkgs/applications/science/math/sage/flask-openid.nix b/pkgs/applications/science/math/sage/flask-openid.nix deleted file mode 100644 index 900b033429ef..000000000000 --- a/pkgs/applications/science/math/sage/flask-openid.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchPypi -, flask -, python-openid -}: - -buildPythonPackage rec { - pname = "Flask-OpenID"; - version = "1.2.5"; - - src = fetchPypi { - inherit pname version; - sha256 = "1aycwmwi7ilcaa5ab8hm0bp6323zl8z25q9ha0gwrl8aihfgx3ss"; - }; - - propagatedBuildInputs = [ - flask - python-openid - ]; - - meta = with stdenv.lib; { - description = "Adds openid support to flask applications"; - license = licenses.bsd2; - maintainers = teams.sage.members; - homepage = "https://pythonhosted.org/Flask-OpenID/"; - }; -} diff --git a/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch index 8cd80281d0e4..d5c19a54fd96 100644 --- a/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch +++ b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch @@ -1,17 +1,17 @@ -From 8218bd4fdeb4c92de8af0d3aabec55980fc4fb3d Mon Sep 17 00:00:00 2001 +From f5ea42a7aaed7611fb55b65897b9fcf2b7bcf97e Mon Sep 17 00:00:00 2001 From: Timo Kaufmann <timokau@zoho.com> Date: Sun, 21 Oct 2018 17:52:40 +0200 Subject: [PATCH] Only test py2/py3 optional tests when all of sage is tested --- - src/sage/doctest/control.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) + src/sage/doctest/control.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py -index bf18df8b2b..935c67abf7 100644 +index 2d93841e50..6d156e29a1 100644 --- a/src/sage/doctest/control.py +++ b/src/sage/doctest/control.py -@@ -362,7 +362,8 @@ class DocTestController(SageObject): +@@ -375,7 +375,8 @@ class DocTestController(SageObject): if not optionaltag_regex.search(o): raise ValueError('invalid optional tag {!r}'.format(o)) @@ -21,15 +21,6 @@ index bf18df8b2b..935c67abf7 100644 self.options = options -@@ -765,7 +766,7 @@ class DocTestController(SageObject): - sage: DC = DocTestController(DD, [dirname]) - sage: DC.expand_files_into_sources() - sage: sorted(DC.sources[0].options.optional) # abs tol 1 -- ['guava', 'magma', 'py2'] -+ ['guava', 'magma'] - - We check that files are skipped appropriately:: - -- -2.18.1 +2.28.0 diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch index 3f844e1b1ef5..981759202386 100644 --- a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch +++ b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch @@ -1,17 +1,17 @@ diff --git a/src/sage/env.py b/src/sage/env.py -index 061b94f3f1..67cd091540 100644 +index 1ddfc7cfb9..45033d6328 100644 --- a/src/sage/env.py +++ b/src/sage/env.py -@@ -189,88 +189,13 @@ var('MAXIMA_FAS') +@@ -203,97 +203,13 @@ var('ARB_LIBRARY', 'arb') var('SAGE_BANNER', '') var('SAGE_IMPORTALL', 'yes') - -def _get_shared_lib_filename(libname, *additional_libnames): - """ -- Return the full path to a shared library file installed in the standard -- location for the system within the ``LIBDIR`` prefix (or -- ``$SAGE_LOCAL/lib`` in the case of manual build of Sage). +- Return the full path to a shared library file installed in +- ``$SAGE_LOCAL/lib`` or the directories associated with the +- Python sysconfig. - - This can also be passed more than one library name (e.g. for cases where - some library may have multiple names depending on the platform) in which @@ -25,7 +25,7 @@ index 061b94f3f1..67cd091540 100644 - For distributions like Debian that use a multiarch layout, we also try the - multiarch lib paths (i.e. ``/usr/lib/<arch>/``). - -- Returns ``None`` if the file does not exist. +- This returns ``None`` if the file does not exist. - - EXAMPLES:: - @@ -48,11 +48,17 @@ index 061b94f3f1..67cd091540 100644 - - for libname in (libname,) + additional_libnames: - if sys.platform == 'cygwin': -- bindir = sysconfig.get_config_var('BINDIR') +- # Later down we take the last matching DLL found, so search +- # SAGE_LOCAL second so that it takes precedence +- bindirs = [ +- sysconfig.get_config_var('BINDIR'), +- os.path.join(SAGE_LOCAL, 'bin') +- ] - pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)] - filenames = [] -- for pat in pats: -- filenames += glob.glob(os.path.join(bindir, pat)) +- for bindir in bindirs: +- for pat in pats: +- filenames += glob.glob(os.path.join(bindir, pat)) - - # Note: This is not very robust, since if there are multi DLL - # versions for the same library this just selects one more or less @@ -66,10 +72,13 @@ index 061b94f3f1..67cd091540 100644 - else: - ext = 'so' - -- libdirs = [sysconfig.get_config_var('LIBDIR')] +- libdirs = [ +- os.path.join(SAGE_LOCAL, 'lib'), +- sysconfig.get_config_var('LIBDIR') +- ] - multilib = sysconfig.get_config_var('MULTILIB') - if multilib: -- libdirs.insert(0, os.path.join(libdirs[0], multilib)) +- libdirs.insert(1, os.path.join(libdirs[0], multilib)) - - for libdir in libdirs: - basename = 'lib{}.{}'.format(libname, ext) @@ -89,7 +98,7 @@ index 061b94f3f1..67cd091540 100644 # locate libgap shared object -GAP_SO= _get_shared_lib_filename('gap','') -+GAP_SO= '/default' ++GAP_SO = '/default' var('GAP_SO', GAP_SO) # post process diff --git a/pkgs/applications/science/math/sage/patches/docutils-0.15.patch b/pkgs/applications/science/math/sage/patches/docutils-0.15.patch deleted file mode 100644 index 63f5d2e146dd..000000000000 --- a/pkgs/applications/science/math/sage/patches/docutils-0.15.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py -index 4849c2bffa..76b7bc8602 100644 ---- a/src/sage/misc/sphinxify.py -+++ b/src/sage/misc/sphinxify.py -@@ -25,6 +25,7 @@ from __future__ import absolute_import, print_function - import os - import re - import shutil -+import warnings - from tempfile import mkdtemp - from sphinx.application import Sphinx - -@@ -120,7 +121,10 @@ smart_quotes = no""") - # buildername, confoverrides, status, warning, freshenv). - sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format, - confoverrides, None, None, True) -- sphinx_app.build(None, [rst_name]) -+ with warnings.catch_warnings(): -+ # Quick and dirty workaround for https://trac.sagemath.org/ticket/28856#comment:19 -+ warnings.simplefilter("ignore") -+ sphinx_app.build(None, [rst_name]) - sys.path = old_sys_path - - # We need to remove "_" from __builtin__ that the gettext module installs diff --git a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch index 11ca74819615..a91ee319b8f0 100644 --- a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch +++ b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch @@ -1,24 +1,24 @@ diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py -index bd6b76ab82..ccf1203dec 100644 +index 6e034dcb5a..8ec60ec72b 100644 --- a/src/sage/tests/cmdline.py +++ b/src/sage/tests/cmdline.py -@@ -837,8 +837,6 @@ def test_executable(args, input="", timeout=100.0, **kwds): +@@ -660,8 +660,8 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False + sage: with open(input, 'w') as F: + ....: _ = F.write(s) + sage: L = ["sage", "--rst2ipynb", input, output] +- sage: test_executable(L) # optional - rst2ipynb +- ('', '', 0) ++ sage: test_executable(L)[2] # optional - rst2ipynb ++ 0 + sage: import json # optional - rst2ipynb + sage: d = json.load(open(output,'r')) # optional - rst2ipynb + sage: type(d) # optional - rst2ipynb +@@ -757,8 +757,6 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False /// 4 }}} -- sage: err # py2 +- sage: err # py2 # optional -- sagenb - '' - sage: ret + sage: ret # py2 # optional -- sagenb 0 -@@ -871,8 +869,8 @@ def test_executable(args, input="", timeout=100.0, **kwds): - sage: output = tmp_filename(ext='.sws') - sage: with open(input, 'w') as F: - ....: _ = F.write(s) -- sage: test_executable(["sage", "--rst2sws", input, output]) # py2 -- ('', '', 0) -+ sage: test_executable(["sage", "--rst2sws", input, output])[2] # py2 -+ 0 - sage: import tarfile # py2 - sage: f = tarfile.open(output, 'r') # py2 - sage: print(f.extractfile('sage_worksheet/worksheet.html').read()) # py2 diff --git a/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch deleted file mode 100644 index c5f95b498d53..000000000000 --- a/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/sage/all.py b/src/sage/all.py -index c87c9372e9..862fca4fcc 100644 ---- a/src/sage/all.py -+++ b/src/sage/all.py -@@ -306,6 +306,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0)) - # Ignore all deprecations from IPython etc. - warnings.filterwarnings('ignore', category=DeprecationWarning, - module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)') -+warnings.filterwarnings('ignore', category=DeprecationWarning, message=r".*The import 'werkzeug.ImmutableDict' is deprecated") - # Ignore collections.abc warnings, there are a lot of them but they are - # harmless. - warnings.filterwarnings('ignore', category=DeprecationWarning, diff --git a/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch b/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch deleted file mode 100644 index 49cdfd189b92..000000000000 --- a/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/sage/doctest/parsing.py b/src/sage/doctest/parsing.py -index 6bdc9a0..31fc780 100644 ---- a/src/sage/doctest/parsing.py -+++ b/src/sage/doctest/parsing.py -@@ -40,6 +40,7 @@ from .external import available_software - - float_regex = re.compile('\s*([+-]?\s*((\d*\.?\d+)|(\d+\.?))([eE][+-]?\d+)?)') - optional_regex = re.compile(r'(py2|py3|long time|not implemented|not tested|known bug)|([^ a-z]\s*optional\s*[:-]*((\s|\w)*))') -+pari_stack_warning_regex = re.compile(r'\s*\*\*\*.*(Warning: increasing stack size to )\d+\.') - find_sage_prompt = re.compile(r"^(\s*)sage: ", re.M) - find_sage_continuation = re.compile(r"^(\s*)\.\.\.\.:", re.M) - random_marker = re.compile('.*random', re.I) -@@ -935,6 +936,7 @@ class SageOutputChecker(doctest.OutputChecker): - <type 'float'> - """ - got = self.human_readable_escape_sequences(got) -+ got = pari_stack_warning_regex.sub('', got) - if isinstance(want, MarkedOutput): - if want.random: - return True diff --git a/pkgs/applications/science/math/sage/patches/pillow-update.patch b/pkgs/applications/science/math/sage/patches/pillow-update.patch new file mode 100644 index 000000000000..19 |