Version 9.1.

- Drop upstreamed -nauty patch.
- Drop -cbc patch; upstream uses the system Cbc now.
- Add -ecl patch for ecl 20.4.24.
This commit is contained in:
Jerry James 2020-07-10 11:04:09 -06:00
parent 4556e3ebb0
commit eb706cd5f8
15 changed files with 838 additions and 732 deletions

View file

@ -1,14 +0,0 @@
diff -up src/sage/numerical/backends/coin_backend.pyx.orig src/sage/numerical/backends/coin_backend.pyx
--- src/sage/numerical/backends/coin_backend.pyx.orig 2018-12-22 16:37:09.000000000 -0700
+++ src/sage/numerical/backends/coin_backend.pyx 2019-01-16 09:45:52.386577640 -0700
@@ -780,8 +780,8 @@ cdef class CoinBackend(GenericBackend):
model.setLogLevel(old_logLevel)
# multithreading
- import multiprocessing
- model.setNumberThreads(ncpus())
+ #import multiprocessing
+ #model.setNumberThreads(ncpus())
model.branchAndBound()

88
sagemath-ecl.patch Normal file
View file

@ -0,0 +1,88 @@
diff -up src/sage/libs/ecl.pxd.orig src/sage/libs/ecl.pxd
--- src/sage/libs/ecl.pxd.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/ecl.pxd 2020-07-07 09:05:47.078665548 -0600
@@ -39,7 +39,6 @@ cdef extern from "ecl/ecl.h":
ECL_OPT_TRAP_SIGINT,
ECL_OPT_TRAP_SIGILL,
ECL_OPT_TRAP_SIGBUS,
- ECL_OPT_TRAP_SIGCHLD,
ECL_OPT_TRAP_SIGPIPE,
ECL_OPT_TRAP_INTERRUPT_SIGNAL,
ECL_OPT_SIGNAL_HANDLING_THREAD,
@@ -53,7 +52,6 @@ cdef extern from "ecl/ecl.h":
ECL_OPT_LISP_STACK_SAFETY_AREA,
ECL_OPT_C_STACK_SIZE,
ECL_OPT_C_STACK_SAFETY_AREA,
- ECL_OPT_SIGALTSTACK_SIZE,
ECL_OPT_HEAP_SIZE,
ECL_OPT_HEAP_SAFETY_AREA,
ECL_OPT_THREAD_INTERRUPT_SIGNAL,
diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
--- src/sage/libs/ecl.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/ecl.pyx 2020-07-07 09:07:43.622621879 -0600
@@ -15,7 +15,7 @@ Library interface to Embeddable Common L
#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
from libc.signal cimport raise_ as signal_raise
from posix.signal cimport sigaction, sigaction_t
cimport cysignals.signals
@@ -139,7 +139,6 @@ def test_ecl_options():
ECL_OPT_TRAP_SIGINT = 1
ECL_OPT_TRAP_SIGILL = 1
ECL_OPT_TRAP_SIGBUS = 1
- ECL_OPT_TRAP_SIGCHLD = 0
ECL_OPT_TRAP_SIGPIPE = 1
ECL_OPT_TRAP_INTERRUPT_SIGNAL = 1
ECL_OPT_SIGNAL_HANDLING_THREAD = 0
@@ -153,7 +152,6 @@ def test_ecl_options():
ECL_OPT_LISP_STACK_SAFETY_AREA = ...
ECL_OPT_C_STACK_SIZE = ...
ECL_OPT_C_STACK_SAFETY_AREA = ...
- ECL_OPT_SIGALTSTACK_SIZE = 1
ECL_OPT_HEAP_SIZE = ...
ECL_OPT_HEAP_SAFETY_AREA = ...
ECL_OPT_THREAD_INTERRUPT_SIGNAL = ...
@@ -171,8 +169,6 @@ def test_ecl_options():
ecl_get_option(ECL_OPT_TRAP_SIGILL)))
print('ECL_OPT_TRAP_SIGBUS = {0}'.format(
ecl_get_option(ECL_OPT_TRAP_SIGBUS)))
- print('ECL_OPT_TRAP_SIGCHLD = {0}'.format(
- ecl_get_option(ECL_OPT_TRAP_SIGCHLD)))
print('ECL_OPT_TRAP_SIGPIPE = {0}'.format(
ecl_get_option(ECL_OPT_TRAP_SIGPIPE)))
print('ECL_OPT_TRAP_INTERRUPT_SIGNAL = {0}'.format(
@@ -199,8 +195,6 @@ def test_ecl_options():
ecl_get_option(ECL_OPT_C_STACK_SIZE)))
print('ECL_OPT_C_STACK_SAFETY_AREA = {0}'.format(
ecl_get_option(ECL_OPT_C_STACK_SAFETY_AREA)))
- print('ECL_OPT_SIGALTSTACK_SIZE = {0}'.format(
- ecl_get_option(ECL_OPT_SIGALTSTACK_SIZE)))
print('ECL_OPT_HEAP_SIZE = {0}'.format(
ecl_get_option(ECL_OPT_HEAP_SIZE)))
print('ECL_OPT_HEAP_SAFETY_AREA = {0}'.format(
@@ -243,9 +237,6 @@ def init_ecl():
if ecl_has_booted:
raise RuntimeError("ECL is already initialized")
- # we need it to stop handling SIGCHLD
- ecl_set_option(ECL_OPT_TRAP_SIGCHLD, 0);
-
#we keep our own GMP memory functions. ECL should not claim them
ecl_set_option(ECL_OPT_SET_GMP_MEMORY_FUNCTIONS,0);
@@ -266,12 +257,6 @@ def init_ecl():
sigaction(SIGBUS, NULL, &ecl_sigbus_handler)
sigaction(SIGSEGV, NULL, &ecl_sigsegv_handler)
- #verify that no SIGCHLD handler was installed
- cdef sigaction_t sig_test
- sigaction(SIGCHLD, NULL, &sig_test)
- assert sage_action[SIGCHLD].sa_handler == NULL # Sage does not set SIGCHLD handler
- assert sig_test.sa_handler == NULL # And ECL bootup did not set one
-
#and put the Sage signal handlers back
for i in range(1,32):
sigaction(i, &sage_action[i], NULL)

View file

@ -1,6 +1,7 @@
--- src/sage/env.py.orig 2020-03-13 09:03:58.705213254 -0600
+++ src/sage/env.py 2020-03-13 09:06:42.148502755 -0600
@@ -151,11 +151,11 @@ var('SAGE_DATE', version.date)
diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2020-07-06 16:59:20.179973650 -0600
+++ src/sage/env.py 2020-07-06 17:03:47.991916151 -0600
@@ -158,14 +158,14 @@ var('SAGE_DATE', version.date)
var('SAGE_VERSION_BANNER', version.banner)
# bunch of sage directories and files
@ -16,17 +17,12 @@
+var('SAGE_DOC', join('/usr', 'share', 'doc', 'sagemath'))
var('SAGE_SPKG_INST', join(SAGE_LOCAL, 'var', 'lib', 'sage', 'installed'))
var('SAGE_LIB', os.path.dirname(os.path.dirname(sage.__file__)))
-var('SAGE_EXTCODE', join(SAGE_LIB, 'sage', 'ext_data'))
+var('SAGE_EXTCODE', join('/usr', 'share', 'sagemath', 'etc'))
@@ -169,7 +169,7 @@ var('DOT_SAGE', join(os.envir
var('SAGE_STARTUP_FILE', join(DOT_SAGE, 'init.sage'))
# installation directories for various packages
-var('SAGE_EXTCODE', join(SAGE_SHARE, 'sage', 'ext'))
+var('SAGE_EXTCODE', join('/usr', 'share', 'sagemath', 'etc'))
var('CONWAY_POLYNOMIALS_DATA_DIR', join(SAGE_SHARE, 'conway_polynomials'))
var('GRAPHS_DATA_DIR', join(SAGE_SHARE, 'graphs'))
var('ELLCURVE_DATA_DIR', join(SAGE_SHARE, 'ellcurves'))
@@ -179,13 +179,13 @@ var('THEBE_DIR', joi
var('SAGE_ROOT', '@@SAGE_ROOT@@')
var('SAGE_SRC', join(SAGE_ROOT, 'src'), SAGE_LIB)
@@ -186,13 +186,13 @@ var('THEBE_DIR', joi
var('COMBINATORIAL_DESIGN_DATA_DIR', join(SAGE_SHARE, 'combinatorial_designs'))
var('CREMONA_MINI_DATA_DIR', join(SAGE_SHARE, 'cremona'))
var('CREMONA_LARGE_DATA_DIR', join(SAGE_SHARE, 'cremona'))
@ -42,6 +38,6 @@
var('SINGULARPATH', join(SAGE_SHARE, 'singular'))
-var('PPLPY_DOCS', join(SAGE_SHARE, 'doc', 'pplpy'))
+var('PPLPY_DOCS', join('/usr', 'share', 'doc', 'python3-pplpy'))
var('MAXIMA', 'maxima')
var('MAXIMA_FAS')
# misc
var('SAGE_NAUTY_BINS_PREFIX', '')

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/module_list.py 2020-02-25 13:38:22.980350735 -0700
@@ -389,16 +389,16 @@ ext_modules = [
--- src/module_list.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/module_list.py 2020-07-06 16:38:17.108266850 -0600
@@ -401,16 +401,16 @@ ext_modules = [
Extension('sage.graphs.matchpoly',
sources = ['sage/graphs/matchpoly.pyx']),
@ -23,7 +23,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.graphs.planarity',
sources = ['sage/graphs/planarity.pyx'],
@@ -417,10 +417,9 @@ ext_modules = [
@@ -429,10 +429,9 @@ ext_modules = [
Extension('sage.graphs.graph_decompositions.cutwidth',
sources = ['sage/graphs/graph_decompositions/cutwidth.pyx']),
@ -34,9 +34,9 @@ diff -up src/module_list.py.orig src/module_list.py
- package = 'tdlib'),
+ language="c++"),
Extension('sage.graphs.spanning_tree',
sources = ['sage/graphs/spanning_tree.pyx']),
@@ -479,9 +478,9 @@ ext_modules = [
Extension('sage.graphs.graph_decompositions.clique_separators',
sources = ['sage/graphs/graph_decompositions/clique_separators.pyx']),
@@ -494,9 +493,9 @@ ext_modules = [
##
################################
@ -48,7 +48,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', ['sage/interfaces/*.pyx']),
@@ -500,21 +499,19 @@ ext_modules = [
@@ -515,21 +514,19 @@ ext_modules = [
##
################################
@ -75,7 +75,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.libs.flint.flint',
sources = ["sage/libs/flint/flint.pyx"],
@@ -543,13 +540,14 @@ ext_modules = [
@@ -558,13 +555,14 @@ ext_modules = [
sources = ["sage/libs/homfly.pyx"],
libraries = ["homfly", "gc"]),
@ -93,7 +93,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.libs.lcalc.lcalc_Lfunction',
sources = ['sage/libs/lcalc/lcalc_Lfunction.pyx'],
@@ -566,10 +564,9 @@ ext_modules = [
@@ -581,10 +579,9 @@ ext_modules = [
Extension('sage.libs.lrcalc.lrcalc',
sources = ["sage/libs/lrcalc/lrcalc.pyx"]),
@ -106,7 +106,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', ['sage/libs/pari/*.pyx']),
@@ -815,7 +812,8 @@ ext_modules = [
@@ -830,7 +827,8 @@ ext_modules = [
include_dirs = cblas_include_dirs),
Extension('sage.matrix.matrix_integer_sparse',
@ -116,7 +116,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.matrix.matrix_mod2_dense',
sources = ['sage/matrix/matrix_mod2_dense.pyx'],
@@ -834,20 +832,21 @@ ext_modules = [
@@ -849,20 +847,21 @@ ext_modules = [
Extension('sage.matrix.matrix_modn_dense_float',
sources = ['sage/matrix/matrix_modn_dense_float.pyx'],
language="c++",
@ -141,7 +141,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.matrix.matrix_mpolynomial_dense',
sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']),
@@ -877,10 +876,9 @@ ext_modules = [
@@ -892,10 +891,9 @@ ext_modules = [
Extension('sage.matrix.matrix_window',
sources = ['sage/matrix/matrix_window.pyx']),
@ -154,42 +154,3 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.matrix.misc',
sources = ['sage/matrix/misc.pyx']),
@@ -1056,26 +1054,25 @@ ext_modules = [
Extension("sage.numerical.backends.interactivelp_backend",
["sage/numerical/backends/interactivelp_backend.pyx"]),
- OptionalExtension("sage.numerical.backends.gurobi_backend",
- ["sage/numerical/backends/gurobi_backend.pyx"],
- libraries = ["gurobi"],
- condition = os.path.isfile(SAGE_INC + "/gurobi_c.h") and
- os.path.isfile(SAGE_LOCAL + "/lib/libgurobi.so")),
+# OptionalExtension("sage.numerical.backends.gurobi_backend",
+# ["sage/numerical/backends/gurobi_backend.pyx"],
+# libraries = ["gurobi"],
+# condition = os.path.isfile(SAGE_INC + "/gurobi_c.h") and
+# os.path.isfile(SAGE_LOCAL + "/lib/libgurobi.so")),
- OptionalExtension("sage.numerical.backends.cplex_backend",
- ["sage/numerical/backends/cplex_backend.pyx"],
- libraries = ["cplex"],
- condition = os.path.isfile(SAGE_INC + "/cplex.h") and
- os.path.isfile(SAGE_LOCAL + "/lib/libcplex.a")),
+# OptionalExtension("sage.numerical.backends.cplex_backend",
+# ["sage/numerical/backends/cplex_backend.pyx"],
+# libraries = ["cplex"],
+# condition = os.path.isfile(SAGE_INC + "/cplex.h") and
+# os.path.isfile(SAGE_LOCAL + "/lib/libcplex.a")),
- OptionalExtension("sage.numerical.backends.coin_backend",
+ Extension("sage.numerical.backends.coin_backend",
["sage/numerical/backends/coin_backend.pyx"],
language = 'c++',
libraries = ["Cbc", "CbcSolver", "Cgl", "Clp", "CoinUtils",
"OsiCbc", "OsiClp", "Osi"] + lapack_libs,
library_dirs = lapack_library_dirs,
- include_dirs = lapack_include_dirs,
- package = 'cbc'),
+ include_dirs = lapack_include_dirs),
################################
##

View file

@ -1,19 +0,0 @@
diff -up src/sage/modular/arithgroup/farey.cpp.orig src/sage/modular/arithgroup/farey.cpp
--- src/sage/modular/arithgroup/farey.cpp.orig 2017-11-08 06:03:07.383885084 -0500
+++ src/sage/modular/arithgroup/farey.cpp 2017-11-08 06:03:18.271885501 -0500
@@ -136,6 +136,7 @@ operator*(const SL2Z& M, const vector<mp
return result;
}
+#if 0
inline
mpz_class
floor(const mpq_class r) {
@@ -146,6 +147,7 @@ floor(const mpq_class r) {
return result - 1;
}
}
+#endif
inline
mpz_class lcm(const mpz_class& a, const mpz_class& b) {

View file

@ -1,6 +1,7 @@
--- src/sage/env.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/env.py 2020-03-13 09:51:49.255840082 -0600
@@ -174,7 +174,7 @@ var('CONWAY_POLYNOMIALS_DATA_DIR', joi
diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/env.py 2020-07-06 16:57:04.139002833 -0600
@@ -181,7 +181,7 @@ var('CONWAY_POLYNOMIALS_DATA_DIR', joi
var('GRAPHS_DATA_DIR', join(SAGE_SHARE, 'graphs'))
var('ELLCURVE_DATA_DIR', join(SAGE_SHARE, 'ellcurves'))
var('POLYTOPE_DATA_DIR', join(SAGE_SHARE, 'reflexive_polytopes'))
@ -9,8 +10,9 @@
var('THEBE_DIR', join(SAGE_SHARE, 'thebe'))
var('COMBINATORIAL_DESIGN_DATA_DIR', join(SAGE_SHARE, 'combinatorial_designs'))
var('CREMONA_MINI_DATA_DIR', join(SAGE_SHARE, 'cremona'))
--- src/sage/libs/gap/element.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/libs/gap/element.pyx 2020-03-13 10:38:15.632637753 -0600
diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx
--- src/sage/libs/gap/element.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/gap/element.pyx 2020-07-06 16:57:04.140002833 -0600
@@ -264,7 +264,7 @@ cdef Obj make_gap_string(sage_string) ex
try:
GAP_Enter()
@ -101,20 +103,21 @@
cdef Obj obj = self.value
if isinstance(i, tuple):
--- src/sage/libs/gap/gap_includes.pxd.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/libs/gap/gap_includes.pxd 2020-03-13 10:32:21.845358454 -0600
@@ -12,8 +12,8 @@
diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.pxd
--- src/sage/libs/gap/gap_includes.pxd.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/gap/gap_includes.pxd 2020-07-06 16:58:14.358987770 -0600
@@ -13,8 +13,8 @@ from libc.stdint cimport uintptr_t, uint
cdef extern from "gap/system.h" nogil:
ctypedef char Char
- ctypedef int Int
- ctypedef unsigned int UInt
- ctypedef uintptr_t UInt
+ ctypedef long Int
+ ctypedef unsigned long UInt
ctypedef void* Obj
@@ -24,8 +24,8 @@ cdef extern from "gap/ariths.h" nogil:
ctypedef uint8_t UInt1
ctypedef uint16_t UInt2
ctypedef uint32_t UInt4
@@ -29,8 +29,8 @@ cdef extern from "gap/ariths.h" nogil:
Obj QUO(Obj, Obj)
Obj POW(Obj, Obj)
Obj MOD(Obj, Obj)
@ -125,7 +128,7 @@
cdef extern from "gap/bool.h" nogil:
@@ -34,7 +34,7 @@ cdef extern from "gap/bool.h" nogil:
@@ -39,7 +39,7 @@ cdef extern from "gap/bool.h" nogil:
cdef extern from "gap/calls.h" nogil:
@ -134,7 +137,7 @@
Obj CALL_0ARGS(Obj f) # 0 arguments
Obj CALL_1ARGS(Obj f, Obj a1) # 1 argument
Obj CALL_2ARGS(Obj f, Obj a1, Obj a2)
@@ -56,7 +56,7 @@ cdef extern from "gap/gasman_intern.h" n
@@ -61,7 +61,7 @@ cdef extern from "gap/gasman_intern.h" n
cdef extern from "gap/gvars.h" nogil:
@ -143,7 +146,7 @@
void AssGVar "AssGVar"(UInt gvar, Obj val)
@@ -65,7 +65,7 @@ cdef extern from "gap/integer.h" nogil:
@@ -70,7 +70,7 @@ cdef extern from "gap/integer.h" nogil:
cdef extern from "gap/intobj.h" nogil:
@ -152,7 +155,7 @@
Obj INTOBJ_INT(Int)
Int INT_INTOBJ(Obj)
@@ -95,11 +95,11 @@ cdef extern from "gap/libgap-api.h" nogi
@@ -100,11 +100,11 @@ cdef extern from "gap/libgap-api.h" nogi
cdef extern from "gap/lists.h" nogil:
@ -169,7 +172,7 @@
cdef extern from "gap/listfunc.h" nogil:
@@ -111,13 +111,13 @@ cdef extern from "gap/macfloat.h" nogil:
@@ -116,13 +116,13 @@ cdef extern from "gap/macfloat.h" nogil:
cdef extern from "gap/objects.h" nogil:
@ -186,7 +189,7 @@
cdef enum TNUM:
T_INT
@@ -147,23 +147,23 @@ cdef extern from "gap/objects.h" nogil:
@@ -163,23 +163,23 @@ cdef extern from "gap/permutat.h" nogil:
cdef extern from "gap/precord.h" nogil:
@ -221,8 +224,9 @@
+ Int IsStringConv(Obj obj)
+ Obj NEW_STRING(Int len)
+ Obj MakeStringWithLen(const char *buf, size_t len)
--- src/sage/libs/gap/util.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/libs/gap/util.pyx 2020-03-13 10:23:13.675207968 -0600
diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
--- src/sage/libs/gap/util.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/gap/util.pyx 2020-07-06 16:57:04.142002832 -0600
@@ -386,7 +386,7 @@ cdef Obj gap_eval(str gap_string) except
"""
initialize()

View file

@ -1,6 +1,6 @@
diff -up src/bin/sage-maxima.lisp.orig src/bin/sage-maxima.lisp
--- src/bin/sage-maxima.lisp.orig 2018-12-22 16:37:06.000000000 -0700
+++ src/bin/sage-maxima.lisp 2019-01-16 09:43:18.550338178 -0700
--- src/bin/sage-maxima.lisp.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/bin/sage-maxima.lisp 2020-07-06 16:43:41.194184363 -0600
@@ -4,3 +4,8 @@
(setf *prompt-prefix* "<sage-display>")
@ -11,14 +11,14 @@ diff -up src/bin/sage-maxima.lisp.orig src/bin/sage-maxima.lisp
+ *standard-input* (open "/dev/stdin" :direction :input)
+ *standard-output* (open "/dev/stdout" :direction :output))
diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py
--- src/sage/interfaces/maxima.py.orig 2018-12-22 16:37:08.000000000 -0700
+++ src/sage/interfaces/maxima.py 2019-01-16 09:43:18.552338143 -0700
--- src/sage/interfaces/maxima.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/maxima.py 2020-07-06 16:44:55.895165348 -0600
@@ -546,7 +546,7 @@ class Maxima(MaximaAbstract, Expect):
Expect.__init__(self,
name = 'maxima',
prompt = r'\(\%i[0-9]+\) ',
- command = 'maxima -p "{0}"'.format(STARTUP),
+ command = 'maxima --disable-readline -p "{0}"'.format(STARTUP),
- command = '"{0}" -p "{1}"'.format(MAXIMA, STARTUP),
+ command = '"{0}" --disable-readline -p "{1}"'.format(MAXIMA, STARTUP),
env = {'TMPDIR': str(ECL_TMP)},
script_subdirectory = script_subdirectory,
restart_on_ctrlc = False,

View file

@ -1,12 +0,0 @@
diff -up src/sage/graphs/graph_generators.py.orig src/sage/graphs/graph_generators.py
--- src/sage/graphs/graph_generators.py.orig 2019-06-26 14:41:04.000000000 -0600
+++ src/sage/graphs/graph_generators.py 2019-06-27 11:37:46.100759559 -0600
@@ -907,7 +907,7 @@ class GraphGenerators():
else:
enc_kwargs = {'encoding': 'latin-1'}
- sp = subprocess.Popen("geng {0}".format(options), shell=True,
+ sp = subprocess.Popen("nauty-geng {0}".format(options), shell=True,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, close_fds=True,
**enc_kwargs)

View file

@ -112,10 +112,10 @@ diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sage
self.result += t.code[1:-1] + '\n\n'
diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite_state_machine.py
--- src/sage/combinat/finite_state_machine.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/combinat/finite_state_machine.py 2020-02-25 13:42:46.676646848 -0700
@@ -936,7 +936,7 @@ from six.moves import range, zip_longest
from six import itervalues
--- src/sage/combinat/finite_state_machine.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/combinat/finite_state_machine.py 2020-07-06 16:47:19.198130202 -0600
@@ -935,7 +935,7 @@ import six
from six.moves import range, zip_longest, zip
from IPython.lib.pretty import pretty
-import collections
@ -123,7 +123,7 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
import itertools
from copy import copy, deepcopy
@@ -14161,7 +14161,7 @@ def is_FSMProcessIterator(PI):
@@ -14159,7 +14159,7 @@ def is_FSMProcessIterator(PI):
class FSMProcessIterator(SageObject,
@ -132,21 +132,47 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
"""
This class takes an input, feeds it into a finite state machine
(automaton or transducer, in particular), tests whether this was
diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat/root_system/branching_rules.py
--- src/sage/combinat/root_system/branching_rules.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/combinat/root_system/branching_rules.py 2020-02-25 13:42:46.678646812 -0700
@@ -1750,7 +1750,7 @@ def branching_rule(Rtype, Stype, rule="d
elif rule == "tensor" or rule == "tensor-debug":
if not Stype.is_compound():
raise ValueError("Tensor product requires more than one factor")
- if len(stypes) is not 2:
+ if len(stypes) != 2:
raise ValueError("Not implemented")
if Rtype[0] == 'A':
nr = Rtype[1]+1
diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c
--- src/sage/cpython/debugimpl.c.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/cpython/debugimpl.c 2020-07-07 13:56:17.121624915 -0600
@@ -155,6 +155,7 @@ static void _type_debug(PyTypeObject* tp
printf(" tp_basicsize: %ld\n", (long)tp->tp_basicsize);
printf(" tp_itemsize: %ld\n", (long)tp->tp_itemsize);
printf(" tp_dictoffset: %ld\n", (long)tp->tp_dictoffset);
+ printf(" tp_vectorcall_offset: %ld\n", (long)tp->tp_vectorcall_offset);
if HAVE_WEAKREFS(tp)
{
printf(" tp_weaklistoffset: %ld\n", (long)tp->tp_weaklistoffset);
@@ -185,7 +186,6 @@ static void _type_debug(PyTypeObject* tp
attr_pointer(tp_free);
attr_pointer_meth(tp_repr, "__repr__");
- attr_pointer(tp_print);
attr_pointer_meth(tp_hash, "__hash__");
attr_pointer_meth(tp_call, "__call__");
attr_pointer_meth(tp_str, "__str__");
diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
--- src/sage/cpython/debug.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/cpython/debug.pyx 2020-07-07 13:57:49.169641697 -0600
@@ -232,6 +232,7 @@ def type_debug(cls):
tp_basicsize: 16
tp_itemsize: 0
tp_dictoffset: 0
+ tp_vectorcall_offset: 0
tp_weaklistoffset: 0
tp_base (__base__): NULL
tp_bases (__bases__): tuple:
@@ -259,7 +260,6 @@ def type_debug(cls):
tp_dealloc (__dealloc__): 0x7fc57d757010
tp_free: PyObject_Del
tp_repr (__repr__): 0x7fc57d75b990
- tp_print: NULL
tp_hash (__hash__): _Py_HashPointer
tp_call (__call__): NULL
tp_str (__str__): 0x7fc57d757020
diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/geometry/triangulation/point_configuration.py
--- src/sage/geometry/triangulation/point_configuration.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/geometry/triangulation/point_configuration.py 2020-02-26 14:41:58.109624057 -0700
--- src/sage/geometry/triangulation/point_configuration.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/geometry/triangulation/point_configuration.py 2020-07-06 16:48:01.176121036 -0600
@@ -619,11 +619,11 @@ class PointConfiguration(UniqueRepresent
['{{0,1,2,4},{1,2,3,4}}']
"""
@ -162,8 +188,8 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
if verbose:
print("#### TOPCOM input ####")
diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
--- src/sage/graphs/graph_latex.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/graphs/graph_latex.py 2020-02-25 13:42:46.679646794 -0700
--- src/sage/graphs/graph_latex.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/graphs/graph_latex.py 2020-07-06 16:48:01.177121036 -0600
@@ -1156,7 +1156,7 @@ class GraphLatex(SageObject):
#
elif name in color_dicts:
@ -223,8 +249,8 @@ diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
for key, p in value.items():
if not((isinstance(p, tuple)) and (len(p) == 2) and (p[0] >= 0) and (p[1] in compass_points)):
diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
--- src/sage/interfaces/frobby.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/frobby.py 2020-02-26 14:41:07.262562710 -0700
--- src/sage/interfaces/frobby.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/frobby.py 2020-07-06 16:48:01.178121036 -0600
@@ -79,7 +79,7 @@ class Frobby:
print("Frobby command: ", repr(command))
print("Frobby input:\n", input)
@ -235,8 +261,8 @@ diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
frinput = str_to_bytes(input)
else:
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
--- src/sage/interfaces/gfan.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/gfan.py 2020-02-25 13:42:46.679646794 -0700
--- src/sage/interfaces/gfan.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/gfan.py 2020-07-06 16:48:01.178121036 -0600
@@ -66,7 +66,7 @@ class Gfan(object):
if six.PY2:
enc_kwargs = {}
@ -247,8 +273,8 @@ diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE,
**enc_kwargs)
diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
--- src/sage/interfaces/gp.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/gp.py 2020-02-25 13:42:46.680646776 -0700
--- src/sage/interfaces/gp.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/gp.py 2020-07-06 16:48:01.179121036 -0600
@@ -934,17 +934,6 @@ class GpElement(ExpectElement):
"""
return repr(self.type()) == 't_STR'
@ -268,8 +294,8 @@ diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
"""
Return Python float.
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
--- src/sage/interfaces/latte.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/latte.py 2020-02-25 13:42:46.680646776 -0700
--- src/sage/interfaces/latte.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/latte.py 2020-07-06 16:48:01.180121036 -0600
@@ -152,6 +152,7 @@ def count(arg, ehrhart_polynomial=False,
latte_proc = Popen(args,
stdin=PIPE, stdout=PIPE,
@ -287,8 +313,8 @@ diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
ans, err = latte_proc.communicate(arg)
diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.pyx
--- src/sage/interfaces/sagespawn.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/interfaces/sagespawn.pyx 2020-02-25 13:42:46.680646776 -0700
--- src/sage/interfaces/sagespawn.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/interfaces/sagespawn.pyx 2020-07-06 16:48:01.180121036 -0600
@@ -1,6 +1,6 @@
"""
Sage wrapper around pexpect's ``spawn`` class and
@ -336,9 +362,10 @@ diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.py
except (OSError, IOError):
pass
self.fileobj.close()
diff -up src/sage/lfunctions/lcalc.py.orig src/sage/lfunctions/lcalc.py
diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-02-25 13:42:46.680646776 -0700
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-07-06 16:48:01.181121035 -0600
@@ -33,7 +33,7 @@ cdef class String:
EXAMPLES::
@ -472,8 +499,8 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
if rank == 0:
raise NotImplementedError("Coxeter group of type ['A',0] using Coxeter 3 not yet implemented")
diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
--- src/sage/misc/parser.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/misc/parser.pyx 2020-02-25 13:42:46.681646759 -0700
--- src/sage/misc/parser.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/misc/parser.pyx 2020-07-06 16:48:01.182121035 -0600
@@ -95,7 +95,7 @@ def token_to_str(int token):
@ -772,9 +799,137 @@ diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
tokens.backtrack()
return self.p_list(tokens)
else:
diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
--- src/sage/misc/sageinspect.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/misc/sageinspect.py 2020-07-09 16:11:23.134895309 -0600
@@ -485,35 +485,46 @@ class SageArgSpecVisitor(ast.NodeVisitor
return False
return node.id
- if six.PY3:
- def visit_NameConstant(self, node):
- """
- Visit a Python AST :class:`ast.NameConstant` node.
+ def visit_Constant(self, node):
+ r"""
+ Visit a Python AST :class:`ast.Constant` node.
- This is an optimization added in Python 3.4 for the special cases
- of True, False, and None.
+ INPUT:
- INPUT:
+ - ``node`` - the node instance to visit
- - ``node`` - the node instance to visit
+ OUTPUT:
- OUTPUT:
+ - the boolean, number, or string the ``node`` represents
- - None, True, False.
+ EXAMPLES::
- EXAMPLES::
+ sage: import ast, sage.misc.sageinspect as sms
+ sage: visitor = sms.SageArgSpecVisitor()
+ sage: vis = lambda x: visitor.visit_Constant(ast.parse(x).body[0].value)
+ sage: [vis(n) for n in ['True', 'False', 'None']]
+ [True, False, None]
+ sage: [type(vis(n)) for n in ['True', 'False', 'None']]
+ [<type 'bool'>, <type 'bool'>, <type 'NoneType'>]
- sage: import ast, sage.misc.sageinspect as sms # py3
- sage: visitor = sms.SageArgSpecVisitor() # py3
- sage: vis = lambda x: visitor.visit_NameConstant(ast.parse(x).body[0].value) # py3
- sage: [vis(n) for n in ['True', 'False', 'None']] # py3
- [True, False, None]
- sage: [type(vis(n)) for n in ['True', 'False', 'None']] # py3
- [<type 'bool'>, <type 'bool'>, <type 'NoneType'>]
- """
+ sage: vis = lambda x: visitor.visit_Constant(ast.parse(x).body[0].value)
+ sage: [vis(s) for s in ['"abstract"', "u'syntax'", r'''r"tr\ee"''']]
+ ['abstract', u'syntax', 'tr\\ee']
- return node.value
+ sage: vis = lambda x: visitor.visit_Constant(ast.parse(x).body[0].value)
+ sage: [vis(n) for n in ['123', '0.0', str(-pi.n())]] # py2
+ [123, 0.0, -3.14159265358979]
+ sage: [vis(n) for n in ['123', '0.0']] # py3
+ [123, 0.0]
+
+ .. NOTE::
+ On Python 3 negative numbers are parsed first, for some reason, as
+ a UnaryOp node.
+ """
+ return node.value
+
+ if six.PY3:
def visit_arg(self, node):
r"""
Visit a Python AST :class:`ast.arg` node.
@@ -543,57 +554,6 @@ class SageArgSpecVisitor(ast.NodeVisitor
"""
return node.arg
- def visit_Num(self, node):
- """
- Visit a Python AST :class:`ast.Num` node.
-
- INPUT:
-
- - ``node`` - the node instance to visit
-
- OUTPUT:
-
- - the number the ``node`` represents
-
- EXAMPLES::
-
- sage: import ast, sage.misc.sageinspect as sms
- sage: visitor = sms.SageArgSpecVisitor()
- sage: vis = lambda x: visitor.visit_Num(ast.parse(x).body[0].value)
- sage: [vis(n) for n in ['123', '0.0', str(-pi.n())]] # py2
- [123, 0.0, -3.14159265358979]
- sage: [vis(n) for n in ['123', '0.0']] # py3
- [123, 0.0]
-
- .. NOTE::
-
- On Python 3 negative numbers are parsed first, for some reason, as
- a UnaryOp node.
- """
- return node.n
-
- def visit_Str(self, node):
- r"""
- Visit a Python AST :class:`ast.Str` node.
-
- INPUT:
-
- - ``node`` - the node instance to visit
-
- OUTPUT:
-
- - the string the ``node`` represents
-
- EXAMPLES::
-
- sage: import ast, sage.misc.sageinspect as sms
- sage: visitor = sms.SageArgSpecVisitor()
- sage: vis = lambda x: visitor.visit_Str(ast.parse(x).body[0].value)
- sage: [vis(s) for s in ['"abstract"', "u'syntax'", r'''r"tr\ee"''']]
- ['abstract', u'syntax', 'tr\\ee']
- """
- return node.s
-
def visit_List(self, node):
"""
Visit a Python AST :class:`ast.List` node.
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
--- src/sage/plot/plot3d/plot3d.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/plot/plot3d/plot3d.py 2020-02-25 13:42:46.681646759 -0700
--- src/sage/plot/plot3d/plot3d.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/plot/plot3d/plot3d.py 2020-07-06 16:48:01.183121035 -0600
@@ -188,7 +188,8 @@ class _Coordinates(object):
sage: arb((x+z,y*z,z), z, (x,y))
Arbitrary Coordinates coordinate transform (z in terms of x, y)
@ -786,8 +941,8 @@ diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
raise ValueError('variables were specified incorrectly for this coordinate system; incorrect variables were %s'%list(set(all_vars).symmetric_difference(set(indep_vars+[dep_var]))))
self.dep_var = dep_var
diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
--- src/sage/plot/point.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/plot/point.py 2020-02-25 13:42:46.681646759 -0700
--- src/sage/plot/point.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/plot/point.py 2020-07-06 16:48:01.184121035 -0600
@@ -29,7 +29,7 @@ TESTS::
from sage.misc.decorators import options, rename_keyword
from sage.plot.colors import to_mpl_color
@ -807,9 +962,9 @@ diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
try:
diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_repr.py
--- src/sage/repl/display/fancy_repr.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/repl/display/fancy_repr.py 2020-02-25 13:42:46.682646741 -0700
@@ -15,7 +15,7 @@ Representations of objects.
--- src/sage/repl/display/fancy_repr.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/repl/display/fancy_repr.py 2020-07-06 16:48:01.184121035 -0600
@@ -15,7 +15,7 @@ Representations of objects
import types
from IPython.lib.pretty import (
@ -828,8 +983,8 @@ diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_re
else:
# A user-provided repr. Find newlines and replace them with p.break_()
diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_kernel/interact.py
--- src/sage/repl/ipython_kernel/interact.py.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/repl/ipython_kernel/interact.py 2020-02-25 13:42:46.682646741 -0700
--- src/sage/repl/ipython_kernel/interact.py.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/repl/ipython_kernel/interact.py 2020-07-06 16:48:01.185121034 -0600
@@ -35,7 +35,8 @@ EXAMPLES::
from ipywidgets.widgets import SelectionSlider, ValueWidget, ToggleButtons
@ -841,9 +996,9 @@ diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_ker
from .widgets_sagenb import input_grid
from sage.structure.element import parent
diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
--- src/sage/rings/integer.pyx.orig 2020-02-27 10:29:19.004788998 -0700
+++ src/sage/rings/integer.pyx 2020-02-27 15:48:31.176289587 -0700
@@ -7123,7 +7123,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
--- src/sage/rings/integer.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/rings/integer.pyx 2020-07-06 16:48:01.187121034 -0600
@@ -7135,7 +7135,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
while x[0] == c' ': x += 1 # Strip spaces
# Disallow a sign here
@ -853,8 +1008,8 @@ diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
assert base >= 2
diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbori.pyx
--- src/sage/rings/polynomial/pbori.pyx.orig 2020-02-27 10:58:59.991311061 -0700
+++ src/sage/rings/polynomial/pbori.pyx 2020-02-27 15:48:31.177289568 -0700
--- src/sage/rings/polynomial/pbori.pyx.orig 2020-07-06 16:13:17.464497408 -0600
+++ src/sage/rings/polynomial/pbori.pyx 2020-07-06 16:48:01.190121033 -0600
@@ -4764,8 +4764,7 @@ cdef class PolynomialConstruct:
# So, it is just a conversion. [Simon King]
return (<BooleanPolynomialRing>ring)._element_constructor_(x)
@ -866,8 +1021,8 @@ diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbor
cdef class MonomialConstruct:
diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
--- src/sage/rings/real_mpfi.pyx.orig 2020-02-27 10:14:36.381371499 -0700
+++ src/sage/rings/real_mpfi.pyx 2020-02-27 15:48:31.178289550 -0700
--- src/sage/rings/real_mpfi.pyx.orig 2020-07-06 16:19:17.719457638 -0600
+++ src/sage/rings/real_mpfi.pyx 2020-07-06 16:48:01.192121033 -0600
@@ -1941,12 +1941,12 @@ cdef class RealIntervalFieldElement(Ring
cdef long digits
@ -893,9 +1048,9 @@ diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
mant_string = bytes_to_str(tmp_cstr+1)
sign_string = bytes_to_str(b'-')
diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
--- src/sage/rings/real_mpfr.pyx.orig 2020-02-27 10:16:40.188177426 -0700
+++ src/sage/rings/real_mpfr.pyx 2020-02-27 15:48:31.179289531 -0700
@@ -2037,7 +2037,7 @@ cdef class RealNumber(sage.structure.ele
--- src/sage/rings/real_mpfr.pyx.orig 2020-07-06 16:19:17.720457638 -0600
+++ src/sage/rings/real_mpfr.pyx 2020-07-06 16:48:01.194121032 -0600
@@ -2045,7 +2045,7 @@ cdef class RealNumber(sage.structure.ele
if s is NULL:
raise RuntimeError("unable to convert an mpfr number to a string")
# t contains just digits (no sign, decimal point or exponent)
@ -905,9 +1060,9 @@ diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
t = char_to_str(s + 1)
else:
diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.pyx
--- src/sage/structure/sage_object.pyx.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/sage/structure/sage_object.pyx 2020-02-25 13:42:56.898464506 -0700
@@ -671,7 +671,7 @@ cdef class SageObject:
--- src/sage/structure/sage_object.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/structure/sage_object.pyx 2020-07-06 16:48:01.194121032 -0600
@@ -680,7 +680,7 @@ cdef class SageObject:
try:
s = self._interface_init_(I)
except Exception:
@ -917,9 +1072,9 @@ diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.
if c:
try:
diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
--- src/sage/symbolic/expression.pyx.orig 2020-02-27 09:30:14.669819391 -0700
+++ src/sage/symbolic/expression.pyx 2020-02-27 15:48:31.182289476 -0700
@@ -12945,7 +12945,7 @@ cdef class hold_class:
--- src/sage/symbolic/expression.pyx.orig 2020-07-06 16:22:36.515435688 -0600
+++ src/sage/symbolic/expression.pyx 2020-07-06 16:48:01.198121032 -0600
@@ -12990,7 +12990,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
@ -928,7 +1083,7 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
def __exit__(self, *args):
"""
@@ -12958,7 +12958,7 @@ cdef class hold_class:
@@ -13003,7 +13003,7 @@ cdef class hold_class:
sage: SR(2)^5
32
"""
@ -937,3 +1092,25 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
def start(self):
"""
diff -up src/sage/symbolic/ring.pyx.orig src/sage/symbolic/ring.pyx
--- src/sage/symbolic/ring.pyx.orig 2020-07-06 16:20:02.592452688 -0600
+++ src/sage/symbolic/ring.pyx 2020-07-10 09:09:09.512400345 -0600
@@ -32,7 +32,6 @@ from sage.rings.all import RR, CC, ZZ
import keyword
import operator
-import parser
# Do not allow any of these keywords as identifiers for symbolic variables
KEYWORDS = set(keyword.kwlist).union(['exec', 'print', 'None', 'True',
@@ -1405,8 +1404,8 @@ def isidentifier(x):
pass # py2
try:
- code = parser.expr(x).compile()
+ code = compile(x, '<string>', 'eval')
except (MemoryError, OverflowError, SyntaxError,
- SystemError, parser.ParserError):
+ SystemError, ValueError):
return False
return len(code.co_names) == 1 and code.co_names[0] == x

View file

@ -1,6 +1,6 @@
diff -up src/bin/sage.orig src/bin/sage
--- src/bin/sage.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/bin/sage 2020-02-25 13:37:42.510072662 -0700
--- src/bin/sage.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/bin/sage 2020-07-06 16:33:49.015329159 -0600
@@ -26,13 +26,10 @@ usage() {
echo " file.[sage|py|spyx] -- run given .sage, .py or .spyx file"
echo " -advanced -- list all command line options"
@ -74,7 +74,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -python [...] -- run the Python interpreter"
echo " -python2 [...] -- run the Python 2 interpreter"
echo " -python3 [...] -- run the Python 3 interpreter"
@@ -144,55 +125,7 @@ usage_advanced() {
@@ -147,55 +128,7 @@ usage_advanced() {
echo
#### 1.......................26..................................................78
#### |.....................--.|...................................................|
@ -131,7 +131,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -startuptime [module] -- display how long each component of Sage takes to"
echo " start up; optionally specify a module to get more"
echo " details about that particular module"
@@ -226,7 +159,6 @@ usage_advanced() {
@@ -229,7 +162,6 @@ usage_advanced() {
echo " -coverage <files> -- give info about doctest coverage of files"
echo " -coverageall -- give summary info about doctest coverage of all"
echo " files in the Sage library"
@ -139,14 +139,12 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -search_src <string> -- search through all the Sage library code for string"
echo " -search_doc <string> -- search through the Sage documentation for string"
echo " -grep <string> -- same as -search_src"
@@ -252,16 +184,6 @@ usage_advanced() {
@@ -255,14 +187,6 @@ usage_advanced() {
echo
#### 1.......................26..................................................78
#### |.....................--.|...................................................|
- echo "Making Sage packages or distributions:"
- echo " -sdist -- build a source distribution of Sage"
- echo " -pkg <dir> -- create Sage package dir.spkg from a given directory"
- echo " -pkg_nc <dir> -- as -pkg, but do not compress the package"
- echo " -fix-pkg-checksums -- fix the checksums from build/pkgs directories from "
- echo " the packages located in upstream/"
-
@ -156,7 +154,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo "Valgrind memory debugging:"
echo " -cachegrind -- run Sage using Valgrind's cachegrind tool. The log"
echo " files are named sage-cachegrind.PID can be found in"
@@ -275,9 +197,6 @@ usage_advanced() {
@@ -276,9 +200,6 @@ usage_advanced() {
echo " -memcheck -- run Sage using Valgrind's memcheck tool. The log"
echo " files are named sage-memcheck.PID can be found in"
echo " $DOT_SAGE"
@ -166,7 +164,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -valgrind -- this is an alias for -memcheck"
echo
echo "You can also use -- before a long option, e.g., 'sage --optional'."
@@ -287,116 +206,6 @@ usage_advanced() {
@@ -288,115 +209,6 @@ usage_advanced() {
#####################################################################
@ -262,7 +260,7 @@ diff -up src/bin/sage.orig src/bin/sage
- # Now install the packages
- for PKG in $PACKAGES; do
- echo
- # First check that $PKG is actually a Makefile target
- # Check that $PKG is actually a Makefile target
- # See https://trac.sagemath.org/ticket/25078
- if ! echo "$ALL_TARGETS" | grep "^${PKG}$" >/dev/null; then
- echo >&2 "Error: package '$PKG' not found"
@ -271,7 +269,6 @@ diff -up src/bin/sage.orig src/bin/sage
- fi
- $MAKE SAGE_SPKG="sage-spkg $INSTALL_OPTIONS" "$PKG"
- done
-
- echo "New packages may have been installed."
- echo "Re-running configure and make in case any dependent packages need updating."
- touch "$SAGE_ROOT/configure" && $MAKE all-build
@ -283,7 +280,7 @@ diff -up src/bin/sage.orig src/bin/sage
# Report information about the Sage environment
#####################################################################
@@ -445,20 +254,6 @@ fi
@@ -445,20 +257,6 @@ fi
# Prepare for running Sage, either interactively or non-interactively.
sage_setup() {
@ -304,7 +301,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ ! -d "$IPYTHONDIR" ]; then
# make sure that $DOT_SAGE exists so that ipython will happily
# create its config directories there. If DOT_SAGE doesn't
@@ -469,20 +264,6 @@ sage_setup() {
@@ -469,20 +267,6 @@ sage_setup() {
}
@ -325,7 +322,7 @@ diff -up src/bin/sage.orig src/bin/sage
# Start an interactive Sage session, this function never returns.
interactive_sage() {
sage_setup
@@ -566,16 +347,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
@@ -566,16 +350,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
exec ecl "$@"
fi
@ -342,8 +339,8 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
shift
exec maxima "$@"
@@ -606,11 +377,6 @@ if [ "$1" = '--pip3' ]; then
exec python3 -m pip "$@"
@@ -606,11 +380,6 @@ if [ "$1" = '--pip3' ]; then
exec "$SAGE_LOCAL"/bin/python3 -m pip "$@"
fi
-if [ "$1" = '-fix-pkg-checksums' -o "$1" = '--fix-pkg-checksums' ]; then
@ -354,8 +351,8 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-python' -o "$1" = '--python' ]; then
shift
if [ "$SAGE_PYTHON3" = 'yes' ]; then
@@ -650,16 +416,6 @@ if [ "$1" = '-jupyter' -o "$1" = '--jupy
exec jupyter "$@"
@@ -650,16 +419,6 @@ if [ "$1" = '-jupyter' -o "$1" = '--jupy
exec "$SAGE_LOCAL"/bin/jupyter "$@"
fi
-if [ "$1" = '-git' -o "$1" = '--git' ]; then
@ -368,10 +365,10 @@ diff -up src/bin/sage.orig src/bin/sage
- exec git --git-dir="$SAGE_ROOT"/.git rev-parse --abbrev-ref HEAD
-fi
-
if [ "$1" = '-sh' -o "$1" = '--sh' ]; then
if [ "$1" = '-sh' -o "$1" = '--sh' -o "$1" = '-buildsh' -o "$1" = '--buildsh' ]; then
# AUTHORS:
# - Carl Witty and William Stein: initial version
@@ -779,20 +535,6 @@ EOF
@@ -792,20 +551,6 @@ EOF
fi
#####################################################################
@ -392,7 +389,7 @@ diff -up src/bin/sage.orig src/bin/sage
# File conversion
#####################################################################
@@ -823,11 +565,6 @@ fi
@@ -836,11 +581,6 @@ fi
# Run Sage's versions of the standard Algebra/Geometry etc. software
#####################################################################
@ -404,7 +401,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then
sage-cleaner &>/dev/null &
exec sage-notebook "$@"
@@ -838,13 +575,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
@@ -851,13 +591,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
exec sage-notebook "$@"
fi
@ -418,7 +415,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = "-inotebook" -o "$1" = '--inotebook' ]; then
shift
sage-cleaner &>/dev/null &
@@ -863,31 +593,12 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep
@@ -876,31 +609,12 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep
exit 0
fi
@ -451,7 +448,7 @@ diff -up src/bin/sage.orig src/bin/sage
sage_setup
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
if [ "$1" = '-tp' -o "$1" = '-btp' ]; then
@@ -899,16 +610,6 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
@@ -912,16 +626,6 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
fi
fi
@ -468,7 +465,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-testall' -o "$1" = "--testall" ]; then
shift
sage_setup
@@ -923,122 +624,6 @@ if [ "$1" = '-c' ]; then
@@ -936,112 +640,6 @@ if [ "$1" = '-c' ]; then
exec sage-eval "$@"
fi
@ -555,16 +552,6 @@ diff -up src/bin/sage.orig src/bin/sage
- exit 0
-fi
-
-if [ "$1" = '-pkg' -o "$1" = '-spkg' -o "$1" = "--pkg" -o "$1" = "--spkg" ]; then
- shift
- exec sage-pkg "$@"
-fi
-
-if [ "$1" = '-pkg_nc' -o "$1" = "--pkg_nc" ]; then
- shift
- exec sage-pkg -n "$@"
-fi
-
-if [ "$1" = '-sdist' -o "$1" = "--sdist" ]; then
- maybe_sage_location
- shift
@ -591,7 +578,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then
shift
sage_setup
@@ -1088,12 +673,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
@@ -1091,12 +689,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
exec sage-callgrind "$@"
fi
@ -605,18 +592,29 @@ diff -up src/bin/sage.orig src/bin/sage
exec sage-startuptime.py "$@"
fi
diff -up src/bin/sage-valgrind.orig src/bin/sage-valgrind
--- src/bin/sage-valgrind.orig 2020-01-01 04:03:10.000000000 -0700
+++ src/bin/sage-valgrind 2020-02-25 13:36:02.973848216 -0700
@@ -4,17 +4,7 @@ if [ -z $SAGE_EXTCODE ]; then
--- src/bin/sage-valgrind.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/bin/sage-valgrind 2020-07-07 08:59:38.369847693 -0600
@@ -4,28 +4,7 @@ if [ -z $SAGE_EXTCODE ]; then
SAGE_EXTCODE=`${0/-valgrind} -c "from sage.env import SAGE_EXTCODE; print(SAGE_EXTCODE)"`
fi
-SUPP=""
-if [ -f "$SAGE_EXTCODE/valgrind/python.supp" ]; then
- SUPP+=" --suppressions=$SAGE_EXTCODE/valgrind/python.supp"
-# Our python2/3 spkgs and also Debian install these files as python.supp and python3.supp
-if [ "$SAGE_PYTHON_VERSION" = 2 ]; then
- PYTHON_SUPP_FILENAME="python.supp"
-else
- PYTHON_SUPP_FILENAME="python$SAGE_PYTHON_VERSION.supp"
-fi
-for dir in "$SAGE_LOCAL/lib/valgrind" "/usr/local/lib/valgrind" "/usr/lib64/valgrind" "/usr/lib/valgrind" ; do
- if [ -f "$dir"/"$PYTHON_SUPP_FILENAME" ]; then
- SUPP=" --suppressions=$dir/$PYTHON_SUPP_FILENAME"
- break
- fi
-done
-if [ -z "$SUPP" ] ; then
- echo "Python suppressions not found (not installed?), skipping"
-fi
-
-SUPP+=" --suppressions=$SAGE_EXTCODE/valgrind/pyalloc.supp"
-SUPP+=" --suppressions=$SAGE_EXTCODE/valgrind/sage.supp"
-SUPP+=" --suppressions=$SAGE_EXTCODE/valgrind/sage-additional.supp"

View file

@ -1,16 +1,16 @@
diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
--- src/sage/libs/ecl.pyx.orig 2018-12-22 16:37:08.000000000 -0700
+++ src/sage/libs/ecl.pyx 2019-01-17 10:00:52.554236288 -0700
@@ -16,7 +16,7 @@ from __future__ import print_function, a
--- src/sage/libs/ecl.pyx.orig 2020-07-07 09:07:43.622621879 -0600
+++ src/sage/libs/ecl.pyx 2020-07-09 10:04:16.260992211 -0600
@@ -15,7 +15,7 @@ Library interface to Embeddable Common L
#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 SIGINT, SIGBUS, SIGSEGV
+from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGFPE
from libc.signal cimport raise_ as signal_raise
from posix.signal cimport sigaction, sigaction_t
cimport cysignals.signals
@@ -48,9 +48,14 @@ cdef extern from "eclsig.h":
@@ -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
@ -25,7 +25,7 @@ diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
cdef cl_object string_to_object(char * s):
return ecl_read_from_cstring(s)
@@ -239,6 +244,7 @@ def init_ecl():
@@ -232,6 +237,7 @@ def init_ecl():
global ecl_has_booted
cdef char *argv[1]
cdef sigaction_t sage_action[32]
@ -33,7 +33,7 @@ diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
cdef int i
if ecl_has_booted:
@@ -258,6 +264,8 @@ def init_ecl():
@@ -248,6 +254,8 @@ def init_ecl():
for i in range(1,32):
sigaction(i, NULL, &sage_action[i])
@ -42,7 +42,7 @@ diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
#initialize ECL
ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0)
cl_boot(1, argv)
@@ -265,8 +273,12 @@ def init_ecl():
@@ -255,12 +263,19 @@ def init_ecl():
#save signal handler from ECL
sigaction(SIGINT, NULL, &ecl_sigint_handler)
sigaction(SIGBUS, NULL, &ecl_sigbus_handler)
@ -52,10 +52,7 @@ diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
+ #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)
@@ -277,6 +289,9 @@ def init_ecl():
#and put the Sage signal handlers back
for i in range(1,32):
sigaction(i, &sage_action[i], NULL)
@ -66,8 +63,8 @@ diff -up src/sage/libs/ecl.pyx.orig src/sage/libs/ecl.pyx
# *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))
diff -up src/sage/libs/eclsig.h.orig src/sage/libs/eclsig.h
--- src/sage/libs/eclsig.h.orig 2018-12-22 16:37:08.000000000 -0700
+++ src/sage/libs/eclsig.h 2019-01-17 10:07:23.060570460 -0700
--- src/sage/libs/eclsig.h.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/eclsig.h 2020-07-09 10:01:25.618299374 -0600
@@ -9,25 +9,59 @@
@ -129,9 +126,9 @@ diff -up src/sage/libs/eclsig.h.orig src/sage/libs/eclsig.h
/* This MUST be a macro because sig_on() must be in the same
diff -up src/sage/libs/mpmath/ext_impl.pyx.orig src/sage/libs/mpmath/ext_impl.pyx
--- src/sage/libs/mpmath/ext_impl.pyx.orig 2018-12-22 16:37:08.000000000 -0700
+++ src/sage/libs/mpmath/ext_impl.pyx 2019-01-17 09:53:24.350937873 -0700
@@ -164,9 +164,9 @@ opts_double_precision.rounding = ROUND_N
--- src/sage/libs/mpmath/ext_impl.pyx.orig 2020-05-20 16:33:41.000000000 -0600
+++ src/sage/libs/mpmath/ext_impl.pyx 2020-07-09 10:01:25.620299371 -0600
@@ -162,9 +162,9 @@ opts_double_precision.rounding = ROUND_N
opts_mini_prec.prec = 5
opts_mini_prec.rounding = ROUND_D

View file

@ -1,9 +1,9 @@
diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2019-10-03 16:07:45.910528067 -0300
+++ src/sage/env.py 2019-10-03 16:08:40.659874228 -0300
@@ -159,9 +159,9 @@ var('SAGE_DOC', join(SAGE_SHA
var('SAGE_SPKG_INST', join(SAGE_LOCAL, 'var', 'lib', 'sage', 'installed'))
--- src/sage/env.py.orig 2020-07-06 16:57:04.139002833 -0600
+++ src/sage/env.py 2020-07-06 16:59:20.179973650 -0600
@@ -167,9 +167,9 @@ var('SAGE_SPKG_INST', join(SAGE_LOC
var('SAGE_LIB', os.path.dirname(os.path.dirname(sage.__file__)))
var('SAGE_EXTCODE', join(SAGE_LIB, 'sage', 'ext_data'))
-var('SAGE_ROOT') # no fallback for SAGE_ROOT
+var('SAGE_ROOT', '@@SAGE_ROOT@@')

View file

@ -76,7 +76,7 @@
%endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 cbc-2.10.4 CoCoALib-0.99650 coxeter3-3.1 cryptominisat-5.6.8 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.10.2 gmp-6.1.2 libsirocco-2.0.2 lrslib-070 mcqd-1.0 meataxe-1.0 primecount-5.3 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 CoCoALib-0.99710 coxeter3-3.1 cryptominisat-5.7.1 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.0 libsirocco-2.0.2 lrslib-071 mcqd-1.0 meataxe-1.0 primecount-6.0 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
%ifarch %{ix86} x86_64
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
@ -93,8 +93,8 @@
Name: sagemath
Summary: A free open-source mathematics software system
Version: 9.0
Release: 8%{?dist}
Version: 9.1
Release: 1%{?dist}
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
# Additionally, every $files section has a comment with the license name
# before files with that license
@ -152,8 +152,8 @@ Patch10: %{name}-cremona.patch
# adapt to python 3 and cython running in python 3 mode
Patch11: %{name}-python3.patch
# correct path to the nauty geng program
Patch12: %{name}-nauty.patch
# adapt to ecl 20.4.24
Patch12: %{name}-ecl.patch
# remove the buildroot path from Cython output
Patch13: %{name}-buildroot.patch
@ -161,9 +161,6 @@ Patch13: %{name}-buildroot.patch
# update c++ standard to fix FTBFS
Patch14: %{name}-lcalc.patch
# avoid assertion in coin backend
Patch15: %{name}-cbc.patch
# Use system gap directories and modernize libgap interface
Patch16: %{name}-libgap.patch
@ -218,6 +215,7 @@ BuildRequires: arb-devel
BuildRequires: bliss-devel
BuildRequires: boost-devel
BuildRequires: brial-devel
BuildRequires: cddlib-devel
BuildRequires: cddlib-tools
BuildRequires: cliquer-devel
BuildRequires: coin-or-Cbc-devel
@ -231,7 +229,7 @@ BuildRequires: factory-devel
BuildRequires: fes-devel
%endif
BuildRequires: flint-devel
BuildRequires: gap
BuildRequires: gap-devel
BuildRequires: gap-pkg-cohomolo
BuildRequires: gap-pkg-corelg
BuildRequires: gap-pkg-crime
@ -281,7 +279,7 @@ BuildRequires: lapack-devel
BuildRequires: latte-integrale
BuildRequires: libbraiding-devel
BuildRequires: libfplll-devel
BuildRequires: libgap-devel
BuildRequires: libgap
BuildRequires: libhomfly-devel
BuildRequires: libmpc-devel
BuildRequires: libpng-devel
@ -359,7 +357,6 @@ BuildRequires: python3dist(setuptools)
BuildRequires: python3dist(simplegeneric)
%endif
BuildRequires: python3dist(six)
BuildRequires: python3dist(speaklater)
BuildRequires: python3dist(sphinx)
BuildRequires: python3dist(sympy)
BuildRequires: python3dist(zodb3)
@ -896,7 +893,6 @@ popd
%patch12
%patch13
%patch14
%patch15
%patch16
%if %{with fes}
@ -962,6 +958,7 @@ sed -i 's,%{_bindir}/python,&3,' src/sage/misc/dev_tools.py
sed -e 's,local/bin/python,bin/python,' \
-e 's,#!%{_bindir}/python,&3,' \
-i src/sage/repl/preparse.py
sed -i 's,"$SAGE_LOCAL"/bin/python,%{_bindir}/python,g' src/bin/sage
%if %{with bundled_ipython}
sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
-i build/pkgs/ipython/src/IPython/utils/_process_posix.py
@ -973,6 +970,7 @@ sed -i 's/64m/256m/' src/sage/interfaces/gap.py
########################################################################
%build
export LC_ALL=C.UTF-8
export CC=%{__cc}
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
@ -1130,8 +1128,7 @@ ln -sf %{_includedir} $SAGE_LOCAL/include
ln -sf %{_datadir} $SAGE_LOCAL/share
#------------------------------------------------------------------------
cp -a src/ext $SAGE_ETC
rm -fr $SAGE_ETC/doctest
cp -a src/sage/ext_data $SAGE_ETC
cp -p %{SOURCE2} $SAGE_ETC
#------------------------------------------------------------------------
@ -1241,8 +1238,8 @@ popd
#------------------------------------------------------------------------
pushd build/pkgs/combinatorial_designs
chmod a+x spkg-install
bash -c '. ../../../src/bin/sage-dist-helpers; ./spkg-install'
mkdir -p $SAGE_SHARE/combinatorial_designs
cp -fa src/* $SAGE_SHARE/combinatorial_designs
popd
#------------------------------------------------------------------------
@ -1286,13 +1283,13 @@ popd
#------------------------------------------------------------------------
%if %{with bundled_ipython}
mv %{_builddir}%{python3_sitelib}/IPython %{buildroot}%{SAGE_PYTHONPATH}
mv %{_builddir}%{python3_sitelib}/prompt_toolkit %{buildroot}%{SAGE_PYTHONPATH}
mv %{_builddir}%{python3_sitelib}/prompt_toolkit* %{buildroot}%{SAGE_PYTHONPATH}
mv %{_builddir}%{_bindir}/ip* %{buildroot}%{SAGE_LOCAL}/bin
%endif
#------------------------------------------------------------------------
%if %{with bundled_ipywidgets}
mv %{_builddir}%{python3_sitelib}/ipywidgets %{buildroot}%{SAGE_PYTHONPATH}
mv %{_builddir}%{python3_sitelib}/ipywidgets* %{buildroot}%{SAGE_PYTHONPATH}
%endif
#------------------------------------------------------------------------
@ -1454,7 +1451,7 @@ ln -sf %{SAGE_SHARE} $SAGE_ROOT/share
ln -sf src $SAGE_ROOT/devel
# Install menu and icons
install -p -m644 -D src/ext/notebook-ipython/logo.svg \
install -p -m644 -D src/sage/ext_data/notebook-ipython/logo.svg \
%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/sagemath.svg
mkdir -p %{buildroot}%{_datadir}/applications
cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF
@ -1659,10 +1656,10 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
%endif
%if %{with bundled_ipython}
%{SAGE_PYTHONPATH}/IPython
%{SAGE_PYTHONPATH}/prompt_toolkit
%{SAGE_PYTHONPATH}/prompt_toolkit*
%endif
%if %{with bundled_ipywidgets}
%{SAGE_PYTHONPATH}/ipywidgets
%{SAGE_PYTHONPATH}/ipywidgets*
%endif
#------------------------------------------------------------------------
@ -1698,12 +1695,14 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
#------------------------------------------------------------------------
%files data-etc
# GPLv2+
%{SAGE_ETC}/doctest
%{SAGE_ETC}/gap
%{SAGE_ETC}/images
%{SAGE_ETC}/kenzo
%{SAGE_ETC}/magma
%{SAGE_ETC}/mwrank
%{SAGE_ETC}/nbconvert
%{SAGE_ETC}/nodoctest
%{SAGE_ETC}/pari
%{SAGE_ETC}/singular
%{SAGE_ETC}/threejs
@ -1817,6 +1816,12 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
########################################################################
%changelog
* Fri Jul 10 2020 Jerry James <loganjerry@gmail.com> - 9.1-1
- Version 9.1
- Drop upstreamed -nauty patch
- Drop -cbc patch; upstream uses the system Cbc now
- Add -ecl patch for ecl 20.4.24
* Wed May 27 2020 Miro Hrončok <mhroncok@redhat.com> - 9.0-8
- Rebuilt for Python 3.9

View file

@ -1,2 +1,2 @@
SHA512 (cremona-2019-10-29.tar.gz) = 32fbb828f26f87191e39123762cfbd796aac9abf346f0dc981e8e3f390435b22d281be3031ea92ae7e18f4ce41af8054784ca0d550a08f17b05c54ca08b4c9c8
SHA512 (sage-9.0.tar.gz) = b0d3af3e8e9dd587314a33ec2f68e901dcd18cdd2cce4444fea5f04669dab6bb3e7db7642ff3e9ef1b1ffaf7a6f3c26272f889e1f5fb8fd63d5f5b68b5d168ed
SHA512 (sage-9.1.tar.gz) = 6df64ce9fadab4cf4b955c704d143b591a02264e85d6dfab1c50872a50cfab804310aad6a46b553d861294acac29dc65729666f251a64cbe648d020af1f411d1