sagemath: patch and rebuild for ecl-23.9.9

Also add a patch to support matplotlib 3.8.0
This commit is contained in:
Gonzalo Tornaría 2023-09-09 21:26:04 -03:00 committed by Duncan Overbruck
parent ace18ee7e5
commit 5d8e4da91f
5 changed files with 74 additions and 3 deletions

View file

@ -24,7 +24,7 @@ index 1de6dedab82..b95130b19dd 100644
AUTHORS:
diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
index 2cd080ddafa..090ab59cb28 100644
index d5e87626d31..37ed9364845 100644
--- a/src/sage/rings/integer.pyx
+++ b/src/sage/rings/integer.pyx
@@ -6654,7 +6654,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):

View file

@ -0,0 +1,39 @@
diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx
index 8f46570313d..a8e73e57b52 100644
--- a/src/sage/libs/ecl.pyx
+++ b/src/sage/libs/ecl.pyx
@@ -563,15 +563,15 @@ cdef class EclObject:
Floats in Python are IEEE double, which LISP has as well. However,
the printing of floating point types in LISP depends on settings::
- sage: a = EclObject(float(10^40))
+ sage: a = EclObject(float(1.234e40))
sage: ecl_eval("(setf *read-default-float-format* 'single-float)")
<ECL: SINGLE-FLOAT>
sage: a
- <ECL: 1.d40>
+ <ECL: 1.234d40>
sage: ecl_eval("(setf *read-default-float-format* 'double-float)")
<ECL: DOUBLE-FLOAT>
sage: a
- <ECL: 1.e40>
+ <ECL: 1.234e40>
Tuples are translated to dotted lists::
diff --git a/src/sage/libs/eclsig.h b/src/sage/libs/eclsig.h
index e249ccf6874..005b2d99d0b 100644
--- a/src/sage/libs/eclsig.h
+++ b/src/sage/libs/eclsig.h
@@ -45,7 +45,11 @@ static inline void ecl_sig_off(void)
sig_off();
}
+#if ECL_VERSION_NUMBER < 230909
#define ecl_mpz_from_bignum(obj) ((obj)->big.big_num)
+#else
+#define ecl_mpz_from_bignum(obj) ecl_bignum(obj)
+#endif
cl_object ecl_bignum_from_mpz(mpz_t num)
{

View file

@ -0,0 +1,24 @@
diff --git a/src/sage/plot/graphics.py b/src/sage/plot/graphics.py
index 59f10f6b13f..adcccff059b 100644
--- a/src/sage/plot/graphics.py
+++ b/src/sage/plot/graphics.py
@@ -36,6 +36,7 @@
# ****************************************************************************
import os
+from numbers import Integral
from collections.abc import Iterable
from math import isnan
import sage.misc.verbose
@@ -2874,6 +2875,11 @@ def matplotlib(self, filename=None,
weight=lopts.pop('font_weight', 'medium'),
variant=lopts.pop('font_variant', 'normal'))
color = lopts.pop('back_color', 'white')
+ if 'loc' in lopts:
+ loc = lopts['loc']
+ if isinstance(loc, Integral):
+ # matplotlib 3.8 doesn't support sage integers
+ lopts['loc'] = int(loc)
leg = subplot.legend(prop=prop, **lopts)
if leg is None:
from warnings import warn

View file

@ -24,6 +24,14 @@ cd $(dirname "$0")
#get_pr 36018 "singular 4.3.2p4" # included in #35934
get_pr 36046 "fix memory leak"
# positive review
# merged in 10.2.beta1
get_pr 35934 "singular 4.3.2p7"
# merged in 10.2.beta2
get_pr 36006 "gmp 6.3.0"
# merged in 10.2.beta3
get_pr 36235 "ecl 23.9.9"
# positive review
get_pr 36279 "matplotlib 3.8.0"

View file

@ -1,7 +1,7 @@
# Template file for 'sagemath'
pkgname=sagemath
version=10.1
revision=2
revision=3
build_wrksrc=pkgs/sagemath-standard
build_style=python3-module
_bindir=/usr/lib/sagemath/$version/bin