summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--sagemath-cypari-2.1.2.patch155
-rw-r--r--sagemath-flint-2.6.patch110
4 files changed, 2 insertions, 279 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3e5ed131c8d0..4266ebf335bd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = sagemath-git
pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab
- pkgver = 9.3.beta1.r0.g222059565b
+ pkgver = 9.3.beta2.r0.g020bd59ec2
pkgrel = 1
url = http://www.sagemath.org
arch = x86_64
@@ -98,8 +98,6 @@ pkgbase = sagemath-git
source = test-optional.patch
source = sagemath-singular-4.1.2.patch
source = sagemath-gap-4.11.patch
- source = sagemath-flint-2.6.patch
- source = sagemath-cypari-2.1.2.patch
source = sagemath-pari-2.13.patch
sha256sums = SKIP
sha256sums = 4fb46b12b5ee5e5bde87f646dc69a7b8929886be247e2d9a9ae1f12efbe5b580
@@ -107,8 +105,6 @@ pkgbase = sagemath-git
sha256sums = 7da0dbcda15a327c21dc33853cb8f98cb86a283139f8735e3b20a71d49458a88
sha256sums = 881186d016a6eb47b919765b9d4e6abc4560fce54e08cf42bd948ba77e16aa85
sha256sums = 34f06f9776f84f6998b1350555316e0ffea76ed16e149916970f19ef750a467f
- sha256sums = 5d00b24c1d36b41b8ea3f07b93fc0e00b42dd84d9bc4e9b3d26e5f2cfeba6405
- sha256sums = dc507eeb75eae1109273879771b4eb56172b7417e87a0693381106afd7554e04
sha256sums = 84875c90268436cb6a740a4e1bffd70b4895458ef9e1ee268a3c4aa0564e893f
pkgname = sagemath-git
diff --git a/PKGBUILD b/PKGBUILD
index 0c45bd512072..7f38cd117e58 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgbase=sagemath-git
pkgname=(sagemath-git sagemath-jupyter-git)
-pkgver=9.3.beta1.r0.g222059565b
+pkgver=9.3.beta2.r0.g020bd59ec2
pkgrel=1
pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
arch=(x86_64)
@@ -41,8 +41,6 @@ source=(git://git.sagemath.org/sage.git#branch=develop
test-optional.patch
sagemath-singular-4.1.2.patch
sagemath-gap-4.11.patch
- sagemath-flint-2.6.patch
- sagemath-cypari-2.1.2.patch
sagemath-pari-2.13.patch)
sha256sums=('SKIP'
'4fb46b12b5ee5e5bde87f646dc69a7b8929886be247e2d9a9ae1f12efbe5b580'
@@ -50,8 +48,6 @@ sha256sums=('SKIP'
'7da0dbcda15a327c21dc33853cb8f98cb86a283139f8735e3b20a71d49458a88'
'881186d016a6eb47b919765b9d4e6abc4560fce54e08cf42bd948ba77e16aa85'
'34f06f9776f84f6998b1350555316e0ffea76ed16e149916970f19ef750a467f'
- '5d00b24c1d36b41b8ea3f07b93fc0e00b42dd84d9bc4e9b3d26e5f2cfeba6405'
- 'dc507eeb75eae1109273879771b4eb56172b7417e87a0693381106afd7554e04'
'84875c90268436cb6a740a4e1bffd70b4895458ef9e1ee268a3c4aa0564e893f')
pkgver() {
@@ -67,12 +63,8 @@ prepare(){
# Upstream patches
# Fixes for singular 4.1.2 https://trac.sagemath.org/ticket/25993
patch -p1 -i ../sagemath-singular-4.1.2.patch
-# Fix segfault and tests with flint 2.6 https://trac.sagemath.org/ticket/29719
- patch -p1 -i ../sagemath-flint-2.6.patch
# Fix gap.version() and doctests with GAP 4.11 https://trac.sagemath.org/ticket/29314
patch -p1 -i ../sagemath-gap-4.11.patch
-# Fix gcd/lcm between pari and sage objects https://trac.sagemath.org/ticket/30849
- patch -p1 -i ../sagemath-cypari-2.1.2.patch
# Port to PARI 2.13 https://trac.sagemath.org/ticket/30801
patch -p1 -i ../sagemath-pari-2.13.patch
diff --git a/sagemath-cypari-2.1.2.patch b/sagemath-cypari-2.1.2.patch
deleted file mode 100644
index bfbb02185dbd..000000000000
--- a/sagemath-cypari-2.1.2.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
-index 4c835d0..77a3a18 100644
---- a/src/sage/rings/integer.pyx
-+++ b/src/sage/rings/integer.pyx
-@@ -4414,6 +4414,29 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
- sig_off()
- return z
-
-+ def _gcd(self, Integer n):
-+ """
-+ Return the greatest common divisor of self and `n`.
-+
-+ EXAMPLES::
-+
-+ sage: 1._gcd(-1)
-+ 1
-+ sage: 0._gcd(1)
-+ 1
-+ sage: 0._gcd(0)
-+ 0
-+ sage: 2._gcd(2^6)
-+ 2
-+ sage: 21._gcd(2^6)
-+ 1
-+ """
-+ cdef Integer z = PY_NEW(Integer)
-+ sig_on()
-+ mpz_gcd(z.value, self.value, n.value)
-+ sig_off()
-+ return z
-+
- def denominator(self):
- """
- Return the denominator of this integer, which of course is
-@@ -6736,33 +6759,6 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
- raise ZeroDivisionError(f"inverse of Mod({self}, {m}) does not exist")
- return ans
-
-- def gcd(self, n):
-- """
-- Return the greatest common divisor of self and `n`.
--
-- EXAMPLES::
--
-- sage: gcd(-1,1)
-- 1
-- sage: gcd(0,1)
-- 1
-- sage: gcd(0,0)
-- 0
-- sage: gcd(2,2^6)
-- 2
-- sage: gcd(21,2^6)
-- 1
-- """
-- if not isinstance(n, Integer) and not isinstance(n, int):
-- left, right = coercion_model.canonical_coercion(self, n)
-- return left.gcd(right)
-- cdef Integer m = as_Integer(n)
-- cdef Integer g = PY_NEW(Integer)
-- sig_on()
-- mpz_gcd(g.value, self.value, m.value)
-- sig_off()
-- return g
--
- def crt(self, y, m, n):
- """
- Return the unique integer between `0` and `mn` that is congruent to
-diff --git a/src/sage/structure/element.pyx b/src/sage/structure/element.pyx
-index f145e66..1cf634e 100644
---- a/src/sage/structure/element.pyx
-+++ b/src/sage/structure/element.pyx
-@@ -3908,16 +3908,79 @@ def is_PrincipalIdealDomainElement(x):
- return isinstance(x, PrincipalIdealDomainElement)
-
- cdef class PrincipalIdealDomainElement(DedekindDomainElement):
-+ def gcd(self, right):
-+ r"""
-+ Return the greatest common divisor of ``self`` and ``other``.
-+
-+ TESTS:
-+
-+ :trac:`30849`::
-+
-+ sage: 2.gcd(pari(3))
-+ 1
-+ sage: type(2.gcd(pari(3)))
-+ <class 'sage.rings.integer.Integer'>
-+
-+ sage: 2.gcd(pari('1/3'))
-+ 1/3
-+ sage: type(2.gcd(pari('1/3')))
-+ <class 'sage.rings.rational.Rational'>
-+
-+ sage: import gmpy2
-+ sage: 2.gcd(gmpy2.mpz(3))
-+ 1
-+ sage: type(2.gcd(gmpy2.mpz(3)))
-+ <class 'sage.rings.integer.Integer'>
-+
-+ sage: 2.gcd(gmpy2.mpq(1,3))
-+ 1/3
-+ sage: type(2.gcd(pari('1/3')))
-+ <class 'sage.rings.rational.Rational'>
-+ """
-+ # NOTE: in order to handle nicely pari or gmpy2 integers we do not rely only on coercion
-+ if not isinstance(right, Element):
-+ right = py_scalar_to_element(right)
-+ if not isinstance(right, Element):
-+ right = right.sage()
-+ if not ((<Element>right)._parent is self._parent):
-+ from sage.arith.all import gcd
-+ return coercion_model.bin_op(self, right, gcd)
-+ return self._gcd(right)
-+
- def lcm(self, right):
- """
- Return the least common multiple of ``self`` and ``right``.
-- """
-- if not isinstance(right, Element) or not ((<Element>right)._parent is self._parent):
-+
-+ TESTS:
-+
-+ :trac:`30849`::
-+
-+ sage: 2.lcm(pari(3))
-+ 6
-+ sage: type(2.lcm(pari(3)))
-+ <class 'sage.rings.integer.Integer'>
-+
-+ sage: 2.lcm(pari('1/3'))
-+ 2
-+ sage: type(2.lcm(pari('1/3')))
-+ <class 'sage.rings.rational.Rational'>
-+
-+ sage: import gmpy2
-+ sage: 2.lcm(gmpy2.mpz(3))
-+ 6
-+ sage: type(2.lcm(gmpy2.mpz(3)))
-+ <class 'sage.rings.integer.Integer'>
-+ """
-+ # NOTE: in order to handle nicely pari or gmpy2 integers we do not rely only on coercion
-+ if not isinstance(right, Element):
-+ right = py_scalar_to_element(right)
-+ if not isinstance(right, Element):
-+ right = right.sage()
-+ if not ((<Element>right)._parent is self._parent):
- from sage.arith.all import lcm
- return coercion_model.bin_op(self, right, lcm)
- return self._lcm(right)
-
--
- # This is pretty nasty low level stuff. The idea is to speed up construction
- # of EuclideanDomainElements (in particular Integers) by skipping some tp_new
- # calls up the inheritance tree.
diff --git a/sagemath-flint-2.6.patch b/sagemath-flint-2.6.patch
deleted file mode 100644
index 481e79a76bf1..000000000000
--- a/sagemath-flint-2.6.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/src/doc/en/constructions/algebraic_geometry.rst b/src/doc/en/constructions/algebraic_geometry.rst
-index a312548..3933bf0 100644
---- a/src/doc/en/constructions/algebraic_geometry.rst
-+++ b/src/doc/en/constructions/algebraic_geometry.rst
-@@ -142,13 +142,17 @@ Other methods
- sage: I = singular.ideal('x^4+x', 'y^4+y')
- sage: L = singular.closed_points(I)
- sage: # Here you have all the points :
-- sage: print(L)
-+ sage: L # random
- [1]:
-- _[1]=y+1 # 32-bit
-- _[2]=x+1 # 32-bit
-- _[1]=y # 64-bit
-- _[2]=x # 64-bit
-+ _[1]=y+1
-+ _[2]=x+1
- ...
-+ sage: l=[L[k].sage() for k in [1..10]]; len(l) # there are 10 points
-+ 10
-+ sage: r=sorted(l[0].ring().gens()); r
-+ [y, x]
-+ sage: r in [t.gens() for t in l] # one of them is given by [y,x]
-+ True
-
- - Another way to compute rational points is to use Singular's
- ``NSplaces`` command. Here's the Klein quartic over :math:`GF(8)`
-diff --git a/src/doc/en/developer/coding_in_other.rst b/src/doc/en/developer/coding_in_other.rst
-index ee71373..6693aed 100644
---- a/src/doc/en/developer/coding_in_other.rst
-+++ b/src/doc/en/developer/coding_in_other.rst
-@@ -439,7 +439,7 @@ interface to Singular::
- ''
- sage: L = singular.eval("POINTS;")
-
-- sage: print(L)
-+ sage: print(L) # random
- [1]:
- [1]:
- 0
-@@ -447,13 +447,6 @@ interface to Singular::
- 1
- [3]:
- 0
-- [2]:
-- [1]:
-- -2
-- [2]:
-- -1
-- [3]:
-- 1
- ...
-
- From looking at the output, notice that our wrapper function will need
-diff --git a/src/sage/modules/fg_pid/fgp_module.py b/src/sage/modules/fg_pid/fgp_module.py
-index 1208768..8cb68d0 100644
---- a/src/sage/modules/fg_pid/fgp_module.py
-+++ b/src/sage/modules/fg_pid/fgp_module.py
-@@ -127,7 +127,8 @@ which is coerced into M0. ::
- Here we illustrate lifting an element of the image of f, i.e., finding
- an element of M0 that maps to a given element of M1::
-
-- sage: y = f.lift(3*M1.0); y
-+ sage: y = f.lift(3*M1.0)
-+ sage: y # random
- (0, 13)
- sage: f(y)
- (3)
-@@ -1285,7 +1286,7 @@ class FGP_Module_class(Module):
- (0, 4)
- sage: Q.coordinate_vector(x, reduce=True)
- (0, 4)
-- sage: Q.coordinate_vector(-x, reduce=False)
-+ sage: Q.coordinate_vector(-x, reduce=False) # random
- (0, -4)
- sage: x == 4*Q.1
- True
-@@ -1414,7 +1415,7 @@ class FGP_Module_class(Module):
- Echelon basis matrix:
- [ 0 12 0]
- [ 0 0 4]
-- sage: X
-+ sage: X # random
- [0 4 0]
- [0 1 0]
- [0 0 1]
-diff --git a/src/sage/modules/free_module_morphism.py b/src/sage/modules/free_module_morphism.py
-index 62379d2..2c163f5 100644
---- a/src/sage/modules/free_module_morphism.py
-+++ b/src/sage/modules/free_module_morphism.py
-@@ -350,12 +350,14 @@ class FreeModuleMorphism(matrix_morphism.MatrixMorphism):
- sage: V = X.span([[2, 0], [0, 8]], ZZ)
- sage: W = (QQ**1).span([[1/12]], ZZ)
- sage: f = V.hom([W([1/3]), W([1/2])], W)
-- sage: f.lift([1/3])
-+ sage: l=f.lift([1/3]); l # random
- (8, -16)
-- sage: f.lift([1/2])
-- (12, -24)
-- sage: f.lift([1/6])
-- (4, -8)
-+ sage: f(l)
-+ (1/3)
-+ sage: f(f.lift([1/2]))
-+ (1/2)
-+ sage: f(f.lift([1/6]))
-+ (1/6)
- sage: f.lift([1/12])
- Traceback (most recent call last):
- ...