Update to sagemath 8.4.

Also:
- Build for python 3 instead of python 2 due to upcoming python 2 removal.
- Add -python3 and -escape patches to fix problems with python 3.
- Drop -nofstring patch, only needed for python 2.
- Drop upstreamed -eclib patch.
- Switch from atlas to openblas and rename -atlas patch to -openblas.
- Add -buildroot patch and only build cython interfaces once.
This commit is contained in:
Jerry James 2018-11-01 19:25:26 -06:00
parent 1a0bd1afc6
commit eaa777c690
19 changed files with 1557 additions and 473 deletions

View file

@ -1,7 +1,7 @@
diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
--- src/sage/doctest/control.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/doctest/control.py 2018-08-29 08:36:07.805487927 -0600
@@ -102,7 +102,6 @@ class DocTestDefaults(SageObject):
--- src/sage/doctest/control.py.orig 2018-10-17 17:13:36.000000000 -0600
+++ src/sage/doctest/control.py 2018-10-25 11:40:58.936908341 -0600
@@ -106,7 +106,6 @@ class DocTestDefaults(SageObject):
self.valgrind = False
self.massif = False
self.cachegrind = False
@ -9,7 +9,7 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
self.failed = False
self.new = False
self.show_skipped = False
@@ -292,7 +291,7 @@ class DocTestController(SageObject):
@@ -308,7 +307,7 @@ class DocTestController(SageObject):
if options.gdb or options.debug:
# Interactive debuggers: "infinite" timeout
options.timeout = 0
@ -18,7 +18,7 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
# Non-interactive debuggers: 48 hours
options.timeout = int(os.getenv('SAGE_TIMEOUT_VALGRIND', 48 * 60 * 60))
elif options.long:
@@ -1071,13 +1070,8 @@ class DocTestController(SageObject):
@@ -1094,13 +1093,8 @@ class DocTestController(SageObject):
elif opt.cachegrind:
toolname = "cachegrind"
flags = os.getenv("SAGE_CACHEGRIND_FLAGS", "")
@ -32,8 +32,8 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
if "%s" in flags:
flags %= toolname + ".%p" # replace %s with toolname
cmd += flags + sage_cmd
@@ -1137,10 +1131,10 @@ class DocTestController(SageObject):
0
@@ -1185,10 +1179,10 @@ class DocTestController(SageObject):
"""
opt = self.options
- L = (opt.gdb, opt.valgrind, opt.massif, opt.cachegrind, opt.omega)
@ -46,20 +46,32 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
return self.run_val_gdb()
else:
diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
--- src/sage/interfaces/singular.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/singular.py 2018-08-29 08:36:07.818487766 -0600
@@ -2262,7 +2262,7 @@ def generate_docstring_dictionary():
nodes.clear()
--- src/sage/interfaces/singular.py.orig 2018-10-25 11:40:58.937908339 -0600
+++ src/sage/interfaces/singular.py 2018-10-25 13:11:10.256190334 -0600
@@ -2264,7 +2264,7 @@ def generate_docstring_dictionary():
node_names.clear()
- singular_docdir = SAGE_LOCAL+"/share/info/"
+ singular_docdir = os.environ["SINGULAR_BIN_DIR"]+"/info/"
import os
- singular_docdir = os.environ['SINGULARPATH']+"/../info/"
+ singular_docdir = "/usr/share/info/"
new_node = re.compile("File: singular\.hlp, Node: ([^,]*),.*")
new_lookup = re.compile("\* ([^:]*):*([^.]*)\..*")
new_node = re.compile(r"File: singular\.hlp, Node: ([^,]*),.*")
new_lookup = re.compile(r"\* ([^:]*):*([^.]*)\..*")
@@ -2272,8 +2272,9 @@ def generate_docstring_dictionary():
L, in_node, curr_node = [], False, None
# singular.hlp contains a few iso-5559-1 encoded special characters
- with io.open(os.path.join(singular_docdir, 'singular.hlp'),
- encoding='latin-1') as f:
+ import gzip
+ with gzip.open(os.path.join(singular_doctir, 'singular.hlp.gz'),
+ encoding='latin-1') as f:
for line in f:
m = re.match(new_node,line)
if m:
diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/ext/multidocs.py
--- src/sage_setup/docbuild/ext/multidocs.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage_setup/docbuild/ext/multidocs.py 2018-08-29 08:36:07.829487630 -0600
--- src/sage_setup/docbuild/ext/multidocs.py.orig 2018-10-17 17:14:18.000000000 -0600
+++ src/sage_setup/docbuild/ext/multidocs.py 2018-10-25 11:40:58.937908339 -0600
@@ -84,8 +84,11 @@ def merge_environment(app, env):
for ind in newalldoc:
# treat subdocument source as orphaned file and don't complain
@ -75,22 +87,22 @@ diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/e
newcite = {}
citations = docenv.domaindata["std"]["citations"]
diff -up src/sage_setup/docbuild/__init__.py.orig src/sage_setup/docbuild/__init__.py
--- src/sage_setup/docbuild/__init__.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage_setup/docbuild/__init__.py 2018-08-29 08:36:07.837487531 -0600
@@ -272,13 +272,14 @@ if NUM_THREADS > 1:
# map_async handles KeyboardInterrupt correctly. Plain map and
# apply_async does not, so don't use it.
x = pool.map_async(target, args, 1)
+ ret = []
try:
- ret = x.get(99999)
+ ret = x.get(3600)
pool.close()
pool.join()
except Exception:
- pool.terminate()
if ABORT_ON_ERROR:
+ pool.terminate()
raise
return ret
else:
--- src/sage_setup/docbuild/__init__.py.orig 2018-10-25 11:40:58.938908336 -0600
+++ src/sage_setup/docbuild/__init__.py 2018-10-25 13:12:56.110881282 -0600
@@ -279,13 +279,14 @@ def build_many(target, args):
# map_async handles KeyboardInterrupt correctly. Plain map and
# apply_async does not, so don't use it.
x = pool.map_async(target, args, 1)
+ ret = []
try:
- ret = x.get(99999)
+ ret = x.get(3600)
pool.close()
pool.join()
except Exception:
- pool.terminate()
if ABORT_ON_ERROR:
+ pool.terminate()
raise
return ret