diff --git a/sagemath-givaro.patch b/sagemath-givaro.patch index 47989d1..e57de4d 100644 --- a/sagemath-givaro.patch +++ b/sagemath-givaro.patch @@ -65,6 +65,27 @@ diff -up src/sage/libs/linbox/modular.pxd.orig src/sage/libs/linbox/modular.pxd ModFloatField(int modulus) ModFloatFieldElement init(ModFloatFieldElement res, int v) ModFloatFieldElement init(ModFloatFieldElement res, double v) +diff -up src/sage/libs/singular/singular.pyx.orig src/sage/libs/singular/singular.pyx +--- src/sage/libs/singular/singular.pyx.orig 2015-07-26 07:34:43.000000000 -0600 ++++ src/sage/libs/singular/singular.pyx 2016-03-07 06:11:58.246631802 -0700 +@@ -21,6 +21,8 @@ cdef extern from "limits.h": + long INT_MAX + long INT_MIN + ++from libc.stdint cimport int64_t ++ + import os + + from sage.libs.singular.decl cimport intvec +@@ -157,7 +159,7 @@ cdef FFgivE si2sa_GFqGivaro(number *n, r + order = cache.objectptr.cardinality() - 1 + + while z: +- c = cache.objectptr.initi(c, napGetCoeff(z)) ++ c = cache.objectptr.initi(c, napGetCoeff(z)) + e = napGetExpFrom(z,1, _ring) + if e == 0: + ret = cache.objectptr.add(ret, c, ret) diff -up src/sage/rings/finite_rings/element_givaro.pxd.orig src/sage/rings/finite_rings/element_givaro.pxd --- src/sage/rings/finite_rings/element_givaro.pxd.orig 2015-07-26 07:34:44.000000000 -0600 +++ src/sage/rings/finite_rings/element_givaro.pxd 2016-02-26 17:45:57.983303693 -0700 diff --git a/sagemath.spec b/sagemath.spec index d86f3c3..455e64f 100644 --- a/sagemath.spec +++ b/sagemath.spec @@ -693,6 +693,11 @@ sed -e "s,SINGULARPATH=\",&%{_libdir}/Singular/LIB:," \ -e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \ -i src/bin/sage-env +# fix givaro interface on 32-bit platforms +if [ "%{__isa_bits}" == "32" ]; then + sed -i 's/int64_t/int32_t/' src/sage/libs/singular/singular.pyx +fi + ######################################################################## %build export CC=%{__cc}