From 2e82387948ef342f5e90c5561724bc1fef096655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 9 Sep 2023 21:19:48 -0300 Subject: [PATCH 1/3] ecl: update to 23.9.9. --- common/shlibs | 2 +- srcpkgs/ecl/patches/fix-math_fenv_h.patch | 31 ----------------------- srcpkgs/ecl/template | 5 ++-- 3 files changed, 4 insertions(+), 34 deletions(-) delete mode 100644 srcpkgs/ecl/patches/fix-math_fenv_h.patch diff --git a/common/shlibs b/common/shlibs index c9d59ef3b97ca..a4e8c6b6354b4 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4048,7 +4048,7 @@ libcxsparse.so.4 SuiteSparse-6.0.1_1 libspqr.so.3 SuiteSparse-6.0.1_1 libsuitesparseconfig.so.7 SuiteSparse-7.0.1_1 libumfpack.so.6 SuiteSparse-6.0.1_1 -libecl.so.21.2 ecl-21.2.1_1 +libecl.so.23.9 ecl-23.9.9_1 libecm.so.1 ecm-7.0.4_3 libcliquer.so.1 cliquer-1.22_1 libomalloc-0.9.6.so singular-4.2.1_1 diff --git a/srcpkgs/ecl/patches/fix-math_fenv_h.patch b/srcpkgs/ecl/patches/fix-math_fenv_h.patch deleted file mode 100644 index 9d10af8d573e6..0000000000000 --- a/srcpkgs/ecl/patches/fix-math_fenv_h.patch +++ /dev/null @@ -1,31 +0,0 @@ -Source: @pullmoll -Upstream: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/653#note_675299471 -Reason: Some architectures do not define all of the FE_.. constants -Example: mips-musl needs this - -diff --git a/src/h/impl/math_fenv.h b/src/h/impl/math_fenv.h -index ea13d87b4..2afbb9549 100644 ---- a/src/h/impl/math_fenv.h -+++ b/src/h/impl/math_fenv.h -@@ -55,6 +55,21 @@ - #ifdef HAVE_FENV_H - # define ECL_WITHOUT_FPE_BEGIN do { fenv_t env; feholdexcept(&env); - # define ECL_WITHOUT_FPE_END fesetenv(&env); } while (0) -+# if !defined(FE_DIVBYZERO) -+# define FE_DIVBYZERO 0 -+# endif -+# if !defined(FE_INVALID) -+# define FE_INVALID 0 -+# endif -+# if !defined(FE_OVERFLOW) -+# define FE_OVERFLOW 0 -+# endif -+# if !defined(FE_UNDERFLOW) -+# define FE_UNDERFLOW 0 -+# endif -+# if !defined(FE_INEXACT) -+# define FE_INEXACT 0 -+# endif - #else - # define FE_INVALID 1 - # define FE_DIVBYZERO 2 diff --git a/srcpkgs/ecl/template b/srcpkgs/ecl/template index dcfb6ff48a363..688cb1d0fd496 100644 --- a/srcpkgs/ecl/template +++ b/srcpkgs/ecl/template @@ -1,6 +1,6 @@ # Template file for 'ecl' pkgname=ecl -version=21.2.1 +version=23.9.9 revision=1 build_style=gnu-configure configure_args="--enable-gmp=system --enable-boehm=system @@ -12,8 +12,9 @@ short_desc="Common-Lisp interpreter as described in the X3J13 Ansi specification maintainer="Kyle Nusbaum " license="LGPL-2.1-or-later" homepage="https://common-lisp.net/project/ecl/" +changelog="https://gitlab.com/embeddable-common-lisp/ecl/-/raw/develop/CHANGELOG" distfiles="https://common-lisp.net/project/ecl/static/files/release/ecl-${version}.tgz" -checksum=b15a75dcf84b8f62e68720ccab1393f9611c078fcd3afdd639a1086cad010900 +checksum=c51bdab4ca6c1173dd3fe9cfe9727bcefb97bb0a3d6434b627ca6bdaeb33f880 if [ "$CROSS_BUILD" ]; then # Depend on system ecl From 06c7b787fb00c05abd2300ad4b1c7df0f49a58a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 9 Sep 2023 21:26:04 -0300 Subject: [PATCH 2/3] maxima: rebuild for ecl --- srcpkgs/maxima/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/maxima/template b/srcpkgs/maxima/template index 04f732dbb0fec..4a9839b44f120 100644 --- a/srcpkgs/maxima/template +++ b/srcpkgs/maxima/template @@ -1,7 +1,7 @@ # Template file for 'maxima' pkgname=maxima version=5.47.0 -revision=1 +revision=2 build_style=gnu-configure configure_args="$(vopt_enable clisp) $(vopt_enable sbcl sbcl-exec) $(vopt_enable ecl)" hostmakedepends="python3 perl texinfo patchelf $(vopt_if ecl ecl)" From 24cfac8980f00c71c0f4bb7c3fb09442ad9b57f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 9 Sep 2023 21:26:04 -0300 Subject: [PATCH 3/3] sagemath: patch and rebuild for ecl-23.9.9 Also add a patch to support matplotlib 3.8.0 --- .../sagemath/patches/36006-gmp_6.3.0.patch | 2 +- .../sagemath/patches/36235-ecl_23.9.9.patch | 39 +++++++++++++++++++ .../patches/36279-matplotlib_3.8.0.patch | 24 ++++++++++++ srcpkgs/sagemath/patches/get_patches | 10 ++++- srcpkgs/sagemath/template | 2 +- 5 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/sagemath/patches/36235-ecl_23.9.9.patch create mode 100644 srcpkgs/sagemath/patches/36279-matplotlib_3.8.0.patch diff --git a/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch index 91a77de342935..6a35ec3836550 100644 --- a/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch +++ b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch @@ -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): diff --git a/srcpkgs/sagemath/patches/36235-ecl_23.9.9.patch b/srcpkgs/sagemath/patches/36235-ecl_23.9.9.patch new file mode 100644 index 0000000000000..684b62affaf5a --- /dev/null +++ b/srcpkgs/sagemath/patches/36235-ecl_23.9.9.patch @@ -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)") + + sage: a +- ++ + sage: ecl_eval("(setf *read-default-float-format* 'double-float)") + + sage: a +- ++ + + 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) + { diff --git a/srcpkgs/sagemath/patches/36279-matplotlib_3.8.0.patch b/srcpkgs/sagemath/patches/36279-matplotlib_3.8.0.patch new file mode 100644 index 0000000000000..e858f2fd4a445 --- /dev/null +++ b/srcpkgs/sagemath/patches/36279-matplotlib_3.8.0.patch @@ -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 diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches index c2c5aa1c7eccd..836d5bf7098fb 100755 --- a/srcpkgs/sagemath/patches/get_patches +++ b/srcpkgs/sagemath/patches/get_patches @@ -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" diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template index 019ad37cb3a70..e180eda47d342 100644 --- a/srcpkgs/sagemath/template +++ b/srcpkgs/sagemath/template @@ -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