Update to sagemath 8.3 (bz 1612867).

Also:
- Drop -lrslib, -gap-hap, and -flask patches.
- Drop obsolete scriplets to fix F24 to F25 upgrade (bz 1594429 and 1618934).
- Drop obsolete mktexlsr invocations.
- Fix more Singular paths.
- Fix still more uses of /usr/bin/env.
- Drop disallow/dissallow fixup for cython; now fixed in cython itself.
This commit is contained in:
Jerry James 2018-09-23 08:28:54 -06:00
parent 3dc6dbb3c1
commit 1a0bd1afc6
24 changed files with 285 additions and 525 deletions

18
.gitignore vendored
View file

@ -1,17 +1 @@
/sage-5.8.tar /sage-*.tar.gz
/sage-5.9.tar
/sage-5.10.tar
/sage-5.12.tar
/sage-5.13.tar
/sage-6.1.1.tar.gz
/sage-6.2.tar.gz
/sage-6.3.tar.gz
/sage-6.4.1.tar.gz
/sage-6.5.tar.gz
/sage-6.8.tar.gz
/sage-7.3.tar.gz
/sage-7.4.tar.gz
/sage-7.5.1.tar.gz
/sage-7.6.tar.gz
/sage-8.0.tar.gz
/sage-8.2.tar.gz

View file

@ -1,6 +1,6 @@
diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py
--- src/sage/sandpiles/sandpile.py.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage/sandpiles/sandpile.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/sandpiles/sandpile.py 2018-05-16 13:28:24.939025388 -0600 +++ src/sage/sandpiles/sandpile.py 2018-08-29 08:47:29.728055776 -0600
@@ -342,9 +342,6 @@ from sage.arith.all import falling_facto @@ -342,9 +342,6 @@ from sage.arith.all import falling_facto
from sage.rings.all import Integer, PolynomialRing, QQ, ZZ from sage.rings.all import Integer, PolynomialRing, QQ, ZZ
from sage.symbolic.all import I, pi 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 Sandpile(DiGraph):
""" """
Class for Dhar's abelian sandpile model. Class for Dhar's abelian sandpile model.
@@ -5199,7 +5196,7 @@ class SandpileDivisor(dict): @@ -5197,7 +5194,7 @@ class SandpileDivisor(dict):
sign_file.close() sign_file.close()
# compute # compute
try: try:

View file

@ -1,18 +1,6 @@
diff -up src/sage/libs/arb/acb.pxd.orig src/sage/libs/arb/acb.pxd
--- src/sage/libs/arb/acb.pxd.orig 2018-05-05 16:21:24.000000000 -0600
+++ src/sage/libs/arb/acb.pxd 2018-05-16 13:59:18.715290712 -0600
@@ -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/acb_hypgeom.pxd.orig src/sage/libs/arb/acb_hypgeom.pxd 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-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/acb_hypgeom.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/acb_hypgeom.pxd 2018-05-16 13:59:18.717290684 -0600 +++ src/sage/libs/arb/acb_hypgeom.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
from sage.libs.arb.types cimport * from sage.libs.arb.types cimport *
@ -23,10 +11,10 @@ diff -up src/sage/libs/arb/acb_hypgeom.pxd.orig src/sage/libs/arb/acb_hypgeom.px
long acb_hypgeom_pfq_choose_n(acb_srcptr a, long p, acb_srcptr b, long q, const acb_t z, long prec) 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) 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 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-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/acb_mat.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/acb_mat.pxd 2018-05-16 13:59:18.717290684 -0600 +++ src/sage/libs/arb/acb_mat.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
from sage.libs.arb.types cimport acb_t, acb_mat_t from sage.libs.arb.types cimport acb_t, acb_mat_t, acb_poly_t
-cdef extern from "acb_mat.h": -cdef extern from "acb_mat.h":
+cdef extern from "arb/acb_mat.h": +cdef extern from "arb/acb_mat.h":
@ -34,8 +22,8 @@ diff -up src/sage/libs/arb/acb_mat.pxd.orig src/sage/libs/arb/acb_mat.pxd
unsigned int acb_mat_ncols(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) 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 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-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/acb_modular.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/acb_modular.pxd 2018-05-16 13:59:18.718290670 -0600 +++ src/sage/libs/arb/acb_modular.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
from sage.libs.arb.types cimport * from sage.libs.arb.types cimport *
from sage.libs.flint.types cimport fmpz_poly_t from sage.libs.flint.types cimport fmpz_poly_t
@ -46,8 +34,8 @@ diff -up src/sage/libs/arb/acb_modular.pxd.orig src/sage/libs/arb/acb_modular.px
void acb_modular_j(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) 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 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-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/acb_poly.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/acb_poly.pxd 2018-05-16 13:59:18.719290655 -0600 +++ src/sage/libs/arb/acb_poly.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
from sage.libs.arb.types cimport * from sage.libs.arb.types cimport *
from sage.libs.flint.types cimport fmpz_poly_t, fmpq_poly_t from sage.libs.flint.types cimport fmpz_poly_t, fmpq_poly_t
@ -57,9 +45,21 @@ diff -up src/sage/libs/arb/acb_poly.pxd.orig src/sage/libs/arb/acb_poly.pxd
void acb_poly_init(acb_poly_t poly) void acb_poly_init(acb_poly_t poly)
void acb_poly_clear(acb_poly_t poly) void acb_poly_clear(acb_poly_t poly)
void acb_poly_fit_length(acb_poly_t poly, long len) 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-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/acb.pxd 2018-08-29 10:43:48.571623007 -0600
@@ -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 diff -up src/sage/libs/arb/arf.pxd.orig src/sage/libs/arb/arf.pxd
--- src/sage/libs/arb/arf.pxd.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/arf.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/arf.pxd 2018-05-16 13:59:18.716290698 -0600 +++ src/sage/libs/arb/arf.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -5,7 +5,7 @@ from sage.libs.gmp.types cimport mpz_t @@ -5,7 +5,7 @@ from sage.libs.gmp.types cimport mpz_t
from sage.libs.flint.types cimport fmpz_t from sage.libs.flint.types cimport fmpz_t
from sage.libs.mpfr.types cimport mpfr_t, mpfr_rnd_t from sage.libs.mpfr.types cimport mpfr_t, mpfr_rnd_t
@ -70,8 +70,8 @@ diff -up src/sage/libs/arb/arf.pxd.orig src/sage/libs/arb/arf.pxd
void arf_clear(arf_t x) void arf_clear(arf_t x)
void arf_zero(arf_t x) void arf_zero(arf_t x)
diff -up src/sage/libs/arb/bernoulli.pxd.orig src/sage/libs/arb/bernoulli.pxd diff -up src/sage/libs/arb/bernoulli.pxd.orig src/sage/libs/arb/bernoulli.pxd
--- src/sage/libs/arb/bernoulli.pxd.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/bernoulli.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/bernoulli.pxd 2018-05-16 13:59:18.718290670 -0600 +++ src/sage/libs/arb/bernoulli.pxd 2018-08-29 10:43:48.572622995 -0600
@@ -2,5 +2,5 @@ @@ -2,5 +2,5 @@
from ..flint.types cimport fmpq_t, ulong from ..flint.types cimport fmpq_t, ulong
@ -80,8 +80,8 @@ diff -up src/sage/libs/arb/bernoulli.pxd.orig src/sage/libs/arb/bernoulli.pxd
+cdef extern from "arb/bernoulli.h": +cdef extern from "arb/bernoulli.h":
void bernoulli_fmpq_ui(fmpq_t b, ulong n) void bernoulli_fmpq_ui(fmpq_t b, ulong n)
diff -up src/sage/libs/arb/mag.pxd.orig src/sage/libs/arb/mag.pxd diff -up src/sage/libs/arb/mag.pxd.orig src/sage/libs/arb/mag.pxd
--- src/sage/libs/arb/mag.pxd.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/mag.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/mag.pxd 2018-05-16 13:59:18.717290684 -0600 +++ src/sage/libs/arb/mag.pxd 2018-08-29 10:43:48.573622983 -0600
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
from sage.libs.arb.types cimport * from sage.libs.arb.types cimport *
from sage.libs.flint.types cimport fmpz_t, fmpq_t from sage.libs.flint.types cimport fmpz_t, fmpq_t
@ -92,8 +92,8 @@ diff -up src/sage/libs/arb/mag.pxd.orig src/sage/libs/arb/mag.pxd
void mag_clear(mag_t x) void mag_clear(mag_t x)
void mag_init_set(mag_t x, const mag_t y) 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 diff -up src/sage/libs/arb/types.pxd.orig src/sage/libs/arb/types.pxd
--- src/sage/libs/arb/types.pxd.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/libs/arb/types.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/arb/types.pxd 2018-05-16 13:59:18.719290655 -0600 +++ src/sage/libs/arb/types.pxd 2018-08-29 10:43:48.573622983 -0600
@@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
-cdef extern from "mag.h": -cdef extern from "mag.h":
+cdef extern from "arb/mag.h": +cdef extern from "arb/mag.h":

View file

@ -1,6 +1,6 @@
diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
--- src/sage/databases/cremona.py.orig 2016-10-20 08:11:03.521544935 -0400 --- src/sage/databases/cremona.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/databases/cremona.py 2016-10-20 08:11:13.681545324 -0400 +++ src/sage/databases/cremona.py 2018-08-29 08:48:43.090148635 -0600
@@ -53,7 +53,6 @@ from sage.misc.prandom import randint @@ -53,7 +53,6 @@ from sage.misc.prandom import randint
import sage.schemes.elliptic_curves.constructor as elliptic import sage.schemes.elliptic_curves.constructor as elliptic
@ -9,7 +9,7 @@ diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
from sage.env import SAGE_SHARE from sage.env import SAGE_SHARE
from sage.misc.all import walltime from sage.misc.all import walltime
@@ -824,14 +823,6 @@ class MiniCremonaDatabase(SQLDatabase): @@ -825,14 +824,6 @@ class MiniCremonaDatabase(SQLDatabase):
if N < self.largest_conductor(): if N < self.largest_conductor():
message = "There is no elliptic curve with label " + label \ message = "There is no elliptic curve with label " + label \
+ " in the database" + " in the database"

View file

@ -1,6 +1,6 @@
diff -up src/module_list.py.orig src/module_list.py diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2018-05-05 16:21:22.000000000 -0600 --- src/module_list.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/module_list.py 2018-05-18 07:46:16.531947286 -0600 +++ src/module_list.py 2018-08-29 08:34:50.846439644 -0600
@@ -358,16 +358,16 @@ ext_modules = [ @@ -358,16 +358,16 @@ ext_modules = [
Extension('sage.graphs.matchpoly', Extension('sage.graphs.matchpoly',
sources = ['sage/graphs/matchpoly.pyx']), sources = ['sage/graphs/matchpoly.pyx']),
@ -42,7 +42,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.graphs.spanning_tree', Extension('sage.graphs.spanning_tree',
sources = ['sage/graphs/spanning_tree.pyx']), sources = ['sage/graphs/spanning_tree.pyx']),
@@ -454,21 +454,20 @@ ext_modules = [ @@ -461,21 +461,20 @@ ext_modules = [
## ##
################################ ################################
@ -72,7 +72,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.libs.flint.flint', Extension('sage.libs.flint.flint',
sources = ["sage/libs/flint/flint.pyx"], sources = ["sage/libs/flint/flint.pyx"],
@@ -488,22 +487,22 @@ ext_modules = [ @@ -495,22 +494,22 @@ ext_modules = [
Extension('sage.libs.gmp.pylong', Extension('sage.libs.gmp.pylong',
sources = ['sage/libs/gmp/pylong.pyx']), sources = ['sage/libs/gmp/pylong.pyx']),
@ -109,7 +109,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', ['sage/libs/linbox/*.pyx']), Extension('*', ['sage/libs/linbox/*.pyx']),
@@ -844,10 +843,10 @@ ext_modules = [ @@ -843,10 +842,10 @@ ext_modules = [
Extension('sage.matrix.matrix_window', Extension('sage.matrix.matrix_window',
sources = ['sage/matrix/matrix_window.pyx']), sources = ['sage/matrix/matrix_window.pyx']),
@ -124,7 +124,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.matrix.misc', Extension('sage.matrix.misc',
sources = ['sage/matrix/misc.pyx']), sources = ['sage/matrix/misc.pyx']),
@@ -1024,26 +1023,25 @@ ext_modules = [ @@ -1023,26 +1022,25 @@ ext_modules = [
Extension("sage.numerical.backends.interactivelp_backend", Extension("sage.numerical.backends.interactivelp_backend",
["sage/numerical/backends/interactivelp_backend.pyx"]), ["sage/numerical/backends/interactivelp_backend.pyx"]),

View file

@ -1,7 +1,7 @@
diff -up src/module_list.py.orig src/module_list.py diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2018-05-18 09:34:28.942183178 -0600 --- src/module_list.py.orig 2018-08-29 08:35:19.927079956 -0600
+++ src/module_list.py 2018-05-18 09:35:15.210542150 -0600 +++ src/module_list.py 2018-08-29 10:41:05.127643255 -0600
@@ -464,10 +464,10 @@ ext_modules = [ @@ -471,10 +471,10 @@ ext_modules = [
Extension('sage.libs.ecl', Extension('sage.libs.ecl',
sources = ["sage/libs/ecl.pyx"]), sources = ["sage/libs/ecl.pyx"]),

View file

@ -1,201 +0,0 @@
--- build/pkgs/sagenb/src/sagenb/flask_version/admin.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/admin.py 2018-06-15 16:07:44.250325912 -0600
@@ -1,7 +1,7 @@
import os
from flask import Blueprint, url_for, render_template, request, session, redirect, g, current_app
from .decorators import login_required, admin_required, with_lock
-from flask.ext.babel import Babel, gettext, ngettext, lazy_gettext
+from flask_babel import Babel, gettext, ngettext, lazy_gettext
_ = gettext
admin = Blueprint('admin', 'sagenb.flask_version.admin')
--- build/pkgs/sagenb/src/sagenb/flask_version/authentication.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/authentication.py 2018-06-15 16:06:44.083100080 -0600
@@ -2,7 +2,7 @@ import os
import random
from flask import Blueprint, url_for, render_template, request, session, redirect, g, current_app
from .decorators import with_lock
-from flask.ext.babel import gettext, ngettext, lazy_gettext
+from flask_babel import gettext, ngettext, lazy_gettext
_ = gettext
authentication = Blueprint('authentication',
--- build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig 2018-06-15 13:17:46.940191938 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/base.py 2018-06-15 16:09:19.512516887 -0600
@@ -8,11 +8,11 @@ from flask import Flask, Blueprint, url_
from .decorators import login_required, guest_or_login_required, with_lock
from .decorators import global_lock
-from flask.ext.autoindex import AutoIndex
+from flask_autoindex import AutoIndex
from sage.env import SAGE_SRC, SAGE_DOC
SRC = os.path.join(SAGE_SRC, 'sage')
-from flask.ext.openid import OpenID
-from flask.ext.babel import Babel, gettext, ngettext, lazy_gettext, get_locale
+from flask_openid import OpenID
+from flask_babel import Babel, gettext, ngettext, lazy_gettext, get_locale
from sagenb.misc.misc import SAGENB_ROOT, DATA, translations_path, N_, nN_, unicode_str
from json import dumps
from sagenb.notebook.cell import number_of_rows
--- build/pkgs/sagenb/src/sagenb/flask_version/decorators.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/decorators.py 2018-06-15 16:09:33.447105994 -0600
@@ -1,6 +1,6 @@
from functools import wraps
from flask import Flask, url_for, render_template, request, session, redirect, g, current_app
-from flask.ext.babel import Babel, gettext, ngettext, lazy_gettext
+from flask_babel import Babel, gettext, ngettext, lazy_gettext
_ = gettext
from threading import Lock
--- build/pkgs/sagenb/src/sagenb/flask_version/doc.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/doc.py 2018-06-15 16:09:43.966795797 -0600
@@ -18,7 +18,7 @@ import os
from flask import Blueprint, url_for, render_template, request, session, redirect, g, current_app
from .decorators import login_required, guest_or_login_required
-from flask.ext.babel import gettext, ngettext, lazy_gettext
+from flask_babel import gettext, ngettext, lazy_gettext
_ = gettext
doc = Blueprint('doc', 'sagenb.flask_version.doc')
--- build/pkgs/sagenb/src/sagenb/flask_version/settings.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/settings.py 2018-06-15 16:09:55.078468143 -0600
@@ -2,7 +2,7 @@ import os
import random
from flask import Blueprint, url_for, render_template, request, session, redirect, g, current_app
from .decorators import login_required, with_lock
-from flask.ext.babel import gettext, ngettext, lazy_gettext
+from flask_babel import gettext, ngettext, lazy_gettext
_ = gettext
--- build/pkgs/sagenb/src/sagenb/flask_version/worksheet_listing.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/worksheet_listing.py 2018-06-15 16:07:22.393970396 -0600
@@ -5,7 +5,7 @@ import os
import urllib, urlparse
from flask import Blueprint, url_for, render_template, request, session, redirect, g, current_app
from .decorators import login_required, guest_or_login_required, with_lock
-from flask.ext.babel import Babel, gettext, ngettext, lazy_gettext
+from flask_babel import Babel, gettext, ngettext, lazy_gettext
_ = gettext
worksheet_listing = Blueprint('worksheet_listing',
--- build/pkgs/sagenb/src/sagenb/flask_version/worksheet.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/flask_version/worksheet.py 2018-06-15 16:07:04.820488591 -0600
@@ -8,7 +8,7 @@ from flask import Blueprint, make_respon
from .decorators import login_required, with_lock
from collections import defaultdict
from werkzeug.utils import secure_filename
-from flask.ext.babel import Babel, gettext, ngettext, lazy_gettext
+from flask_babel import Babel, gettext, ngettext, lazy_gettext
_ = gettext
from sagenb.notebook.interact import INTERACT_UPDATE_PREFIX
--- build/pkgs/sagenb/src/sagenb/notebook/challenge.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/challenge.py 2018-06-15 16:10:52.222783112 -0600
@@ -32,7 +32,7 @@ from six.moves.urllib.parse import urlen
from six.moves.urllib.request import urlopen, Request
from sagenb.notebook.template import template
-from flask.ext.babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext
_ = lazy_gettext
class ChallengeResponse(object):
--- build/pkgs/sagenb/src/sagenb/notebook/conf.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/conf.py 2018-06-15 16:10:52.223783083 -0600
@@ -10,7 +10,7 @@ from __future__ import absolute_import
# The full text of the GPL is available at:
# http://www.gnu.org/licenses/
#############################################################################
-from flask.ext.babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext
POS = 'pos'
DESC = 'desc'
--- build/pkgs/sagenb/src/sagenb/notebook/notebook.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/notebook.py 2018-06-15 16:10:52.236782699 -0600
@@ -51,7 +51,7 @@ from . import server_conf # server conf
from . import user_conf # user configuration
from . import user # users
from .template import template, prettify_time_ago
-from flask.ext.babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext
try:
# sage is installed
--- build/pkgs/sagenb/src/sagenb/notebook/register.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/register.py 2018-06-15 16:10:52.236782699 -0600
@@ -12,7 +12,7 @@
"""
Helper functions dealing with the verification of user
"""
-from flask.ext.babel import gettext as _
+from flask_babel import gettext as _
def build_msg(key, username, addr, port, secure):
url_prefix = "https" if secure else "http"
--- build/pkgs/sagenb/src/sagenb/notebook/server_conf.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/server_conf.py 2018-06-15 16:10:52.238782641 -0600
@@ -8,7 +8,7 @@ from . import conf
from .conf import (POS, DESC, GROUP, TYPE, CHOICES, T_BOOL, T_INTEGER,
T_CHOICE, T_REAL, T_COLOR, T_STRING, T_LIST, T_INFO)
from sagenb.misc.misc import get_languages, N_
-from flask.ext.babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext
_ = lazy_gettext
defaults = {'word_wrap_cols':72,
--- build/pkgs/sagenb/src/sagenb/notebook/template.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/template.py 2018-06-15 16:10:52.238782641 -0600
@@ -21,7 +21,7 @@ import jinja2
import os, re, sys
from sagenb.misc.misc import SAGE_VERSION, DATA
-from flask.ext.babel import gettext, ngettext, lazy_gettext
+from flask_babel import gettext, ngettext, lazy_gettext
from flask import current_app as app
if 'SAGENB_TEMPLATE_PATH' in os.environ:
--- build/pkgs/sagenb/src/sagenb/notebook/tutorial.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/tutorial.py 2018-06-15 16:10:52.239782611 -0600
@@ -348,7 +348,7 @@ the "save" command), and get back to whe
#####################################
-from flask.ext.babel import lazy_gettext as _
+from flask_babel import lazy_gettext as _
notebook_help = [
(_('Find Help and Documentation'),
--- build/pkgs/sagenb/src/sagenb/notebook/user_conf.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/user_conf.py 2018-06-15 16:10:52.239782611 -0600
@@ -8,7 +8,7 @@ from . import server_conf
from .conf import (Configuration, POS, DESC, GROUP, TYPE, CHOICES, T_BOOL,
T_INTEGER, T_CHOICE, T_REAL, T_COLOR, T_STRING, T_LIST)
from sagenb.misc.misc import SAGENB_ROOT, get_languages
-from flask.ext.babel import lazy_gettext
+from flask_babel import lazy_gettext
defaults = {'max_history_length':1000,
'default_system':'sage',
--- build/pkgs/sagenb/src/sagenb/notebook/worksheet.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/worksheet.py 2018-06-15 16:10:52.248782346 -0600
@@ -57,7 +57,7 @@ from sagenb.misc.format import relocate_
# Imports specifically relevant to the sage notebook
from .cell import Cell, TextCell
from .template import template, clean_name, prettify_time_ago
-from flask.ext.babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext
_ = gettext
# Set some constants that will be used for regular expressions below.
@@ -4527,7 +4527,7 @@ def convert_time_to_string(t):
Converts ``t`` (in Unix time) to a locale-specific string
describing the time and date.
"""
- from flask.ext.babel import format_datetime
+ from flask_babel import format_datetime
import datetime, time
try:
return format_datetime(datetime.datetime.fromtimestamp(float(t)))

View file

@ -1,23 +0,0 @@
diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/permgroup.py
--- src/sage/groups/perm_gps/permgroup.py.orig 2018-05-05 16:21:24.000000000 -0600
+++ src/sage/groups/perm_gps/permgroup.py 2018-05-16 13:38:07.049015293 -0600
@@ -166,6 +166,10 @@ def load_hap():
gap.load_package("hap")
except Exception:
gap.load_package("hap")
+ try:
+ gap.load_package("hap")
+ except Exception:
+ raise RuntimeError("gap-hap package failed to load.")
def hap_decorator(f):
"""
@@ -191,8 +195,6 @@ def hap_decorator(f):
"""
@wraps(f)
def wrapped(self, n, p=0):
- if not is_package_installed('gap_packages'):
- raise PackageNotFoundError("gap_packages")
load_hap()
from sage.arith.all import is_prime
if not (p == 0 or is_prime(p)):

View file

@ -1,6 +1,6 @@
diff -up src/module_list.py.orig src/module_list.py diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2018-05-22 15:41:19.892745329 -0600 --- src/module_list.py.orig 2018-08-29 10:41:05.127643255 -0600
+++ src/module_list.py 2018-05-22 15:42:40.289863491 -0600 +++ src/module_list.py 2018-08-29 10:44:16.376279329 -0600
@@ -45,6 +45,9 @@ zlib_libs = zlib_pc['libraries'] @@ -45,6 +45,9 @@ zlib_libs = zlib_pc['libraries']
zlib_library_dirs = zlib_pc['library_dirs'] zlib_library_dirs = zlib_pc['library_dirs']
zlib_include_dirs = zlib_pc['include_dirs'] zlib_include_dirs = zlib_pc['include_dirs']
@ -36,7 +36,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', sources = ['sage/algebras/finite_dimensional_algebras/*.pyx']), Extension('*', sources = ['sage/algebras/finite_dimensional_algebras/*.pyx']),
@@ -519,7 +531,8 @@ ext_modules = [ @@ -526,7 +538,8 @@ ext_modules = [
[])), [])),
Extension('sage.libs.lrcalc.lrcalc', Extension('sage.libs.lrcalc.lrcalc',
@ -46,7 +46,7 @@ diff -up src/module_list.py.orig src/module_list.py
OptionalExtension("sage.libs.meataxe", OptionalExtension("sage.libs.meataxe",
sources = ['sage/libs/meataxe.pyx'], sources = ['sage/libs/meataxe.pyx'],
@@ -541,23 +554,28 @@ ext_modules = [ @@ -548,23 +561,28 @@ ext_modules = [
sources = ['sage/libs/readline.pyx'], sources = ['sage/libs/readline.pyx'],
libraries = ['readline']), libraries = ['readline']),
@ -80,7 +80,7 @@ diff -up src/module_list.py.orig src/module_list.py
################################### ###################################
## ##
@@ -565,7 +583,8 @@ ext_modules = [ @@ -572,7 +590,8 @@ ext_modules = [
## ##
################################### ###################################
@ -90,7 +90,7 @@ diff -up src/module_list.py.orig src/module_list.py
################################### ###################################
## ##
@@ -745,7 +764,8 @@ ext_modules = [ @@ -744,7 +763,8 @@ ext_modules = [
Extension("sage.matrix.matrix_complex_ball_dense", Extension("sage.matrix.matrix_complex_ball_dense",
["sage/matrix/matrix_complex_ball_dense.pyx"], ["sage/matrix/matrix_complex_ball_dense.pyx"],
@ -100,7 +100,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.matrix.matrix_complex_double_dense', Extension('sage.matrix.matrix_complex_double_dense',
sources = ['sage/matrix/matrix_complex_double_dense.pyx']), sources = ['sage/matrix/matrix_complex_double_dense.pyx']),
@@ -753,6 +773,7 @@ ext_modules = [ @@ -752,6 +772,7 @@ ext_modules = [
Extension('sage.matrix.matrix_cyclo_dense', Extension('sage.matrix.matrix_cyclo_dense',
sources = ['sage/matrix/matrix_cyclo_dense.pyx'], sources = ['sage/matrix/matrix_cyclo_dense.pyx'],
language = "c++", language = "c++",
@ -108,7 +108,7 @@ diff -up src/module_list.py.orig src/module_list.py
libraries=['ntl']), libraries=['ntl']),
Extension('sage.matrix.matrix_gap', Extension('sage.matrix.matrix_gap',
@@ -815,6 +836,7 @@ ext_modules = [ @@ -814,6 +835,7 @@ ext_modules = [
sources = ['sage/matrix/matrix_modn_sparse.pyx']), sources = ['sage/matrix/matrix_modn_sparse.pyx']),
Extension('sage.matrix.matrix_mpolynomial_dense', 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']), sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']),
Extension('sage.matrix.matrix_polynomial_dense', Extension('sage.matrix.matrix_polynomial_dense',
@@ -1112,7 +1134,8 @@ ext_modules = [ @@ -1111,7 +1133,8 @@ ext_modules = [
language = 'c++'), language = 'c++'),
Extension("sage.rings.complex_arb", 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', Extension('sage.rings.complex_double',
sources = ['sage/rings/complex_double.pyx'], sources = ['sage/rings/complex_double.pyx'],
@@ -1182,7 +1205,8 @@ ext_modules = [ @@ -1181,7 +1204,8 @@ ext_modules = [
sources = ['sage/rings/real_interval_absolute.pyx']), sources = ['sage/rings/real_interval_absolute.pyx']),
Extension("sage.rings.real_arb", 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', Extension('sage.rings.real_lazy',
sources = ['sage/rings/real_lazy.pyx']), sources = ['sage/rings/real_lazy.pyx']),
@@ -1265,6 +1289,7 @@ ext_modules = [ @@ -1264,6 +1288,7 @@ ext_modules = [
Extension('sage.rings.number_field.number_field_element_quadratic', Extension('sage.rings.number_field.number_field_element_quadratic',
sources = ['sage/rings/number_field/number_field_element_quadratic.pyx'], 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'], libraries=['ntl'],
language = 'c++'), language = 'c++'),
@@ -1387,12 +1412,15 @@ ext_modules = [ @@ -1386,12 +1411,15 @@ ext_modules = [
sources = ['sage/rings/polynomial/multi_polynomial.pyx']), sources = ['sage/rings/polynomial/multi_polynomial.pyx']),
Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular', Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular',
@ -159,8 +159,8 @@ diff -up src/module_list.py.orig src/module_list.py
+ include_dirs = singular_incs, + include_dirs = singular_incs,
sources = ['sage/rings/polynomial/multi_polynomial_libsingular.pyx']), sources = ['sage/rings/polynomial/multi_polynomial_libsingular.pyx']),
Extension('sage.rings.polynomial.multi_polynomial_ring_generic', Extension('sage.rings.polynomial.multi_polynomial_ring_base',
@@ -1405,7 +1433,8 @@ ext_modules = [ @@ -1404,7 +1432,8 @@ ext_modules = [
sources = ['sage/rings/polynomial/polydict.pyx']), sources = ['sage/rings/polynomial/polydict.pyx']),
Extension('sage.rings.polynomial.polynomial_complex_arb', 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', Extension('sage.rings.polynomial.polynomial_compiled',
sources = ['sage/rings/polynomial/polynomial_compiled.pyx']), sources = ['sage/rings/polynomial/polynomial_compiled.pyx']),
diff -up src/setup.py.orig src/setup.py diff -up src/setup.py.orig src/setup.py
--- src/setup.py.orig 2018-05-22 15:41:19.893745318 -0600 --- src/setup.py.orig 2018-08-29 08:35:19.955079610 -0600
+++ src/setup.py 2018-05-22 15:41:27.805658536 -0600 +++ src/setup.py 2018-08-29 10:44:16.376279329 -0600
@@ -85,6 +85,7 @@ except KeyError: @@ -85,6 +85,7 @@ except KeyError:
# search for dependencies and add to gcc -I<path> # search for dependencies and add to gcc -I<path>

View file

@ -1,6 +1,6 @@
diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py
--- src/sage/interfaces/jmoldata.py.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/interfaces/jmoldata.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/jmoldata.py 2018-05-16 13:30:58.803927423 -0600 +++ src/sage/interfaces/jmoldata.py 2018-08-29 08:47:39.203938604 -0600
@@ -148,8 +148,6 @@ class JmolData(SageObject): @@ -148,8 +148,6 @@ class JmolData(SageObject):
sage: print(os.path.exists(testfile)) # optional -- java sage: print(os.path.exists(testfile)) # optional -- java
True True
@ -8,9 +8,9 @@ diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py
- # Set up paths, file names and scripts - # Set up paths, file names and scripts
- jmolpath = os.path.join(SAGE_LOCAL, "share", "jmol", "JmolData.jar") - jmolpath = os.path.join(SAGE_LOCAL, "share", "jmol", "JmolData.jar")
target_native = targetfile target_native = targetfile
import sys
if sys.platform == 'cygwin': if sys.platform == 'cygwin':
@@ -174,10 +172,8 @@ class JmolData(SageObject): @@ -173,10 +171,8 @@ class JmolData(SageObject):
env = dict(os.environ) env = dict(os.environ)
env['LC_ALL'] = 'C' env['LC_ALL'] = 'C'
env['LANG'] = 'C' env['LANG'] = 'C'

View file

@ -1,6 +1,30 @@
diff -up src/sage/env.py.orig src/sage/env.py
--- src/sage/env.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/env.py 2018-08-29 11:25:26.833962117 -0600
@@ -164,7 +164,7 @@ _add_variable_or_fallback('CONWAY_POLYNO
_add_variable_or_fallback('GRAPHS_DATA_DIR', opj('$SAGE_SHARE','graphs'))
_add_variable_or_fallback('ELLCURVE_DATA_DIR',opj('$SAGE_SHARE','ellcurves'))
_add_variable_or_fallback('POLYTOPE_DATA_DIR',opj('$SAGE_SHARE','reflexive_polytopes'))
-_add_variable_or_fallback('GAP_ROOT_DIR', opj('$SAGE_LOCAL','gap','latest'))
+_add_variable_or_fallback('GAP_ROOT_DIR', opj('usr','lib','gap'))
_add_variable_or_fallback('THEBE_DIR', opj('$SAGE_SHARE','thebe'))
# locate singular shared object
diff -up src/sage/interfaces/gap.py.orig src/sage/interfaces/gap.py
--- src/sage/interfaces/gap.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/gap.py 2018-08-29 11:21:43.180584324 -0600
@@ -197,7 +197,7 @@ import string
WORKSPACE = gap_workspace_file()
-GAP_BINARY = os.path.join(SAGE_LOCAL, 'bin', 'gap')
+GAP_BINARY = os.path.join('usr', 'bin', 'gap')
first_try = True
diff -up src/sage/libs/gap/test/main.c.orig src/sage/libs/gap/test/main.c 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-07-21 13:10:16.000000000 -0600 --- src/sage/libs/gap/test/main.c.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/gap/test/main.c 2017-11-24 10:40:06.024865775 -0700 +++ src/sage/libs/gap/test/main.c 2018-08-29 10:38:22.512653256 -0600
@@ -22,7 +22,7 @@ void eval(char* cmd) { @@ -22,7 +22,7 @@ void eval(char* cmd) {
libgap_start_interaction(cmd); libgap_start_interaction(cmd);
@ -11,40 +35,29 @@ diff -up src/sage/libs/gap/test/main.c.orig src/sage/libs/gap/test/main.c
char* out = libgap_get_output(); char* out = libgap_get_output();
libgap_exit(); libgap_exit();
diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
--- src/sage/libs/gap/util.pyx.orig 2017-07-21 13:10:16.000000000 -0600 --- src/sage/libs/gap/util.pyx.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/gap/util.pyx 2017-11-24 10:41:12.757621519 -0700 +++ src/sage/libs/gap/util.pyx 2018-08-29 11:32:06.654205922 -0600
@@ -22,6 +22,8 @@ from sage.interfaces.gap_workspace impor @@ -25,6 +25,8 @@ from sage.cpython.string cimport str_to_
from sage.interfaces.gap_workspace import prepare_workspace_dir
from sage.env import SAGE_LOCAL, GAP_ROOT_DIR from sage.env import SAGE_LOCAL, GAP_ROOT_DIR
from .element cimport *
+import re +import re
+ +
############################################################################ ############################################################################
### Hooking into the GAP memory management ################################# ### Hooking into the GAP memory management #################################
@@ -160,17 +162,9 @@ def gap_root(): @@ -164,7 +166,7 @@ def gap_root():
sage: from sage.libs.gap.util import gap_root sage: from sage.libs.gap.util import gap_root
sage: gap_root() # random output sage: gap_root() # random output
- '/home/vbraun/opt/sage-5.3.rc0/local/gap/latest' - '/home/vbraun/opt/sage-5.3.rc0/local/gap/latest'
+ '/usr/lib/gap' + '/usr/lib/gap'
""" """
- import os.path import os.path
- if os.path.exists(GAP_ROOT_DIR): if os.path.exists(GAP_ROOT_DIR):
- return GAP_ROOT_DIR @@ -232,6 +234,7 @@ cdef initialize():
- print('The gap-4.5.5.spkg (or later) seems to be not installed!')
- gap_sh = open(os.path.join(SAGE_LOCAL, 'bin', 'gap')).read().splitlines()
- gapdir = filter(lambda dir:dir.strip().startswith('GAP_DIR'), gap_sh)[0]
- gapdir = gapdir.split('"')[1]
- gapdir = gapdir.replace('$SAGE_LOCAL', SAGE_LOCAL)
- return gapdir
+ return '/usr/lib/gap'
cdef initialize():
@@ -224,6 +218,7 @@ cdef initialize():
libgap_initialize(argc, argv) libgap_initialize(argc, argv)
gap_error_msg = str(libgap_get_output()) gap_error_msg = char_to_str(libgap_get_output())
libgap_finish_interaction() libgap_finish_interaction()
+ gap_error_msg = re.sub(r'#I.*\n?', '', gap_error_msg, flags=re.MULTILINE) + gap_error_msg = re.sub(r'#I.*\n?', '', gap_error_msg, flags=re.MULTILINE)
if gap_error_msg: if gap_error_msg:

View file

@ -1,13 +0,0 @@
diff -up src/sage/geometry/polyhedron/base.py.orig src/sage/geometry/polyhedron/base.py
--- src/sage/geometry/polyhedron/base.py.orig 2018-05-16 13:31:55.930138769 -0600
+++ src/sage/geometry/polyhedron/base.py 2018-05-16 13:35:12.219428900 -0600
@@ -4281,9 +4281,6 @@ class Polyhedron_base(Element):
David Avis's lrs program.
"""
- if not is_package_installed('lrslib'):
- raise PackageNotFoundError('lrslib')
-
from sage.misc.temporary_file import tmp_filename
from subprocess import Popen, PIPE
in_str = self.cdd_Vrepresentation()

View file

@ -1,6 +1,6 @@
diff -up src/bin/sage-maxima.lisp.orig src/bin/sage-maxima.lisp diff -up src/bin/sage-maxima.lisp.orig src/bin/sage-maxima.lisp
--- src/bin/sage-maxima.lisp.orig 2018-05-05 16:21:22.000000000 -0600 --- src/bin/sage-maxima.lisp.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/bin/sage-maxima.lisp 2018-05-16 13:25:51.499101380 -0600 +++ src/bin/sage-maxima.lisp 2018-08-29 08:45:21.302643791 -0600
@@ -4,3 +4,8 @@ @@ -4,3 +4,8 @@
(setf *prompt-prefix* "<sage-display>") (setf *prompt-prefix* "<sage-display>")
@ -11,18 +11,18 @@ diff -up src/bin/sage-maxima.lisp.orig src/bin/sage-maxima.lisp
+ *standard-input* (open "/dev/stdin" :direction :input) + *standard-input* (open "/dev/stdin" :direction :input)
+ *standard-output* (open "/dev/stdout" :direction :output)) + *standard-output* (open "/dev/stdout" :direction :output))
diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py
--- src/sage/interfaces/maxima.py.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/interfaces/maxima.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/maxima.py 2018-05-16 13:27:01.240157806 -0600 +++ src/sage/interfaces/maxima.py 2018-08-29 08:47:09.779302448 -0600
@@ -556,7 +556,7 @@ class Maxima(MaximaAbstract, Expect): @@ -546,7 +546,7 @@ class Maxima(MaximaAbstract, Expect):
Expect.__init__(self, Expect.__init__(self,
name = 'maxima', name = 'maxima',
prompt = '\(\%i[0-9]+\) ', prompt = '\(\%i[0-9]+\) ',
- command = 'maxima --userdir="%s" -p "%s"'%(SAGE_MAXIMA_DIR,STARTUP), - command = 'maxima -p "{0}"'.format(STARTUP),
+ command = 'maxima --disable-readline --userdir="%s" -p "%s"'%(SAGE_MAXIMA_DIR,STARTUP), + command = 'maxima --disable-readline -p "{0}"'.format(STARTUP),
env = {'TMPDIR': str(ECL_TMP)}, env = {'TMPDIR': str(ECL_TMP)},
script_subdirectory = script_subdirectory, script_subdirectory = script_subdirectory,
restart_on_ctrlc = False, restart_on_ctrlc = False,
@@ -624,7 +624,8 @@ class Maxima(MaximaAbstract, Expect): @@ -615,7 +615,8 @@ class Maxima(MaximaAbstract, Expect):
# Remove limit on the max heapsize (since otherwise it defaults # Remove limit on the max heapsize (since otherwise it defaults
# to 256MB with ECL). # to 256MB with ECL).

View file

@ -1,6 +1,6 @@
diff -up src/sage/libs/mpfr/__init__.pxd.orig src/sage/libs/mpfr/__init__.pxd diff -up src/sage/libs/mpfr/__init__.pxd.orig src/sage/libs/mpfr/__init__.pxd
--- src/sage/libs/mpfr/__init__.pxd.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/libs/mpfr/__init__.pxd.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/libs/mpfr/__init__.pxd 2018-05-25 15:01:25.576043678 -0600 +++ src/sage/libs/mpfr/__init__.pxd 2018-08-29 10:41:34.027286042 -0600
@@ -96,7 +96,6 @@ cdef extern from "mpfr.h": @@ -96,7 +96,6 @@ cdef extern from "mpfr.h":
int mpfr_sqrt(mpfr_t rop, mpfr_t op, mpfr_rnd_t rnd) int mpfr_sqrt(mpfr_t rop, mpfr_t op, mpfr_rnd_t rnd)
int mpfr_sqrt_ui(mpfr_t rop, unsigned long int op, mpfr_rnd_t rnd) int mpfr_sqrt_ui(mpfr_t rop, unsigned long int op, mpfr_rnd_t rnd)
@ -10,8 +10,8 @@ diff -up src/sage/libs/mpfr/__init__.pxd.orig src/sage/libs/mpfr/__init__.pxd
int mpfr_pow(mpfr_t rop, mpfr_t op1, mpfr_t op2, mpfr_rnd_t rnd) int mpfr_pow(mpfr_t rop, mpfr_t op1, mpfr_t op2, mpfr_rnd_t rnd)
int mpfr_pow_ui(mpfr_t rop, mpfr_t op1, unsigned long int op2, mpfr_rnd_t rnd) int mpfr_pow_ui(mpfr_t rop, mpfr_t op1, unsigned long int op2, mpfr_rnd_t rnd)
diff -up src/sage/rings/complex_mpc.pyx.orig src/sage/rings/complex_mpc.pyx diff -up src/sage/rings/complex_mpc.pyx.orig src/sage/rings/complex_mpc.pyx
--- src/sage/rings/complex_mpc.pyx.orig 2018-05-05 16:21:25.000000000 -0600 --- src/sage/rings/complex_mpc.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/rings/complex_mpc.pyx 2018-05-25 15:02:11.567712409 -0600 +++ src/sage/rings/complex_mpc.pyx 2018-08-29 10:41:34.027286042 -0600
@@ -2221,7 +2221,7 @@ cdef class MPComplexNumber(sage.structur @@ -2221,7 +2221,7 @@ cdef class MPComplexNumber(sage.structur
cdef RealNumber a,r cdef RealNumber a,r
a = self.argument()/n a = self.argument()/n
@ -22,8 +22,8 @@ diff -up src/sage/rings/complex_mpc.pyx.orig src/sage/rings/complex_mpc.pyx
cdef MPComplexNumber z cdef MPComplexNumber z
z = self._new() z = self._new()
diff -up src/sage/rings/complex_number.pyx.orig src/sage/rings/complex_number.pyx diff -up src/sage/rings/complex_number.pyx.orig src/sage/rings/complex_number.pyx
--- src/sage/rings/complex_number.pyx.orig 2018-05-05 16:21:25.000000000 -0600 --- src/sage/rings/complex_number.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/rings/complex_number.pyx 2018-05-25 15:01:52.328850983 -0600 +++ src/sage/rings/complex_number.pyx 2018-08-29 10:41:34.027286042 -0600
@@ -2276,7 +2276,7 @@ cdef class ComplexNumber(sage.structure. @@ -2276,7 +2276,7 @@ cdef class ComplexNumber(sage.structure.
rho = abs(self) rho = abs(self)
arg = self.argument() / n arg = self.argument() / n
@ -34,9 +34,9 @@ diff -up src/sage/rings/complex_number.pyx.orig src/sage/rings/complex_number.py
mpfr_sin_cos(z.__im, z.__re, arg.value, rnd) mpfr_sin_cos(z.__im, z.__re, arg.value, rnd)
mpfr_mul(z.__re, z.__re, r, rnd) mpfr_mul(z.__re, z.__re, r, rnd)
diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
--- src/sage/rings/real_mpfr.pyx.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage/rings/real_mpfr.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/rings/real_mpfr.pyx 2018-05-25 11:33:48.009144647 -0600 +++ src/sage/rings/real_mpfr.pyx 2018-08-29 10:41:34.028286030 -0600
@@ -5369,7 +5369,7 @@ cdef class RealNumber(sage.structure.ele @@ -5370,7 +5370,7 @@ cdef class RealNumber(sage.structure.ele
if algorithm == 1: if algorithm == 1:
x = self._new() x = self._new()
sig_on() sig_on()

View file

@ -1,12 +1,12 @@
diff -up src/sage/graphs/graph_generators.py.orig src/sage/graphs/graph_generators.py diff -up src/sage/graphs/graph_generators.py.orig src/sage/graphs/graph_generators.py
--- src/sage/graphs/graph_generators.py.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/graphs/graph_generators.py.orig 2018-08-29 08:52:26.099392035 -0600
+++ src/sage/graphs/graph_generators.py 2018-05-16 13:35:59.299778933 -0600 +++ src/sage/graphs/graph_generators.py 2018-08-29 08:56:44.782205619 -0600
@@ -886,7 +886,7 @@ class GraphGenerators(): @@ -906,7 +906,7 @@ class GraphGenerators():
>A geng -d0D3 n=4 e=0-6 else:
""" enc_kwargs = {'encoding': 'latin-1'}
import subprocess
- sp = subprocess.Popen("geng {0}".format(options), shell=True, - sp = subprocess.Popen("geng {0}".format(options), shell=True,
+ sp = subprocess.Popen("nauty-geng {0}".format(options), shell=True, + sp = subprocess.Popen("nauty-geng {0}".format(options), shell=True,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, close_fds=True) stderr=subprocess.PIPE, close_fds=True,
if debug: **enc_kwargs)

View file

@ -1,6 +1,6 @@
diff -up src/sage/arith/multi_modular.pyx.orig src/sage/arith/multi_modular.pyx diff -up src/sage/arith/multi_modular.pyx.orig src/sage/arith/multi_modular.pyx
--- src/sage/arith/multi_modular.pyx.orig 2018-05-05 16:21:22.000000000 -0600 --- src/sage/arith/multi_modular.pyx.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/arith/multi_modular.pyx 2018-05-18 09:39:53.247690061 -0600 +++ src/sage/arith/multi_modular.pyx 2018-08-29 10:44:04.624424587 -0600
@@ -173,9 +173,9 @@ cdef class MultiModularBasis_base(object @@ -173,9 +173,9 @@ cdef class MultiModularBasis_base(object
ArithmeticError: The inverse of 6 modulo 10 is not defined. ArithmeticError: The inverse of 6 modulo 10 is not defined.
""" """
@ -23,9 +23,9 @@ diff -up src/sage/arith/multi_modular.pyx.orig src/sage/arith/multi_modular.pyx
cdef Py_ssize_t i cdef Py_ssize_t i
diff -up src/sage/rings/finite_rings/integer_mod.pyx.orig src/sage/rings/finite_rings/integer_mod.pyx diff -up src/sage/rings/finite_rings/integer_mod.pyx.orig src/sage/rings/finite_rings/integer_mod.pyx
--- src/sage/rings/finite_rings/integer_mod.pyx.orig 2018-05-05 16:21:25.000000000 -0600 --- src/sage/rings/finite_rings/integer_mod.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/rings/finite_rings/integer_mod.pyx 2018-05-18 09:41:48.412094505 -0600 +++ src/sage/rings/finite_rings/integer_mod.pyx 2018-08-29 10:44:04.624424587 -0600
@@ -457,7 +457,7 @@ cdef class IntegerMod_abstract(FiniteRin @@ -468,7 +468,7 @@ cdef class IntegerMod_abstract(FiniteRin
from .integer_mod_ring import IntegerModRing from .integer_mod_ring import IntegerModRing
R = IntegerModRing(modulus) R = IntegerModRing(modulus)
if (<Element>self)._parent._IntegerModRing_generic__order % R.order(): if (<Element>self)._parent._IntegerModRing_generic__order % R.order():
@ -35,8 +35,8 @@ diff -up src/sage/rings/finite_rings/integer_mod.pyx.orig src/sage/rings/finite_
def is_nilpotent(self): def is_nilpotent(self):
diff -up src/sage/structure/parent.pyx.orig src/sage/structure/parent.pyx diff -up src/sage/structure/parent.pyx.orig src/sage/structure/parent.pyx
--- src/sage/structure/parent.pyx.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage/structure/parent.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/structure/parent.pyx 2018-05-18 09:42:38.685397989 -0600 +++ src/sage/structure/parent.pyx 2018-08-29 10:44:04.625424574 -0600
@@ -726,7 +726,7 @@ cdef class Parent(sage.structure.categor @@ -726,7 +726,7 @@ cdef class Parent(sage.structure.categor
cdef int init_coerce(self, bint warn=True) except -1: cdef int init_coerce(self, bint warn=True) except -1:
if self._coerce_from_hash is None: if self._coerce_from_hash is None:
@ -47,8 +47,8 @@ diff -up src/sage/structure/parent.pyx.orig src/sage/structure/parent.pyx
self._initial_action_list = [] self._initial_action_list = []
self._initial_convert_list = [] self._initial_convert_list = []
diff -up src/sage/symbolic/ring.pyx.orig src/sage/symbolic/ring.pyx diff -up src/sage/symbolic/ring.pyx.orig src/sage/symbolic/ring.pyx
--- src/sage/symbolic/ring.pyx.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage/symbolic/ring.pyx.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/symbolic/ring.pyx 2018-05-18 09:43:07.395000229 -0600 +++ src/sage/symbolic/ring.pyx 2018-08-29 10:44:04.625424574 -0600
@@ -378,7 +378,7 @@ cdef class SymbolicRing(CommutativeRing) @@ -378,7 +378,7 @@ cdef class SymbolicRing(CommutativeRing)
from sage.misc.all import prod from sage.misc.all import prod
return prod([SR(p)**e for p,e in x], SR(x.unit())) return prod([SR(p)**e for p,e in x], SR(x.unit()))

View file

@ -1,12 +1,12 @@
diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
--- src/sage/interfaces/qepcad.py.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/interfaces/qepcad.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/qepcad.py 2018-05-16 13:58:34.360913275 -0600 +++ src/sage/interfaces/qepcad.py 2018-08-29 10:43:25.856903772 -0600
@@ -530,7 +530,7 @@ TESTS: @@ -530,7 +530,7 @@ TESTS:
Check the qepcad configuration file:: Check the qepcad configuration file::
- sage: with open(os.path.join(SAGE_LOCAL, 'default.qepcadrc')) as f: - sage: with open(os.path.join(SAGE_LOCAL, 'default.qepcadrc')) as f: # optional - qepcad
+ sage: with open('/usr/share/qepcad/default.qepcadrc')) as f: + sage: with open('/usr/share/qepcad/default.qepcadrc')) as f: # optional - qepcad
....: f.readlines()[-1] ....: f.readlines()[-1]
'SINGULAR .../bin\n' 'SINGULAR .../bin\n'
@ -52,8 +52,8 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
cache = {} cache = {}
- with open('%s/bin/qepcad.help'%SAGE_LOCAL) as help: - with open(os.path.join(SAGE_LOCAL, 'bin', 'qepcad.help')) as help:
+ with open('%s/bin/qepcad.help'%QEPCAD_LOCAL) as help: + with open(os.path.join(QEPCAD_LOCAL, 'bin', 'qepcad.help')) as help:
assert(help.readline().strip() == '@') assert(help.readline().strip() == '@')
while True: while True:

View file

@ -1,6 +1,7 @@
--- src/sage/all.py.orig 2018-05-05 16:21:22.000000000 -0600 diff -up src/sage/all.py.orig src/sage/all.py
+++ src/sage/all.py 2018-05-16 13:25:28.300415250 -0600 --- src/sage/all.py.orig 2018-08-03 05:10:08.000000000 -0600
@@ -290,11 +290,11 @@ def _write_started_file(): +++ src/sage/all.py 2018-08-29 08:45:06.117831555 -0600
@@ -284,11 +284,11 @@ def _write_started_file():
Check that the file exists when Sage is running:: Check that the file exists when Sage is running::

View file

@ -1,6 +1,6 @@
diff -up src/module_list.py.orig src/module_list.py diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2018-05-16 12:35:55.223524926 -0600 --- src/module_list.py.orig 2018-08-29 08:34:50.846439644 -0600
+++ src/module_list.py 2018-05-16 13:13:20.467262594 -0600 +++ src/module_list.py 2018-08-29 08:35:19.927079956 -0600
@@ -3,7 +3,7 @@ from glob import glob @@ -3,7 +3,7 @@ from glob import glob
from distutils.extension import Extension from distutils.extension import Extension
from sage.env import SAGE_LOCAL from sage.env import SAGE_LOCAL
@ -11,8 +11,8 @@ diff -up src/module_list.py.orig src/module_list.py
######################################################### #########################################################
### pkg-config setup ### pkg-config setup
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
--- src/sage/misc/cython.py.orig 2018-05-16 13:13:20.468262581 -0600 --- src/sage/misc/cython.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage/misc/cython.py 2018-05-16 13:16:29.207708998 -0600 +++ src/sage/misc/cython.py 2018-08-29 08:35:19.954079622 -0600
@@ -601,7 +601,7 @@ def cython(filename, verbose=0, compile_ @@ -601,7 +601,7 @@ def cython(filename, verbose=0, compile_
ext = Extension(name, ext = Extension(name,
sources=[pyxfile] + extra_sources, sources=[pyxfile] + extra_sources,
@ -23,8 +23,8 @@ diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
language=language) language=language)
diff -up src/setup.py.orig src/setup.py diff -up src/setup.py.orig src/setup.py
--- src/setup.py.orig 2018-05-05 16:21:27.000000000 -0600 --- src/setup.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/setup.py 2018-05-16 13:17:40.774740719 -0600 +++ src/setup.py 2018-08-29 08:35:19.955079610 -0600
@@ -370,9 +370,8 @@ class sage_build_cython(Command): @@ -370,9 +370,8 @@ class sage_build_cython(Command):
# Debugging # Debugging
gdb_debug=self.debug, gdb_debug=self.debug,
@ -47,9 +47,9 @@ diff -up src/setup.py.orig src/setup.py
def install_kernel_spec(self): def install_kernel_spec(self):
""" """
@@ -897,40 +893,6 @@ class sage_install(install): @@ -900,40 +896,6 @@ class sage_install(install):
from sage.repl.ipython_kernel.install import SageKernelSpec # the install_data directory for installing our Jupyter files.
SageKernelSpec.update() SageKernelSpec.update(prefix=self.install_data)
- def clean_stale_files(self): - def clean_stale_files(self):
- """ - """

View file

@ -1,6 +1,6 @@
diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
--- src/sage/doctest/control.py.orig 2018-05-05 16:21:23.000000000 -0600 --- src/sage/doctest/control.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/doctest/control.py 2018-05-16 13:20:01.420837824 -0600 +++ src/sage/doctest/control.py 2018-08-29 08:36:07.805487927 -0600
@@ -102,7 +102,6 @@ class DocTestDefaults(SageObject): @@ -102,7 +102,6 @@ class DocTestDefaults(SageObject):
self.valgrind = False self.valgrind = False
self.massif = False self.massif = False
@ -46,9 +46,9 @@ diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
return self.run_val_gdb() return self.run_val_gdb()
else: else:
diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
--- src/sage/interfaces/singular.py.orig 2018-05-05 16:21:24.000000000 -0600 --- src/sage/interfaces/singular.py.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/sage/interfaces/singular.py 2018-05-16 13:20:01.421837810 -0600 +++ src/sage/interfaces/singular.py 2018-08-29 08:36:07.818487766 -0600
@@ -2258,7 +2258,7 @@ def generate_docstring_dictionary(): @@ -2262,7 +2262,7 @@ def generate_docstring_dictionary():
nodes.clear() nodes.clear()
node_names.clear() node_names.clear()
@ -58,9 +58,9 @@ diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
new_node = re.compile("File: singular\.hlp, Node: ([^,]*),.*") new_node = re.compile("File: singular\.hlp, Node: ([^,]*),.*")
new_lookup = re.compile("\* ([^:]*):*([^.]*)\..*") new_lookup = re.compile("\* ([^:]*):*([^.]*)\..*")
diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/ext/multidocs.py diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/ext/multidocs.py
--- src/sage_setup/docbuild/ext/multidocs.py.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage_setup/docbuild/ext/multidocs.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage_setup/docbuild/ext/multidocs.py 2018-05-16 13:20:01.421837810 -0600 +++ src/sage_setup/docbuild/ext/multidocs.py 2018-08-29 08:36:07.829487630 -0600
@@ -82,8 +82,11 @@ def merge_environment(app, env): @@ -84,8 +84,11 @@ def merge_environment(app, env):
for ind in newalldoc: for ind in newalldoc:
# treat subdocument source as orphaned file and don't complain # treat subdocument source as orphaned file and don't complain
md = env.metadata.get(ind, dict()) md = env.metadata.get(ind, dict())
@ -75,9 +75,9 @@ diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/e
newcite = {} newcite = {}
citations = docenv.domaindata["std"]["citations"] citations = docenv.domaindata["std"]["citations"]
diff -up src/sage_setup/docbuild/__init__.py.orig src/sage_setup/docbuild/__init__.py diff -up src/sage_setup/docbuild/__init__.py.orig src/sage_setup/docbuild/__init__.py
--- src/sage_setup/docbuild/__init__.py.orig 2018-05-05 16:21:26.000000000 -0600 --- src/sage_setup/docbuild/__init__.py.orig 2018-08-03 05:10:09.000000000 -0600
+++ src/sage_setup/docbuild/__init__.py 2018-05-16 13:20:01.422837797 -0600 +++ src/sage_setup/docbuild/__init__.py 2018-08-29 08:36:07.837487531 -0600
@@ -242,13 +242,14 @@ if NUM_THREADS > 1: @@ -272,13 +272,14 @@ if NUM_THREADS > 1:
# map_async handles KeyboardInterrupt correctly. Plain map and # map_async handles KeyboardInterrupt correctly. Plain map and
# apply_async does not, so don't use it. # apply_async does not, so don't use it.
x = pool.map_async(target, args, 1) x = pool.map_async(target, args, 1)

View file

@ -1,6 +1,6 @@
diff -up build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig build/pkgs/sagenb/src/sagenb/flask_version/base.py diff -up build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig build/pkgs/sagenb/src/sagenb/flask_version/base.py
--- build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig 2017-11-08 08:11:53.546180946 -0500 --- build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig 2018-01-24 04:17:47.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/flask_version/base.py 2017-11-08 08:13:13.400184004 -0500 +++ build/pkgs/sagenb/src/sagenb/flask_version/base.py 2018-08-29 08:44:38.823169061 -0600
@@ -7,8 +7,6 @@ from functools import partial @@ -7,8 +7,6 @@ from functools import partial
from flask import Flask, Blueprint, url_for, request, session, redirect, g, make_response, current_app, render_template from flask import Flask, Blueprint, url_for, request, session, redirect, g, make_response, current_app, render_template
from .decorators import login_required, guest_or_login_required, with_lock from .decorators import login_required, guest_or_login_required, with_lock
@ -40,8 +40,8 @@ diff -up build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig build/pkgs/sage
mimetypes.add_type('text/plain','.jmol') mimetypes.add_type('text/plain','.jmol')
diff -up build/pkgs/sagenb/src/sagenb/misc/misc.py.orig build/pkgs/sagenb/src/sagenb/misc/misc.py diff -up build/pkgs/sagenb/src/sagenb/misc/misc.py.orig build/pkgs/sagenb/src/sagenb/misc/misc.py
--- build/pkgs/sagenb/src/sagenb/misc/misc.py.orig 2017-11-08 08:13:24.162184416 -0500 --- build/pkgs/sagenb/src/sagenb/misc/misc.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/misc/misc.py 2017-11-08 08:13:41.928185096 -0500 +++ build/pkgs/sagenb/src/sagenb/misc/misc.py 2018-08-29 08:44:38.823169061 -0600
@@ -184,7 +184,8 @@ def pad_zeros(s, size=3): @@ -184,7 +184,8 @@ def pad_zeros(s, size=3):
SAGENB_ROOT = os.path.split(resource_filename(__name__, ''))[0] SAGENB_ROOT = os.path.split(resource_filename(__name__, ''))[0]
@ -53,8 +53,8 @@ diff -up build/pkgs/sagenb/src/sagenb/misc/misc.py.orig build/pkgs/sagenb/src/sa
if 'DOT_SAGENB' in os.environ: if 'DOT_SAGENB' in os.environ:
DOT_SAGENB = os.environ['DOT_SAGENB'] DOT_SAGENB = os.environ['DOT_SAGENB']
diff -up build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig build/pkgs/sagenb/src/sagenb/notebook/cell.py diff -up build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig build/pkgs/sagenb/src/sagenb/notebook/cell.py
--- build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig 2017-11-08 08:13:51.658185469 -0500 --- build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig 2018-01-24 04:17:38.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/cell.py 2017-11-08 08:14:22.016186631 -0500 +++ build/pkgs/sagenb/src/sagenb/notebook/cell.py 2018-08-29 08:44:38.823169061 -0600
@@ -2384,8 +2384,8 @@ class Cell(Cell_generic): @@ -2384,8 +2384,8 @@ class Cell(Cell_generic):
with open(jmol_name, 'r') as f: with open(jmol_name, 'r') as f:
jmol_script = f.read() jmol_script = f.read()
@ -67,9 +67,9 @@ diff -up build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig build/pkgs/sagenb/sr
f.write(jmol_script) f.write(jmol_script)
diff -up build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py diff -up build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py
--- build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig 2017-11-08 08:14:30.274186948 -0500 --- build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig 2018-05-22 10:16:28.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py 2017-11-08 08:15:04.624188263 -0500 +++ build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py 2018-08-29 08:44:38.824169048 -0600
@@ -49,12 +49,11 @@ sagenb.notebook.misc.DIR = %(cwd)r #We s @@ -53,12 +53,11 @@ sagenb.notebook.misc.DIR = %(cwd)r #We s
# Flask # # Flask #
######### #########
import os, sys, random import os, sys, random

View file

@ -1,7 +1,7 @@
diff -up src/bin/sage.orig src/bin/sage diff -up src/bin/sage.orig src/bin/sage
--- src/bin/sage.orig 2018-05-05 16:21:22.000000000 -0600 --- src/bin/sage.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/bin/sage 2018-05-16 12:29:16.699989835 -0600 +++ src/bin/sage 2018-08-29 08:32:06.325478480 -0600
@@ -13,13 +13,10 @@ usage() { @@ -26,13 +26,10 @@ usage() {
echo " file.[sage|py|spyx] -- run given .sage, .py or .spyx file" echo " file.[sage|py|spyx] -- run given .sage, .py or .spyx file"
echo " -advanced -- list all command line options" echo " -advanced -- list all command line options"
echo " -c <cmd> -- Evaluates cmd as sage code" echo " -c <cmd> -- Evaluates cmd as sage code"
@ -15,15 +15,15 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -inotebook [...] -- start the *insecure* Sage notebook (deprecated)" echo " -inotebook [...] -- start the *insecure* Sage notebook (deprecated)"
echo " -maxima [...] -- run Sage's Maxima with given arguments" echo " -maxima [...] -- run Sage's Maxima with given arguments"
echo " -mwrank [...] -- run Sage's mwrank with given arguments" echo " -mwrank [...] -- run Sage's mwrank with given arguments"
@@ -27,7 +24,6 @@ usage() { @@ -40,7 +37,6 @@ usage() {
echo " 'default', 'sagenb', 'jupyter', and 'export')" echo " 'default', 'sagenb', 'jupyter', and 'export')"
echo " Current default is 'export' from sagenb to jupyter" echo " Current default is 'export' from sagenb to jupyter"
echo " -n, --notebook -- shortcut for --notebook=default" echo " -n, --notebook -- shortcut for --notebook=default"
- echo " -optional -- list all optional packages that can be installed" - echo " -optional -- list all optional packages that can be installed"
echo " -python [...] -- run the Python 2 interpreter" echo " -python [...] -- run the Python interpreter"
echo " -python2 [...] -- run the Python 2 interpreter"
echo " -python3 [...] -- run the Python 3 interpreter" echo " -python3 [...] -- run the Python 3 interpreter"
echo " -R [...] -- run Sage's R with given arguments" @@ -58,10 +54,6 @@ usage() {
@@ -44,10 +40,6 @@ usage() {
echo " --optional - controls which optional tests are run" echo " --optional - controls which optional tests are run"
echo " --sagenb - test all sagenb files" echo " --sagenb - test all sagenb files"
echo " --help - show all testing options" echo " --help - show all testing options"
@ -34,7 +34,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -v, -version -- display Sage version information" echo " -v, -version -- display Sage version information"
exit 0 exit 0
} }
@@ -66,11 +58,8 @@ usage_advanced() { @@ -81,11 +73,8 @@ usage_advanced() {
echo " -preparse <file.sage> -- preparse file.sage and produce corresponding file.sage.py" echo " -preparse <file.sage> -- preparse file.sage and produce corresponding file.sage.py"
echo " -q -- quiet; start with no banner" echo " -q -- quiet; start with no banner"
echo " -root -- print the Sage root directory" echo " -root -- print the Sage root directory"
@ -46,7 +46,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo echo
#### 1.......................26..................................................78 #### 1.......................26..................................................78
@@ -82,8 +71,6 @@ usage_advanced() { @@ -97,8 +86,6 @@ usage_advanced() {
echo " See the output of sage --notebook --help" echo " See the output of sage --notebook --help"
echo " for more details and examples of how to pass" echo " for more details and examples of how to pass"
echo " optional arguments" echo " optional arguments"
@ -55,7 +55,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -inotebook [...] -- start the *insecure* Sage notebook (deprecated)" echo " -inotebook [...] -- start the *insecure* Sage notebook (deprecated)"
echo " -n, -notebook [...] -- start the default Sage notebook (options are the" echo " -n, -notebook [...] -- start the default Sage notebook (options are the"
echo " same as for the notebook command in Sage). See the" echo " same as for the notebook command in Sage). See the"
@@ -103,18 +90,11 @@ usage_advanced() { @@ -118,18 +105,11 @@ usage_advanced() {
echo " -ipython [...] -- run Sage's IPython using the default environment (not" echo " -ipython [...] -- run Sage's IPython using the default environment (not"
echo " Sage), passing additional options to IPython" echo " Sage), passing additional options to IPython"
echo " -ipython3 [...] -- same as above, but using Python 3" echo " -ipython3 [...] -- same as above, but using Python 3"
@ -74,7 +74,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -python [...] -- run the Python interpreter" echo " -python [...] -- run the Python interpreter"
echo " -R [...] -- run Sage's R with given arguments" echo " -R [...] -- run Sage's R with given arguments"
echo " -scons [...] -- run Sage's scons" echo " -scons [...] -- run Sage's scons"
@@ -126,55 +106,7 @@ usage_advanced() { @@ -141,55 +121,7 @@ usage_advanced() {
echo echo
#### 1.......................26..................................................78 #### 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 " -startuptime [module] -- display how long each component of Sage takes to"
echo " start up; optionally specify a module to get more" echo " start up; optionally specify a module to get more"
echo " details about that particular module" echo " details about that particular module"
@@ -205,7 +137,6 @@ usage_advanced() { @@ -220,7 +152,6 @@ usage_advanced() {
echo " -coverage <files> -- give info about doctest coverage of files" echo " -coverage <files> -- give info about doctest coverage of files"
echo " -coverageall -- give summary info about doctest coverage of all" echo " -coverageall -- give summary info about doctest coverage of all"
echo " files in the Sage library" 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_src <string> -- search through all the Sage library code for string"
echo " -search_doc <string> -- search through the Sage documentation for string" echo " -search_doc <string> -- search through the Sage documentation for string"
echo " -grep <string> -- same as -search_src" echo " -grep <string> -- same as -search_src"
@@ -227,16 +158,6 @@ usage_advanced() { @@ -244,16 +175,6 @@ usage_advanced() {
echo echo
#### 1.......................26..................................................78 #### 1.......................26..................................................78
#### |.....................--.|...................................................| #### |.....................--.|...................................................|
@ -156,7 +156,7 @@ diff -up src/bin/sage.orig src/bin/sage
echo "Valgrind memory debugging:" echo "Valgrind memory debugging:"
echo " -cachegrind -- run Sage using Valgrind's cachegrind tool. The log" echo " -cachegrind -- run Sage using Valgrind's cachegrind tool. The log"
echo " files are named sage-cachegrind.PID can be found in" echo " files are named sage-cachegrind.PID can be found in"
@@ -250,9 +171,6 @@ usage_advanced() { @@ -267,9 +188,6 @@ usage_advanced() {
echo " -memcheck -- run Sage using Valgrind's memcheck tool. The log" echo " -memcheck -- run Sage using Valgrind's memcheck tool. The log"
echo " files are named sage-memcheck.PID can be found in" echo " files are named sage-memcheck.PID can be found in"
echo " $DOT_SAGE" echo " $DOT_SAGE"
@ -166,11 +166,10 @@ diff -up src/bin/sage.orig src/bin/sage
echo " -valgrind -- this is an alias for -memcheck" echo " -valgrind -- this is an alias for -memcheck"
echo echo
echo "You can also use -- before a long option, e.g., 'sage --optional'." echo "You can also use -- before a long option, e.g., 'sage --optional'."
@@ -261,128 +179,6 @@ usage_advanced() { @@ -279,115 +197,6 @@ usage_advanced() {
}
-##################################################################### #####################################################################
-# Special options to be processed without sage-env -# Special options to be processed without sage-env
-##################################################################### -#####################################################################
- -
@ -279,6 +278,14 @@ diff -up src/bin/sage.orig src/bin/sage
-fi -fi
- -
- -
-#####################################################################
# Report information about the Sage environment
#####################################################################
@@ -416,35 +225,8 @@ if [ $# -gt 0 ]; then
fi
-##################################################################### -#####################################################################
-# Source sage-env ($0 is the name of this "sage" script, so we can just -# 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 -# append -env to that). We redirect stdout to stderr, which is safer
@ -292,11 +299,6 @@ diff -up src/bin/sage.orig src/bin/sage
-fi -fi
- -
- -
if [ $# -gt 0 ]; then
if [ "$1" = '-h' -o "$1" = '-?' -o "$1" = '-help' -o "$1" = '--help' ]; then
usage
@@ -394,20 +190,6 @@ fi
# Prepare for running Sage, either interactively or non-interactively. # Prepare for running Sage, either interactively or non-interactively.
sage_setup() { sage_setup() {
- # Check that we're not in a source tarball which hasn't been built yet (#13561). - # Check that we're not in a source tarball which hasn't been built yet (#13561).
@ -316,7 +318,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ ! -d "$IPYTHONDIR" ]; then if [ ! -d "$IPYTHONDIR" ]; then
# make sure that $DOT_SAGE exists so that ipython will happily # make sure that $DOT_SAGE exists so that ipython will happily
# create its config directories there. If DOT_SAGE doesn't # create its config directories there. If DOT_SAGE doesn't
@@ -418,20 +200,6 @@ sage_setup() { @@ -455,20 +237,6 @@ sage_setup() {
} }
@ -337,7 +339,7 @@ diff -up src/bin/sage.orig src/bin/sage
# Start an interactive Sage session, this function never returns. # Start an interactive Sage session, this function never returns.
interactive_sage() { interactive_sage() {
sage_setup sage_setup
@@ -536,16 +304,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ] @@ -552,16 +320,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
exec ecl "$@" exec ecl "$@"
fi fi
@ -354,7 +356,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
shift shift
exec maxima "$@" exec maxima "$@"
@@ -571,11 +329,6 @@ if [ "$1" = '-pip' -o "$1" = '--pip' ]; @@ -587,11 +345,6 @@ if [ "$1" = '-pip' -o "$1" = '--pip' ];
exec pip "$@" exec pip "$@"
fi fi
@ -365,8 +367,8 @@ diff -up src/bin/sage.orig src/bin/sage
- -
if [ "$1" = '-python' -o "$1" = '--python' ]; then if [ "$1" = '-python' -o "$1" = '--python' ]; then
shift shift
exec python "$@" if [ "$SAGE_PYTHON3" = 'yes' ]; then
@@ -606,16 +359,6 @@ if [ "$1" = '-ipython3' -o "$1" = '--ipy @@ -626,16 +379,6 @@ if [ "$1" = '-ipython3' -o "$1" = '--ipy
exec ipython3 "$@" exec ipython3 "$@"
fi fi
@ -383,7 +385,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-sh' -o "$1" = '--sh' ]; then if [ "$1" = '-sh' -o "$1" = '--sh' ]; then
# AUTHORS: # AUTHORS:
# - Carl Witty and William Stein: initial version # - Carl Witty and William Stein: initial version
@@ -735,20 +478,6 @@ EOF @@ -755,20 +498,6 @@ EOF
fi fi
##################################################################### #####################################################################
@ -404,7 +406,7 @@ diff -up src/bin/sage.orig src/bin/sage
# File conversion # File conversion
##################################################################### #####################################################################
@@ -771,11 +500,6 @@ fi @@ -796,11 +525,6 @@ fi
# Run Sage's versions of the standard Algebra/Geometry etc. software # Run Sage's versions of the standard Algebra/Geometry etc. software
##################################################################### #####################################################################
@ -416,7 +418,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then
sage-cleaner &>/dev/null & sage-cleaner &>/dev/null &
exec sage-notebook "$@" exec sage-notebook "$@"
@@ -786,13 +510,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not @@ -811,13 +535,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
exec sage-notebook "$@" exec sage-notebook "$@"
fi fi
@ -430,7 +432,7 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = "-inotebook" -o "$1" = '--inotebook' ]; then if [ "$1" = "-inotebook" -o "$1" = '--inotebook' ]; then
shift shift
sage-cleaner &>/dev/null & sage-cleaner &>/dev/null &
@@ -811,34 +528,15 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep @@ -836,34 +553,15 @@ if [ "$1" = '-grepdoc' -o "$1" = "--grep
exit 0 exit 0
fi fi
@ -467,7 +469,7 @@ diff -up src/bin/sage.orig src/bin/sage
shift shift
exec sage-runtests -p "$@" exec sage-runtests -p "$@"
else else
@@ -847,10 +545,7 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1" @@ -872,10 +570,7 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
fi fi
fi fi
@ -479,7 +481,7 @@ diff -up src/bin/sage.orig src/bin/sage
shift shift
sage_setup sage_setup
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
@@ -871,119 +566,6 @@ if [ "$1" = '-c' ]; then @@ -896,122 +591,6 @@ if [ "$1" = '-c' ]; then
exec sage-eval "$@" exec sage-eval "$@"
fi fi
@ -545,7 +547,7 @@ diff -up src/bin/sage.orig src/bin/sage
- -
-if [ "$1" = '-installed' -o "$1" = "--installed" ]; then -if [ "$1" = '-installed' -o "$1" = "--installed" ]; then
- shift - shift
- exec sage-list-packages installed $@ - exec sage-list-packages all --installed-only $@
-fi -fi
- -
-if [ "$1" = '-p' ]; then -if [ "$1" = '-p' ]; then
@ -592,14 +594,17 @@ diff -up src/bin/sage.orig src/bin/sage
-fi -fi
- -
-if [ "$1" = "-docbuild" -o "$1" = "--docbuild" ]; then -if [ "$1" = "-docbuild" -o "$1" = "--docbuild" ]; then
- # Redirect stdin from /dev/null. This helps with running TeX which
- # tends to ask interactive questions if something goes wrong. These
- # cause the build to hang. If stdin is /dev/null, TeX just aborts.
- shift - shift
- exec sage-python23 -m "sage_setup.docbuild" "$@" - exec sage-python23 -m sage_setup.docbuild "$@" </dev/null
-fi -fi
- -
if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then if [ "$1" = '-gdb' -o "$1" = "--gdb" ]; then
shift shift
sage_setup sage_setup
@@ -1033,12 +615,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca @@ -1061,12 +640,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
exec sage-callgrind "$@" exec sage-callgrind "$@"
fi fi
@ -612,8 +617,9 @@ diff -up src/bin/sage.orig src/bin/sage
if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then
exec sage-startuptime.py "$@" exec sage-startuptime.py "$@"
fi fi
--- src/bin/sage-runtests.orig 2018-05-05 16:21:22.000000000 -0600 diff -up src/bin/sage-runtests.orig src/bin/sage-runtests
+++ src/bin/sage-runtests 2018-05-16 12:16:10.707645467 -0600 --- src/bin/sage-runtests.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/bin/sage-runtests 2018-08-29 08:27:37.703807389 -0600
@@ -67,10 +67,6 @@ if __name__ == "__main__": @@ -67,10 +67,6 @@ if __name__ == "__main__":
help="run doctests using Valgrind's cachegrind tool. The log " help="run doctests using Valgrind's cachegrind tool. The log "
"files are named sage-cachegrind.PID and can be found in " + "files are named sage-cachegrind.PID and can be found in " +
@ -625,8 +631,9 @@ diff -up src/bin/sage.orig src/bin/sage
parser.add_option("-f", "--failed", action="store_true", default=False, parser.add_option("-f", "--failed", action="store_true", default=False,
help="doctest only those files that failed in the previous run") help="doctest only those files that failed in the previous run")
--- src/bin/sage-valgrind.orig 2018-05-05 16:21:22.000000000 -0600 diff -up src/bin/sage-valgrind.orig src/bin/sage-valgrind
+++ src/bin/sage-valgrind 2018-05-16 12:16:10.708645454 -0600 --- src/bin/sage-valgrind.orig 2018-08-03 05:10:08.000000000 -0600
+++ src/bin/sage-valgrind 2018-08-29 08:27:37.703807389 -0600
@@ -1,16 +1,6 @@ @@ -1,16 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash

View file

@ -47,17 +47,18 @@
%global ipython_pkg ipython-5.5.0 %global ipython_pkg ipython-5.5.0
%endif %endif
%if %{with bundled_ipywidgets} %if %{with bundled_ipywidgets}
%global ipywidgets_pkg ipywidgets-7.1.1 %global ipywidgets_pkg ipywidgets-7.2.0
%endif %endif
%if %{with bundled_pexpect} %if %{with bundled_pexpect}
%global pexpect_pkg pexpect-4.1.0 %global pexpect_pkg pexpect-4.1.0
%endif %endif
%global polytopes_db_pkg polytopes_db-20170220 %global polytopes_db_pkg polytopes_db-20170220
%global rubiks_pkg rubiks-20070912 %global rubiks_pkg rubiks-20070912
%global sagenb_pkg sagenb-1.0.1 %global sagenb_pkg sagenb-1.0.3
%global sagenb_export_pkg sagenb_export-3.2 %global sagenb_export_pkg sagenb_export-3.2
%global sagetex_pkg sagetex-3.0 %global sagetex_pkg sagetex-3.0
%global Sphinx_pkg Sphinx-1.6.3 %global Sphinx_pkg Sphinx-1.7.5
%global singular_pkg singular-4.1.0p3
%if %{with bundled_thebe} %if %{with bundled_thebe}
%global thebe_pkg thebe-9624e0a0 %global thebe_pkg thebe-9624e0a0
%endif %endif
@ -65,9 +66,14 @@
%global threejs_pkg threejs-r80 %global threejs_pkg threejs-r80
%endif %endif
%if %{with bundled_widgetsnbextension} %if %{with bundled_widgetsnbextension}
%global widgetsnbextension_pkg widgetsnbextension-3.1.1 %global widgetsnbextension_pkg widgetsnbextension-3.2.0
%endif %endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
# The version numbers shown are those of the latest released spkg, if the Fedora
# version is not behind.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.7 cbc-2.9.4 CoCoALib-0.99564 cryptominisat-5.0.1 gap_packages-4.8.6new2 gmp-6.1.2 gmpy2-2.1.0a1 lrslib-062+autotools-2017-03-03 qepcad-B.1.69 saclib-2.2.6 surf-1.0.6-gcc6
%global SAGE_ROOT %{_libdir}/sagemath %global SAGE_ROOT %{_libdir}/sagemath
%global SAGE_LOCAL %{SAGE_ROOT}/local %global SAGE_LOCAL %{SAGE_ROOT}/local
%global SAGE_SRC %{SAGE_ROOT}/src %global SAGE_SRC %{SAGE_ROOT}/src
@ -79,8 +85,8 @@
Name: sagemath Name: sagemath
Summary: A free open-source mathematics software system Summary: A free open-source mathematics software system
Version: 8.2 Version: 8.3
Release: 4%{?dist} Release: 1%{?dist}
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file # The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
# Additionally, every $files section has a comment with the license name # Additionally, every $files section has a comment with the license name
# before files with that license # before files with that license
@ -134,17 +140,11 @@ Patch10: %{name}-jmol.patch
# FIXME actually it should be already available in pari-elldata # FIXME actually it should be already available in pari-elldata
Patch11: %{name}-cremona.patch Patch11: %{name}-cremona.patch
# lrslib is a requires
Patch12: %{name}-lrslib.patch
# correct path to the nauty geng program # correct path to the nauty geng program
# http://cs.anu.edu.au/~bdm/nauty/ # http://cs.anu.edu.au/~bdm/nauty/
# http://pallini.di.uniroma1.it/ # http://pallini.di.uniroma1.it/
Patch13: %{name}-nauty.patch Patch13: %{name}-nauty.patch
# gap hap package is a requires
Patch14: %{name}-gap-hap.patch
# correct path to Lfunction include # correct path to Lfunction include
# update c++ standard to fix FTBFS # update c++ standard to fix FTBFS
Patch15: %{name}-lcalc.patch Patch15: %{name}-lcalc.patch
@ -183,11 +183,8 @@ Patch25: %{name}-includes.patch
# Use atlas blas # Use atlas blas
Patch26: %{name}-atlas.patch Patch26: %{name}-atlas.patch
# Adapt to recent versions of the flask packages
Patch27: %{name}-flask.patch
# Adapt to recent versions of eclib # Adapt to recent versions of eclib
Patch28: %{name}-eclib.patch Patch27: %{name}-eclib.patch
BuildRequires: 4ti2 BuildRequires: 4ti2
BuildRequires: arb-devel BuildRequires: arb-devel
@ -237,6 +234,7 @@ BuildRequires: latte-integrale
BuildRequires: libfplll-devel BuildRequires: libfplll-devel
BuildRequires: libgap-devel BuildRequires: libgap-devel
BuildRequires: libmpc-devel BuildRequires: libmpc-devel
BuildRequires: libpng-devel
BuildRequires: linbox-devel BuildRequires: linbox-devel
BuildRequires: lrcalc-devel BuildRequires: lrcalc-devel
BuildRequires: lrslib-utils BuildRequires: lrslib-utils
@ -298,11 +296,13 @@ BuildRequires: python2-pexpect
%endif %endif
BuildRequires: python2-pickleshare BuildRequires: python2-pickleshare
BuildRequires: python2-pillow-devel BuildRequires: python2-pillow-devel
BuildRequires: python2-pip
BuildRequires: python2-prompt_toolkit BuildRequires: python2-prompt_toolkit
BuildRequires: python2-pkgconfig BuildRequires: python2-pkgconfig
BuildRequires: python2-psutil BuildRequires: python2-psutil
BuildRequires: python2-ptyprocess BuildRequires: python2-ptyprocess
BuildRequires: python2-scipy BuildRequires: python2-scipy
BuildRequires: python2-send2trash
BuildRequires: python2-setuptools BuildRequires: python2-setuptools
%if %{with bundled_ipython} %if %{with bundled_ipython}
BuildRequires: python2-simplegeneric BuildRequires: python2-simplegeneric
@ -312,7 +312,11 @@ BuildRequires: python2-speaklater
BuildRequires: python2-sphinx BuildRequires: python2-sphinx
BuildRequires: python2-sympy BuildRequires: python2-sympy
BuildRequires: python2-twisted BuildRequires: python2-twisted
%if %{with bundled_ipython}
BuildRequires: python2-zmq
%endif
BuildRequires: python2-ZODB3 BuildRequires: python2-ZODB3
BuildRequires: python3-Cython
BuildRequires: qepcad-B BuildRequires: qepcad-B
BuildRequires: R BuildRequires: R
BuildRequires: ratpoints-devel BuildRequires: ratpoints-devel
@ -333,6 +337,7 @@ BuildRequires: vecmath
BuildRequires: web-assets-devel BuildRequires: web-assets-devel
BuildRequires: xorg-x11-fonts-Type1 BuildRequires: xorg-x11-fonts-Type1
BuildRequires: xorg-x11-server-Xvfb BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
BuildRequires: zn_poly-devel BuildRequires: zn_poly-devel
Requires: 4ti2 Requires: 4ti2
@ -408,6 +413,7 @@ Requires: python2-prompt_toolkit
Requires: python2-psutil Requires: python2-psutil
Requires: python2-ptyprocess Requires: python2-ptyprocess
Requires: python2-scipy Requires: python2-scipy
Requires: python2-send2trash
%if %{with bundled_ipython} %if %{with bundled_ipython}
BuildRequires: python2-simplegeneric BuildRequires: python2-simplegeneric
%endif %endif
@ -416,6 +422,9 @@ Requires: python2-speaklater
Requires: python2-sphinx Requires: python2-sphinx
Requires: python2-sympy Requires: python2-sympy
Requires: python2-twisted Requires: python2-twisted
%if %{with bundled_ipython}
Requires: python2-zmq
%endif
Requires: python2-ZODB3 Requires: python2-ZODB3
Requires: qepcad-B Requires: qepcad-B
Requires: R Requires: R
@ -827,9 +836,7 @@ popd
%patch9 %patch9
%patch10 %patch10
%patch11 %patch11
%patch12
%patch13 %patch13
%patch14
%patch15 %patch15
%patch16 %patch16
%patch17 %patch17
@ -848,7 +855,6 @@ popd
%patch25 %patch25
%patch26 %patch26
%patch27 %patch27
%patch28
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \ sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
-e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \ -e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
@ -857,8 +863,7 @@ sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
sed -e 's|@@CYSIGNALS@@|%{python2_sitearch}/cysignals|' \ sed -e 's|@@CYSIGNALS@@|%{python2_sitearch}/cysignals|' \
-i src/setup.py -i src/setup.py
sed -e "s|, 'flask-oldsessions>=0.10'||" \ sed -e "/flask-oldsessions/d" \
-e "s|'http://github.com/mitsuhiko/flask-oldsessions/tarball/master#egg=flask-oldsessions-0.10'||" \
-i build/pkgs/sagenb/src/setup.py -i build/pkgs/sagenb/src/setup.py
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -872,21 +877,34 @@ rm build/pkgs/sagenb/src/sagenb/data/sage3d/lib/sage3d.jar
rm -r build/pkgs/sagenb/src/sagenb.egg-info rm -r build/pkgs/sagenb/src/sagenb.egg-info
# fix Singular paths # fix Singular paths
singver=$(sed 's/.*-\([.[:digit:]]*\).*/\1/' <<< %{singular_pkg})
sed -e "s,SINGULARPATH=\",&%{_datadir}/singular/LIB:," \ sed -e "s,SINGULARPATH=\",&%{_datadir}/singular/LIB:," \
-e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \ -e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \
-i src/bin/sage-env -i src/bin/sage-env
sed -e "s,\(SINGULAR_SO = \)SAGE.*,\1'%{_libdir}/libSingular-$singver.so'," \
-i src/sage/env.py
# fix shebangs # fix shebangs; some paths contains spaces, so use the null byte facility
sed -i 's,#!%{_bindir}/env python,#!%{_bindir}/python2,' \ grep -FrlZ '#!%{_bindir}/env python' | \
$(grep -Frl '#!%{_bindir}/env python') xargs -0 sed -i 's,#!%{_bindir}/env python,#!%{__python2},'
sed -i 's,#!%{_bindir}/env sage-python23,#!%{_bindir}/python2,' \ grep -FrlZ '#!%{_bindir}/env sage-python23' | \
$(grep -Frl '#!%{_bindir}/env sage-python23') xargs -0 sed -i 's,#!%{_bindir}/env sage-python23,#!%{__python2},'
sed -i 's,#!%{_bindir}/env ,#!%{_bindir}/,' $(grep -Frl '#!%{_bindir}/env') grep -FrlZ '#!%{_bindir}/env' | \
sed -i 's,#!%{_bindir}/python$,&2,' $(grep -Frl '#!%{_bindir}/python') xargs -0 sed -i 's,#!%{_bindir}/env ,#!%{_bindir}/,'
grep -rlZ '#!%{_bindir}/python$' | xargs -0 sed -i 's,#!%{_bindir}/python$,&2,'
sed -i 's,%{_bindir}/env python,%{__python2},' \
%if %{with bundled_pexpect}
build/pkgs/pexpect/src/examples/python.py \
%endif
build/pkgs/sagetex/src/sagetex.ins
sed -i 's,%{_bindir}/python,&2,' src/sage/misc/dev_tools.py sed -i 's,%{_bindir}/python,&2,' src/sage/misc/dev_tools.py
sed -e 's,local/bin/python,bin/python,' \ sed -e 's,local/bin/python,bin/python,' \
-e 's,#!%{_bindir}/python,&2,' \ -e 's,#!%{_bindir}/python,&2,' \
-i src/sage/repl/preparse.py -i src/sage/repl/preparse.py
%if %{with bundled_ipython}
sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
-i build/pkgs/ipython/src/IPython/utils/_process_posix.py
%endif
######################################################################## ########################################################################
%build %build
@ -955,8 +973,6 @@ popd
do do
patch -p1 < $BASE/$PATCH patch -p1 < $BASE/$PATCH
done done
# https://bugzilla.redhat.com/show_bug.cgi?id=1406533
sed -i 's/disallow/dissallow/' Cython/Compiler/Options.py
popd popd
%endif %endif
@ -1134,7 +1150,7 @@ popd
#------------------------------------------------------------------------ #------------------------------------------------------------------------
pushd $SAGE_LOCAL/bin/ pushd $SAGE_LOCAL/bin/
for file in \ rm -f \
sage-arch-env \ sage-arch-env \
sage-bdist \ sage-bdist \
sage-build \ sage-build \
@ -1173,14 +1189,13 @@ pushd $SAGE_LOCAL/bin/
sage-update-src \ sage-update-src \
sage-update-version \ sage-update-version \
sage-upgrade \ sage-upgrade \
spkg-install; do spkg-install
rm -f $file
done
popd popd
#------------------------------------------------------------------------ #------------------------------------------------------------------------
pushd build/pkgs/combinatorial_designs pushd build/pkgs/combinatorial_designs
bash ./spkg-install chmod a+x spkg-install
bash -c '. ../../../src/bin/sage-dist-helpers; ./spkg-install'
popd popd
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -1460,6 +1475,11 @@ for file in *.tar.*; do
mkdir %{buildroot}%{SAGE_SPKG_INST}/$(echo $file | sed -e 's|\.tar.*||') mkdir %{buildroot}%{SAGE_SPKG_INST}/$(echo $file | sed -e 's|\.tar.*||')
done done
popd popd
pushd %{buildroot}%{SAGE_SPKG_INST}
for pkg in %{SAGE_REQUIRED_PKGS}; do
mkdir $pkg
done
popd
#------------------------------------------------------------------------ #------------------------------------------------------------------------
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages << EOF cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages << EOF
#!/bin/sh #!/bin/sh
@ -1503,45 +1523,8 @@ chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages
rm -fr $DOT_SAGE rm -fr $DOT_SAGE
######################################################################## ########################################################################
%pretrans -p /usr/bin/lua
posix = require('posix')
path = "%{python2_sitearch}/sagenb/data/mathjax"
st = posix.stat(path)
if st and st.type == "directory" then
status = os.rename(path, path .. ".rpmmoved")
if not status then
suffix = 0
while not status do
suffix = suffix + 1
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
end
os.rename(path, path .. ".rpmmoved")
end
end
%ldconfig_scriptlets core %ldconfig_scriptlets core
%if %{with docs}
# Upgrade correction for change from directory to symlink
%post doc
if [ ! -e %{SAGE_DOC}/common ]; then
ln -sf . %{SAGE_DOC}/common
fi
exit 0
%preun doc
if [ $1 -eq 0 ] ; then
if [ -h %{SAGE_DOC}/common ]; then
rm %{SAGE_DOC}/common
fi
fi
exit 0
%endif
%post sagetex -p %{_bindir}/mktexlsr
%postun sagetex -p %{_bindir}/mktexlsr
######################################################################## ########################################################################
%files %files
# GPLv2+ # GPLv2+
@ -1811,6 +1794,15 @@ exit 0
######################################################################## ########################################################################
%changelog %changelog
* Sat Sep 22 2018 Jerry James <loganjerry@gmail.com> - 8.3-1
- Update to sagemath 8.3 (bz 1612867)
- Drop -lrslib, -gap-hap, and -flask patches
- Drop obsolete scriplets to fix F24 to F25 upgrade (bz 1594429 and 1618934)
- Drop obsolete mktexlsr invocations
- Fix more Singular paths
- Fix still more uses of /usr/bin/env
- Drop disallow/dissallow fixup for cython; now fixed in cython itself
* Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 8.2-4 * Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 8.2-4
- Rebuild for arb 2.14.0, eclib 20180710, ntl 11.2.1, and pari 2.11.0 - Rebuild for arb 2.14.0, eclib 20180710, ntl 11.2.1, and pari 2.11.0
- Drop unneeded genus2reduction dependency; pari is used instead now - Drop unneeded genus2reduction dependency; pari is used instead now

View file

@ -1 +1 @@
SHA512 (sage-8.2.tar.gz) = 32afa401d0c0a825e9507a445de9a5abb19b3f2444c70ae0e5d7fea0fe319f6a43a94e5eee032fd85c21b87487a42d0c70177766dfa6ea1ea42d3a22e1395663 SHA512 (sage-8.3.tar.gz) = d0b971896738adc6604e51a00ff38f41b5c2e7595e8d257346fd975106519a1b3a1734a07229e7bf6e9373073d0cc0ca45c259dece1e7c97a3debd12914485d6