[arch-commits] Commit in sagemath/trunk (8 files)
Antonio Rojas
arojas at archlinux.org
Sun Mar 24 10:09:24 UTC 2019
Date: Sunday, March 24, 2019 @ 10:09:23
Author: arojas
Revision: 443313
Update to 8.7
Modified:
sagemath/trunk/PKGBUILD
sagemath/trunk/latte-count.patch
sagemath/trunk/package.patch
sagemath/trunk/sagemath-env.patch
sagemath/trunk/sagemath-gap-4.10.1.patch
sagemath/trunk/sagemath-python3-notebook.patch
Deleted:
sagemath/trunk/sagemath-cypari2.patch
sagemath/trunk/sagemath-numpy-1.16.patch
---------------------------------+
PKGBUILD | 31 -
latte-count.patch | 4
package.patch | 4
sagemath-cypari2.patch | 711 --------------------------------------
sagemath-env.patch | 27 -
sagemath-gap-4.10.1.patch | 14
sagemath-numpy-1.16.patch | 85 ----
sagemath-python3-notebook.patch | 2
8 files changed, 27 insertions(+), 851 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-03-24 09:25:39 UTC (rev 443312)
+++ PKGBUILD 2019-03-24 10:09:23 UTC (rev 443313)
@@ -7,15 +7,15 @@
pkgbase=sagemath
pkgname=(sagemath sagemath-jupyter)
-pkgver=8.6
-pkgrel=6
+pkgver=8.7
+pkgrel=1
pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
arch=(x86_64)
url="http://www.sagemath.org"
license=(GPL)
-depends=(ipython2 ppl palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil python2-cypari2
- python2-matplotlib python2-scipy python2-sympy python2-networkx python2-pillow python2-future gap flintqs lcalc lrcalc arb
- eclib gmp-ecm zn_poly gd python2-cvxopt pynac linbox m4rie rubiks pari-galdata pari-seadata-small planarity rankwidth tachyon
+depends=(ipython2 palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil python2-cypari2
+ python2-matplotlib python2-scipy python2-sympy python2-networkx python2-pillow python2-pplpy python2-future
+ gap flintqs lcalc lrcalc arb eclib zn_poly gd python2-cvxopt pynac linbox m4rie rubiks pari-galdata pari-seadata-small planarity rankwidth tachyon
sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials
libgiac libhomfly libbraiding three.js)
optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cython code'
@@ -44,26 +44,22 @@
sagemath-threejs.patch
sagemath-cremona.patch
sagemath-sphinx-1.8.patch
- sagemath-cypari2.patch
sagemath-singular-4.1.2.patch
sagemath-ecl-sigfpe.patch
- sagemath-numpy-1.16.patch
sagemath-gap-4.10.1.patch)
-sha256sums=('dea613fc955cada76aaa7ab379bc5a219fe8b496064824f8c798b2b1651442fa'
- 'de6e38462ef1848778fbc23a63529fbee9229dbb245bb653f58a0d834a634c04'
- '960afe4fcbffe2762b66119b8f14355386ced0d8ee52b535d0dac1dba90d365b'
- 'ef265f88ceb6caf4aac2d86ea74850861d99a63d11c94fc52b2ce88053c26d1e'
- 'bd2744c6564bbf71bd6ea3cd7b9031e2126cc1423bcdc1fcc258d90d750a129d'
+sha256sums=('263c3b3fc956b8bebc532f3b51e68c1b0d559d3b7e7c9fadffdfc0f4dbae18ab'
+ 'e0e36f2a39b634a76e1c3ad9a31f9ab60e734dd53b43203557b76613277d53b9'
+ 'b1068a8d5750051c2b5cfcb89d3d5870cf4233ab445e71c398543fb8b1e6281a'
+ 'b66d5bb692159910cec83c80262c43a687d3a678010c7ae4c7070f7cf3a0d5cb'
+ '12cd410035ae644c2495b0dcd3a5138133a471ecc07912d37114c46ee837eb0e'
'f12bd2a53ad51549015093aacc89978f4d796d9ab5bcd3d737aa0d57a5815b54'
'7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94'
'f6b48abf34f64ea3fc092b0f0179e89633f7d3ecc0d62c2acacbfa1217751d63'
'4c6df9e4e5a7b29ecf6189eda3e5a79f69b6e1b4d29c1b9559663149b8c0af96'
'22f5e44a42c8276025b8512f45cac1c36d576c29c7fd9d36fde8b19ff87867d8'
- 'ca47248d2ed5edfe663ea02e261ddbb26a7cb03bef67928dbec690d9b9a8f129'
'961bfb5694b67d425d21240d71490cb71714b5207c23448c89be0966512ff8f9'
'a42f3b152b1aedb8abf16bc70971419919d1fe30328574e7fef8305f9d07d938'
- 'd483b1dc78eb83e3cd1620e3d44214ca0704065e1d27d7a257976e56c85f2d5b'
- 'ea7148347107ad90306c51c66b2fe522e1e99abed0546b7780b1b346261929bc')
+ '99066a3a11c102dee5183acf86b3f6200e9c3db8fe15e52cf391ecd6f72846c1')
prepare(){
cd sage-$pkgver
@@ -91,14 +87,10 @@
patch -p1 -i ../fes02.patch
# use Features to detect Cremona databases https://trac.sagemath.org/ticket/25825
patch -p1 -i ../sagemath-cremona.patch
-# Fix build with cypari 2.0 https://trac.sagemath.org/ticket/26442
- patch -p1 -i ../sagemath-cypari2.patch
# Fixes for singular 4.1.2 https://trac.sagemath.org/ticket/25993
patch -p1 -i ../sagemath-singular-4.1.2.patch
# Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191
patch -p1 -i ../sagemath-ecl-sigfpe.patch
-# Fix inline fortran with numpy 1.16 https://trac.sagemath.org/ticket/27061
- patch -p1 -i ../sagemath-numpy-1.16.patch
# use python2
sed -e 's|sage-python23|python2|' -e 's|#!/usr/bin/env python\b|#!/usr/bin/env python2|' -i src/bin/*
@@ -105,6 +97,7 @@
sed -e 's|cython {OPT}|cython2 {OPT}|' -e 's|python setup.py|python2 setup.py|' -i src/sage/misc/cython.py
sed -e 's|exec ipython\b|exec ipython2|' -e 's|cygdb|cygdb2|g' -i src/bin/sage
sed -e "s|'cython'|'cython2'|" -i src/bin/sage-cython
+ sed -e 's|"python"|"python2"|' -i src/sage/env.py
}
Modified: latte-count.patch
===================================================================
--- latte-count.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ latte-count.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -51,7 +51,7 @@
index 066cedd401..302b39910d 100644
--- a/src/sage/interfaces/latte.py
+++ b/src/sage/interfaces/latte.py
-@@ -93,7 +93,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+@@ -94,7 +94,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
sage: n = count(cddin, cdd=True, verbose=True, raw_output=True) # optional - latte_int
This is LattE integrale ...
...
@@ -60,7 +60,7 @@
...
Total Unimodular Cones: ...
Maximum number of simplicial cones in memory at once: ...
-@@ -112,7 +112,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+@@ -113,7 +113,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
# Check that LattE is present
Latte().require()
Modified: package.patch
===================================================================
--- package.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ package.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -1,6 +1,6 @@
--- src/sage/misc/package.py.orig 2014-11-23 15:58:13.000000000 +0100
+++ src/sage/misc/package.py 2015-01-22 20:32:25.651383902 +0100
-@@ -328,7 +328,7 @@
+@@ -335,7 +335,7 @@
Use the framework provided by :mod:`sage.features` to check
whether a library is installed and functional.
"""
@@ -7,8 +7,8 @@
- return any(p.split('-')[0] == package for p in installed_packages(exclude_pip))
+ return True
+
def package_versions(package_type, local=False):
- r"""
--- src/sage_setup/optional_extension.py.orig 2016-10-19 18:35:10.092577510 +0000
+++ src/sage_setup/optional_extension.py 2016-10-19 18:38:13.514765366 +0000
@@ -21,8 +21,6 @@
Deleted: sagemath-cypari2.patch
===================================================================
--- sagemath-cypari2.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ sagemath-cypari2.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -1,711 +0,0 @@
-diff --git a/src/sage/matrix/matrix_integer_dense.pxd b/src/sage/matrix/matrix_integer_dense.pxd
-index bc3af7c..5dd2a8e 100644
---- a/src/sage/matrix/matrix_integer_dense.pxd
-+++ b/src/sage/matrix/matrix_integer_dense.pxd
-@@ -30,6 +30,5 @@ cdef class Matrix_integer_dense(Matrix_dense):
-
- cdef Matrix_integer_dense _new(self, Py_ssize_t nrows, Py_ssize_t ncols)
-
-- cdef extract_hnf_from_pari_matrix(self, GEN H, int flag, bint include_zero_rows)
-
- cpdef _lift_crt(Matrix_integer_dense M, residues, moduli=*)
-diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx
-index 4f0b0e6..87e3391 100644
---- a/src/sage/matrix/matrix_integer_dense.pyx
-+++ b/src/sage/matrix/matrix_integer_dense.pyx
-@@ -87,11 +87,11 @@ from .args cimport SparseEntry, MatrixArgs_init
- #########################################################
- # PARI C library
- from cypari2.gen cimport Gen
-+from cypari2.stack cimport clear_stack, new_gen
-+from cypari2.paridecl cimport *
- from sage.libs.pari.convert_gmp cimport INT_to_mpz
- from sage.libs.pari.convert_flint cimport (_new_GEN_from_fmpz_mat_t,
- _new_GEN_from_fmpz_mat_t_rotate90, integer_matrix)
--from cypari2.stack cimport clear_stack
--from cypari2.paridecl cimport *
- #########################################################
-
- from sage.arith.multi_modular cimport MultiModularBasis
-@@ -2016,10 +2016,7 @@ cdef class Matrix_integer_dense(Matrix_dense):
- raise ValueError("transformation matrix only available with p-adic algorithm")
- elif algorithm in ["pari", "pari0", "pari1", "pari4"]:
- flag = int(algorithm[-1]) if algorithm != "pari" else 1
-- if self.height().ndigits() > 10000 or n >= 50:
-- H_m = self._hnf_pari_big(flag, include_zero_rows=include_zero_rows)
-- else:
-- H_m = self._hnf_pari(flag, include_zero_rows=include_zero_rows)
-+ H_m = self._hnf_pari(flag, include_zero_rows=include_zero_rows)
- elif algorithm == 'ntl':
- if nr != nc:
- raise ValueError("ntl only computes HNF for square matrices of full rank.")
-@@ -5664,6 +5661,7 @@ cdef class Matrix_integer_dense(Matrix_dense):
- matrices.
-
- EXAMPLES::
-+
- sage: matrix(ZZ,3,[1..9])._rank_pari()
- 2
- """
-@@ -5674,16 +5672,12 @@ cdef class Matrix_integer_dense(Matrix_dense):
-
- def _hnf_pari(self, int flag=0, bint include_zero_rows=True):
- """
-- Hermite form of this matrix, computed using PARI. The
-- computation is done entirely on the PARI stack, then the PARI
-- stack is cleared. This function is only useful for small
-- matrices, and can crash on large matrices (e.g., if the PARI
-- stack overflows).
-+ Hermite normal form of this matrix, computed using PARI.
-
- INPUT:
-
- - ``flag`` -- 0 (default), 1, 3 or 4 (see docstring for
-- gp.mathnf).
-+ ``pari.mathnf``).
-
- - ``include_zero_rows`` -- boolean. if False, do not include
- any of the zero rows at the bottom of the matrix in the
-@@ -5733,98 +5727,13 @@ cdef class Matrix_integer_dense(Matrix_dense):
- sage: pari('mathnf(Mat([0,1]), 4)')
- [Mat(1), [1, 0; 0, 1]]
- """
-- cdef GEN A
- sig_on()
- A = _new_GEN_from_fmpz_mat_t_rotate90(self._matrix)
-- cdef GEN H = mathnf0(A, flag)
-- B = self.extract_hnf_from_pari_matrix(H, flag, include_zero_rows)
-- clear_stack() # This calls sig_off()
-- return B
--
--
-- def _hnf_pari_big(self, int flag=0, bint include_zero_rows=True):
-- """
-- Hermite form of this matrix, computed using PARI.
--
-- INPUT:
--
-- - ``flag`` -- 0 (default), 1, 3 or 4 (see docstring for
-- gp.mathnf).
--
-- - ``include_zero_rows`` -- boolean. if False, do not include
-- any of the zero rows at the bottom of the matrix in the
-- output.
--
-- .. NOTE::
--
-- In no cases is the transformation matrix returned by this
-- function.
--
-- EXAMPLES::
--
-- sage: a = matrix(ZZ,3,3,[1..9])
-- sage: a._hnf_pari_big(flag=0, include_zero_rows=True)
-- [1 2 3]
-- [0 3 6]
-- [0 0 0]
-- sage: a._hnf_pari_big(flag=1, include_zero_rows=True)
-- [1 2 3]
-- [0 3 6]
-- [0 0 0]
-- sage: a._hnf_pari_big(flag=3, include_zero_rows=True)
-- [1 2 3]
-- [0 3 6]
-- [0 0 0]
-- sage: a._hnf_pari_big(flag=4, include_zero_rows=True)
-- [1 2 3]
-- [0 3 6]
-- [0 0 0]
--
-- Check that ``include_zero_rows=False`` works correctly::
--
-- sage: matrix(ZZ,3,[1..9])._hnf_pari_big(0, include_zero_rows=False)
-- [1 2 3]
-- [0 3 6]
-- sage: matrix(ZZ,3,[1..9])._hnf_pari_big(1, include_zero_rows=False)
-- [1 2 3]
-- [0 3 6]
-- sage: matrix(ZZ,3,[1..9])._hnf_pari_big(3, include_zero_rows=False)
-- [1 2 3]
-- [0 3 6]
-- sage: matrix(ZZ,3,[1..9])._hnf_pari_big(4, include_zero_rows=False)
-- [1 2 3]
-- [0 3 6]
-- """
-- cdef Gen H = integer_matrix(self._matrix, 1)
-- H = H.mathnf(flag)
-- sig_on()
-- B = self.extract_hnf_from_pari_matrix(H.g, flag, include_zero_rows)
-- clear_stack() # This calls sig_off()
-- return B
--
-- cdef extract_hnf_from_pari_matrix(self, GEN H, int flag, bint include_zero_rows):
-- # Throw away the transformation matrix (yes, we should later
-- # code this to keep track of it).
-- cdef mpz_t tmp
-- mpz_init(tmp)
-- if flag > 0:
-- H = gel(H,1)
--
-- # Figure out how many columns we got back.
-- cdef Py_ssize_t H_nc = glength(H) # number of columns
-- # Now get the resulting Hermite form matrix back to Sage, suitably re-arranged.
-- cdef Matrix_integer_dense B
-- if include_zero_rows:
-- B = self.new_matrix()
-- else:
-- B = self.new_matrix(nrows=H_nc)
-- for i in range(self._ncols):
-- for j in range(H_nc):
-- INT_to_mpz(tmp, gcoeff(H, i+1, H_nc-j))
-- fmpz_set_mpz(fmpz_mat_entry(B._matrix,j,self._ncols-i-1),tmp)
-- mpz_clear(tmp)
-- return B
--
-+ H = mathnf0(A, flag)
-+ if typ(H) == t_VEC:
-+ H = gel(H, 1)
-+ GenH = new_gen(H)
-+ return extract_hnf_from_pari_matrix(self, GenH, include_zero_rows)
-
- def p_minimal_polynomials(self, p, s_max=None):
- r"""
-@@ -5966,7 +5875,27 @@ cdef inline GEN pari_GEN(Matrix_integer_dense B):
- return A
-
-
-- #####################################################################################
-+cdef extract_hnf_from_pari_matrix(Matrix_integer_dense self, Gen H, bint include_zero_rows):
-+ cdef mpz_t tmp
-+ mpz_init(tmp)
-+
-+ # Figure out how many columns we got back.
-+ cdef long H_nc = glength(H.g) # number of columns
-+ # Now get the resulting Hermite form matrix back to Sage, suitably re-arranged.
-+ cdef Matrix_integer_dense B
-+ if include_zero_rows:
-+ B = self.new_matrix()
-+ else:
-+ B = self.new_matrix(nrows=H_nc)
-+ cdef long i, j
-+ for i in range(self._ncols):
-+ for j in range(H_nc):
-+ sig_check()
-+ INT_to_mpz(tmp, gcoeff(H.g, i+1, H_nc-j))
-+ fmpz_set_mpz(fmpz_mat_entry(B._matrix,j,self._ncols-i-1),tmp)
-+ mpz_clear(tmp)
-+ return B
-+
-
- cdef _clear_columns(Matrix_integer_dense A, pivots, Py_ssize_t n):
- # Clear all columns
-@@ -5990,11 +5919,6 @@ cdef _clear_columns(Matrix_integer_dense A, pivots, Py_ssize_t n):
- fmpz_clear(t)
- sig_off()
-
--###############################################################
--
--
--
--
-
- cpdef _lift_crt(Matrix_integer_dense M, residues, moduli=None):
- """
-diff --git a/src/sage/modular/modform/eis_series_cython.pyx b/src/sage/modular/modform/eis_series_cython.pyx
-index f7e944c..3557c6b 100644
---- a/src/sage/modular/modform/eis_series_cython.pyx
-+++ b/src/sage/modular/modform/eis_series_cython.pyx
-@@ -3,7 +3,7 @@ Eisenstein Series (optimized compiled functions)
- """
-
- from cysignals.memory cimport check_allocarray, sig_free
--from cysignals.signals cimport sig_on, sig_off
-+from cysignals.signals cimport sig_check
-
- from sage.rings.rational_field import QQ
- from sage.rings.power_series_ring import PowerSeriesRing
-@@ -161,8 +161,7 @@ cpdef eisenstein_series_poly(int k, int prec = 10) :
- """
- cdef mpz_t *val = <mpz_t *>check_allocarray(prec, sizeof(mpz_t))
- cdef mpz_t one, mult, term, last, term_m1, last_m1
-- cdef unsigned long int expt
-- cdef long ind, ppow, int_p
-+ cdef long ind
- cdef int i
- cdef Fmpz_poly res = Fmpz_poly.__new__(Fmpz_poly)
-
-@@ -173,8 +172,6 @@ cpdef eisenstein_series_poly(int k, int prec = 10) :
- if (prec == 0):
- return Fmpz_poly.__new__(Fmpz_poly)
-
-- sig_on()
--
- mpz_init(one)
- mpz_init(term)
- mpz_init(last)
-@@ -182,33 +179,33 @@ cpdef eisenstein_series_poly(int k, int prec = 10) :
- mpz_init(term_m1)
- mpz_init(last_m1)
-
-- for i from 0 <= i < prec :
-- mpz_init(val[i])
-- mpz_set_si(val[i], 1)
-+ for i in range(prec):
-+ mpz_init_set_si(val[i], 1)
-
- mpz_set_si(one, 1)
-
-- expt = <unsigned long int>(k - 1)
-- a0 = - bernoulli(k) / (2*k)
-+ cdef unsigned long expt = k - 1
-+ a0 = -bernoulli(k) / (2*k)
-
-- for p in primes(1,prec) :
-- int_p = int(p)
-- ppow = <long int>int_p
-+ cdef long p, ppow
-+ for p in primes(1, prec) :
-+ ppow = p
-
-- mpz_set_si(mult, int_p)
-+ mpz_set_si(mult, p)
- mpz_pow_ui(mult, mult, expt)
- mpz_mul(term, mult, mult)
- mpz_set(last, mult)
-
-- while (ppow < prec):
-+ while ppow < prec:
-+ sig_check()
- ind = ppow
- mpz_sub(term_m1, term, one)
- mpz_sub(last_m1, last, one)
-- while (ind < prec):
-+ while ind < prec:
- mpz_mul(val[ind], val[ind], term_m1)
- mpz_fdiv_q(val[ind], val[ind], last_m1)
- ind += ppow
-- ppow *= int_p
-+ ppow *= p
- mpz_set(last, term)
- mpz_mul(term, term, mult)
-
-@@ -228,6 +225,4 @@ cpdef eisenstein_series_poly(int k, int prec = 10) :
-
- sig_free(val)
-
-- sig_off()
--
- return res
-diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
-index 758fb70..f499a3e 100644
---- a/src/sage/plot/complex_plot.pyx
-+++ b/src/sage/plot/complex_plot.pyx
-@@ -19,7 +19,7 @@ Complex Plots
- from __future__ import absolute_import
-
- # TODO: use NumPy buffers and complex fast_callable (when supported)
--from cysignals.signals cimport sig_on, sig_off
-+from cysignals.signals cimport sig_on, sig_off, sig_check
-
- cimport numpy as cnumpy
-
-@@ -381,12 +381,18 @@ def complex_plot(f, xrange, yrange, **options):
- pass
-
- cdef double x, y
-- ignore, ranges = setup_for_eval_on_grid([], [xrange, yrange], options['plot_points'])
-- xrange,yrange=[r[:2] for r in ranges]
-- sig_on()
-- z_values = [[ f(new_CDF_element(x, y)) for x in srange(*ranges[0], include_endpoint=True)]
-- for y in srange(*ranges[1], include_endpoint=True)]
-- sig_off()
-+ _, ranges = setup_for_eval_on_grid([], [xrange, yrange], options['plot_points'])
-+ xrange = ranges[0]
-+ yrange = ranges[1]
-+ cdef list z_values = []
-+ cdef list row
-+ for y in srange(*yrange, include_endpoint=True):
-+ row = []
-+ for x in srange(*xrange, include_endpoint=True):
-+ sig_check()
-+ row.append(f(new_CDF_element(x, y)))
-+ z_values.append(row)
-+
- g = Graphics()
- g._set_extra_kwds(Graphics._extract_kwds_for_show(options, ignore=['xmin', 'xmax']))
- g.add_primitive(ComplexPlot(complex_to_rgb(z_values), xrange, yrange, options))
-diff --git a/src/sage/rings/asymptotic/asymptotic_expansion_generators.py b/src/sage/rings/asymptotic/asymptotic_expansion_generators.py
-index 84fa0e4..18f8e90 100644
---- a/src/sage/rings/asymptotic/asymptotic_expansion_generators.py
-+++ b/src/sage/rings/asymptotic/asymptotic_expansion_generators.py
-@@ -1095,7 +1095,7 @@ class AsymptoticExpansionGenerators(SageObject):
- sage: asymptotic_expansions.ImplicitExpansion('Z', phi=lambda u: 1 + 2*u + u^2, tau=2, precision=5)
- Traceback (most recent call last):
- ...
-- ZeroDivisionError: Symbolic division by zero
-+ ZeroDivisionError: symbolic division by zero
- sage: asymptotic_expansions.ImplicitExpansion('Z', phi=lambda u: 1 + 2*u + u^2, tau=3, precision=5)
- 3 - 4*I*sqrt(3)*Z^(-1/2) + 6*I*sqrt(3)*Z^(-3/2) + O(Z^(-2))
-
-diff --git a/src/sage/rings/finite_rings/element_pari_ffelt.pyx b/src/sage/rings/finite_rings/element_pari_ffelt.pyx
-index ff73a1f..2fcd3a1 100644
---- a/src/sage/rings/finite_rings/element_pari_ffelt.pyx
-+++ b/src/sage/rings/finite_rings/element_pari_ffelt.pyx
-@@ -869,7 +869,8 @@ cdef class FiniteFieldElement_pari_ffelt(FinitePolyExtElement):
- Univariate Polynomial Ring in beta over Finite Field of size 3
- """
- sig_on()
-- return self._parent.polynomial_ring(name)(new_gen(FF_to_FpXQ_i(self.val)))
-+ pol = new_gen(FF_to_FpXQ(self.val))
-+ return self._parent.polynomial_ring(name)(pol)
-
- def minpoly(self, var='x'):
- """
-@@ -887,7 +888,8 @@ cdef class FiniteFieldElement_pari_ffelt(FinitePolyExtElement):
- y^2 + 1
- """
- sig_on()
-- return self._parent.polynomial_ring(var)(new_gen(FF_minpoly(self.val)))
-+ pol = new_gen(FF_minpoly(self.val))
-+ return self._parent.polynomial_ring(var)(pol)
-
- def charpoly(self, var='x'):
- """
-@@ -905,7 +907,8 @@ cdef class FiniteFieldElement_pari_ffelt(FinitePolyExtElement):
- y^2 + 1
- """
- sig_on()
-- return self._parent.polynomial_ring(var)(new_gen(FF_charpoly(self.val)))
-+ pol = new_gen(FF_charpoly(self.val))
-+ return self._parent.polynomial_ring(var)(pol)
-
- def is_square(self):
- """
-diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
-index 17e62f3..9e99bde 100644
---- a/src/sage/rings/integer.pyx
-+++ b/src/sage/rings/integer.pyx
-@@ -6806,6 +6806,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
- ....: (2^100).binomial(2^22, algorithm='pari')
- ....: except AlarmInterrupt:
- ....: pass
-+ doctest:...: RuntimeWarning: cypari2 leaked ... bytes on the PARI stack...
- """
- cdef Integer x
- cdef Integer mm
-diff --git a/src/sage/rings/number_field/maps.py b/src/sage/rings/number_field/maps.py
-index 1727c13..5717227 100644
---- a/src/sage/rings/number_field/maps.py
-+++ b/src/sage/rings/number_field/maps.py
-@@ -358,7 +358,7 @@ class MapRelativeNumberFieldToRelativeVectorSpace(NumberFieldIsomorphism):
- g = g(beta).lift()
- # Convert the coefficients to elements of the base field.
- B, from_B, _ = K.absolute_base_field()
-- return self.codomain()([from_B(B(z.lift(), check=False)) for z in g.Vecrev(-K.relative_degree())])
-+ return self.codomain()([from_B(B(z.lift(), check=False)) for z in g.Vecrev(K.relative_degree())])
-
-
- class NameChangeMap(NumberFieldIsomorphism):
-diff --git a/src/sage/rings/polynomial/polynomial_element.pyx b/src/sage/rings/polynomial/polynomial_element.pyx
-index a711e94..20895c0 100644
---- a/src/sage/rings/polynomial/polynomial_element.pyx
-+++ b/src/sage/rings/polynomial/polynomial_element.pyx
-@@ -4363,8 +4363,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
- sage: G.prod() == g
- True
- """
-- pols = G[0]
-- exps = G[1]
-+ pols, exps = G
- R = self._parent
- F = [(R(f), int(e)) for f, e in zip(pols, exps)]
-
-diff --git a/src/sage/rings/power_series_pari.pyx b/src/sage/rings/power_series_pari.pyx
-index e37e0a3..2e03ade 100644
---- a/src/sage/rings/power_series_pari.pyx
-+++ b/src/sage/rings/power_series_pari.pyx
-@@ -678,7 +678,8 @@ cdef class PowerSeries_pari(PowerSeries):
- g = g.truncate()
- if typ(g.g) == t_POL and varn(g.g) == vn:
- # t_POL has 2 codewords. Use new_ref instead of g[i] for speed.
-- return [R(g.new_ref(gel(g.g, i))) for i in range(2, lg(g.g))]
-+ G = g.fixGEN()
-+ return [R(g.new_ref(gel(G, i))) for i in range(2, lg(G))]
- else:
- return [R(g)]
-
-@@ -729,6 +730,7 @@ cdef class PowerSeries_pari(PowerSeries):
- return []
-
- cdef pari_gen g = self.g
-+ g.fixGEN()
- cdef long l, m
-
- R = self.base_ring()
-diff --git a/src/sage/rings/real_mpfr.pyx b/src/sage/rings/real_mpfr.pyx
-index e273190..3b89f4b 100644
---- a/src/sage/rings/real_mpfr.pyx
-+++ b/src/sage/rings/real_mpfr.pyx
-@@ -3212,7 +3212,6 @@ cdef class RealNumber(sage.structure.element.RingElement):
- # by using internal interfaces of MPFR, which are documented
- # as subject-to-change.
-
-- sig_on()
- if mpfr_nan_p(self.value) or mpfr_inf_p(self.value):
- raise ValueError('Cannot convert NaN or infinity to Pari float')
-
-@@ -3234,6 +3233,7 @@ cdef class RealNumber(sage.structure.element.RingElement):
- cdef mp_exp_t exponent
- cdef GEN pari_float
-
-+ sig_on()
- if mpfr_zero_p(self.value):
- pari_float = real_0_bit(-rounded_prec)
- else:
-@@ -3245,7 +3245,7 @@ cdef class RealNumber(sage.structure.element.RingElement):
- # Create a PARI REAL
- pari_float = cgetr(2 + rounded_prec / wordsize)
- pari_float[1] = evalexpo(exponent + rounded_prec - 1) + evalsigne(mpfr_sgn(self.value))
-- mpz_export(&pari_float[2], NULL, 1, wordsize/8, 0, 0, mantissa)
-+ mpz_export(&pari_float[2], NULL, 1, wordsize // 8, 0, 0, mantissa)
- mpz_clear(mantissa)
-
- return new_gen(pari_float)
-diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
-index 586d4ab..c14b9a6 100644
---- a/src/sage/symbolic/expression.pyx
-+++ b/src/sage/symbolic/expression.pyx
-@@ -1273,12 +1273,7 @@ cdef class Expression(CommutativeRingElement):
- sage: f._convert({'parent':int})
- 0
- """
-- cdef GEx res
-- sig_on()
-- try:
-- res = self._gobj.evalf(0, kwds)
-- finally:
-- sig_off()
-+ cdef GEx res = self._gobj.evalf(0, kwds)
- return new_Expression_from_GEx(self._parent, res)
-
- def _mpfr_(self, R):
-@@ -2839,11 +2834,7 @@ cdef class Expression(CommutativeRingElement):
- # constants are wrappers around Sage objects, compare directly
- if is_a_constant(self._gobj.lhs()) and is_a_constant(self._gobj.rhs()):
- return self.operator()(self.lhs().pyobject(), self.rhs().pyobject())
-- sig_on()
-- try:
-- pynac_result = decide_relational(self._gobj)
-- finally:
-- sig_off()
-+ pynac_result = decide_relational(self._gobj)
- if pynac_result == relational_undecidable:
- raise ValueError('undecidable relation: ' + repr(self))
-
-@@ -3233,27 +3224,23 @@ cdef class Expression(CommutativeRingElement):
- cdef GEx x
- cdef Expression _right = <Expression>right
- cdef operators op
-- sig_on()
-- try:
-- if is_a_relational(left._gobj):
-- if is_a_relational(_right._gobj):
-- op = compatible_relation(relational_operator(left._gobj),
-- relational_operator(_right._gobj))
-- x = relational(left._gobj.lhs() + _right._gobj.lhs(),
-- left._gobj.rhs() + _right._gobj.rhs(),
-- op)
-- else:
-- x = relational(left._gobj.lhs() + _right._gobj,
-- left._gobj.rhs() + _right._gobj,
-- relational_operator(left._gobj))
-- elif is_a_relational(_right._gobj):
-- x = relational(left._gobj + _right._gobj.lhs(),
-- left._gobj + _right._gobj.rhs(),
-- relational_operator(_right._gobj))
-+ if is_a_relational(left._gobj):
-+ if is_a_relational(_right._gobj):
-+ op = compatible_relation(relational_operator(left._gobj),
-+ relational_operator(_right._gobj))
-+ x = relational(left._gobj.lhs() + _right._gobj.lhs(),
-+ left._gobj.rhs() + _right._gobj.rhs(),
-+ op)
- else:
-- x = left._gobj + _right._gobj
-- finally:
-- sig_off()
-+ x = relational(left._gobj.lhs() + _right._gobj,
-+ left._gobj.rhs() + _right._gobj,
-+ relational_operator(left._gobj))
-+ elif is_a_relational(_right._gobj):
-+ x = relational(left._gobj + _right._gobj.lhs(),
-+ left._gobj + _right._gobj.rhs(),
-+ relational_operator(_right._gobj))
-+ else:
-+ x = left._gobj + _right._gobj
- return new_Expression_from_GEx(left._parent, x)
-
- cpdef _sub_(left, right):
-@@ -3289,27 +3276,23 @@ cdef class Expression(CommutativeRingElement):
- """
- cdef GEx x
- cdef Expression _right = <Expression>right
-- sig_on()
-- try:
-- if is_a_relational(left._gobj):
-- if is_a_relational(_right._gobj):
-- op = compatible_relation(relational_operator(left._gobj),
-- relational_operator(_right._gobj))
-- x = relational(left._gobj.lhs() - _right._gobj.lhs(),
-- left._gobj.rhs() - _right._gobj.rhs(),
-- op)
-- else:
-- x = relational(left._gobj.lhs() - _right._gobj,
-- left._gobj.rhs() - _right._gobj,
-- relational_operator(left._gobj))
-- elif is_a_relational(_right._gobj):
-- x = relational(left._gobj - _right._gobj.lhs(),
-- left._gobj - _right._gobj.rhs(),
-- relational_operator(_right._gobj))
-+ if is_a_relational(left._gobj):
-+ if is_a_relational(_right._gobj):
-+ op = compatible_relation(relational_operator(left._gobj),
-+ relational_operator(_right._gobj))
-+ x = relational(left._gobj.lhs() - _right._gobj.lhs(),
-+ left._gobj.rhs() - _right._gobj.rhs(),
-+ op)
- else:
-- x = left._gobj - _right._gobj
-- finally:
-- sig_off()
-+ x = relational(left._gobj.lhs() - _right._gobj,
-+ left._gobj.rhs() - _right._gobj,
-+ relational_operator(left._gobj))
-+ elif is_a_relational(_right._gobj):
-+ x = relational(left._gobj - _right._gobj.lhs(),
-+ left._gobj - _right._gobj.rhs(),
-+ relational_operator(_right._gobj))
-+ else:
-+ x = left._gobj - _right._gobj
- return new_Expression_from_GEx(left._parent, x)
-
- cpdef _mul_(left, right):
-@@ -3457,29 +3440,25 @@ cdef class Expression(CommutativeRingElement):
- cdef GEx x
- cdef Expression _right = <Expression>right
- cdef operators o
-- sig_on()
-- try:
-- if is_a_relational(left._gobj):
-- if is_a_relational(_right._gobj):
-- op = compatible_relation(relational_operator(left._gobj),
-- relational_operator(_right._gobj))
-- x = relational(left._gobj.lhs() * _right._gobj.lhs(),
-- left._gobj.rhs() * _right._gobj.rhs(),
-- op)
-- else:
-- o = relational_operator(left._gobj)
-- x = relational(left._gobj.lhs() * _right._gobj,
-- left._gobj.rhs() * _right._gobj,
-- o)
-- elif is_a_relational(_right._gobj):
-- o = relational_operator(_right._gobj)
-- x = relational(left._gobj * _right._gobj.lhs(),
-- left._gobj * _right._gobj.rhs(),
-- o)
-+ if is_a_relational(left._gobj):
-+ if is_a_relational(_right._gobj):
-+ op = compatible_relation(relational_operator(left._gobj),
-+ relational_operator(_right._gobj))
-+ x = relational(left._gobj.lhs() * _right._gobj.lhs(),
-+ left._gobj.rhs() * _right._gobj.rhs(),
-+ op)
- else:
-- x = left._gobj * _right._gobj
-- finally:
-- sig_off()
-+ o = relational_operator(left._gobj)
-+ x = relational(left._gobj.lhs() * _right._gobj,
-+ left._gobj.rhs() * _right._gobj,
-+ o)
-+ elif is_a_relational(_right._gobj):
-+ o = relational_operator(_right._gobj)
-+ x = relational(left._gobj * _right._gobj.lhs(),
-+ left._gobj * _right._gobj.rhs(),
-+ o)
-+ else:
-+ x = left._gobj * _right._gobj
- return new_Expression_from_GEx(left._parent, x)
-
- cpdef _div_(left, right):
-@@ -3553,7 +3532,7 @@ cdef class Expression(CommutativeRingElement):
- sage: x/0
- Traceback (most recent call last):
- ...
-- ZeroDivisionError: Symbolic division by zero
-+ ZeroDivisionError: symbolic division by zero
-
- Check if Pynac can compute divisions of Python longs (:trac:`13107`)::
-
-@@ -3563,7 +3542,6 @@ cdef class Expression(CommutativeRingElement):
- cdef GEx x
- cdef Expression _right = <Expression>right
- cdef operators o
-- sig_on()
- try:
- if is_a_relational(left._gobj):
- if is_a_relational(_right._gobj):
-@@ -3589,11 +3567,9 @@ cdef class Expression(CommutativeRingElement):
- # TODO: change this to maybe cleverly do something involving Cython C++ exception handling.
- # See http://docs.cython.org/docs/wrapping_CPlusPlus.html
- if 'division by zero' in str(msg):
-- raise ZeroDivisionError("Symbolic division by zero")
-+ raise ZeroDivisionError("symbolic division by zero")
- else:
- raise
-- finally:
-- sig_off()
-
- def __invert__(self):
- """
-@@ -5314,11 +5290,7 @@ cdef class Expression(CommutativeRingElement):
- for k, v in sdict.iteritems():
- smap.insert(make_pair((<Expression>self.coerce_in(k))._gobj,
- (<Expression>self.coerce_in(v))._gobj))
-- sig_on()
-- try:
-- res = self._gobj.subs_map(smap, 0)
-- finally:
-- sig_off()
-+ res = self._gobj.subs_map(smap, 0)
- return new_Expression_from_GEx(self._parent, res)
-
- subs = substitute
-@@ -7183,12 +7155,7 @@ cdef class Expression(CommutativeRingElement):
- x^2 + 2*x + 2
- """
- cdef Expression r = self.coerce_in(b)
-- cdef GEx x
-- sig_on()
-- try:
-- x = g_gcd(self._gobj, r._gobj)
-- finally:
-- sig_off()
-+ cdef GEx x = g_gcd(self._gobj, r._gobj)
- return new_Expression_from_GEx(self._parent, x)
-
- def gosper_sum(self, *args):
-@@ -8983,12 +8950,7 @@ cdef class Expression(CommutativeRingElement):
- sage: t = SR(1).zeta(); t
- Infinity
- """
-- cdef GEx x
-- sig_on()
-- try:
-- x = g_hold_wrapper(g_zeta, self._gobj, hold)
-- finally:
-- sig_off()
-+ cdef GEx x = g_hold_wrapper(g_zeta, self._gobj, hold)
- return new_Expression_from_GEx(self._parent, x)
-
- def factorial(self, hold=False):
Modified: sagemath-env.patch
===================================================================
--- sagemath-env.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ sagemath-env.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -1,6 +1,6 @@
--- src/bin/sage-env.orig 2015-01-06 10:46:04.469687605 +0100
+++ src/bin/sage-env 2015-01-06 10:49:59.547762019 +0100
-@@ -111,41 +111,7 @@
+@@ -111,41 +111,6 @@
}
@@ -39,7 +39,6 @@
- echo >&2 "Old SAGE_ROOT=$SAGE_ROOT"
- echo >&2 "New SAGE_ROOT=$NEW_SAGE_ROOT"
-fi
-+NEW_SAGE_ROOT="/usr"
# Don't execute the commands more than once for the same version of
@@ -90,7 +89,7 @@
export SAGE_DOC="$SAGE_SHARE/doc/sage"
if [ -z "${SAGE_ORIG_PATH_SET}" ]; then
-@@ -409,29 +409,8 @@
+@@ -409,28 +409,8 @@
export SAGE_STARTUP_FILE
fi
@@ -118,10 +117,9 @@
- >&2 echo "Warning: PYTHONHOME must not be set when running Sage, clearing env..."
- unset PYTHONHOME
-fi
--
+
LDFLAGS="-L$SAGE_LOCAL/lib -Wl,-rpath,$SAGE_LOCAL/lib $LDFLAGS"
export LDFLAGS
-
@@ -495,8 +495,6 @@
fi
fi
@@ -141,22 +139,3 @@
# Handle parallel building/testing/...
# See Trac Ticket #12016
# First, figure out the right values for SAGE_NUM_THREADS (default
---- src/sage/env.py.orig 2017-12-07 19:51:25.554281539 +0000
-+++ src/sage/env.py 2017-12-07 19:51:42.787654650 +0000
-@@ -117,13 +117,13 @@
- _add_variable_or_fallback('LOCAL_IDENTIFIER','$HOSTNAME.%s'%os.getpid())
-
- # bunch of sage directories and files
--_add_variable_or_fallback('SAGE_ROOT', None)
--_add_variable_or_fallback('SAGE_LOCAL', None)
-+_add_variable_or_fallback('SAGE_ROOT', '')
-+_add_variable_or_fallback('SAGE_LOCAL', '/usr')
- _add_variable_or_fallback('SAGE_ETC', opj('$SAGE_LOCAL', 'etc'))
- _add_variable_or_fallback('SAGE_INC', opj('$SAGE_LOCAL', 'include'))
- _add_variable_or_fallback('SAGE_SHARE', opj('$SAGE_LOCAL', 'share'))
-
--_add_variable_or_fallback('SAGE_SRC', opj('$SAGE_ROOT', 'src'))
-+_add_variable_or_fallback('SAGE_SRC', opj('$SAGE_LOCAL', 'lib', 'python2.7', 'site-packages'))
-
- try:
- sitepackages_dirs = site.getsitepackages()
Modified: sagemath-gap-4.10.1.patch
===================================================================
--- sagemath-gap-4.10.1.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ sagemath-gap-4.10.1.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -17,15 +17,15 @@
index 97c383fdbe..20ecc82976 100644
--- a/src/sage/libs/gap/util.pyx
+++ b/src/sage/libs/gap/util.pyx
-@@ -320,8 +320,8 @@
- # Need to save/restore current SIGINT handling since GAP_Initialize
- # currently clobbers it; it doesn't matter what we set SIGINT to
- # temporarily.
+@@ -329,8 +329,8 @@ cdef initialize():
+ # Initialize GAP and capture any error messages. The
+ # initialization just prints any errors and does not
+ # use the error handler.
- GAP_Initialize(argc, argv, env, &gasman_callback,
- &error_handler)
+ GAP_Initialize(argc, argv, &gasman_callback,
+ &error_handler, 1)
- except RuntimeError as msg:
- raise RuntimeError('libGAP initialization failed\n' + msg)
- finally:
+ finally:
+ sig_off()
+
Deleted: sagemath-numpy-1.16.patch
===================================================================
--- sagemath-numpy-1.16.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ sagemath-numpy-1.16.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -1,85 +0,0 @@
-diff --git a/src/sage/misc/inline_fortran.py b/src/sage/misc/inline_fortran.py
-index e44724b..2bb4852 100644
---- a/src/sage/misc/inline_fortran.py
-+++ b/src/sage/misc/inline_fortran.py
-@@ -5,6 +5,7 @@ from __future__ import absolute_import
-
- import os
- import shutil
-+import subprocess
- import sys
-
- import six
-@@ -154,8 +155,6 @@ class InlineFortran:
- from sage.repl.user_globals import get_globals
- globals = get_globals()
-
-- from numpy import f2py
--
- # Create everything in a temporary directory
- mytmpdir = tmp_dir()
-
-@@ -171,36 +170,44 @@ class InlineFortran:
- else:
- fortran_file = name + '.f'
-
-- s_lib_path = ""
-- s_lib = ""
-- for s in self.library_paths:
-- s_lib_path = s_lib_path + "-L%s "
-+ s_lib_path = ['-L' + p for p in self.library_paths]
-+ s_lib = ['-l' + l for l in self.libraries]
-
-- for s in self.libraries:
-- s_lib = s_lib + "-l%s "%s
-+ with open(fortran_file, 'w') as fobj:
-+ fobj.write(x)
-
-- log = name + ".log"
-- extra_args = ('--quiet --f77exec=sage-inline-fortran '
-- '--f90exec=sage-inline-fortran {lib_path} {lib} '
-- '> {log} 2>&1'.format(lib_path=s_lib_path,
-- lib=s_lib, log=log))
-+ # This is basically the same as what f2py.compile() does, but we
-+ # do it manually here in order to customize running the subprocess
-+ # a bit more (in particular to capture stderr)
-+ cmd = [sys.executable, '-c', 'import numpy.f2py; numpy.f2py.main()']
-
-- f2py.compile(x, name, extra_args=extra_args,
-- source_fn=fortran_file)
-+ # What follows are the arguments to f2py itself (appended later
-+ # just for logical separation)
-+ cmd += ['-c', '-m', name, fortran_file, '--quiet',
-+ '--f77exec=sage-inline-fortran',
-+ '--f90exec=sage-inline-fortran'] + s_lib_path + s_lib
-
-- with open(log) as fobj:
-- log_string = fobj.read()
-+ try:
-+ out = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
-+ except subprocess.CalledProcessError as exc:
-+ raise RuntimeError(
-+ "failed to compile Fortran code:\n{}".format(exc.output))
-
- # Note that f2py() doesn't raise an exception if it fails.
- # In that case, the import below will fail.
- try:
- mod = _import_module_from_path(name, [mytmpdir])
-- except ImportError:
-- raise RuntimeError("failed to compile Fortran code:\n" +
-- log_string)
-+ except ImportError as exc:
-+ # Failed to import the module; include any output from building
-+ # the module (even though it was ostensibly successful) in case
-+ # it might help
-+ msg = "failed to load compiled Fortran code: {}".format(exc)
-+ if out:
-+ msg += '\n' + out
-+ raise RuntimeError(msg)
-
- if self.verbose:
-- print(log_string)
-+ print(out)
- finally:
- os.chdir(old_cwd)
-
Modified: sagemath-python3-notebook.patch
===================================================================
--- sagemath-python3-notebook.patch 2019-03-24 09:25:39 UTC (rev 443312)
+++ sagemath-python3-notebook.patch 2019-03-24 10:09:23 UTC (rev 443313)
@@ -2,7 +2,7 @@
index 74192da240..0ede281aad 100755
--- a/src/bin/sage-notebook
+++ b/src/bin/sage-notebook
-@@ -96,8 +96,7 @@ class NotebookJupyter(object):
+@@ -95,8 +95,7 @@ class NotebookJupyter(object):
if not have_prerequisites():
print(self.PREREQUISITE_ERROR)
raise SystemExit(1)
More information about the arch-commits
mailing list