[arch-commits] Commit in sagemath/trunk (PKGBUILD sagemath-linbox-1.7.patch)
Antonio Rojas
arojas at gemini.archlinux.org
Tue Dec 14 18:07:05 UTC 2021
Date: Tuesday, December 14, 2021 @ 18:07:05
Author: arojas
Revision: 1072810
givaro/fflas-ffpack/linbox 1.7 rebuild
Added:
sagemath/trunk/sagemath-linbox-1.7.patch
Modified:
sagemath/trunk/PKGBUILD
---------------------------+
PKGBUILD | 12 ++++++---
sagemath-linbox-1.7.patch | 58 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 66 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-12-14 18:03:07 UTC (rev 1072809)
+++ PKGBUILD 2021-12-14 18:07:05 UTC (rev 1072810)
@@ -7,7 +7,7 @@
pkgname=sagemath
pkgver=9.4
-pkgrel=6
+pkgrel=7
pkgdesc='Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab'
arch=(x86_64)
url='http://www.sagemath.org'
@@ -44,7 +44,8 @@
sagemath-lrcalc2.patch
sagemath-lcalc2.patch
sagemath-mpmath.patch
- sagemath-singular-4.2.1.p1.patch)
+ sagemath-singular-4.2.1.p1.patch
+ sagemath-linbox-1.7.patch)
sha256sums=('47190f37e679c2483dadc13112595bacb399dfe4c4a0cde18d3627f5b2db0ea5'
'665fc76fa57b1c50f122a8d1874e187afc97a9120921706176b63da3d9d30651'
'88e944f23c3b2391dc2e9f9be8e1131152d837dc8c829dfc714663869a272e81'
@@ -52,7 +53,8 @@
'240ac4c29d96d56407a20e1b7f9846e342a7eb2bb4edd6e5c86b3b5a8ff462f9'
'791b3f2c6e5529b09c3abf2f9703b6cf754d633a7a4177645b70b72ea014135a'
'be1c871fe6306a053169dce3edbb8bc78a96254ae7c83b2b741257ef3445b6eb'
- 'e3cdfe730d0b0f422fe837e465ecde3419b16de50bef3dd2b674f275f528ed97')
+ 'e3cdfe730d0b0f422fe837e465ecde3419b16de50bef3dd2b674f275f528ed97'
+ 'eacea27b214d32cb886a75695153dfc36b5bad2fd2517e8e4eee18e74220e9e3')
prepare(){
cd sage-$pkgver
@@ -64,8 +66,10 @@
patch -p1 -i ../sagemath-lcalc2.patch
# Make it work with vanilla mpmath https://trac.sagemath.org/ticket/32799
patch -p1 -i ../sagemath-mpmath.patch
-# Fix build with singular 4.2.1.p1
+# Fix build with singular 4.2.1.p1 https://trac.sagemath.org/ticket/32907
patch -p1 -i ../sagemath-singular-4.2.1.p1.patch
+# Fix build with linbox 1.7 https://trac.sagemath.org/ticket/32959
+ patch -p1 -i ../sagemath-linbox-1.7.patch
# Arch-specific patches
# assume all optional packages are installed
Added: sagemath-linbox-1.7.patch
===================================================================
--- sagemath-linbox-1.7.patch (rev 0)
+++ sagemath-linbox-1.7.patch 2021-12-14 18:07:05 UTC (rev 1072810)
@@ -0,0 +1,58 @@
+diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
+index 7794c9e..1753277 100644
+--- a/src/sage/libs/linbox/conversion.pxd
++++ b/src/sage/libs/linbox/conversion.pxd
+@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
+ - v -- linbox vector
+ """
+ cdef Vector_integer_dense res = P()
+- cdef cppvector[Integer] * vec = &v.refRep()
+ cdef size_t i
+ for i in range(<size_t> res._degree):
+- mpz_set(res._entries[i], vec[0][i].get_mpz_const())
++ mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
+
+ return res
+diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
+index 9112d15..dcc4829 100644
+--- a/src/sage/libs/linbox/linbox.pxd
++++ b/src/sage/libs/linbox/linbox.pxd
+@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+ ctypedef Modular_double Field
+ ctypedef double Element
+ DenseMatrix_Modular_double(Field F, size_t m, size_t n)
+- DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
++ DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*)
+ void setEntry(size_t i, size_t j, Element& a)
+ Element &getEntry(size_t i, size_t j)
+
+@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+ ctypedef Modular_float Field
+ ctypedef float Element
+ DenseMatrix_Modular_float(Field F, size_t m, size_t n)
+- DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
++ DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*)
+ void setEntry(size_t i, size_t j, Element& a)
+ Element &getEntry(size_t i, size_t j)
+
+@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h":
+ DenseVector_integer (Field &F)
+ DenseVector_integer (Field &F, long& m)
+ DenseVector_integer (Field &F, cppvector[Integer]&)
+- cppvector[Element]& refRep()
+ size_t size()
+ void resize(size_t)
+ void resize(size_t n, const Element&)
+diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
+index 010365d..3d60726 100644
+--- a/src/sage/matrix/matrix_modn_dense_template.pxi
++++ b/src/sage/matrix/matrix_modn_dense_template.pxi
+@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
+ return 0,[]
+
+ cdef ModField *F = new ModField(<long>modulus)
+- cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
++ cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries)
+ cdef Py_ssize_t r = reducedRowEchelonize(A[0])
+ cdef Py_ssize_t i,j
+ for i in range(nrows):
More information about the arch-commits
mailing list