mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-22 11:45:56 -04:00
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:
parent
1a0bd1afc6
commit
eaa777c690
19 changed files with 1557 additions and 473 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue