mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-10 23:18:51 -04:00
Update to latest upstream release
This commit is contained in:
parent
fa050d6863
commit
7b54d2115b
20 changed files with 285 additions and 834 deletions
|
@ -1,141 +1,32 @@
|
|||
diff -up src/sage/libs/arb/acb_hypgeom.pxd.orig src/sage/libs/arb/acb_hypgeom.pxd
|
||||
--- src/sage/libs/arb/acb_hypgeom.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/acb_hypgeom.pxd 2019-01-16 09:46:54.148469344 -0700
|
||||
@@ -2,7 +2,7 @@
|
||||
diff -up src/sage/libs/arb/arb_wrap.h.orig src/sage/libs/arb/arb_wrap.h
|
||||
--- src/sage/libs/arb/arb_wrap.h.orig 2019-10-25 14:39:21.831699616 -0300
|
||||
+++ src/sage/libs/arb/arb_wrap.h 2019-10-25 14:39:53.520890155 -0300
|
||||
@@ -11,17 +11,17 @@
|
||||
#define ulong mp_limb_t
|
||||
#define slong mp_limb_signed_t
|
||||
|
||||
from sage.libs.arb.types cimport *
|
||||
-#include <acb.h>
|
||||
-#include <acb_calc.h>
|
||||
-#include <acb_elliptic.h>
|
||||
-#include <acb_hypgeom.h>
|
||||
-#include <acb_mat.h>
|
||||
-#include <acb_modular.h>
|
||||
-#include <acb_poly.h>
|
||||
-#include <arb.h>
|
||||
-#include <arf.h>
|
||||
-#include <bernoulli.h>
|
||||
-#include <mag.h>
|
||||
+#include <arb/acb.h>
|
||||
+#include <arb/acb_calc.h>
|
||||
+#include <arb/acb_elliptic.h>
|
||||
+#include <arb/acb_hypgeom.h>
|
||||
+#include <arb/acb_mat.h>
|
||||
+#include <arb/acb_modular.h>
|
||||
+#include <arb/acb_poly.h>
|
||||
+#include <arb/arb.h>
|
||||
+#include <arb/arf.h>
|
||||
+#include <arb/bernoulli.h>
|
||||
+#include <arb/mag.h>
|
||||
|
||||
-cdef extern from "acb_hypgeom.h":
|
||||
+cdef extern from "arb/acb_hypgeom.h":
|
||||
void acb_hypgeom_pfq_bound_factor(mag_t C, acb_srcptr a, long p, acb_srcptr b, long q, const acb_t z, unsigned long n)
|
||||
long acb_hypgeom_pfq_choose_n(acb_srcptr a, long p, acb_srcptr b, long q, const acb_t z, long prec)
|
||||
void acb_hypgeom_pfq_sum_forward(acb_t s, acb_t t, acb_srcptr a, long p, acb_srcptr b, long q, const acb_t z, long n, long prec)
|
||||
diff -up src/sage/libs/arb/acb_mat.pxd.orig src/sage/libs/arb/acb_mat.pxd
|
||||
--- src/sage/libs/arb/acb_mat.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/acb_mat.pxd 2019-01-16 09:46:54.148469344 -0700
|
||||
@@ -1,6 +1,6 @@
|
||||
from sage.libs.arb.types cimport acb_t, acb_mat_t, acb_poly_t
|
||||
|
||||
-cdef extern from "acb_mat.h":
|
||||
+cdef extern from "arb/acb_mat.h":
|
||||
unsigned int acb_mat_nrows(acb_mat_t mat)
|
||||
unsigned int acb_mat_ncols(acb_mat_t mat)
|
||||
acb_t acb_mat_entry(acb_mat_t mat, unsigned long i, unsigned long j)
|
||||
diff -up src/sage/libs/arb/acb_modular.pxd.orig src/sage/libs/arb/acb_modular.pxd
|
||||
--- src/sage/libs/arb/acb_modular.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/acb_modular.pxd 2019-01-16 09:46:54.149469326 -0700
|
||||
@@ -3,7 +3,7 @@
|
||||
from sage.libs.arb.types cimport *
|
||||
from sage.libs.flint.types cimport fmpz_poly_t
|
||||
|
||||
-cdef extern from "acb_modular.h":
|
||||
+cdef extern from "arb/acb_modular.h":
|
||||
void acb_modular_theta(acb_t theta1, acb_t theta2, acb_t theta3, acb_t theta4, const acb_t z, const acb_t tau, long prec)
|
||||
void acb_modular_j(acb_t z, const acb_t tau, long prec)
|
||||
void acb_modular_eta(acb_t z, const acb_t tau, long prec)
|
||||
diff -up src/sage/libs/arb/acb_poly.pxd.orig src/sage/libs/arb/acb_poly.pxd
|
||||
--- src/sage/libs/arb/acb_poly.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/acb_poly.pxd 2019-01-16 09:46:54.149469326 -0700
|
||||
@@ -3,7 +3,7 @@
|
||||
from sage.libs.arb.types cimport *
|
||||
from sage.libs.flint.types cimport fmpz_poly_t, fmpq_poly_t
|
||||
|
||||
-cdef extern from "acb_poly.h":
|
||||
+cdef extern from "arb/acb_poly.h":
|
||||
void acb_poly_init(acb_poly_t poly)
|
||||
void acb_poly_clear(acb_poly_t poly)
|
||||
void acb_poly_fit_length(acb_poly_t poly, long len)
|
||||
diff -up src/sage/libs/arb/acb.pxd.orig src/sage/libs/arb/acb.pxd
|
||||
--- src/sage/libs/arb/acb.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/acb.pxd 2019-01-16 09:46:54.149469326 -0700
|
||||
@@ -3,7 +3,7 @@
|
||||
from sage.libs.arb.types cimport *
|
||||
from sage.libs.flint.types cimport fmpz_t, fmpq_t
|
||||
|
||||
-cdef extern from "acb.h":
|
||||
+cdef extern from "arb/acb.h":
|
||||
|
||||
arb_t acb_realref(acb_t x)
|
||||
arb_t acb_imagref(acb_t x)
|
||||
diff -up src/sage/libs/arb/arf.pxd.orig src/sage/libs/arb/arf.pxd
|
||||
--- src/sage/libs/arb/arf.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/arf.pxd 2019-01-16 09:46:54.149469326 -0700
|
||||
@@ -5,7 +5,7 @@ from sage.libs.gmp.types cimport mpz_t
|
||||
from sage.libs.flint.types cimport fmpz_t
|
||||
from sage.libs.mpfr.types cimport mpfr_t, mpfr_rnd_t
|
||||
|
||||
-cdef extern from "arf.h":
|
||||
+cdef extern from "arb/arf.h":
|
||||
void arf_init(arf_t x)
|
||||
void arf_clear(arf_t x)
|
||||
void arf_zero(arf_t x)
|
||||
diff -up src/sage/libs/arb/bernoulli.pxd.orig src/sage/libs/arb/bernoulli.pxd
|
||||
--- src/sage/libs/arb/bernoulli.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/bernoulli.pxd 2019-01-16 09:46:54.149469326 -0700
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
from ..flint.types cimport fmpq_t, ulong
|
||||
|
||||
-cdef extern from "bernoulli.h":
|
||||
+cdef extern from "arb/bernoulli.h":
|
||||
void bernoulli_fmpq_ui(fmpq_t b, ulong n)
|
||||
diff -up src/sage/libs/arb/mag.pxd.orig src/sage/libs/arb/mag.pxd
|
||||
--- src/sage/libs/arb/mag.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/mag.pxd 2019-01-16 09:46:54.150469309 -0700
|
||||
@@ -3,7 +3,7 @@
|
||||
from sage.libs.arb.types cimport *
|
||||
from sage.libs.flint.types cimport fmpz_t, fmpq_t
|
||||
|
||||
-cdef extern from "mag.h":
|
||||
+cdef extern from "arb/mag.h":
|
||||
void mag_init(mag_t x)
|
||||
void mag_clear(mag_t x)
|
||||
void mag_init_set(mag_t x, const mag_t y)
|
||||
diff -up src/sage/libs/arb/types.pxd.orig src/sage/libs/arb/types.pxd
|
||||
--- src/sage/libs/arb/types.pxd.orig 2018-12-22 16:37:08.000000000 -0700
|
||||
+++ src/sage/libs/arb/types.pxd 2019-01-16 09:46:54.150469309 -0700
|
||||
@@ -1,4 +1,4 @@
|
||||
-cdef extern from "mag.h":
|
||||
+cdef extern from "arb/mag.h":
|
||||
ctypedef struct mag_struct:
|
||||
pass
|
||||
ctypedef mag_struct mag_t[1]
|
||||
@@ -6,7 +6,7 @@ cdef extern from "mag.h":
|
||||
ctypedef const mag_struct * mag_srcptr
|
||||
long MAG_BITS
|
||||
|
||||
-cdef extern from "arf.h":
|
||||
+cdef extern from "arb/arf.h":
|
||||
ctypedef struct arf_struct:
|
||||
pass
|
||||
ctypedef arf_struct arf_t[1]
|
||||
@@ -20,25 +20,25 @@ cdef extern from "arf.h":
|
||||
ARF_RND_NEAR
|
||||
long ARF_PREC_EXACT
|
||||
|
||||
-cdef extern from "arb.h":
|
||||
+cdef extern from "arb/arb.h":
|
||||
ctypedef struct arb_struct:
|
||||
pass
|
||||
ctypedef arb_struct arb_t[1]
|
||||
ctypedef arb_struct * arb_ptr
|
||||
|
||||
-cdef extern from "acb.h":
|
||||
+cdef extern from "arb/acb.h":
|
||||
ctypedef struct acb_struct:
|
||||
pass
|
||||
ctypedef acb_struct[1] acb_t
|
||||
ctypedef acb_struct * acb_ptr
|
||||
ctypedef const acb_struct * acb_srcptr
|
||||
|
||||
-cdef extern from "acb_mat.h":
|
||||
+cdef extern from "arb/acb_mat.h":
|
||||
ctypedef struct acb_mat_struct:
|
||||
pass
|
||||
ctypedef acb_mat_struct[1] acb_mat_t
|
||||
|
||||
-cdef extern from "acb_poly.h":
|
||||
+cdef extern from "arb/acb_poly.h":
|
||||
ctypedef struct acb_poly_struct:
|
||||
pass
|
||||
ctypedef acb_poly_struct[1] acb_poly_t
|
||||
#undef ulong
|
||||
#undef slong
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/setup.py.orig src/setup.py
|
||||
--- src/setup.py.orig 2019-01-04 11:05:11.337077724 -0700
|
||||
+++ src/setup.py 2019-01-16 09:45:32.570933224 -0700
|
||||
@@ -334,6 +334,9 @@ class sage_build_cython(Command):
|
||||
--- src/setup.py.orig 2019-10-03 16:02:47.728642827 -0300
|
||||
+++ src/setup.py 2019-10-03 16:03:22.041859763 -0300
|
||||
@@ -335,6 +335,9 @@ class sage_build_cython(Command):
|
||||
with open(self._version_file, 'w') as f:
|
||||
f.write(self._version_stamp)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
|
||||
--- src/sage/databases/cremona.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/databases/cremona.py 2019-09-09 15:37:13.321511378 -0600
|
||||
@@ -842,7 +842,8 @@ class MiniCremonaDatabase(SQLDatabase):
|
||||
--- src/sage/databases/cremona.py.orig 2019-10-03 14:57:32.516349793 -0300
|
||||
+++ src/sage/databases/cremona.py 2019-10-03 14:57:45.084423307 -0300
|
||||
@@ -850,7 +850,8 @@ class MiniCremonaDatabase(SQLDatabase):
|
||||
message = "There is no elliptic curve with label " \
|
||||
+ label + " in the default database; try installing " \
|
||||
+ "the optional package database_cremona_ellcurve which " \
|
||||
|
@ -11,11 +11,11 @@ diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
|
|||
raise ValueError(message)
|
||||
ainvs = eval(c[0])
|
||||
data = {'cremona_label': label,
|
||||
@@ -1640,6 +1641,7 @@ class LargeCremonaDatabase(MiniCremonaDa
|
||||
@@ -1649,6 +1650,7 @@ class LargeCremonaDatabase(MiniCremonaDa
|
||||
con.executemany("UPDATE t_curve SET gens=? WHERE curve=?", \
|
||||
curve_data)
|
||||
print("Committing...")
|
||||
+ self.commit()
|
||||
if largest_conductor and int(v[0]) > largest_conductor: break
|
||||
|
||||
_db = None
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2019-06-27 11:45:30.915744723 -0600
|
||||
+++ src/sage/env.py 2019-06-28 11:31:09.965474086 -0600
|
||||
--- src/sage/env.py.orig 2019-10-03 16:59:18.202495553 -0300
|
||||
+++ src/sage/env.py 2019-10-03 17:00:31.167931299 -0300
|
||||
@@ -151,11 +151,11 @@ var('SAGE_DATE', version.date)
|
||||
var('SAGE_VERSION_BANNER', version.banner)
|
||||
|
||||
|
@ -27,13 +27,15 @@ diff -up src/sage/env.py.orig src/sage/env.py
|
|||
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'))
|
||||
@@ -181,9 +181,9 @@ var('CREMONA_MINI_DATA_DIR', joi
|
||||
@@ -181,11 +181,11 @@ var('CREMONA_MINI_DATA_DIR', joi
|
||||
var('CREMONA_LARGE_DATA_DIR', join(SAGE_SHARE, 'cremona'))
|
||||
var('JMOL_DIR', join(SAGE_SHARE, 'jmol'))
|
||||
var('JSMOL_DIR', join(SAGE_SHARE, 'jsmol'))
|
||||
-var('MATHJAX_DIR', join(SAGE_SHARE, 'mathjax'))
|
||||
+var('MATHJAX_DIR', join('/usr', 'share', 'javascript', 'mathjax'))
|
||||
var('MTXLIB', join(SAGE_SHARE, 'meataxe'))
|
||||
var('THREEJS_DIR', join(SAGE_SHARE, 'threejs'))
|
||||
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_FAS')
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
diff -up src/sage/algebras/clifford_algebra.py.orig src/sage/algebras/clifford_algebra.py
|
||||
--- src/sage/algebras/clifford_algebra.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/algebras/clifford_algebra.py 2019-09-11 15:46:56.658681891 -0600
|
||||
@@ -1520,7 +1520,7 @@ class ExteriorAlgebra(CliffordAlgebra):
|
||||
return term
|
||||
|
||||
def _ascii_art_term(self, m):
|
||||
- """
|
||||
+ r"""
|
||||
Return ascii art for the basis element indexed by ``m``.
|
||||
|
||||
EXAMPLES::
|
||||
diff -up src/sage/combinat/crystals/alcove_path.py.orig src/sage/combinat/crystals/alcove_path.py
|
||||
--- src/sage/combinat/crystals/alcove_path.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/combinat/crystals/alcove_path.py 2019-06-27 11:46:03.613253846 -0600
|
||||
@@ -383,7 +383,7 @@ class CrystalOfAlcovePaths(UniqueReprese
|
||||
|
||||
One can compute all vertices of the crystal by finding all the
|
||||
admissible subsets of the `\lambda`-chain (see method
|
||||
- is_admissible, for definition). We use the breath first
|
||||
+ is_admissible, for definition). We use the breadth first
|
||||
search algorithm.
|
||||
|
||||
.. WARNING::
|
||||
diff -up src/sage/rings/lazy_laurent_series_ring.py.orig src/sage/rings/lazy_laurent_series_ring.py
|
||||
--- src/sage/rings/lazy_laurent_series_ring.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/lazy_laurent_series_ring.py 2019-09-11 15:41:19.871081870 -0600
|
||||
@@ -260,7 +260,7 @@ class LazyLaurentSeriesRing(UniqueRepres
|
||||
return self._element_constructor_(0)
|
||||
|
||||
def series(self, coefficient, valuation, constant=None):
|
||||
- """
|
||||
+ r"""
|
||||
Return a lazy Laurent series.
|
||||
|
||||
INPUT:
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/module_list.py 2019-09-17 16:06:38.678583204 -0600
|
||||
@@ -357,16 +357,16 @@ ext_modules = [
|
||||
--- src/module_list.py.orig 2019-10-03 14:49:13.122428790 -0300
|
||||
+++ src/module_list.py 2019-10-03 14:49:25.274499871 -0300
|
||||
@@ -389,16 +389,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'],
|
||||
@@ -385,10 +385,10 @@ ext_modules = [
|
||||
@@ -417,10 +417,10 @@ ext_modules = [
|
||||
Extension('sage.graphs.graph_decompositions.cutwidth',
|
||||
sources = ['sage/graphs/graph_decompositions/cutwidth.pyx']),
|
||||
|
||||
|
@ -38,7 +38,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('sage.graphs.spanning_tree',
|
||||
sources = ['sage/graphs/spanning_tree.pyx']),
|
||||
@@ -440,9 +440,9 @@ ext_modules = [
|
||||
@@ -476,9 +476,9 @@ ext_modules = [
|
||||
##
|
||||
################################
|
||||
|
||||
|
@ -50,7 +50,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('*', ['sage/interfaces/*.pyx']),
|
||||
|
||||
@@ -461,21 +461,19 @@ ext_modules = [
|
||||
@@ -497,21 +497,19 @@ ext_modules = [
|
||||
##
|
||||
################################
|
||||
|
||||
|
@ -77,7 +77,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('sage.libs.flint.flint',
|
||||
sources = ["sage/libs/flint/flint.pyx"],
|
||||
@@ -504,10 +502,9 @@ ext_modules = [
|
||||
@@ -540,10 +538,9 @@ ext_modules = [
|
||||
sources = ["sage/libs/homfly.pyx"],
|
||||
libraries = ["homfly", "gc"]),
|
||||
|
||||
|
@ -89,7 +89,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
language = 'c++'),
|
||||
|
||||
Extension('*', ['sage/libs/linbox/*.pyx']),
|
||||
@@ -527,10 +524,10 @@ ext_modules = [
|
||||
@@ -563,10 +560,10 @@ ext_modules = [
|
||||
Extension('sage.libs.lrcalc.lrcalc',
|
||||
sources = ["sage/libs/lrcalc/lrcalc.pyx"]),
|
||||
|
||||
|
@ -104,7 +104,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('*', ['sage/libs/pari/*.pyx']),
|
||||
|
||||
@@ -841,10 +838,10 @@ ext_modules = [
|
||||
@@ -874,10 +871,10 @@ ext_modules = [
|
||||
Extension('sage.matrix.matrix_window',
|
||||
sources = ['sage/matrix/matrix_window.pyx']),
|
||||
|
||||
|
@ -119,7 +119,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('sage.matrix.misc',
|
||||
sources = ['sage/matrix/misc.pyx']),
|
||||
@@ -1021,26 +1018,25 @@ ext_modules = [
|
||||
@@ -1053,26 +1050,25 @@ ext_modules = [
|
||||
Extension("sage.numerical.backends.interactivelp_backend",
|
||||
["sage/numerical/backends/interactivelp_backend.pyx"]),
|
||||
|
||||
|
@ -128,17 +128,18 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
- 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.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"],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-09-11 08:51:57.722696682 -0600
|
||||
+++ src/module_list.py 2019-09-11 08:52:38.084040542 -0600
|
||||
@@ -470,10 +470,10 @@ ext_modules = [
|
||||
--- src/module_list.py.orig 2019-10-03 16:04:08.373152682 -0300
|
||||
+++ src/module_list.py 2019-10-03 16:04:19.877225413 -0300
|
||||
@@ -506,10 +506,10 @@ ext_modules = [
|
||||
Extension('sage.libs.ecl',
|
||||
sources = ["sage/libs/ecl.pyx"]),
|
||||
|
||||
|
|
|
@ -1,173 +0,0 @@
|
|||
diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
|
||||
--- src/sage/misc/sageinspect.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/misc/sageinspect.py 2019-09-11 08:58:24.194413905 -0600
|
||||
@@ -1658,6 +1658,121 @@ def sage_getargspec(obj):
|
||||
defaults = None
|
||||
return inspect.ArgSpec(args, varargs, varkw, defaults)
|
||||
|
||||
+def formatannotation(annotation, base_module=None):
|
||||
+ """
|
||||
+ This is taken from Python 3.7's inspect.py; the only change is to
|
||||
+ add documentation.
|
||||
+
|
||||
+ INPUT:
|
||||
+
|
||||
+ - ``annotation`` -- annotation for a function
|
||||
+ - ``base_module`` (optional, default ``None``)
|
||||
+
|
||||
+ This is only relevant with Python 3, so the doctests are marked
|
||||
+ accordingly.
|
||||
+
|
||||
+ EXAMPLES::
|
||||
+
|
||||
+ sage: from sage.misc.sageinspect import formatannotation
|
||||
+ sage: import inspect
|
||||
+ sage: def foo(a, *, b:int, **kwargs): # py3
|
||||
+ ....: pass
|
||||
+ ....:
|
||||
+ sage: s = inspect.signature(foo) # py3
|
||||
+
|
||||
+ sage: a = s.parameters['a'].annotation # py3
|
||||
+ sage: a # py3
|
||||
+ <class 'inspect._empty'>
|
||||
+ sage: formatannotation(a) # py3
|
||||
+ 'inspect._empty'
|
||||
+
|
||||
+ sage: b = s.parameters['b'].annotation # py3
|
||||
+ sage: b # py3
|
||||
+ <class 'int'>
|
||||
+ sage: formatannotation(b) # py3
|
||||
+ 'int'
|
||||
+ """
|
||||
+ if getattr(annotation, '__module__', None) == 'typing':
|
||||
+ return repr(annotation).replace('typing.', '')
|
||||
+ if isinstance(annotation, type):
|
||||
+ if annotation.__module__ in ('builtins', base_module):
|
||||
+ return annotation.__qualname__
|
||||
+ return annotation.__module__+'.'+annotation.__qualname__
|
||||
+ return repr(annotation)
|
||||
+
|
||||
+def sage_formatargspec(args, varargs=None, varkw=None, defaults=None,
|
||||
+ kwonlyargs=(), kwonlydefaults={}, annotations={},
|
||||
+ formatarg=str,
|
||||
+ formatvarargs=lambda name: '*' + name,
|
||||
+ formatvarkw=lambda name: '**' + name,
|
||||
+ formatvalue=lambda value: '=' + repr(value),
|
||||
+ formatreturns=lambda text: ' -> ' + text,
|
||||
+ formatannotation=formatannotation):
|
||||
+ """
|
||||
+ Format an argument spec from the values returned by getfullargspec.
|
||||
+
|
||||
+ The first seven arguments are (args, varargs, varkw, defaults,
|
||||
+ kwonlyargs, kwonlydefaults, annotations). The other five arguments
|
||||
+ are the corresponding optional formatting functions that are called to
|
||||
+ turn names and values into strings. The last argument is an optional
|
||||
+ function to format the sequence of arguments.
|
||||
+
|
||||
+ This is taken from Python 3.7's inspect.py, where it is
|
||||
+ deprecated. The only change, aside from documentation (this
|
||||
+ paragraph and the next, plus doctests), is to remove the
|
||||
+ deprecation warning.
|
||||
+
|
||||
+ Sage uses this function to format arguments, as obtained by
|
||||
+ :func:`sage_getargspec`. Since :func:`sage_getargspec` works for
|
||||
+ Cython functions while Python's inspect module does not, it makes
|
||||
+ sense to keep this function for formatting instances of
|
||||
+ ``inspect.ArgSpec``.
|
||||
+
|
||||
+ EXAMPLES::
|
||||
+
|
||||
+ sage: from sage.misc.sageinspect import sage_formatargspec
|
||||
+ sage: from inspect import formatargspec # deprecated in Python 3
|
||||
+ sage: args = ['a', 'b', 'c']
|
||||
+ sage: defaults = [3]
|
||||
+ sage: sage_formatargspec(args, defaults=defaults)
|
||||
+ '(a, b, c=3)'
|
||||
+ sage: formatargspec(args, defaults=defaults) == sage_formatargspec(args, defaults=defaults) # py2
|
||||
+ True
|
||||
+ sage: formatargspec(args, defaults=defaults) == sage_formatargspec(args, defaults=defaults) # py3
|
||||
+ doctest:...: DeprecationWarning: `formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directly
|
||||
+ True
|
||||
+ """
|
||||
+ def formatargandannotation(arg):
|
||||
+ result = formatarg(arg)
|
||||
+ if arg in annotations:
|
||||
+ result += ': ' + formatannotation(annotations[arg])
|
||||
+ return result
|
||||
+ specs = []
|
||||
+ if defaults:
|
||||
+ firstdefault = len(args) - len(defaults)
|
||||
+ for i, arg in enumerate(args):
|
||||
+ spec = formatargandannotation(arg)
|
||||
+ if defaults and i >= firstdefault:
|
||||
+ spec = spec + formatvalue(defaults[i - firstdefault])
|
||||
+ specs.append(spec)
|
||||
+ if varargs is not None:
|
||||
+ specs.append(formatvarargs(formatargandannotation(varargs)))
|
||||
+ else:
|
||||
+ if kwonlyargs:
|
||||
+ specs.append('*')
|
||||
+ if kwonlyargs:
|
||||
+ for kwonlyarg in kwonlyargs:
|
||||
+ spec = formatargandannotation(kwonlyarg)
|
||||
+ if kwonlydefaults and kwonlyarg in kwonlydefaults:
|
||||
+ spec += formatvalue(kwonlydefaults[kwonlyarg])
|
||||
+ specs.append(spec)
|
||||
+ if varkw is not None:
|
||||
+ specs.append(formatvarkw(formatargandannotation(varkw)))
|
||||
+ result = '(' + ', '.join(specs) + ')'
|
||||
+ if 'return' in annotations:
|
||||
+ result += formatreturns(formatannotation(annotations['return']))
|
||||
+ return result
|
||||
+
|
||||
|
||||
def sage_getdef(obj, obj_name=''):
|
||||
r"""
|
||||
@@ -1693,7 +1808,7 @@ def sage_getdef(obj, obj_name=''):
|
||||
"""
|
||||
try:
|
||||
spec = sage_getargspec(obj)
|
||||
- s = str(inspect.formatargspec(*spec))
|
||||
+ s = str(sage_formatargspec(*spec))
|
||||
s = s.strip('(').strip(')').strip()
|
||||
if s[:4] == 'self':
|
||||
s = s[4:]
|
||||
diff -up src/sage_setup/docbuild/ext/sage_autodoc.py.orig src/sage_setup/docbuild/ext/sage_autodoc.py
|
||||
--- src/sage_setup/docbuild/ext/sage_autodoc.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage_setup/docbuild/ext/sage_autodoc.py 2019-09-11 08:59:53.728932096 -0600
|
||||
@@ -38,7 +38,7 @@ from six import PY2, iteritems, itervalu
|
||||
import sphinx
|
||||
from sphinx.errors import ExtensionError
|
||||
from sphinx.ext.autodoc.importer import mock, import_object, get_object_members
|
||||
-from sphinx.ext.autodoc.inspector import format_annotation, formatargspec
|
||||
+from sphinx.ext.autodoc.inspector import format_annotation
|
||||
from sphinx.locale import _, __
|
||||
from sphinx.pycode import ModuleAnalyzer
|
||||
from sphinx.errors import ExtensionError, PycodeError
|
||||
@@ -51,7 +51,8 @@ from sphinx.util.inspect import Signatur
|
||||
from sphinx.util.inspect import getargspec
|
||||
|
||||
from sage.misc.sageinspect import (sage_getdoc_original,
|
||||
- sage_getargspec, isclassinstance)
|
||||
+ sage_getargspec, isclassinstance,
|
||||
+ sage_formatargspec)
|
||||
from sage.misc.lazy_import import LazyImport
|
||||
|
||||
# This is used to filter objects of classes that inherit from
|
||||
@@ -123,6 +124,16 @@ def bool_option(arg):
|
||||
return True
|
||||
|
||||
|
||||
+def formatargspec(function, args, varargs=None, varkw=None, defaults=None,
|
||||
+ kwonlyargs=(), kwonlydefaults={}, annotations={}):
|
||||
+ """
|
||||
+ Sphinx's version of formatargspec is deprecated, so use Sage's instead.
|
||||
+ """
|
||||
+ return sage_formatargspec(args, varargs=varargs, varkw=varkw, defaults=defaults,
|
||||
+ kwonlyargs=kwonlyargs, kwonlydefaults=kwonlydefaults,
|
||||
+ annotations=annotations)
|
||||
+
|
||||
+
|
||||
class AutodocReporter(object):
|
||||
"""
|
||||
A reporter replacement that assigns the correct source name
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-09-11 08:52:38.084040542 -0600
|
||||
+++ src/module_list.py 2019-09-11 09:03:51.394981074 -0600
|
||||
--- src/module_list.py.orig 2019-10-03 16:21:27.371721895 -0300
|
||||
+++ src/module_list.py 2019-10-03 16:28:36.076432442 -0300
|
||||
@@ -44,6 +44,9 @@ zlib_libs = zlib_pc['libraries']
|
||||
zlib_library_dirs = zlib_pc['library_dirs']
|
||||
zlib_include_dirs = zlib_pc['include_dirs']
|
||||
|
@ -26,7 +26,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
### Library order
|
||||
#########################################################
|
||||
|
||||
@@ -133,7 +144,8 @@ ext_modules = [
|
||||
@@ -134,7 +145,8 @@ ext_modules = [
|
||||
language='c++',
|
||||
libraries = ["gmp", "m", "ntl"]),
|
||||
|
||||
|
@ -36,7 +36,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('*', sources = ['sage/algebras/finite_dimensional_algebras/*.pyx']),
|
||||
|
||||
@@ -522,7 +534,8 @@ ext_modules = [
|
||||
@@ -558,7 +570,8 @@ ext_modules = [
|
||||
[])),
|
||||
|
||||
Extension('sage.libs.lrcalc.lrcalc',
|
||||
|
@ -46,7 +46,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
# OptionalExtension("sage.libs.meataxe",
|
||||
# sources = ['sage/libs/meataxe.pyx'],
|
||||
@@ -544,23 +557,28 @@ ext_modules = [
|
||||
@@ -580,23 +593,28 @@ ext_modules = [
|
||||
sources = ['sage/libs/readline.pyx'],
|
||||
libraries = ['readline']),
|
||||
|
||||
|
@ -80,7 +80,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
###################################
|
||||
##
|
||||
@@ -568,7 +586,8 @@ ext_modules = [
|
||||
@@ -604,7 +622,8 @@ ext_modules = [
|
||||
##
|
||||
###################################
|
||||
|
||||
|
@ -90,17 +90,17 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
###################################
|
||||
##
|
||||
@@ -740,7 +759,8 @@ ext_modules = [
|
||||
@@ -776,7 +795,8 @@ ext_modules = [
|
||||
|
||||
Extension("sage.matrix.matrix_complex_ball_dense",
|
||||
["sage/matrix/matrix_complex_ball_dense.pyx"],
|
||||
- libraries=['arb']),
|
||||
- libraries=[arb_dylib_name]),
|
||||
+ include_dirs = arb_include_dirs,
|
||||
+ libraries=arb_libs),
|
||||
|
||||
Extension('sage.matrix.matrix_complex_double_dense',
|
||||
sources = ['sage/matrix/matrix_complex_double_dense.pyx']),
|
||||
@@ -748,6 +768,7 @@ ext_modules = [
|
||||
@@ -784,6 +804,7 @@ ext_modules = [
|
||||
Extension('sage.matrix.matrix_cyclo_dense',
|
||||
sources = ['sage/matrix/matrix_cyclo_dense.pyx'],
|
||||
language = "c++",
|
||||
|
@ -108,7 +108,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
libraries=['ntl']),
|
||||
|
||||
Extension('sage.matrix.matrix_gap',
|
||||
@@ -810,6 +831,7 @@ ext_modules = [
|
||||
@@ -844,6 +865,7 @@ ext_modules = [
|
||||
sources = ['sage/matrix/matrix_modn_sparse.pyx']),
|
||||
|
||||
Extension('sage.matrix.matrix_mpolynomial_dense',
|
||||
|
@ -116,7 +116,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']),
|
||||
|
||||
Extension('sage.matrix.matrix_polynomial_dense',
|
||||
@@ -1099,7 +1121,8 @@ ext_modules = [
|
||||
@@ -1131,7 +1153,8 @@ ext_modules = [
|
||||
language = 'c++'),
|
||||
|
||||
Extension("sage.rings.complex_arb",
|
||||
|
@ -126,7 +126,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('sage.rings.complex_double',
|
||||
sources = ['sage/rings/complex_double.pyx'],
|
||||
@@ -1175,7 +1198,8 @@ ext_modules = [
|
||||
@@ -1207,7 +1230,8 @@ ext_modules = [
|
||||
sources = ['sage/rings/real_interval_absolute.pyx']),
|
||||
|
||||
Extension("sage.rings.real_arb",
|
||||
|
@ -136,7 +136,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
|
||||
Extension('sage.rings.real_lazy',
|
||||
sources = ['sage/rings/real_lazy.pyx']),
|
||||
@@ -1258,6 +1282,7 @@ ext_modules = [
|
||||
@@ -1290,6 +1314,7 @@ ext_modules = [
|
||||
|
||||
Extension('sage.rings.number_field.number_field_element_quadratic',
|
||||
sources = ['sage/rings/number_field/number_field_element_quadratic.pyx'],
|
||||
|
@ -144,7 +144,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
libraries=['ntl'],
|
||||
language = 'c++'),
|
||||
|
||||
@@ -1397,12 +1422,15 @@ ext_modules = [
|
||||
@@ -1429,12 +1454,15 @@ ext_modules = [
|
||||
sources = ['sage/rings/polynomial/multi_polynomial.pyx']),
|
||||
|
||||
Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular',
|
||||
|
@ -160,7 +160,7 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
sources = ['sage/rings/polynomial/multi_polynomial_libsingular.pyx']),
|
||||
|
||||
Extension('sage.rings.polynomial.multi_polynomial_ring_base',
|
||||
@@ -1415,7 +1443,8 @@ ext_modules = [
|
||||
@@ -1447,7 +1475,8 @@ ext_modules = [
|
||||
sources = ['sage/rings/polynomial/polydict.pyx']),
|
||||
|
||||
Extension('sage.rings.polynomial.polynomial_complex_arb',
|
||||
|
@ -171,8 +171,8 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
Extension('sage.rings.polynomial.polynomial_compiled',
|
||||
sources = ['sage/rings/polynomial/polynomial_compiled.pyx']),
|
||||
diff -up src/setup.py.orig src/setup.py
|
||||
--- src/setup.py.orig 2019-09-11 08:51:46.080885941 -0600
|
||||
+++ src/setup.py 2019-09-11 09:03:51.394981074 -0600
|
||||
--- src/setup.py.orig 2019-10-03 16:28:47.206502813 -0300
|
||||
+++ src/setup.py 2019-10-03 16:29:08.059634660 -0300
|
||||
@@ -85,6 +85,7 @@ keep_going = False
|
||||
|
||||
# search for dependencies and add to gcc -I<path>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
|
||||
--- src/sage/interfaces/latte.py.orig 2019-04-08 12:05:07.092855841 -0600
|
||||
+++ src/sage/interfaces/latte.py 2019-04-08 13:37:31.377803169 -0600
|
||||
@@ -113,7 +113,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
# Check that LattE is present
|
||||
Latte().require()
|
||||
--- src/sage/interfaces/latte.py.orig 2019-10-03 16:52:46.496156266 -0300
|
||||
+++ src/sage/interfaces/latte.py 2019-10-03 16:53:00.776241550 -0300
|
||||
@@ -117,7 +117,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
|
||||
arg = str_to_bytes(arg)
|
||||
|
||||
- args = ['count']
|
||||
+ args = ['latte-count']
|
||||
if ehrhart_polynomial and multivariate_generating_function:
|
||||
raise ValueError
|
||||
if ehrhart_polynomial:
|
||||
@@ -308,7 +308,7 @@ def integrate(arg, polynomial=None, algo
|
||||
@@ -317,7 +317,7 @@ def integrate(arg, polynomial=None, algo
|
||||
|
||||
from sage.rings.rational import Rational
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-06-27 11:30:20.794201914 -0600
|
||||
+++ src/module_list.py 2019-06-27 11:38:23.103196674 -0600
|
||||
@@ -514,7 +514,7 @@ ext_modules = [
|
||||
--- src/module_list.py.orig 2019-10-03 16:00:44.899866273 -0300
|
||||
+++ src/module_list.py 2019-10-03 16:00:56.451939308 -0300
|
||||
@@ -548,7 +548,7 @@ ext_modules = [
|
||||
Extension('sage.libs.lcalc.lcalc_Lfunction',
|
||||
sources = ['sage/libs/lcalc/lcalc_Lfunction.pyx'],
|
||||
libraries = ['m', 'ntl', 'Lfunction'],
|
||||
|
@ -10,3 +10,12 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
language = 'c++'),
|
||||
|
||||
Extension('sage.libs.libecm',
|
||||
diff -up src/sage/libs/lcalc/lcalc_sage.h.orig src/sage/libs/lcalc/lcalc_sage.h
|
||||
--- src/sage/libs/lcalc/lcalc_sage.h.orig 2019-10-25 15:58:31.890166910 -0300
|
||||
+++ src/sage/libs/lcalc/lcalc_sage.h 2019-10-25 15:59:02.535343196 -0300
|
||||
@@ -1,4 +1,4 @@
|
||||
-#include "Lfunction/L.h"
|
||||
+#include "libLfunction/L.h"
|
||||
int *new_ints(int l)
|
||||
{
|
||||
return new int[l];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-04-08 15:06:42.789735582 -0600
|
||||
+++ src/module_list.py 2019-04-08 15:09:46.553467045 -0600
|
||||
--- src/module_list.py.orig 2019-10-03 16:51:55.350850836 -0300
|
||||
+++ src/module_list.py 2019-10-03 16:52:06.479917297 -0300
|
||||
@@ -11,20 +11,17 @@ SAGE_INC = '/usr/include'
|
||||
import pkgconfig
|
||||
|
||||
|
@ -29,9 +29,9 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
# GD image library
|
||||
gd_pc = pkgconfig.parse('gdlib')
|
||||
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
||||
--- src/sage/misc/cython.py.orig 2019-04-08 15:05:22.838157654 -0600
|
||||
+++ src/sage/misc/cython.py 2019-04-08 15:11:50.191262902 -0600
|
||||
@@ -38,10 +38,9 @@ from sage.misc.sage_ostools import resto
|
||||
--- src/sage/misc/cython.py.orig 2019-10-03 16:51:42.848776173 -0300
|
||||
+++ src/sage/misc/cython.py 2019-10-03 16:52:06.480917303 -0300
|
||||
@@ -35,10 +35,9 @@ from sage.misc.sage_ostools import resto
|
||||
|
||||
|
||||
# CBLAS can be one of multiple implementations
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up build/pkgs/sagenb/src/sagenb/misc/support.py.orig build/pkgs/sagenb/src/sagenb/misc/support.py
|
||||
--- build/pkgs/sagenb/src/sagenb/misc/support.py.orig 2019-02-01 06:34:20.000000000 -0700
|
||||
+++ build/pkgs/sagenb/src/sagenb/misc/support.py 2019-04-08 12:02:29.162692936 -0600
|
||||
--- build/pkgs/sagenb/src/sagenb/misc/support.py.orig 2019-10-09 15:29:08.866640263 -0300
|
||||
+++ build/pkgs/sagenb/src/sagenb/misc/support.py 2019-10-09 15:29:13.695667468 -0300
|
||||
@@ -178,7 +178,7 @@ def completions(s, globs, format=False,
|
||||
try:
|
||||
if not '.' in s and not '(' in s:
|
||||
|
@ -11,8 +11,8 @@ diff -up build/pkgs/sagenb/src/sagenb/misc/support.py.orig build/pkgs/sagenb/src
|
|||
if not ')' in s:
|
||||
i = s.rfind('.')
|
||||
diff -up build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py
|
||||
--- build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig 2019-02-01 05:37:36.000000000 -0700
|
||||
+++ build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py 2019-04-08 11:59:49.259545960 -0600
|
||||
--- build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig 2019-10-09 15:29:08.867640268 -0300
|
||||
+++ build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py 2019-10-09 15:29:13.696667474 -0300
|
||||
@@ -25,7 +25,7 @@ This module contains three classes:
|
||||
|
||||
.. NOTE::
|
||||
|
@ -32,8 +32,8 @@ diff -up build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig build/pk
|
|||
# HTMLParser, and may never actually be visibly called here.
|
||||
|
||||
diff -up build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py
|
||||
--- build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig 2019-02-01 05:37:36.000000000 -0700
|
||||
+++ build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py 2019-04-08 11:59:49.260545943 -0600
|
||||
--- build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig 2019-10-09 15:29:08.870640285 -0300
|
||||
+++ build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py 2019-10-09 15:29:13.697667479 -0300
|
||||
@@ -59,7 +59,7 @@ class Parser:
|
||||
'parent': r'(?:%s)?' % re.escape(PARENT_PREFIX),
|
||||
}
|
||||
|
@ -44,8 +44,8 @@ diff -up build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig build/pkgs/sage
|
|||
'punct': punct_pattern,
|
||||
}
|
||||
diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/extractsagecode.py
|
||||
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-01-09 09:51:28.000000000 -0700
|
||||
+++ build/pkgs/sagetex/src/extractsagecode.py 2019-06-27 11:33:54.098080502 -0600
|
||||
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-10-09 15:29:08.872640297 -0300
|
||||
+++ build/pkgs/sagetex/src/extractsagecode.py 2019-10-09 15:29:13.697667479 -0300
|
||||
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
|
||||
|
||||
try:
|
||||
|
@ -56,8 +56,8 @@ diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/e
|
|||
usage()
|
||||
sys.exit(2)
|
||||
diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makestatic.py
|
||||
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-01-09 09:51:28.000000000 -0700
|
||||
+++ build/pkgs/sagetex/src/makestatic.py 2019-06-27 11:33:54.098080502 -0600
|
||||
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-10-09 15:29:08.874640308 -0300
|
||||
+++ build/pkgs/sagetex/src/makestatic.py 2019-10-09 15:29:13.698667485 -0300
|
||||
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
|
||||
|
||||
try:
|
||||
|
@ -68,8 +68,8 @@ diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makest
|
|||
usage()
|
||||
sys.exit(2)
|
||||
diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/remote-sagetex.py
|
||||
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-01-09 09:51:28.000000000 -0700
|
||||
+++ build/pkgs/sagetex/src/remote-sagetex.py 2019-04-08 11:59:49.263545889 -0600
|
||||
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-10-09 15:29:08.876640319 -0300
|
||||
+++ build/pkgs/sagetex/src/remote-sagetex.py 2019-10-09 15:29:13.698667485 -0300
|
||||
@@ -24,12 +24,11 @@
|
||||
## You should have received a copy of the GNU General Public License along
|
||||
## with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
@ -133,8 +133,8 @@ diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/re
|
|||
if not password:
|
||||
from getpass import getpass
|
||||
diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sagetexparse.py
|
||||
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-01-09 09:51:28.000000000 -0700
|
||||
+++ build/pkgs/sagetex/src/sagetexparse.py 2019-09-10 12:24:06.752516723 -0600
|
||||
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-10-09 15:29:08.877640325 -0300
|
||||
+++ build/pkgs/sagetex/src/sagetexparse.py 2019-10-09 15:29:13.699667491 -0300
|
||||
@@ -132,7 +132,7 @@ class SageCodeExtractor():
|
||||
|
||||
def plotout(self, s, l, t):
|
||||
|
@ -144,42 +144,9 @@ diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sage
|
|||
self.result += '# format: %s' % t.format[0][1:-1] + '\n'
|
||||
self.result += t.code[1:-1] + '\n\n'
|
||||
|
||||
diff -up src/doc/common/conf.py.orig src/doc/common/conf.py
|
||||
--- src/doc/common/conf.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/doc/common/conf.py 2019-06-27 11:33:54.099080488 -0600
|
||||
@@ -566,7 +566,7 @@ skip_picklability_check_modules = [
|
||||
#'sage.misc.nested_class_test', # for test only
|
||||
'sage.misc.latex',
|
||||
'sage.misc.explain_pickle',
|
||||
- '__builtin__',
|
||||
+ 'builtins',
|
||||
]
|
||||
|
||||
def check_nested_class_picklability(app, what, name, obj, skip, options):
|
||||
@@ -615,7 +615,7 @@ def skip_member(app, what, name, obj, sk
|
||||
if 'SAGE_CHECK_NESTED' in os.environ:
|
||||
check_nested_class_picklability(app, what, name, obj, skip, options)
|
||||
|
||||
- if getattr(obj, '__module__', None) == '__builtin__':
|
||||
+ if getattr(obj, '__module__', None) == 'builtins':
|
||||
return True
|
||||
|
||||
objname = getattr(obj, "__name__", None)
|
||||
diff -up src/sage/coding/linear_code.py.orig src/sage/coding/linear_code.py
|
||||
--- src/sage/coding/linear_code.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/coding/linear_code.py 2019-09-10 12:21:10.421332817 -0600
|
||||
@@ -3793,7 +3793,7 @@ class LinearCode(AbstractLinearCode):
|
||||
[1 2 1]
|
||||
[2 1 1]
|
||||
"""
|
||||
- if encoder_name is None or encoder_name is 'GeneratorMatrix':
|
||||
+ if encoder_name is None or encoder_name == 'GeneratorMatrix':
|
||||
g = self._generator_matrix
|
||||
else:
|
||||
g = super(LinearCode, self).generator_matrix(encoder_name, **kwargs)
|
||||
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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/combinat/finite_state_machine.py 2019-06-27 11:36:38.804783269 -0600
|
||||
--- src/sage/combinat/finite_state_machine.py.orig 2019-10-09 15:29:08.880640342 -0300
|
||||
+++ src/sage/combinat/finite_state_machine.py 2019-10-09 15:29:13.703667513 -0300
|
||||
@@ -936,7 +936,7 @@ from six.moves import range, zip_longest
|
||||
from six import itervalues
|
||||
|
||||
|
@ -189,7 +156,7 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
|
|||
import itertools
|
||||
from copy import copy, deepcopy
|
||||
|
||||
@@ -14207,7 +14207,7 @@ def is_FSMProcessIterator(PI):
|
||||
@@ -14166,7 +14166,7 @@ def is_FSMProcessIterator(PI):
|
||||
|
||||
|
||||
class FSMProcessIterator(SageObject,
|
||||
|
@ -199,8 +166,8 @@ 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/multiset_partition_into_sets_ordered.py.orig src/sage/combinat/multiset_partition_into_sets_ordered.py
|
||||
--- src/sage/combinat/multiset_partition_into_sets_ordered.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/combinat/multiset_partition_into_sets_ordered.py 2019-09-10 12:20:47.787694285 -0600
|
||||
--- src/sage/combinat/multiset_partition_into_sets_ordered.py.orig 2019-10-09 15:29:08.882640353 -0300
|
||||
+++ src/sage/combinat/multiset_partition_into_sets_ordered.py 2019-10-09 15:29:13.704667519 -0300
|
||||
@@ -1952,7 +1952,7 @@ class OrderedMultisetPartitionsIntoSets(
|
||||
|
||||
# slice by 'order'
|
||||
|
@ -211,8 +178,8 @@ diff -up src/sage/combinat/multiset_partition_into_sets_ordered.py.orig src/sage
|
|||
|
||||
# slice by 'size'
|
||||
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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/combinat/root_system/branching_rules.py 2019-09-09 15:08:59.383139652 -0600
|
||||
--- src/sage/combinat/root_system/branching_rules.py.orig 2019-10-09 15:29:08.884640364 -0300
|
||||
+++ src/sage/combinat/root_system/branching_rules.py 2019-10-09 15:29:13.707667536 -0300
|
||||
@@ -1750,7 +1750,7 @@ def branching_rule(Rtype, Stype, rule="d
|
||||
elif rule == "tensor" or rule == "tensor-debug":
|
||||
if not Stype.is_compound():
|
||||
|
@ -222,33 +189,10 @@ diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat
|
|||
raise ValueError("Not implemented")
|
||||
if Rtype[0] == 'A':
|
||||
nr = Rtype[1]+1
|
||||
diff -up src/sage/cpython/dict_del_by_value.pyx.orig src/sage/cpython/dict_del_by_value.pyx
|
||||
--- src/sage/cpython/dict_del_by_value.pyx.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/cpython/dict_del_by_value.pyx 2019-09-09 15:32:24.921024261 -0600
|
||||
@@ -291,7 +291,7 @@ ELIF PY_VERSION_HEX>=0x03060000:
|
||||
#general lookup function (which can deal with DKIX_DUMMY)
|
||||
PyDict_GetItemWithError(<dict>mp,None)
|
||||
#this can actually fail if mp is a dictionary with split table
|
||||
- assert DK_LOOKUP(mp) == lookdict
|
||||
+ #assert DK_LOOKUP(mp) == lookdict
|
||||
|
||||
cdef del_dictitem_by_exact_value(PyDictObject *mp, PyObject *value, Py_hash_t hash):
|
||||
"""
|
||||
@@ -347,8 +347,8 @@ ELIF PY_VERSION_HEX>=0x03060000:
|
||||
cdef MyPyDictKeysObject * keys = <MyPyDictKeysObject *>(mp.ma_keys)
|
||||
cdef size_t perturb
|
||||
cdef size_t mask = <size_t> keys.dk_size-1
|
||||
- cdef PyDictKeyEntry *entries, *ep
|
||||
- entries = DK_ENTRIES(keys)
|
||||
+ cdef PyDictKeyEntry *ep
|
||||
+ cdef PyDictKeyEntry *entries = DK_ENTRIES(keys)
|
||||
|
||||
if mp.ma_values != NULL:
|
||||
print ("del_dictitem_by_exact_value cannot be applied to a shared key dict")
|
||||
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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/geometry/triangulation/point_configuration.py 2019-06-27 11:33:54.103080432 -0600
|
||||
@@ -623,7 +623,7 @@ class PointConfiguration(UniqueRepresent
|
||||
--- src/sage/geometry/triangulation/point_configuration.py.orig 2019-10-09 15:29:08.886640376 -0300
|
||||
+++ src/sage/geometry/triangulation/point_configuration.py 2019-10-09 15:29:13.707667536 -0300
|
||||
@@ -619,7 +619,7 @@ class PointConfiguration(UniqueRepresent
|
||||
['{{0,1,2,4},{1,2,3,4}}']
|
||||
"""
|
||||
timeout = 600
|
||||
|
@ -257,82 +201,21 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
|
|||
proc.expect(r'Evaluating Commandline Options \.\.\.')
|
||||
proc.expect(r'\.\.\. done\.')
|
||||
proc.setecho(0)
|
||||
diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
|
||||
--- src/sage/graphs/graph_latex.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/graphs/graph_latex.py 2019-09-10 12:23:28.891121378 -0600
|
||||
@@ -1156,7 +1156,7 @@ class GraphLatex(SageObject):
|
||||
#
|
||||
elif name in color_dicts:
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, c in value.items():
|
||||
try:
|
||||
@@ -1165,42 +1165,42 @@ class GraphLatex(SageObject):
|
||||
raise ValueError('%s option for %s needs to be a matplotlib color (always as a string), not %s' % (name, key, c))
|
||||
elif name in positive_scalar_dicts:
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, x in value.items():
|
||||
if not type(x) in [int, Integer, float, RealLiteral] or not x >= 0.0:
|
||||
raise ValueError('%s option for %s needs to be a positive number, not %s' % (name, key, x))
|
||||
elif name in boolean_dicts:
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, b in value.items():
|
||||
if not isinstance(b, bool):
|
||||
raise ValueError('%s option for %s needs to be True or False, not %s' % (name, key, b))
|
||||
elif name == 'vertex_shapes':
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, s in value.items():
|
||||
if s not in shape_names:
|
||||
raise ValueError('%s option for %s needs to be a vertex shape, not %s' % (name, key, s))
|
||||
elif name == 'vertex_label_placements':
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, p in value.items():
|
||||
if not(p == 'center') and not(isinstance(p, tuple) and len(p) == 2 and type(p[0]) in number_types and p[0] >= 0 and type(p[1]) in number_types and p[1] >= 0):
|
||||
raise ValueError('%s option for %s needs to be None or a pair of positive numbers, not %s' % (name, key, p))
|
||||
elif name == 'edge_label_placements':
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
for key, p in value.items():
|
||||
if not(type(p) in [float, RealLiteral] and (0 <= p) and (p <= 1)) and not(p in label_places):
|
||||
raise ValueError('%s option for %s needs to be a number between 0.0 and 1.0 or a place (like "above"), not %s' % (name, key, p))
|
||||
elif name == 'loop_placements':
|
||||
if not isinstance(value, dict):
|
||||
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
|
||||
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
|
||||
else:
|
||||
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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/interfaces/frobby.py 2019-06-27 11:33:54.103080432 -0600
|
||||
--- src/sage/interfaces/frobby.py.orig 2019-10-09 15:29:08.888640387 -0300
|
||||
+++ src/sage/interfaces/frobby.py 2019-10-09 15:29:13.707667536 -0300
|
||||
@@ -77,7 +77,7 @@ class Frobby:
|
||||
print("Frobby command: ", repr(command))
|
||||
print("Frobby input:\n", input)
|
||||
|
||||
- process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE)
|
||||
+ process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE, encoding='utf-8')
|
||||
+ process = Popen(command, stdin = PIPE, stdout = PIPE, stderr = PIPE, enconding='utf-8')
|
||||
output, err = process.communicate(input = input)
|
||||
|
||||
if verbose:
|
||||
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
|
||||
--- src/sage/interfaces/gfan.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/interfaces/gfan.py 2019-06-27 11:33:54.104080419 -0600
|
||||
--- src/sage/interfaces/gfan.py.orig 2019-10-09 15:29:08.889640393 -0300
|
||||
+++ src/sage/interfaces/gfan.py 2019-10-09 15:29:13.708667541 -0300
|
||||
@@ -66,7 +66,7 @@ class Gfan(object):
|
||||
if six.PY2:
|
||||
enc_kwargs = {}
|
||||
|
@ -343,8 +226,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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/interfaces/gp.py 2019-06-27 11:33:54.104080419 -0600
|
||||
--- src/sage/interfaces/gp.py.orig 2019-10-09 15:29:08.891640404 -0300
|
||||
+++ src/sage/interfaces/gp.py 2019-10-09 15:29:13.709667547 -0300
|
||||
@@ -934,17 +934,6 @@ class GpElement(ExpectElement):
|
||||
"""
|
||||
return repr(self.type()) == 't_STR'
|
||||
|
@ -364,9 +247,9 @@ 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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/interfaces/latte.py 2019-06-27 11:33:54.104080419 -0600
|
||||
@@ -148,6 +148,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
--- src/sage/interfaces/latte.py.orig 2019-10-09 15:29:08.893640415 -0300
|
||||
+++ src/sage/interfaces/latte.py 2019-10-09 15:29:13.709667547 -0300
|
||||
@@ -152,6 +152,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
latte_proc = Popen(args,
|
||||
stdin=PIPE, stdout=PIPE,
|
||||
stderr=(None if verbose else PIPE),
|
||||
|
@ -374,7 +257,7 @@ diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
|
|||
cwd=str(SAGE_TMP))
|
||||
|
||||
ans, err = latte_proc.communicate(arg)
|
||||
@@ -355,6 +356,7 @@ def integrate(arg, polynomial=None, algo
|
||||
@@ -364,6 +365,7 @@ def integrate(arg, polynomial=None, algo
|
||||
latte_proc = Popen(args,
|
||||
stdin=PIPE, stdout=PIPE,
|
||||
stderr=(None if verbose else PIPE),
|
||||
|
@ -383,8 +266,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 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/interfaces/sagespawn.pyx 2019-06-27 11:33:54.104080419 -0600
|
||||
--- src/sage/interfaces/sagespawn.pyx.orig 2019-10-09 15:29:08.894640421 -0300
|
||||
+++ src/sage/interfaces/sagespawn.pyx 2019-10-09 15:29:13.709667547 -0300
|
||||
@@ -1,6 +1,6 @@
|
||||
"""
|
||||
Sage wrapper around pexpect's ``spawn`` class and
|
||||
|
@ -433,9 +316,9 @@ diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.py
|
|||
pass
|
||||
self.fileobj.close()
|
||||
diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx
|
||||
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/libs/coxeter3/coxeter.pyx 2019-09-12 14:57:59.755712128 -0600
|
||||
@@ -32,7 +32,7 @@ cdef class String:
|
||||
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2019-10-09 15:29:08.896640432 -0300
|
||||
+++ src/sage/libs/coxeter3/coxeter.pyx 2019-10-09 15:29:13.709667547 -0300
|
||||
@@ -33,7 +33,7 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -444,7 +327,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
hello
|
||||
sage: del s # optional - coxeter3
|
||||
"""
|
||||
@@ -43,11 +43,11 @@ cdef class String:
|
||||
@@ -44,11 +44,11 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -453,12 +336,12 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: s # optional - coxeter3
|
||||
Hi
|
||||
"""
|
||||
- return self.x.ptr()
|
||||
- return bytes_to_str(self.x.ptr())
|
||||
+ return self.x.ptr().decode('utf-8')
|
||||
|
||||
def __hash__(self):
|
||||
"""
|
||||
@@ -59,7 +59,7 @@ cdef class String:
|
||||
@@ -60,7 +60,7 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -467,7 +350,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: hash(s) == hash('hello') # optional - coxeter3
|
||||
True
|
||||
"""
|
||||
@@ -70,9 +70,9 @@ cdef class String:
|
||||
@@ -71,9 +71,9 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -480,7 +363,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: ta1 == ta2 # optional - coxeter3
|
||||
True
|
||||
sage: tb != ta1 # optional - coxeter3
|
||||
@@ -108,7 +108,7 @@ cdef class String:
|
||||
@@ -109,7 +109,7 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -489,7 +372,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: len(s) # optional - coxeter3
|
||||
2
|
||||
"""
|
||||
@@ -119,7 +119,7 @@ cdef class String:
|
||||
@@ -120,7 +120,7 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import String # optional - coxeter3
|
||||
|
@ -498,7 +381,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: TestSuite(s).run() # optional - coxeter3
|
||||
"""
|
||||
return (String, (repr(self),) )
|
||||
@@ -133,7 +133,7 @@ cdef class Type:
|
||||
@@ -134,7 +134,7 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -507,7 +390,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
A
|
||||
sage: del t # optional - coxeter3
|
||||
"""
|
||||
@@ -144,17 +144,17 @@ cdef class Type:
|
||||
@@ -145,7 +145,7 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -515,11 +398,8 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
+ sage: t = Type(b'A'); t # optional - coxeter3
|
||||
A
|
||||
"""
|
||||
- return self.x.name().ptr()
|
||||
+ return self.x.name().ptr().decode('utf-8')
|
||||
|
||||
def name(self):
|
||||
"""
|
||||
return bytes_to_str(self.x.name().ptr())
|
||||
@@ -155,7 +155,7 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -528,7 +408,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: t.name() # optional - coxeter3
|
||||
A
|
||||
"""
|
||||
@@ -170,8 +170,8 @@ cdef class Type:
|
||||
@@ -171,8 +171,8 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -539,7 +419,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: hash(a) == hash(b) # optional - coxeter3
|
||||
False
|
||||
sage: d = {a: 1, b: 2} # optional - coxeter3
|
||||
@@ -183,9 +183,9 @@ cdef class Type:
|
||||
@@ -184,9 +184,9 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -552,7 +432,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: ta1 == ta2 # optional - coxeter3
|
||||
True
|
||||
sage: tb != ta1 # optional - coxeter3
|
||||
@@ -219,7 +219,7 @@ cdef class Type:
|
||||
@@ -220,7 +220,7 @@ cdef class Type:
|
||||
EXAMPLES::
|
||||
|
||||
sage: from sage.libs.coxeter3.coxeter import Type # optional - coxeter3
|
||||
|
@ -561,7 +441,7 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
|
|||
sage: TestSuite(t).run() # optional - coxeter3
|
||||
"""
|
||||
return (Type, (repr(self), ))
|
||||
@@ -256,7 +256,7 @@ cdef class CoxGroup(SageObject):
|
||||
@@ -257,7 +257,7 @@ cdef class CoxGroup(SageObject):
|
||||
type = type.lower()
|
||||
rank = rank + 1
|
||||
|
||||
|
@ -571,8 +451,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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/misc/parser.pyx 2019-06-27 11:33:54.105080405 -0600
|
||||
--- src/sage/misc/parser.pyx.orig 2019-10-09 15:29:08.898640443 -0300
|
||||
+++ src/sage/misc/parser.pyx 2019-10-09 15:30:11.051990579 -0300
|
||||
@@ -96,7 +96,7 @@ def token_to_str(int token):
|
||||
|
||||
|
||||
|
@ -810,7 +690,7 @@ diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
|
|||
operand2 = self.p_factor(tokens)
|
||||
return operand1 ** operand2
|
||||
- elif token == "!":
|
||||
+ elif token == c'!':
|
||||
+ elif token == c"!":
|
||||
from sage.functions.all import factorial
|
||||
operand1 = factorial(operand1)
|
||||
- if tokens.peek() == '^':
|
||||
|
@ -867,25 +747,13 @@ diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
|
|||
tokens.next()
|
||||
return name, self.p_expr(tokens)
|
||||
- if token == "[" :
|
||||
+ if token == c'[' :
|
||||
+ if token == c"[" :
|
||||
tokens.backtrack()
|
||||
return self.p_list(tokens)
|
||||
else:
|
||||
diff -up src/sage/modular/abvar/abvar.py.orig src/sage/modular/abvar/abvar.py
|
||||
--- src/sage/modular/abvar/abvar.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/modular/abvar/abvar.py 2019-09-09 15:08:24.875810751 -0600
|
||||
@@ -3703,7 +3703,7 @@ class ModularAbelianVariety_abstract(Par
|
||||
C = self.__complement
|
||||
except AttributeError:
|
||||
pass
|
||||
- if self.dimension() is 0:
|
||||
+ if self.dimension() == 0:
|
||||
if A is None:
|
||||
C = self.ambient_variety()
|
||||
else:
|
||||
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
|
||||
--- src/sage/plot/plot3d/plot3d.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/plot/plot3d/plot3d.py 2019-06-27 11:33:54.105080405 -0600
|
||||
--- src/sage/plot/plot3d/plot3d.py.orig 2019-10-09 15:29:08.899640449 -0300
|
||||
+++ src/sage/plot/plot3d/plot3d.py 2019-10-09 15:29:13.710667553 -0300
|
||||
@@ -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)
|
||||
|
@ -897,8 +765,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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/plot/point.py 2019-06-27 11:33:54.105080405 -0600
|
||||
--- src/sage/plot/point.py.orig 2019-10-09 15:29:08.901640460 -0300
|
||||
+++ src/sage/plot/point.py 2019-10-09 15:29:13.711667558 -0300
|
||||
@@ -29,7 +29,7 @@ TESTS::
|
||||
from sage.misc.decorators import options, rename_keyword
|
||||
from sage.plot.colors import to_mpl_color
|
||||
|
@ -918,8 +786,8 @@ 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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/repl/display/fancy_repr.py 2019-06-27 11:33:54.106080391 -0600
|
||||
--- src/sage/repl/display/fancy_repr.py.orig 2019-10-09 15:29:08.903640471 -0300
|
||||
+++ src/sage/repl/display/fancy_repr.py 2019-10-09 15:29:13.711667558 -0300
|
||||
@@ -15,7 +15,7 @@ Representations of objects.
|
||||
import types
|
||||
|
||||
|
@ -939,8 +807,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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/repl/ipython_kernel/interact.py 2019-06-27 11:33:54.106080391 -0600
|
||||
--- src/sage/repl/ipython_kernel/interact.py.orig 2019-10-09 15:29:08.904640477 -0300
|
||||
+++ src/sage/repl/ipython_kernel/interact.py 2019-10-09 15:29:13.711667558 -0300
|
||||
@@ -35,7 +35,8 @@ EXAMPLES::
|
||||
|
||||
from ipywidgets.widgets import SelectionSlider, ValueWidget, ToggleButtons
|
||||
|
@ -952,9 +820,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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/integer.pyx 2019-06-27 11:33:54.107080377 -0600
|
||||
@@ -6989,7 +6989,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
|
||||
--- src/sage/rings/integer.pyx.orig 2019-10-09 15:29:08.906640488 -0300
|
||||
+++ src/sage/rings/integer.pyx 2019-10-09 15:29:13.712667564 -0300
|
||||
@@ -7124,7 +7124,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
|
||||
while x[0] == c' ': x += 1 # Strip spaces
|
||||
|
||||
# Disallow a sign here
|
||||
|
@ -964,9 +832,9 @@ diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
|
|||
|
||||
assert base >= 2
|
||||
diff -up src/sage/rings/multi_power_series_ring_element.py.orig src/sage/rings/multi_power_series_ring_element.py
|
||||
--- src/sage/rings/multi_power_series_ring_element.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/multi_power_series_ring_element.py 2019-09-09 15:01:45.746217568 -0600
|
||||
@@ -1417,7 +1417,7 @@ class MPowerSeries(PowerSeries):
|
||||
--- src/sage/rings/multi_power_series_ring_element.py.orig 2019-10-09 15:29:08.908640499 -0300
|
||||
+++ src/sage/rings/multi_power_series_ring_element.py 2019-10-09 15:29:13.712667564 -0300
|
||||
@@ -1396,7 +1396,7 @@ class MPowerSeries(PowerSeries):
|
||||
# at this stage, self is probably a non-zero
|
||||
# element of the base ring
|
||||
for a in range(len(self._bg_value.list())):
|
||||
|
@ -976,21 +844,21 @@ diff -up src/sage/rings/multi_power_series_ring_element.py.orig src/sage/rings/m
|
|||
|
||||
def is_nilpotent(self):
|
||||
diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbori.pyx
|
||||
--- src/sage/rings/polynomial/pbori.pyx.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/pbori.pyx 2019-06-27 11:33:54.123080154 -0600
|
||||
--- src/sage/rings/polynomial/pbori.pyx.orig 2019-10-09 15:29:08.910640511 -0300
|
||||
+++ src/sage/rings/polynomial/pbori.pyx 2019-10-09 15:29:13.713667570 -0300
|
||||
@@ -4765,8 +4765,7 @@ cdef class PolynomialConstruct:
|
||||
# So, it is just a conversion. [Simon King]
|
||||
return (<BooleanPolynomialRing>ring)._element_constructor_(x)
|
||||
|
||||
- raise TypeError("Cannot generate Boolean polynomial from %s , %s%" %
|
||||
- raise TypeError("Cannot generate Boolean polynomial from %s , %s" %
|
||||
- (type(x), type(ring)))
|
||||
+ raise TypeError(f"Cannot generate Boolean polynomial from {type(x)}, {type(ring)}")
|
||||
|
||||
|
||||
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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/real_mpfi.pyx 2019-06-27 11:33:54.124080141 -0600
|
||||
--- src/sage/rings/real_mpfi.pyx.orig 2019-10-09 15:29:08.911640516 -0300
|
||||
+++ src/sage/rings/real_mpfi.pyx 2019-10-09 15:29:13.715667581 -0300
|
||||
@@ -1943,12 +1943,12 @@ cdef class RealIntervalFieldElement(Ring
|
||||
|
||||
cdef long digits
|
||||
|
@ -1016,8 +884,8 @@ 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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/rings/real_mpfr.pyx 2019-06-27 11:33:54.125080127 -0600
|
||||
--- src/sage/rings/real_mpfr.pyx.orig 2019-10-09 15:29:08.913640528 -0300
|
||||
+++ src/sage/rings/real_mpfr.pyx 2019-10-09 15:29:13.715667581 -0300
|
||||
@@ -2039,7 +2039,7 @@ cdef class RealNumber(sage.structure.ele
|
||||
if s is NULL:
|
||||
raise RuntimeError("unable to convert an mpfr number to a string")
|
||||
|
@ -1028,8 +896,8 @@ 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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/structure/sage_object.pyx 2019-06-27 11:33:54.126080113 -0600
|
||||
--- src/sage/structure/sage_object.pyx.orig 2019-10-09 15:29:08.915640539 -0300
|
||||
+++ src/sage/structure/sage_object.pyx 2019-10-09 15:29:13.715667581 -0300
|
||||
@@ -665,7 +665,7 @@ cdef class SageObject:
|
||||
try:
|
||||
s = self._interface_init_(I)
|
||||
|
@ -1040,9 +908,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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/symbolic/expression.pyx 2019-06-27 11:33:54.128080085 -0600
|
||||
@@ -12960,7 +12960,7 @@ cdef class hold_class:
|
||||
--- src/sage/symbolic/expression.pyx.orig 2019-10-09 15:29:08.917640550 -0300
|
||||
+++ src/sage/symbolic/expression.pyx 2019-10-09 15:29:13.719667603 -0300
|
||||
@@ -12916,7 +12916,7 @@ cdef class hold_class:
|
||||
sage: SR(2)^5
|
||||
32
|
||||
"""
|
||||
|
@ -1051,7 +919,7 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
|
|||
|
||||
def __exit__(self, *args):
|
||||
"""
|
||||
@@ -12973,7 +12973,7 @@ cdef class hold_class:
|
||||
@@ -12929,7 +12929,7 @@ cdef class hold_class:
|
||||
sage: SR(2)^5
|
||||
32
|
||||
"""
|
||||
|
@ -1061,9 +929,9 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
|
|||
def start(self):
|
||||
"""
|
||||
diff -up src/setup.py.orig src/setup.py
|
||||
--- src/setup.py.orig 2019-06-27 11:30:20.794201914 -0600
|
||||
+++ src/setup.py 2019-06-27 11:33:54.128080085 -0600
|
||||
@@ -232,7 +232,7 @@ class sage_build_cython(Command):
|
||||
--- src/setup.py.orig 2019-10-09 15:28:16.478345141 -0300
|
||||
+++ src/setup.py 2019-10-09 15:29:13.720667609 -0300
|
||||
@@ -233,7 +233,7 @@ class sage_build_cython(Command):
|
||||
cdivision=True,
|
||||
embedsignature=True,
|
||||
fast_getattr=True,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/module_list.py.orig src/module_list.py
|
||||
--- src/module_list.py.orig 2019-06-27 11:29:54.622601184 -0600
|
||||
+++ src/module_list.py 2019-06-27 11:30:20.794201914 -0600
|
||||
--- src/module_list.py.orig 2019-10-03 14:49:57.072685858 -0300
|
||||
+++ src/module_list.py 2019-10-03 14:50:05.889737429 -0300
|
||||
@@ -2,7 +2,7 @@ import os
|
||||
from distutils.extension import Extension
|
||||
from sage.env import SAGE_LOCAL
|
||||
|
@ -11,9 +11,9 @@ diff -up src/module_list.py.orig src/module_list.py
|
|||
#########################################################
|
||||
### pkg-config setup
|
||||
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
||||
--- src/sage/misc/cython.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/misc/cython.py 2019-06-27 11:30:20.794201914 -0600
|
||||
@@ -49,7 +49,7 @@ standard_libs = [
|
||||
--- src/sage/misc/cython.py.orig 2019-10-03 14:49:48.553636029 -0300
|
||||
+++ src/sage/misc/cython.py 2019-10-03 14:50:05.890737435 -0300
|
||||
@@ -46,7 +46,7 @@ standard_libs = [
|
||||
] + cblas_libs + [
|
||||
'ntl']
|
||||
|
||||
|
@ -22,69 +22,3 @@ diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
|||
|
||||
|
||||
################################################################
|
||||
diff -up src/setup.py.orig src/setup.py
|
||||
--- src/setup.py.orig 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/setup.py 2019-06-27 11:30:20.794201914 -0600
|
||||
@@ -318,9 +318,8 @@ class sage_build_cython(Command):
|
||||
# Debugging
|
||||
gdb_debug=self.debug,
|
||||
output_dir=os.path.join(self.build_lib, "sage"),
|
||||
- # Disable Cython caching, which is currently too broken to
|
||||
- # use reliably: http://trac.sagemath.org/ticket/17851
|
||||
- cache=False,
|
||||
+ # Enable Cython caching (the cache is stored in ~/.cycache)
|
||||
+ cache=True,
|
||||
)
|
||||
|
||||
# Filter out extensions with skip_build=True
|
||||
@@ -795,9 +794,6 @@ class sage_install(install):
|
||||
install.run(self)
|
||||
self.install_kernel_spec()
|
||||
log.info('Cleaning up stale installed files....')
|
||||
- t = time.time()
|
||||
- self.clean_stale_files()
|
||||
- log.info('Finished cleaning, time: %.2f seconds.' % (time.time() - t))
|
||||
|
||||
def install_kernel_spec(self):
|
||||
"""
|
||||
@@ -814,40 +810,6 @@ class sage_install(install):
|
||||
# the install_data directory for installing our Jupyter files.
|
||||
SageKernelSpec.update(prefix=self.install_data)
|
||||
|
||||
- def clean_stale_files(self):
|
||||
- """
|
||||
- Remove stale installed files.
|
||||
-
|
||||
- This removes files which are built/installed but which do not
|
||||
- exist in the Sage sources (typically because some source file
|
||||
- has been deleted). Files are removed from the build directory
|
||||
- ``build/lib-*`` and from the install directory ``site-packages``.
|
||||
- """
|
||||
- dist = self.distribution
|
||||
- cmd_build_py = self.get_finalized_command("build_py")
|
||||
- cmd_build_cython = self.get_finalized_command("build_cython")
|
||||
-
|
||||
- # Determine all Python modules inside all packages
|
||||
- py_modules = []
|
||||
- for package in dist.packages:
|
||||
- package_dir = cmd_build_py.get_package_dir(package)
|
||||
- py_modules += cmd_build_py.find_package_modules(package, package_dir)
|
||||
- # modules is a list of triples (package, module, module_file).
|
||||
- # Construct the complete module name from this.
|
||||
- py_modules = ["{0}.{1}".format(*m) for m in py_modules]
|
||||
-
|
||||
- # Clean install directory (usually, purelib and platlib are the same)
|
||||
- # and build directory.
|
||||
- output_dirs = [self.install_purelib, self.install_platlib, self.build_lib]
|
||||
- from sage_setup.clean import clean_install_dir
|
||||
- for output_dir in set(output_dirs):
|
||||
- log.info('- cleaning {0}'.format(output_dir))
|
||||
- clean_install_dir(output_dir,
|
||||
- dist.packages,
|
||||
- py_modules,
|
||||
- dist.ext_modules,
|
||||
- cmd_build_cython.get_cythonized_package_files())
|
||||
-
|
||||
|
||||
#########################################################
|
||||
### Distutils
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
|
||||
--- src/sage/doctest/control.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/doctest/control.py 2019-06-27 11:30:37.222951288 -0600
|
||||
--- src/sage/doctest/control.py.orig 2019-10-03 14:51:45.323319025 -0300
|
||||
+++ src/sage/doctest/control.py 2019-10-03 14:52:24.063545626 -0300
|
||||
@@ -106,7 +106,6 @@ class DocTestDefaults(SageObject):
|
||||
self.valgrind = False
|
||||
self.massif = False
|
||||
|
@ -46,18 +46,18 @@ 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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage/interfaces/singular.py 2019-06-27 11:30:37.223951272 -0600
|
||||
@@ -2261,7 +2261,7 @@ def generate_docstring_dictionary():
|
||||
--- src/sage/interfaces/singular.py.orig 2019-10-03 14:52:35.554612838 -0300
|
||||
+++ src/sage/interfaces/singular.py 2019-10-03 14:53:22.502887441 -0300
|
||||
@@ -2262,7 +2262,7 @@ def generate_docstring_dictionary():
|
||||
nodes.clear()
|
||||
node_names.clear()
|
||||
|
||||
- singular_docdir = os.environ['SINGULARPATH']+"/../info/"
|
||||
- singular_docdir = SINGULARPATH + "/../info/"
|
||||
+ singular_docdir = "/usr/share/info/"
|
||||
|
||||
new_node = re.compile(r"File: singular\.hlp, Node: ([^,]*),.*")
|
||||
new_lookup = re.compile(r"\* ([^:]*):*([^.]*)\..*")
|
||||
@@ -2269,8 +2269,9 @@ def generate_docstring_dictionary():
|
||||
@@ -2270,8 +2270,9 @@ def generate_docstring_dictionary():
|
||||
L, in_node, curr_node = [], False, None
|
||||
|
||||
# singular.hlp contains a few iso-5559-1 encoded special characters
|
||||
|
@ -70,8 +70,8 @@ diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
|
|||
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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage_setup/docbuild/ext/multidocs.py 2019-06-27 11:30:37.224951257 -0600
|
||||
--- src/sage_setup/docbuild/ext/multidocs.py.orig 2019-10-03 14:53:32.585946418 -0300
|
||||
+++ src/sage_setup/docbuild/ext/multidocs.py 2019-10-03 14:54:02.207119676 -0300
|
||||
@@ -85,8 +85,11 @@ def merge_environment(app, env):
|
||||
for ind in newalldoc:
|
||||
# treat subdocument source as orphaned file and don't complain
|
||||
|
@ -86,23 +86,3 @@ diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/e
|
|||
# merge the citations
|
||||
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 2019-06-26 14:41:05.000000000 -0600
|
||||
+++ src/sage_setup/docbuild/__init__.py 2019-06-27 11:30:37.225951242 -0600
|
||||
@@ -284,13 +284,14 @@ if not (CYGWIN_VERSION and CYGWIN_VERSIO
|
||||
# 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:
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
diff -up build/pkgs/sagetex/src/run-sagetex-if-necessary.py.orig build/pkgs/sagetex/src/run-sagetex-if-necessary.py
|
||||
--- build/pkgs/sagetex/src/run-sagetex-if-necessary.py.orig 2019-01-09 09:51:28.000000000 -0700
|
||||
+++ build/pkgs/sagetex/src/run-sagetex-if-necessary.py 2019-04-09 11:39:25.457566883 -0600
|
||||
@@ -63,7 +63,7 @@ if not uses_sagetex:
|
||||
--- build/pkgs/sagetex/src/run-sagetex-if-necessary.py.orig 2019-10-03 16:56:05.217343030 -0300
|
||||
+++ build/pkgs/sagetex/src/run-sagetex-if-necessary.py 2019-10-03 16:56:23.334451227 -0300
|
||||
@@ -64,7 +64,7 @@ if not uses_sagetex:
|
||||
|
||||
# if something goes wrong, assume we need to run Sage
|
||||
run_sage = True
|
||||
- ignore = r"^( _st_.goboom|print('SageT| ?_st_.current_tex_line))"
|
||||
-ignore = r"^( _st_.goboom|print\('SageT| ?_st_.current_tex_line)"
|
||||
+ignore = r"^( _st_.goboom|print('SageT| ?_st_.current_tex_line))"
|
||||
|
||||
try:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/bin/sage.orig src/bin/sage
|
||||
--- src/bin/sage.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/bin/sage 2019-06-27 11:28:35.352810438 -0600
|
||||
--- src/bin/sage.orig 2019-10-03 14:38:40.429507574 -0300
|
||||
+++ src/bin/sage 2019-10-03 14:47:00.852631198 -0300
|
||||
@@ -26,13 +26,10 @@ usage() {
|
||||
echo " file.[sage|py|spyx] -- run given .sage, .py or .spyx file"
|
||||
echo " -advanced -- list all command line options"
|
||||
|
@ -55,13 +55,13 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
echo " -inotebook [...] -- start the *insecure* Sage notebook (deprecated)"
|
||||
echo " -n, -notebook [...] -- start the default Sage notebook (options are the"
|
||||
echo " same as for the notebook command in Sage). See the"
|
||||
@@ -119,18 +106,11 @@ usage_advanced() {
|
||||
@@ -119,18 +106,12 @@ usage_advanced() {
|
||||
echo " Sage), passing additional options to IPython"
|
||||
echo " -ipython3 [...] -- same as above, but using Python 3"
|
||||
echo " -jupyter [...] -- run Sage's Jupyter with given arguments"
|
||||
- echo " -kash [...] -- run Sage's Kash with given arguments"
|
||||
- command -v kash &>/dev/null || \
|
||||
- echo " (not installed currently, run sage -i kash)"
|
||||
echo " (not installed currently, run sage -i kash)"
|
||||
echo " -lisp [...] -- run Lisp interpreter included with Sage"
|
||||
echo " -M2 [...] -- run Sage's Macaulay2 with given arguments"
|
||||
- command -v M2 &>/dev/null || \
|
||||
|
@ -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 +124,7 @@ usage_advanced() {
|
||||
@@ -144,55 +125,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 +158,6 @@ usage_advanced() {
|
||||
@@ -226,7 +159,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,7 +139,7 @@ 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 +183,6 @@ usage_advanced() {
|
||||
@@ -252,16 +184,6 @@ usage_advanced() {
|
||||
echo
|
||||
#### 1.......................26..................................................78
|
||||
#### |.....................--.|...................................................|
|
||||
|
@ -156,7 +156,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 +196,6 @@ usage_advanced() {
|
||||
@@ -275,9 +197,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 +166,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 +205,6 @@ usage_advanced() {
|
||||
@@ -287,116 +206,6 @@ usage_advanced() {
|
||||
|
||||
|
||||
#####################################################################
|
||||
|
@ -283,27 +283,12 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
# Report information about the Sage environment
|
||||
#####################################################################
|
||||
|
||||
@@ -425,35 +233,8 @@ if [ $# -gt 0 ]; then
|
||||
fi
|
||||
@@ -445,20 +254,6 @@ fi
|
||||
|
||||
|
||||
-#####################################################################
|
||||
-# Source sage-env ($0 is the name of this "sage" script, so we can just
|
||||
-# append -env to that). We redirect stdout to stderr, which is safer
|
||||
-# for scripts.
|
||||
-#####################################################################
|
||||
-. "$0-env" >&2
|
||||
-if [ $? -ne 0 ]; then
|
||||
- echo >&2 "Error setting environment variables by sourcing '$0-env';"
|
||||
- echo >&2 "possibly contact sage-devel (see http://groups.google.com/group/sage-devel)."
|
||||
- exit 1
|
||||
-fi
|
||||
-
|
||||
-
|
||||
# Prepare for running Sage, either interactively or non-interactively.
|
||||
sage_setup() {
|
||||
- # Check that we're not in a source tarball which hasn't been built yet (#13561).
|
||||
- if [ ! -x "$SAGE_LOCAL/bin/sage" ]; then
|
||||
- if [ ! -z "$SAGE_LOCAL" ] && [ ! -x "$SAGE_LOCAL/bin/sage" ]; then
|
||||
- echo >&2 '************************************************************************'
|
||||
- echo >&2 'It seems that you are attempting to run Sage from an unpacked source'
|
||||
- echo >&2 'tarball, but you have not compiled it yet (or maybe the build has not'
|
||||
|
@ -319,7 +304,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
|
||||
@@ -464,20 +245,6 @@ sage_setup() {
|
||||
@@ -469,20 +264,6 @@ sage_setup() {
|
||||
}
|
||||
|
||||
|
||||
|
@ -340,7 +325,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
# Start an interactive Sage session, this function never returns.
|
||||
interactive_sage() {
|
||||
sage_setup
|
||||
@@ -561,16 +328,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
|
||||
@@ -566,16 +347,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
|
||||
exec ecl "$@"
|
||||
fi
|
||||
|
||||
|
@ -357,7 +342,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
|
||||
shift
|
||||
exec maxima "$@"
|
||||
@@ -601,11 +358,6 @@ if [ "$1" = '--pip3' ]; then
|
||||
@@ -606,11 +377,6 @@ if [ "$1" = '--pip3' ]; then
|
||||
exec python3 -m pip "$@"
|
||||
fi
|
||||
|
||||
|
@ -369,7 +354,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-python' -o "$1" = '--python' ]; then
|
||||
shift
|
||||
if [ "$SAGE_PYTHON3" = 'yes' ]; then
|
||||
@@ -645,16 +397,6 @@ if [ "$1" = '-jupyter' -o "$1" = '--jupy
|
||||
@@ -650,16 +416,6 @@ if [ "$1" = '-jupyter' -o "$1" = '--jupy
|
||||
exec jupyter "$@"
|
||||
fi
|
||||
|
||||
|
@ -386,7 +371,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-sh' -o "$1" = '--sh' ]; then
|
||||
# AUTHORS:
|
||||
# - Carl Witty and William Stein: initial version
|
||||
@@ -774,20 +516,6 @@ EOF
|
||||
@@ -779,20 +535,6 @@ EOF
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
|
@ -407,7 +392,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
# File conversion
|
||||
#####################################################################
|
||||
|
||||
@@ -818,11 +546,6 @@ fi
|
||||
@@ -823,11 +565,6 @@ fi
|
||||
# Run Sage's versions of the standard Algebra/Geometry etc. software
|
||||
#####################################################################
|
||||
|
||||
|
@ -419,7 +404,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 "$@"
|
||||
@@ -833,13 +556,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
|
||||
@@ -838,13 +575,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
|
||||
exec sage-notebook "$@"
|
||||
fi
|
||||
|
||||
|
@ -433,7 +418,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = "-inotebook" -o "$1" = '--inotebook' ]; then
|
||||
shift
|
||||
sage-cleaner &>/dev/null &
|
||||
@@ -858,34 +574,15 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep
|
||||
@@ -863,31 +593,12 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -465,12 +450,8 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
+if [ "$1" = '-t' -o "$1" = '-tp' ]; then
|
||||
sage_setup
|
||||
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
- if [ "$1" = '-tp' -o "$1" = '-btp' ]; then
|
||||
+ if [ "$1" = '-tp' ]; then
|
||||
shift
|
||||
exec sage-runtests -p "$@"
|
||||
else
|
||||
@@ -894,10 +591,7 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
|
||||
if [ "$1" = '-tp' -o "$1" = '-btp' ]; then
|
||||
@@ -899,16 +610,6 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -478,11 +459,16 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- if [ "$1" = '-btnew' ]; then
|
||||
- build_sage
|
||||
- fi
|
||||
+if [ "$1" = '-tnew' ]; then
|
||||
- shift
|
||||
- sage_setup
|
||||
- export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
- exec sage-runtests --new "$@"
|
||||
-fi
|
||||
-
|
||||
if [ "$1" = '-testall' -o "$1" = "--testall" ]; then
|
||||
shift
|
||||
sage_setup
|
||||
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
@@ -918,122 +612,6 @@ if [ "$1" = '-c' ]; then
|
||||
@@ -923,122 +624,6 @@ if [ "$1" = '-c' ]; then
|
||||
exec sage-eval "$@"
|
||||
fi
|
||||
|
||||
|
@ -605,7 +591,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then
|
||||
shift
|
||||
sage_setup
|
||||
@@ -1083,12 +661,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
|
||||
@@ -1088,12 +673,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
|
||||
exec sage-callgrind "$@"
|
||||
fi
|
||||
|
||||
|
@ -618,25 +604,12 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then
|
||||
exec sage-startuptime.py "$@"
|
||||
fi
|
||||
diff -up src/bin/sage-runtests.orig src/bin/sage-runtests
|
||||
--- src/bin/sage-runtests.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/bin/sage-runtests 2019-06-27 11:22:47.435227309 -0600
|
||||
@@ -95,10 +95,6 @@ if __name__ == "__main__":
|
||||
help="run doctests using Valgrind's cachegrind tool. The log "
|
||||
"files are named sage-cachegrind.PID and can be found in " +
|
||||
os.path.join(DOT_SAGE, "valgrind"))
|
||||
- parser.add_option("--omega", action="store_true", default=False,
|
||||
- help="run doctests using Valgrind's omega tool. The log "
|
||||
- "files are named sage-omega.PID and can be found in " +
|
||||
- os.path.join(DOT_SAGE, "valgrind"))
|
||||
|
||||
parser.add_option("-f", "--failed", action="store_true", default=False,
|
||||
help="doctest only those files that failed in the previous run")
|
||||
diff -up src/bin/sage-valgrind.orig src/bin/sage-valgrind
|
||||
--- src/bin/sage-valgrind.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/bin/sage-valgrind 2019-06-27 11:22:47.435227309 -0600
|
||||
@@ -1,16 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
--- src/bin/sage-valgrind.orig 2019-10-03 14:47:13.247708565 -0300
|
||||
+++ src/bin/sage-valgrind 2019-10-03 14:47:46.404915531 -0300
|
||||
@@ -4,17 +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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2019-04-08 12:41:09.686920533 -0600
|
||||
+++ src/sage/env.py 2019-04-08 12:42:41.240282849 -0600
|
||||
--- 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'))
|
||||
var('SAGE_LIB', os.path.dirname(os.path.dirname(sage.__file__)))
|
||||
|
@ -8,7 +8,7 @@ diff -up src/sage/env.py.orig src/sage/env.py
|
|||
-var('SAGE_ROOT') # no fallback for SAGE_ROOT
|
||||
+var('SAGE_ROOT', '@@SAGE_ROOT@@')
|
||||
var('SAGE_SRC', join(SAGE_ROOT, 'src'), SAGE_LIB)
|
||||
-var('SAGE_DOC_SRC', join(SAGE_SRC, 'doc'))
|
||||
-var('SAGE_DOC_SRC', join(SAGE_ROOT, 'src', 'doc'), SAGE_DOC)
|
||||
+var('SAGE_DOC_SRC', '@@SAGE_DOC@@')
|
||||
var('SAGE_PKGS', join(SAGE_ROOT, 'build', 'pkgs'))
|
||||
var('SAGE_ROOT_GIT', join(SAGE_ROOT, '.git'))
|
||||
|
|
|
@ -60,15 +60,15 @@
|
|||
%global polytopes_db_pkg polytopes_db-20170220
|
||||
%global rubiks_pkg rubiks-20070912
|
||||
%global sagenb_pkg sagenb-1.1.2
|
||||
%global sagetex_pkg sagetex-3.2
|
||||
%global sagetex_pkg sagetex-3.3
|
||||
%global Sphinx_pkg Sphinx-1.8.5
|
||||
%global singular_pkg singular-4.1.1p3
|
||||
%global singular_pkg singular-4.1.1p2
|
||||
%if %{with bundled_thebe}
|
||||
%global thebe_ver 9624e0a0
|
||||
%global thebe_pkg thebe-%{thebe_ver}
|
||||
%endif
|
||||
%if %{with bundled_threejs}
|
||||
%global threejs_ver r100
|
||||
%global threejs_ver r105
|
||||
%global threejs_pkg threejs-%{threejs_ver}
|
||||
%endif
|
||||
%if %{with bundled_widgetsnbextension}
|
||||
|
@ -94,8 +94,8 @@
|
|||
|
||||
Name: sagemath
|
||||
Summary: A free open-source mathematics software system
|
||||
Version: 8.8
|
||||
Release: 7%{?dist}
|
||||
Version: 8.9
|
||||
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
|
||||
|
@ -180,45 +180,37 @@ Patch20: %{name}-sympy.patch
|
|||
|
||||
# Correct unable to start QEPCAD within sage
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1243590
|
||||
Patch22: %{name}-qepcad.patch
|
||||
Patch21: %{name}-qepcad.patch
|
||||
|
||||
# Correct path to arb headers
|
||||
Patch23: %{name}-arb.patch
|
||||
|
||||
# Add missing escapes, or convert strings to raw strings
|
||||
Patch24: %{name}-escape.patch
|
||||
Patch22: %{name}-arb.patch
|
||||
|
||||
# Add missing include paths
|
||||
Patch25: %{name}-includes.patch
|
||||
Patch23: %{name}-includes.patch
|
||||
|
||||
# Use openblas
|
||||
Patch26: %{name}-openblas.patch
|
||||
Patch24: %{name}-openblas.patch
|
||||
|
||||
# Fix paths to latte-integrale binaries
|
||||
Patch27: %{name}-latte.patch
|
||||
Patch25: %{name}-latte.patch
|
||||
|
||||
# Upstream fixes for random SIGFPEs due to ecl messing with the fp state
|
||||
Patch28: %{name}-sigfpe.patch
|
||||
Patch26: %{name}-sigfpe.patch
|
||||
|
||||
# Add some missing #includes and types in the rubiks code
|
||||
Patch29: %{name}-rubiks.patch
|
||||
Patch27: %{name}-rubiks.patch
|
||||
|
||||
# Fix an indentation error in sagetex
|
||||
Patch30: %{name}-sagetex.patch
|
||||
Patch28: %{name}-sagetex.patch
|
||||
|
||||
# Fix some path settings in the sage environment
|
||||
Patch31: %{name}-env.patch
|
||||
Patch29: %{name}-env.patch
|
||||
|
||||
# Make notebook minimally function until upstream finally removes it
|
||||
Patch32: %{name}-sagenb-python3.patch
|
||||
|
||||
# Replace python's deprecated formatargspec with a custom implementation
|
||||
# https://trac.sagemath.org/ticket/27971
|
||||
# https://git.sagemath.org/sage.git/commit/?id=bbd5b28fc8e451bea4f87c2f2b0c27586386262a
|
||||
Patch33: %{name}-formatargspec.patch
|
||||
Patch30: %{name}-sagenb-python3.patch
|
||||
|
||||
# Adapt to primecount 5.x
|
||||
Patch34: %{name}-primecount.patch
|
||||
Patch31: %{name}-primecount.patch
|
||||
|
||||
BuildRequires: 4ti2
|
||||
BuildRequires: arb-devel
|
||||
|
@ -908,6 +900,7 @@ popd
|
|||
%endif
|
||||
|
||||
%patch20
|
||||
%patch21
|
||||
%patch22
|
||||
%patch23
|
||||
%patch24
|
||||
|
@ -918,9 +911,6 @@ popd
|
|||
%patch29
|
||||
%patch30
|
||||
%patch31
|
||||
%patch32
|
||||
%patch33
|
||||
%patch34
|
||||
|
||||
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
|
||||
-e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
|
||||
|
@ -1279,6 +1269,10 @@ pushd $SAGE_LOCAL/bin/
|
|||
spkg-install
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
(
|
||||
source build/bin/sage-dist-helpers
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/combinatorial_designs
|
||||
chmod a+x spkg-install
|
||||
|
@ -1318,7 +1312,7 @@ pushd build/pkgs/sagetex/src
|
|||
%py3_install "--install-purelib=%{python3_sitearch}"
|
||||
mv %{buildroot}%{_texmf}/tex/latex/sagetex/CONTRIBUTORS \
|
||||
%{buildroot}%{_docdir}/sagetex
|
||||
for file in PKG-INFO README; do
|
||||
for file in PKG-INFO; do
|
||||
install -p -m 0644 $file %{buildroot}%{_docdir}/sagetex/$file
|
||||
done
|
||||
popd
|
||||
|
@ -1358,6 +1352,9 @@ pushd build/pkgs/widgetsnbextension/src
|
|||
popd
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
) # source build/bin/sage-dist-helpers
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-env << EOF
|
||||
export CUR=\$PWD
|
||||
|
@ -1485,11 +1482,6 @@ perl -pi -e 's|%{buildroot}||g;' \
|
|||
# with docs
|
||||
%endif
|
||||
|
||||
# Script was used to build documentation
|
||||
perl -pi -e 's|%{buildroot}||g;s|^##||g;' \
|
||||
%{buildroot}%{_bindir}/sage \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Fix links
|
||||
export SAGE_SRC=%{buildroot}%{SAGE_SRC}
|
||||
|
@ -1635,8 +1627,8 @@ popd
|
|||
|
||||
#------------------------------------------------------------------------
|
||||
# Build the large Cremona database
|
||||
PATH=%{buildroot}%{SAGE_LOCAL}/bin:$PATH
|
||||
PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}:%{buildroot}%{python3_sitearch}
|
||||
export PATH=%{buildroot}%{SAGE_LOCAL}/bin:$PATH
|
||||
export PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}:%{buildroot}%{python3_sitearch}
|
||||
cat > cremona.sage << EOF
|
||||
import sage.databases.cremona
|
||||
db_path = '%{buildroot}%{SAGE_SHARE}/cremona/cremona'
|
||||
|
@ -1645,6 +1637,12 @@ c._init_from_ftpdata('ecdata-%{cremona_ver}')
|
|||
EOF
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage cremona.sage
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Script was used to build documentation and possibly other operations
|
||||
perl -pi -e 's|%{buildroot}||g;s|^##||g;' \
|
||||
%{buildroot}%{_bindir}/sage \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env
|
||||
|
||||
# last install command
|
||||
rm -fr $DOT_SAGE
|
||||
|
||||
|
@ -1929,6 +1927,10 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
|
|||
|
||||
########################################################################
|
||||
%changelog
|
||||
* Thu Nov 7 2019 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 8.9-1
|
||||
- Update to latest upstream release
|
||||
- Drop no longer need patches and rediff current ones
|
||||
|
||||
* Fri Oct 11 2019 Jerry James <loganjerry@gmail.com> - 8.8-7
|
||||
- Rebuild for mpfr 4
|
||||
- Drop -mpfr patch
|
||||
|
|
2
sources
2
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (sage-8.8.tar.gz) = bac6cdd07e1c1bb36cf8617bc5b580818048702f9f73ba1d034e0ae100bbdb7f2ef3f2133d7cea739c98f103ca9e3b90a7c29d87314fb398b9d7984f194d0357
|
||||
SHA512 (cremona-2016-10-17.tar.gz) = 61f55ec5c15e32b5fdaf1fe8f2f3d50ba9afa542d8634918ec9493d739127f8c06a44b3cb1227a2979522baf61951ac37a67ae2b12c920958b04f8198d07ff57
|
||||
SHA512 (sage-8.9.tar.gz) = 056646488f0b3fc092057c7ff807762c2f98d13748e14540ae9a67ceb3a3d62f8c0263c80c61a36c423353d7051e2dfae466a3f452f3910d9ba95ef26b385e94
|
||||
|
|
Loading…
Add table
Reference in a new issue