diff --git a/.gitignore b/.gitignore index fa2f8ad..4956ac8 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /sage-7.3.tar.gz /sage-7.4.tar.gz /sage-7.5.1.tar.gz +/sage-7.6.tar.gz diff --git a/sagemath-4ti2.patch b/sagemath-4ti2.patch index a4afb86..1c256e6 100644 --- a/sagemath-4ti2.patch +++ b/sagemath-4ti2.patch @@ -1,7 +1,7 @@ diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py ---- src/sage/sandpiles/sandpile.py.orig 2017-03-04 13:25:45.385473644 -0500 -+++ src/sage/sandpiles/sandpile.py 2017-03-04 13:25:53.872473969 -0500 -@@ -346,9 +346,6 @@ from sage.arith.all import falling_facto +--- src/sage/sandpiles/sandpile.py.orig 2017-04-11 09:56:54.907264014 -0400 ++++ src/sage/sandpiles/sandpile.py 2017-04-11 09:57:04.274264373 -0400 +@@ -347,9 +347,6 @@ from sage.arith.all import falling_facto from sage.rings.all import Integer, PolynomialRing, QQ, ZZ from sage.symbolic.all import I, pi @@ -11,7 +11,7 @@ diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py class Sandpile(DiGraph): """ Class for Dhar's abelian sandpile model. -@@ -5197,7 +5194,7 @@ class SandpileDivisor(dict): +@@ -5202,7 +5199,7 @@ class SandpileDivisor(dict): sign_file.close() # compute try: diff --git a/sagemath-atlas.patch b/sagemath-atlas.patch index b2dd2d4..cc43b4b 100644 --- a/sagemath-atlas.patch +++ b/sagemath-atlas.patch @@ -1,6 +1,6 @@ diff -up src/module_list.py.orig src/module_list.py ---- src/module_list.py.orig 2017-03-29 19:33:34.149118879 -0400 -+++ src/module_list.py 2017-03-29 19:34:09.520120233 -0400 +--- src/module_list.py.orig 2017-04-11 10:03:27.798279059 -0400 ++++ src/module_list.py 2017-04-11 10:05:34.272283903 -0400 @@ -12,20 +12,14 @@ SAGE_INC = '/usr/include' import pkgconfig @@ -26,19 +26,20 @@ diff -up src/module_list.py.orig src/module_list.py # FFLAS-FFPACK fflas_ffpack_pc = pkgconfig.parse('fflas-ffpack') -@@ -45,7 +39,8 @@ givaro_cflags = pkgconfig.cflags('givaro +@@ -44,7 +38,9 @@ givaro_cflags = pkgconfig.cflags('givaro + # The above cblas should already be in the list thanks to #20646 gsl_pc = pkgconfig.parse('gsl') gsl_libs = gsl_pc['libraries'] - gsl_libs.remove('gslcblas') -gsl_library_dirs = gsl_pc['library_dirs'] ++gsl_libs.remove('gslcblas') +gsl_libs.extend(cblas_libs) +gsl_library_dirs = list(cblas_pc['library_dirs']) gsl_include_dirs = gsl_pc['include_dirs'] # GD image library diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py ---- src/sage/misc/cython.py.orig 2017-03-29 19:33:27.181118612 -0400 -+++ src/sage/misc/cython.py 2017-03-29 19:33:36.568118971 -0400 +--- src/sage/misc/cython.py.orig 2017-04-11 10:05:44.166284281 -0400 ++++ src/sage/misc/cython.py 2017-04-11 10:06:00.016284888 -0400 @@ -30,15 +30,11 @@ import pkgconfig diff --git a/sagemath-extensions.patch b/sagemath-extensions.patch index affd680..285d7db 100644 --- a/sagemath-extensions.patch +++ b/sagemath-extensions.patch @@ -1,7 +1,7 @@ diff -up src/module_list.py.orig src/module_list.py ---- src/module_list.py.orig 2017-03-04 13:10:19.482438188 -0500 -+++ src/module_list.py 2017-03-04 13:13:17.345444999 -0500 -@@ -166,7 +166,6 @@ library_order["stdc++"] = 1000 +--- src/module_list.py.orig 2017-04-11 09:54:40.320258860 -0400 ++++ src/module_list.py 2017-04-11 09:54:50.432259248 -0400 +@@ -165,7 +165,6 @@ library_order["stdc++"] = 1000 ### ############################################################# @@ -9,7 +9,7 @@ diff -up src/module_list.py.orig src/module_list.py UNAME = os.uname() def uname_specific(name, value, alternative): -@@ -382,21 +381,21 @@ ext_modules = [ +@@ -381,21 +380,21 @@ ext_modules = [ sources = ['sage/graphs/matchpoly.pyx'], extra_compile_args = ['-std=c99']), @@ -46,7 +46,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.graphs.planarity', sources = ['sage/graphs/planarity.pyx'], -@@ -415,10 +414,10 @@ ext_modules = [ +@@ -414,10 +413,10 @@ ext_modules = [ Extension('sage.graphs.graph_decompositions.cutwidth', sources = ['sage/graphs/graph_decompositions/cutwidth.pyx']), @@ -61,7 +61,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.graphs.spanning_tree', sources = ['sage/graphs/spanning_tree.pyx']), -@@ -545,18 +544,18 @@ ext_modules = [ +@@ -512,18 +511,18 @@ ext_modules = [ ## ################################ @@ -87,7 +87,7 @@ diff -up src/module_list.py.orig src/module_list.py ["sage/libs/fes.pyx"], language = "c", libraries = ['fes'], -@@ -580,17 +579,17 @@ ext_modules = [ +@@ -547,17 +546,17 @@ ext_modules = [ Extension('sage.libs.gmp.pylong', sources = ['sage/libs/gmp/pylong.pyx']), @@ -114,7 +114,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('*', ['sage/libs/linbox/*.pyx']), -@@ -917,10 +916,10 @@ ext_modules = [ +@@ -895,10 +894,10 @@ ext_modules = [ Extension('sage.matrix.matrix_window', sources = ['sage/matrix/matrix_window.pyx']), @@ -129,7 +129,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.matrix.misc', sources = ['sage/matrix/misc.pyx'], -@@ -1099,19 +1098,19 @@ ext_modules = [ +@@ -1077,19 +1076,19 @@ ext_modules = [ Extension("sage.numerical.backends.interactivelp_backend", ["sage/numerical/backends/interactivelp_backend.pyx"]), @@ -161,7 +161,7 @@ diff -up src/module_list.py.orig src/module_list.py ["sage/numerical/backends/coin_backend.pyx"], language = 'c++', libraries = ["Cbc", "CbcSolver", "Cgl", "Clp", "CoinUtils", -@@ -1583,7 +1582,7 @@ ext_modules = [ +@@ -1572,7 +1571,7 @@ ext_modules = [ ## ################################ @@ -170,7 +170,7 @@ diff -up src/module_list.py.orig src/module_list.py sources = ["sage/sat/solvers/cryptominisat/cryptominisat.pyx"], include_dirs = [os.path.join(SAGE_INC, "cmsat")] + zlib_include_dirs, language = "c++", -@@ -1591,7 +1590,7 @@ ext_modules = [ +@@ -1580,7 +1579,7 @@ ext_modules = [ library_dirs = zlib_library_dirs, package = 'cryptominisat'), diff --git a/sagemath-fes.patch b/sagemath-fes.patch index fe314ac..c6a059f 100644 --- a/sagemath-fes.patch +++ b/sagemath-fes.patch @@ -1,7 +1,7 @@ diff -up src/module_list.py.orig src/module_list.py ---- src/module_list.py.orig 2017-03-04 13:33:14.446490840 -0500 -+++ src/module_list.py 2017-03-04 13:33:23.046491170 -0500 -@@ -555,11 +555,11 @@ ext_modules = [ +--- src/module_list.py.orig 2017-04-11 10:00:15.271271687 -0400 ++++ src/module_list.py 2017-04-11 10:00:26.344272111 -0400 +@@ -522,11 +522,11 @@ ext_modules = [ sources = ["sage/libs/ecl.pyx"], libraries = ["ecl"]), diff --git a/sagemath-gcc6.patch b/sagemath-gcc6.patch index 67aa0d2..2fab435 100644 --- a/sagemath-gcc6.patch +++ b/sagemath-gcc6.patch @@ -1,7 +1,7 @@ diff -up src/module_list.py.orig src/module_list.py ---- src/module_list.py.orig 2017-03-29 18:45:52.972009314 -0400 -+++ src/module_list.py 2017-03-29 18:46:02.855009693 -0400 -@@ -880,7 +880,7 @@ ext_modules = [ +--- src/module_list.py.orig 2017-04-11 10:02:15.848276304 -0400 ++++ src/module_list.py 2017-04-11 10:02:24.616276640 -0400 +@@ -855,7 +855,7 @@ ext_modules = [ library_dirs = m4ri_library_dirs, include_dirs = m4ri_include_dirs, depends = [SAGE_INC + "/m4rie/m4rie.h"], diff --git a/sagemath-includes.patch b/sagemath-includes.patch index acdc559..0ecfd28 100644 --- a/sagemath-includes.patch +++ b/sagemath-includes.patch @@ -1,7 +1,7 @@ diff -up src/module_list.py.orig src/module_list.py ---- src/module_list.py.orig 2017-03-29 18:42:35.820001764 -0400 -+++ src/module_list.py 2017-03-29 18:43:56.158004841 -0400 -@@ -63,6 +63,7 @@ linbox_cflags = pkgconfig.cflags('linbox +--- src/module_list.py.orig 2017-04-11 10:01:47.513275219 -0400 ++++ src/module_list.py 2017-04-11 10:02:00.105275701 -0400 +@@ -62,6 +62,7 @@ linbox_cflags = pkgconfig.cflags('linbox # Singular singular_pc = pkgconfig.parse('Singular') singular_libs = singular_pc['libraries'] @@ -9,7 +9,7 @@ diff -up src/module_list.py.orig src/module_list.py singular_library_dirs = singular_pc['library_dirs'] singular_cflags = pkgconfig.cflags('Singular').split() -@@ -188,7 +189,8 @@ ext_modules = [ +@@ -187,7 +188,8 @@ ext_modules = [ language='c++', libraries = ["gmp", "m", "ntl"]), @@ -19,7 +19,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.algebras.quatalg.quaternion_algebra_cython', sources = ['sage/algebras/quatalg/quaternion_algebra_cython.pyx'], -@@ -607,7 +609,8 @@ ext_modules = [ +@@ -574,7 +576,8 @@ ext_modules = [ [])), Extension('sage.libs.lrcalc.lrcalc', @@ -29,7 +29,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('*', ['sage/libs/cypari2/*.pyx']), Extension('*', ['sage/libs/pari/*.pyx']), -@@ -625,7 +628,8 @@ ext_modules = [ +@@ -592,7 +595,8 @@ ext_modules = [ sources = ['sage/libs/readline.pyx'], libraries = ['readline']), @@ -39,7 +39,7 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.libs.symmetrica.symmetrica', sources = ["sage/libs/symmetrica/symmetrica.pyx"], -@@ -633,17 +637,21 @@ ext_modules = [ +@@ -600,17 +604,21 @@ ext_modules = [ Extension('sage.libs.mpmath.utils', sources = ["sage/libs/mpmath/utils.pyx"], @@ -65,7 +65,7 @@ diff -up src/module_list.py.orig src/module_list.py ################################### ## -@@ -651,7 +659,8 @@ ext_modules = [ +@@ -618,7 +626,8 @@ ext_modules = [ ## ################################### @@ -75,7 +75,7 @@ diff -up src/module_list.py.orig src/module_list.py ################################### ## -@@ -824,6 +833,7 @@ ext_modules = [ +@@ -799,6 +808,7 @@ ext_modules = [ Extension("sage.matrix.matrix_complex_ball_dense", ["sage/matrix/matrix_complex_ball_dense.pyx"], libraries=['arb', 'mpfi', 'mpfr'], @@ -83,15 +83,15 @@ diff -up src/module_list.py.orig src/module_list.py language = "c++"), Extension('sage.matrix.matrix_complex_double_dense', -@@ -891,6 +901,7 @@ ext_modules = [ +@@ -866,6 +876,7 @@ ext_modules = [ sources = ['sage/matrix/matrix_modn_sparse.pyx']), Extension('sage.matrix.matrix_mpolynomial_dense', + include_dirs = singular_incs, sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']), - Extension('sage.matrix.matrix_rational_dense', -@@ -1203,6 +1214,7 @@ ext_modules = [ + Extension('sage.matrix.matrix_polynomial_dense', +@@ -1189,6 +1200,7 @@ ext_modules = [ Extension("sage.rings.complex_arb", ["sage/rings/complex_arb.pyx"], libraries=['mpfi', 'mpfr', 'gmp'], @@ -99,7 +99,7 @@ diff -up src/module_list.py.orig src/module_list.py language = 'c++'), Extension('sage.rings.complex_double', -@@ -1275,6 +1287,7 @@ ext_modules = [ +@@ -1264,6 +1276,7 @@ ext_modules = [ Extension("sage.rings.real_arb", ["sage/rings/real_arb.pyx"], libraries = ['mpfi', 'mpfr'], @@ -107,7 +107,7 @@ diff -up src/module_list.py.orig src/module_list.py language = 'c++'), Extension('sage.rings.real_lazy', -@@ -1473,12 +1486,15 @@ ext_modules = [ +@@ -1462,12 +1475,15 @@ ext_modules = [ sources = ['sage/rings/polynomial/multi_polynomial.pyx']), Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular', @@ -123,7 +123,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_generic', -@@ -1492,6 +1508,7 @@ ext_modules = [ +@@ -1481,6 +1497,7 @@ ext_modules = [ Extension('sage.rings.polynomial.polynomial_complex_arb', sources = ['sage/rings/polynomial/polynomial_complex_arb.pyx'], @@ -132,8 +132,8 @@ diff -up src/module_list.py.orig src/module_list.py Extension('sage.rings.polynomial.polynomial_compiled', diff -up src/setup.py.orig src/setup.py ---- src/setup.py.orig 2017-03-29 18:42:34.196001702 -0400 -+++ src/setup.py 2017-03-29 18:42:39.088001890 -0400 +--- src/setup.py.orig 2017-04-11 10:01:57.270275593 -0400 ++++ src/setup.py 2017-04-11 10:02:00.107275701 -0400 @@ -83,6 +83,7 @@ except KeyError: # search for dependencies and add to gcc -I # this depends on SAGE_CYTHONIZED diff --git a/sagemath-libgap.patch b/sagemath-libgap.patch index 0db4199..541dfd7 100644 --- a/sagemath-libgap.patch +++ b/sagemath-libgap.patch @@ -1,6 +1,6 @@ diff -up src/sage/libs/gap/test/main.c.orig src/sage/libs/gap/test/main.c ---- src/sage/libs/gap/test/main.c.orig 2017-03-04 13:30:35.525484755 -0500 -+++ src/sage/libs/gap/test/main.c 2017-03-04 13:30:58.662485641 -0500 +--- src/sage/libs/gap/test/main.c.orig 2017-04-11 09:59:37.166270228 -0400 ++++ src/sage/libs/gap/test/main.c 2017-04-11 09:59:39.063270300 -0400 @@ -22,7 +22,7 @@ void eval(char* cmd) { libgap_start_interaction(cmd); @@ -11,9 +11,9 @@ diff -up src/sage/libs/gap/test/main.c.orig src/sage/libs/gap/test/main.c char* out = libgap_get_output(); libgap_exit(); diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx ---- src/sage/libs/gap/util.pyx.orig 2017-03-04 13:31:07.509485979 -0500 -+++ src/sage/libs/gap/util.pyx 2017-03-04 13:31:44.126487382 -0500 -@@ -154,17 +154,9 @@ def gap_root(): +--- src/sage/libs/gap/util.pyx.orig 2017-04-11 09:59:20.424269587 -0400 ++++ src/sage/libs/gap/util.pyx 2017-04-11 09:59:39.065270300 -0400 +@@ -158,17 +158,9 @@ def gap_root(): sage: from sage.libs.gap.util import gap_root sage: gap_root() # random output diff --git a/sagemath-lrslib.patch b/sagemath-lrslib.patch index f29c8cb..3826e8c 100644 --- a/sagemath-lrslib.patch +++ b/sagemath-lrslib.patch @@ -1,7 +1,7 @@ diff -up src/sage/geometry/polyhedron/base.py.orig src/sage/geometry/polyhedron/base.py ---- src/sage/geometry/polyhedron/base.py.orig 2017-03-04 13:27:41.267478082 -0500 -+++ src/sage/geometry/polyhedron/base.py 2017-03-04 13:27:49.646478403 -0500 -@@ -21,7 +21,6 @@ import six +--- src/sage/geometry/polyhedron/base.py.orig 2017-04-11 09:57:57.498266411 -0400 ++++ src/sage/geometry/polyhedron/base.py 2017-04-11 09:58:07.176266782 -0400 +@@ -22,7 +22,6 @@ import six from sage.structure.element import Element, coerce_binop, is_Vector from sage.misc.all import cached_method, prod @@ -9,7 +9,7 @@ diff -up src/sage/geometry/polyhedron/base.py.orig src/sage/geometry/polyhedron/ from sage.rings.all import QQ, ZZ from sage.rings.real_double import RDF -@@ -3680,10 +3679,6 @@ class Polyhedron_base(Element): +@@ -3988,10 +3987,6 @@ class Polyhedron_base(Element): David Avis's lrs program. """ diff --git a/sagemath-nauty.patch b/sagemath-nauty.patch index 5629cc0..4d63a87 100644 --- a/sagemath-nauty.patch +++ b/sagemath-nauty.patch @@ -1,7 +1,7 @@ diff -up src/sage/graphs/graph_generators.py.orig src/sage/graphs/graph_generators.py ---- src/sage/graphs/graph_generators.py.orig 2017-03-04 13:28:37.640480240 -0500 -+++ src/sage/graphs/graph_generators.py 2017-03-04 13:28:47.287480610 -0500 -@@ -874,7 +874,7 @@ class GraphGenerators(): +--- src/sage/graphs/graph_generators.py.orig 2017-04-11 09:58:45.689268257 -0400 ++++ src/sage/graphs/graph_generators.py 2017-04-11 09:58:53.297268548 -0400 +@@ -875,7 +875,7 @@ class GraphGenerators(): >A geng -d0D3 n=4 e=0-6 """ import subprocess diff --git a/sagemath-pari.patch b/sagemath-pari.patch index 8664548..8ce27b5 100644 --- a/sagemath-pari.patch +++ b/sagemath-pari.patch @@ -1,7 +1,7 @@ diff -up src/sage/libs/cypari2/paridecl.pxd.orig src/sage/libs/cypari2/paridecl.pxd ---- src/sage/libs/cypari2/paridecl.pxd.orig 2017-03-04 14:37:56.976639516 -0500 -+++ src/sage/libs/cypari2/paridecl.pxd 2017-03-04 14:38:09.953640013 -0500 -@@ -77,7 +77,7 @@ cdef extern from "sage/libs/cypari2/cypa +--- src/sage/libs/cypari2/paridecl.pxd.orig 2017-04-18 07:41:28.165058343 -0400 ++++ src/sage/libs/cypari2/paridecl.pxd 2017-04-18 07:45:56.847068632 -0400 +@@ -84,7 +84,7 @@ cdef extern from *: # PARI headers a int PARI_SIGINT_block, PARI_SIGINT_pending void NEXT_PRIME_VIADIFF(long, byteptr) void PREC_PRIME_VIADIFF(long, byteptr) @@ -11,14 +11,14 @@ diff -up src/sage/libs/cypari2/paridecl.pxd.orig src/sage/libs/cypari2/paridecl. int precdl # The "except 0" here is to ensure compatibility with diff -up src/sage/libs/cypari2/pari_instance.pyx.orig src/sage/libs/cypari2/pari_instance.pyx ---- src/sage/libs/cypari2/pari_instance.pyx.orig 2017-03-04 14:38:30.535640801 -0500 -+++ src/sage/libs/cypari2/pari_instance.pyx 2017-03-04 14:38:39.680641151 -0500 -@@ -510,7 +510,7 @@ cdef class PariInstance(PariInstance_aut - # As a simple heuristic, we set the virtual stack to 1/4 of the - # virtual memory. +--- src/sage/libs/cypari2/pari_instance.pyx.orig 2017-04-18 07:46:04.924068941 -0400 ++++ src/sage/libs/cypari2/pari_instance.pyx 2017-04-18 07:46:41.870070356 -0400 +@@ -461,7 +461,7 @@ cdef class Pari(Pari_auto): -- pari_init_opts(size, maxprime, INIT_DFTm) -+ pari_init_opts(size, maxprime, INIT_DFTm|INIT_noINTGMPm) - - from sage.misc.getusage import virtual_memory_limit + # Take 1MB as minimal stack. Use maxprime=0, which PARI will + # internally increase to some small value like 65537. +- pari_init_opts(1000000, 0, INIT_DFTm) ++ pari_init_opts(1000000, 0, INIT_DFTm|INIT_noINTGMPm) + # Disable PARI's stack overflow checking which is incompatible + # with multi-threading. diff --git a/sagemath-readonly.patch b/sagemath-readonly.patch index 5c3041a..31f3d5a 100644 --- a/sagemath-readonly.patch +++ b/sagemath-readonly.patch @@ -1,7 +1,7 @@ diff -up src/sage/all.py.orig src/sage/all.py ---- src/sage/all.py.orig 2017-03-04 13:24:30.701470784 -0500 -+++ src/sage/all.py 2017-03-04 13:24:50.878471557 -0500 -@@ -300,11 +300,11 @@ def _write_started_file(): +--- src/sage/all.py.orig 2017-04-11 09:56:17.559262584 -0400 ++++ src/sage/all.py 2017-04-11 09:56:25.743262897 -0400 +@@ -298,11 +298,11 @@ def _write_started_file(): Check that the file exists when Sage is running:: diff --git a/sagemath-sagedoc.patch b/sagemath-sagedoc.patch index 761e70e..934f448 100644 --- a/sagemath-sagedoc.patch +++ b/sagemath-sagedoc.patch @@ -1,7 +1,7 @@ diff -up src/doc/common/conf.py.orig src/doc/common/conf.py ---- src/doc/common/conf.py.orig 2017-03-30 11:27:42.351311111 -0400 -+++ src/doc/common/conf.py 2017-03-30 11:27:44.482311193 -0400 -@@ -218,7 +218,7 @@ if (os.environ.get('SAGE_DOC_MATHJAX', ' +--- src/doc/common/conf.py.orig 2017-04-11 09:55:23.607260518 -0400 ++++ src/doc/common/conf.py 2017-04-11 09:55:52.327261618 -0400 +@@ -220,7 +220,7 @@ if (os.environ.get('SAGE_DOC_MATHJAX', ' html_theme_options['mathjax_macros'] = sage_mathjax_macros() from pkg_resources import Requirement, working_set @@ -11,8 +11,8 @@ diff -up src/doc/common/conf.py.orig src/doc/common/conf.py # It would be really nice if sphinx would copy the entire mathjax directory, diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py ---- src/sage/doctest/control.py.orig 2017-03-30 11:27:42.358311112 -0400 -+++ src/sage/doctest/control.py 2017-03-30 11:27:44.483311193 -0400 +--- src/sage/doctest/control.py.orig 2017-04-11 09:55:23.610260518 -0400 ++++ src/sage/doctest/control.py 2017-04-11 09:55:52.330261618 -0400 @@ -95,7 +95,6 @@ class DocTestDefaults(SageObject): self.valgrind = False self.massif = False @@ -30,7 +30,7 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py # Non-interactive debuggers: 48 hours options.timeout = int(os.getenv('SAGE_TIMEOUT_VALGRIND', 48 * 60 * 60)) elif options.long: -@@ -1030,13 +1029,8 @@ class DocTestController(SageObject): +@@ -1034,13 +1033,8 @@ class DocTestController(SageObject): elif opt.cachegrind: toolname = "cachegrind" flags = os.getenv("SAGE_CACHEGRIND_FLAGS", "") @@ -44,7 +44,7 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py if "%s" in flags: flags %= toolname + ".%p" # replace %s with toolname cmd += flags + sage_cmd -@@ -1096,10 +1090,10 @@ class DocTestController(SageObject): +@@ -1100,10 +1094,10 @@ class DocTestController(SageObject): 0 """ opt = self.options @@ -58,8 +58,8 @@ 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 2017-03-30 11:27:42.364311112 -0400 -+++ src/sage/interfaces/singular.py 2017-03-30 11:27:44.486311193 -0400 +--- src/sage/interfaces/singular.py.orig 2017-04-11 09:55:50.260261539 -0400 ++++ src/sage/interfaces/singular.py 2017-04-11 09:55:52.332261618 -0400 @@ -2291,7 +2291,7 @@ def generate_docstring_dictionary(): nodes.clear() node_names.clear() @@ -70,9 +70,9 @@ diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py new_node = re.compile("File: singular\.hlp, Node: ([^,]*),.*") new_lookup = re.compile("\* ([^:]*):*([^.]*)\..*") 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 2017-03-30 11:27:42.371311112 -0400 -+++ src/sage_setup/docbuild/ext/multidocs.py 2017-03-30 11:27:44.487311193 -0400 -@@ -83,8 +83,11 @@ def merge_environment(app, env): +--- src/sage_setup/docbuild/ext/multidocs.py.orig 2017-04-11 09:55:23.612260518 -0400 ++++ src/sage_setup/docbuild/ext/multidocs.py 2017-04-11 09:55:52.332261618 -0400 +@@ -84,8 +84,11 @@ def merge_environment(app, env): for ind in newalldoc: # treat subdocument source as orphaned file and don't complain md = env.metadata.get(ind, dict()) @@ -85,10 +85,10 @@ diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/e + env.metadata[ind] = {'orphan'} # merge the citations newcite = {} - for ind, (path, tag) in docenv.citations.iteritems(): + for ind, (path, tag) in six.iteritems(docenv.citations): diff -up src/sage_setup/docbuild/__init__.py.orig src/sage_setup/docbuild/__init__.py ---- src/sage_setup/docbuild/__init__.py.orig 2017-03-30 11:27:42.379311112 -0400 -+++ src/sage_setup/docbuild/__init__.py 2017-03-30 11:29:25.179315049 -0400 +--- src/sage_setup/docbuild/__init__.py.orig 2017-04-11 09:55:50.272261539 -0400 ++++ src/sage_setup/docbuild/__init__.py 2017-04-11 09:55:52.333261618 -0400 @@ -248,13 +248,14 @@ if NUM_THREADS > 1: # map_async handles KeyboardInterrupt correctly. Plain map and # apply_async does not, so don't use it. diff --git a/sagemath-scripts.patch b/sagemath-scripts.patch index bbe6da5..3820e2c 100644 --- a/sagemath-scripts.patch +++ b/sagemath-scripts.patch @@ -1,6 +1,6 @@ diff -up src/bin/sage.orig src/bin/sage ---- src/bin/sage.orig 2017-03-04 12:58:43.035411519 -0500 -+++ src/bin/sage 2017-03-04 13:08:11.111433272 -0500 +--- src/bin/sage.orig 2017-04-11 09:46:27.981240007 -0400 ++++ src/bin/sage 2017-04-11 09:53:04.143255178 -0400 @@ -1,5 +1,16 @@ #!/usr/bin/env bash @@ -154,7 +154,7 @@ diff -up src/bin/sage.orig src/bin/sage echo " -search_src -- search through all the Sage library code for string" echo " -search_doc -- search through the Sage documentation for string" echo " -grep -- same as -search_src" -@@ -220,16 +165,6 @@ usage_advanced() { +@@ -222,16 +167,6 @@ usage_advanced() { echo #### 1.......................26..................................................78 #### |.....................--.|...................................................| @@ -171,7 +171,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" -@@ -243,9 +178,6 @@ usage_advanced() { +@@ -245,9 +180,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" @@ -181,11 +181,10 @@ 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'." -@@ -253,104 +185,6 @@ usage_advanced() { - exit 0 +@@ -256,121 +188,6 @@ usage_advanced() { } -- + -##################################################################### -# Special options to be processed without sage-env -##################################################################### @@ -206,8 +205,26 @@ diff -up src/bin/sage.orig src/bin/sage -# an unclobbered environment before testing unsafe tickets. -if [ "$1" = '-patchbot' -o "$1" = "--patchbot" ]; then - shift -- cd "$SAGE_ROOT" -- exec local/bin/patchbot/patchbot.py "$@" +- # We ask the Python from Sage where the patchbot is installed. +- # We set PYTHONPATH to that directory such that the system Python +- # should also find the sage_patchbot package. +- cmd='import sage_patchbot as p; import os; print(os.path.dirname(p.__path__[0]))' +- export PYTHONPATH=`"$SAGE_ROOT/sage" --python -c "$cmd"` +- if [ -z "$PYTHONPATH" ]; then +- # Something went wrong, assume that the patchbot is not installed +- echo >&2 "Error: cannot find installation path for sage_patchbot" +- echo >&2 "See https://wiki.sagemath.org/buildbot for instructions" +- exit 1 +- fi +- +- # Try "python2.7", then "python2", then "python" +- shopt -s execfail # Do not exit if "exec" fails +- exec python2.7 -m sage_patchbot.patchbot "$@" +- exec python2 -m sage_patchbot.patchbot "$@" +- exec python -m sage_patchbot.patchbot "$@" +- echo >&2 "Error: cannot find a suitable Python program." +- echo >&2 "The SageMath patchbot requires a system Python installation." +- exit 127 -fi - -# Check for '--upgrade' before sourcing sage-env: the top-level "make" @@ -286,7 +303,7 @@ diff -up src/bin/sage.orig src/bin/sage if [ $# -gt 0 ]; then if [ "$1" = '-h' -o "$1" = '-?' -o "$1" = '-help' -o "$1" = '--help' ]; then usage -@@ -362,23 +196,9 @@ fi +@@ -382,23 +199,9 @@ fi # Prepare for running Sage, either interactively or non-interactively. sage_setup() { @@ -310,7 +327,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 -@@ -389,20 +209,6 @@ sage_setup() { +@@ -409,20 +212,6 @@ sage_setup() { } @@ -331,7 +348,7 @@ diff -up src/bin/sage.orig src/bin/sage # Start an interactive Sage session, this function never returns. interactive_sage() { sage_setup -@@ -507,16 +313,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ] +@@ -527,16 +316,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ] exec ecl "$@" fi @@ -348,8 +365,8 @@ diff -up src/bin/sage.orig src/bin/sage if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then shift exec maxima "$@" -@@ -542,11 +338,6 @@ if [ "$1" = '-pip' -o "$1" = '--pip' ]; - exec pip-lock "$@" +@@ -562,11 +341,6 @@ if [ "$1" = '-pip' -o "$1" = '--pip' ]; + exec pip "$@" fi -if [ "$1" = '-fix-pkg-checksums' -o "$1" = '--fix-pkg-checksums' ]; then @@ -360,7 +377,7 @@ diff -up src/bin/sage.orig src/bin/sage if [ "$1" = '-python' -o "$1" = '--python' ]; then shift exec python "$@" -@@ -562,16 +353,6 @@ if [ "$1" = '-ipython' -o "$1" = '--ipyt +@@ -582,16 +356,6 @@ if [ "$1" = '-ipython' -o "$1" = '--ipyt exec ipython "$@" fi @@ -377,11 +394,10 @@ diff -up src/bin/sage.orig src/bin/sage if [ "$1" = '-sh' -o "$1" = '--sh' ]; then # AUTHORS: # - Carl Witty and William Stein: initial version -@@ -690,19 +471,6 @@ EOF - exit $status +@@ -711,20 +475,6 @@ EOF fi --##################################################################### + ##################################################################### -# Test coverage of a module? -##################################################################### - @@ -394,10 +410,12 @@ diff -up src/bin/sage.orig src/bin/sage - shift - exec sage-coverageall "$@" -fi - - ##################################################################### +- +-##################################################################### # File conversion -@@ -722,11 +490,6 @@ fi + ##################################################################### + +@@ -747,11 +497,6 @@ fi # Run Sage's versions of the standard Algebra/Geometry etc. software ##################################################################### @@ -409,7 +427,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 "$@" -@@ -737,13 +500,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not +@@ -762,13 +507,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not exec sage-notebook "$@" fi @@ -423,7 +441,7 @@ diff -up src/bin/sage.orig src/bin/sage if [ "$1" = "-inotebook" -o "$1" = '--inotebook' ]; then shift sage-cleaner &>/dev/null & -@@ -762,31 +518,12 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep +@@ -787,38 +525,19 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep exit 0 fi @@ -456,7 +474,15 @@ diff -up src/bin/sage.orig src/bin/sage if [ ! -f "$DOT_SAGE"/init.sage ]; then echo >&2 "init.sage does not exist ... creating" touch "$DOT_SAGE"/init.sage -@@ -802,10 +539,7 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1" + fi + SAGE_BANNER=no 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 +@@ -827,16 +546,6 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1" fi fi @@ -464,14 +490,24 @@ diff -up src/bin/sage.orig src/bin/sage - if [ "$1" = '-btnew' ]; then - build_sage - fi -+if [ "$1" = '-tnew' ]; then +- shift +- SAGE_BANNER=no sage_setup +- export PYTHONIOENCODING="utf-8" # Fix encoding for doctests +- exec sage-runtests --new "$@" +-fi +- + if [ "$1" = '-testall' -o "$1" = "--testall" ]; then shift SAGE_BANNER=no sage_setup - export PYTHONIOENCODING="utf-8" # Fix encoding for doctests -@@ -831,130 +565,6 @@ if [ "$1" = '--location' ]; then - exit 0 +@@ -851,119 +560,6 @@ if [ "$1" = '-c' ]; then + exec sage-eval "$@" fi +-if [ "$1" = '--location' ]; then +- maybe_sage_location +- exit 0 +-fi +- - -install() { - maybe_sage_location @@ -580,26 +616,10 @@ diff -up src/bin/sage.orig src/bin/sage - exec python -m "sage_setup.docbuild" "$@" -fi - --if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then -- shift -- sage_setup -- if [ "$SAGE_DEBUG" = "no" ]; then -- gdb -x "$SAGE_LOCAL/bin/sage-gdb-commands" \ -- -args python "$SAGE_LOCAL/bin/sage-ipython" "$@" -i -- else -- # Location of cython_debug directory -- cygdb_dir="$SAGE_SRC/build/cythonized" -- cygdb "$cygdb_dir" "$SAGE_SRC/sage" \ -- -- -x "$SAGE_LOCAL/bin/sage-gdb-commands" \ -- -args python "$SAGE_LOCAL/bin/sage-ipython" "$@" -i -- fi -- exit $? --fi -- - if [ "$1" = '-preparse' -o "$1" = "--preparse" ]; then + if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then shift - exec sage-preparse "$@" -@@ -989,21 +599,10 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca + sage_setup +@@ -1014,12 +610,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca exec sage-callgrind "$@" fi @@ -612,18 +632,21 @@ diff -up src/bin/sage.orig src/bin/sage if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then exec sage-startuptime.py "$@" fi +@@ -1030,11 +620,6 @@ if [ "$1" = '-gthread' -o "$1" = '-qthre + fi --if [ "$1" = '-gthread' -o "$1" = '-qthread' -o "$1" = '-q4thread' -o "$1" = '-wthread' -o "$1" = '-pylab' ]; then -- # Intentionally no "shift" here -- interactive_sage "$@" --fi -- if [ $# -ge 1 ]; then - T=`echo "$1" | sed -e "s/.*\.//"` - if [ "$T" = "spkg" ]; then +- T=`echo "$1" | sed -e "s/.*\.//"` +- if [ "$T" = "spkg" ]; then +- install "$@" +- fi +- SAGE_BANNER=no sage_setup + unset TERM # See Trac #12263 + exec sage-run "$@" + fi diff -up src/bin/sage-runtests.orig src/bin/sage-runtests ---- src/bin/sage-runtests.orig 2017-03-04 13:08:31.712434061 -0500 -+++ src/bin/sage-runtests 2017-03-04 13:08:41.887434451 -0500 +--- src/bin/sage-runtests.orig 2017-04-11 09:53:17.222255678 -0400 ++++ src/bin/sage-runtests 2017-04-11 09:53:31.631256230 -0400 @@ -56,10 +56,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 " + @@ -636,8 +659,8 @@ diff -up src/bin/sage-runtests.orig src/bin/sage-runtests 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 2017-03-04 13:08:52.937434874 -0500 -+++ src/bin/sage-valgrind 2017-03-04 13:09:13.143435648 -0500 +--- src/bin/sage-valgrind.orig 2017-04-11 09:53:45.006256742 -0400 ++++ src/bin/sage-valgrind 2017-04-11 09:54:05.879257542 -0400 @@ -1,16 +1,6 @@ #!/usr/bin/env bash diff --git a/sagemath.spec b/sagemath.spec index 4e9a619..bdd9625 100644 --- a/sagemath.spec +++ b/sagemath.spec @@ -1,6 +1,6 @@ %global __provides_exclude_from .*/site-packages/.*\\.so -%bcond_without bundled_pari +%bcond_with bundled_pari %bcond_with bundled_pexpect %bcond_without bundled_ipython @@ -42,7 +42,7 @@ %global ipython_pkg ipython-5.1.0 %endif %if %{with bundled_pari} -%global pari_pkg pari-2.8.0.alpha +%global pari_pkg pari-2.9.1 %endif %if %{with bundled_pexpect} %global pexpect_pkg pexpect-4.1.0 @@ -65,7 +65,7 @@ Name: sagemath Group: Applications/Engineering Summary: A free open-source mathematics software system -Version: 7.5.1 +Version: 7.6 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 @@ -1692,6 +1692,10 @@ exit 0 ######################################################################## %changelog +* Tue Apr 11 2017 pcpa - 7.6-1 +- Update to sagemath 7.6 +- Switch back to system pari + * Thu Apr 6 2017 pcpa - 7.5.1-1 - Update to sagemath 7.5.1 diff --git a/sources b/sources index 66276e4..c26d969 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sage-7.5.1.tar.gz) = ef18951250573f4c04911757664e25f7e03332df36efd948e189009e62573b8f120a413b322947fee6e914cbcc64fbd99d5a960954a04ba5786660ecc0a6ee96 +SHA512 (sage-7.6.tar.gz) = d700a4e501f8883222b2456134c4983197c7d4216e88d94b6c01e94042baad9345c8a8383a08701c09b4fcad1b3b506413e406da3dad340428a76b6048500df3