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):
