Skip to content

Commit c723f2f

Browse files
committed
sagemath: update to 10.8.
1 parent 680aeac commit c723f2f

10 files changed

+211
-273
lines changed

srcpkgs/sagemath/patches/40594-Fix_segfault_in_libgap.patch

Lines changed: 0 additions & 51 deletions
This file was deleted.
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
diff --git a/src/sage/config.py.in b/src/sage/config.py.in
2+
index de5ad8b2169..f75e951f3b8 100644
3+
--- a/src/sage/config.py.in
4+
+++ b/src/sage/config.py.in
5+
@@ -21,7 +21,7 @@ MAXIMA = "@SAGE_MAXIMA@".replace("${prefix}", SAGE_LOCAL)
6+
# Set this to the empty string if your ECL can load maxima without
7+
# further prodding.
8+
MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace("${prefix}", SAGE_LOCAL)
9+
-MAXIMA_SHARE = "@SAGE_MAXIMA_SHARE@".replace("${prefix}", SAGE_LOCAL)
10+
+MAXIMA_PREFIX = "@SAGE_MAXIMA_PREFIX@".replace("${prefix}", SAGE_LOCAL)
11+
12+
# Delete this line if your ECL can load Kenzo without further prodding.
13+
KENZO_FAS = "@SAGE_KENZO_FAS@".replace("${prefix}", SAGE_LOCAL)
14+
diff --git a/src/sage/env.py b/src/sage/env.py
15+
index c7c46bf4ec3..71e87c3f0f6 100644
16+
--- a/src/sage/env.py
17+
+++ b/src/sage/env.py
18+
@@ -204,7 +204,7 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st
19+
PPLPY_DOCS = var("PPLPY_DOCS", join(SAGE_SHARE, "doc", "pplpy"))
20+
MAXIMA = var("MAXIMA", "maxima")
21+
MAXIMA_FAS = var("MAXIMA_FAS")
22+
-MAXIMA_SHARE = var("MAXIMA_SHARE")
23+
+MAXIMA_PREFIX = var("MAXIMA_PREFIX")
24+
KENZO_FAS = var("KENZO_FAS")
25+
SAGE_NAUTY_BINS_PREFIX = var("SAGE_NAUTY_BINS_PREFIX", "")
26+
SAGE_ECMBIN = var("SAGE_ECMBIN", "ecm")
27+
diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
28+
index 154a2cc34e0..9df024abf39 100644
29+
--- a/src/sage/interfaces/maxima.py
30+
+++ b/src/sage/interfaces/maxima.py
31+
@@ -515,7 +515,7 @@
32+
33+
import pexpect
34+
35+
-from sage.env import MAXIMA
36+
+from sage.env import MAXIMA, MAXIMA_PREFIX
37+
from sage.interfaces.expect import Expect, ExpectElement, gc_disabled
38+
from sage.interfaces.maxima_abstract import (
39+
MaximaAbstract,
40+
@@ -587,11 +587,16 @@ def __init__(self, script_subdirectory=None, logfile=None, server=None,
41+
# See trac # 6818.
42+
init_code.append('nolabels : true')
43+
44+
+ env = {}
45+
+ if MAXIMA_PREFIX:
46+
+ env['MAXIMA_PREFIX'] = MAXIMA_PREFIX
47+
+
48+
MaximaAbstract.__init__(self, "maxima")
49+
Expect.__init__(self,
50+
name='maxima',
51+
prompt=r'\(\%i[0-9]+\) ',
52+
command='{0} -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
53+
+ env=env,
54+
script_subdirectory=script_subdirectory,
55+
restart_on_ctrlc=False,
56+
verbose_start=False,
57+
diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py
58+
index 637ef29a6f2..3d27bd834b5 100644
59+
--- a/src/sage/interfaces/maxima_lib.py
60+
+++ b/src/sage/interfaces/maxima_lib.py
61+
@@ -112,11 +112,12 @@
62+
#
63+
# https://www.gnu.org/licenses/
64+
# ****************************************************************************
65+
+import os
66+
67+
import sage.rings.real_double
68+
import sage.symbolic.expression
69+
import sage.symbolic.integration.integral
70+
-from sage.env import MAXIMA_FAS, MAXIMA_SHARE
71+
+from sage.env import MAXIMA_FAS, MAXIMA_PREFIX
72+
from sage.interfaces.maxima_abstract import (
73+
MaximaAbstract,
74+
MaximaAbstractElement,
75+
@@ -141,6 +142,9 @@
76+
ecl_eval("(in-package :maxima)")
77+
ecl_eval("(set-locale-subdir)")
78+
79+
+if MAXIMA_PREFIX:
80+
+ os.environ["MAXIMA_PREFIX"] = MAXIMA_PREFIX
81+
+
82+
# This workaround has to happen before any call to (set-pathnames).
83+
# To be safe please do not call anything other than
84+
# (set-locale-subdir) before this block.
85+
@@ -207,10 +211,10 @@
86+
87+
# Add search paths
88+
# Keep these in sync with the default Maxima search paths defined in subprojects/maxima-<version>/src/share-subdirs_autogenerated.lisp
89+
-if MAXIMA_SHARE:
90+
+if MAXIMA_PREFIX:
91+
import_packages = "{affine,algebra,algebra/charsets,algebra/solver,amatrix,bernstein,calculus,cobyla,cobyla/ex,cobyla/lisp,colnew,colnew/ex1,colnew/ex2,colnew/ex3,colnew/ex4,colnew/lisp,combinatorics,contrib,contrib/Eulix,contrib/Grobner,contrib/Zeilberger,contrib/alt-display,contrib/altsimp,contrib/binsplit,contrib/bitwise,contrib/boolsimp,contrib/coma,contrib/diffequations,contrib/diffequations/tests,contrib/elliptic_curves,contrib/elliptic_curves/figures,contrib/format,contrib/fresnel,contrib/gentran,contrib/gentran/man,contrib/gentran/test,contrib/gf,contrib/integration,contrib/levin,contrib/lurkmathml,contrib/maxima-odesolve,contrib/maximaMathML,contrib/mcclim,contrib/noninteractive,contrib/odes,contrib/operatingsystem,contrib/prim,contrib/rand,contrib/rkf45,contrib/sarag,contrib/smath,contrib/state,contrib/symplectic_ode,contrib/trigtools,contrib/unicodedata,contrib/unit,contrib/vector3d,descriptive,diff_form,diff_form/tests,diffequations,distrib,draw,dynamics,ezunits,fftpack5,fftpack5/lisp,finance,fourier_elim,fractals,graphs,hompack,hompack/lisp,hypergeometric,integequations,integer_sequence,integration,lapack,lapack/blas,lapack/lapack,lbfgs,linearalgebra,logic,lsquares,macro,matrix,minpack,minpack/lisp,misc,mnewton,multiadditive,nelder_mead,numeric,numericalio,odepack,odepack/src,orthopoly,pdiff,physics,pslq,pytranslate,quantum,simplex,simplex/Tests,simplification,solve_rat_ineq,solve_rec,sound,stats,stringproc,sym,tensor,tensor/tracefree-code,test_batch_encodings,to_poly_solve,translators,translators/m2mj,trigonometry,utils,vector,z_transform}"
92+
- ecl_eval(f'#$file_search_maxima: append(file_search_maxima, ["{MAXIMA_SHARE}/###.{{mac,mc,wxm}}", "{MAXIMA_SHARE}/{import_packages}/###.{{mac,mc,wxm}}"])$')
93+
- ecl_eval(f'#$file_search_lisp: append(file_search_lisp, ["{MAXIMA_SHARE}/###.{{fas,lisp,lsp}}", "{MAXIMA_SHARE}/{import_packages}/###.{{fas,lisp,lsp}}"])$')
94+
+ ecl_eval(f'#$file_search_maxima: append(file_search_maxima, ["{MAXIMA_PREFIX}/###.{{mac,mc,wxm}}", "{MAXIMA_PREFIX}/{import_packages}/###.{{mac,mc,wxm}}"])$')
95+
+ ecl_eval(f'#$file_search_lisp: append(file_search_lisp, ["{MAXIMA_PREFIX}/###.{{fas,lisp,lsp}}", "{MAXIMA_PREFIX}/../src/###.{{fas,lisp,lsp}}", "{MAXIMA_PREFIX}/{import_packages}/###.{{fas,lisp,lsp}}"])$')
96+
97+
# Default options set in Maxima
98+
# display2d -- no ascii art output
99+
diff --git a/subprojects/packagefiles/maxima/build/doc/info/meson.build b/subprojects/packagefiles/maxima/build/doc/info/meson.build
100+
new file mode 100644
101+
index 00000000000..e8c69f73526
102+
diff --git a/subprojects/packagefiles/maxima/build/doc/meson.build b/subprojects/packagefiles/maxima/build/doc/meson.build
103+
new file mode 100644
104+
index 00000000000..eba36e4bdc3
105+
diff --git a/subprojects/packagefiles/maxima/build/meson.build b/subprojects/packagefiles/maxima/build/meson.build
106+
new file mode 100644
107+
index 00000000000..4112780103d
108+
diff --git a/subprojects/packagefiles/maxima/infodir.patch b/subprojects/packagefiles/maxima/infodir.patch
109+
new file mode 100644
110+
index 00000000000..a4c037bb848
111+
diff --git a/subprojects/packagefiles/maxima/maxima_prefix_bin.patch b/subprojects/packagefiles/maxima/maxima_prefix_bin.patch
112+
new file mode 100644
113+
index 00000000000..0fced388ea9
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
From 5de75421e8c61eb1e7f64cb0cd6075c8b74209d8 Mon Sep 17 00:00:00 2001
2+
From: Chenxin Zhong <[email protected]>
3+
Date: Sat, 13 Dec 2025 03:31:46 +0800
4+
Subject: [PATCH] Fix GCD assertion in MacLaneLimitValuation to handle mutable
5+
cached limit valuations
6+
7+
---
8+
src/sage/rings/valuation/limit_valuation.py | 20 +++++++++++++++++++-
9+
1 file changed, 19 insertions(+), 1 deletion(-)
10+
11+
diff --git a/src/sage/rings/valuation/limit_valuation.py b/src/sage/rings/valuation/limit_valuation.py
12+
index c2555a327b6..063411d8110 100644
13+
--- a/src/sage/rings/valuation/limit_valuation.py
14+
+++ b/src/sage/rings/valuation/limit_valuation.py
15+
@@ -698,7 +698,25 @@ def _ge_(self, other):
16+
self._improve_approximation_for_call(other._G)
17+
other._improve_approximation_for_call(self._G)
18+
if self._G != other._G:
19+
- assert self._G.gcd(other._G).is_one()
20+
+ gcd = self._G.gcd(other._G)
21+
+ if not gcd.is_one():
22+
+ # Cached limit valuations are mutable: earlier calls
23+
+ # to ``_improve_approximation_for_call`` may already
24+
+ # have replaced ``_G`` by the factor with infinite
25+
+ # valuation. This can leave one instance with a proper
26+
+ # factor of the other's ``_G``.
27+
+ #
28+
+ # In this situation, force both instances to reduce
29+
+ # further by calling with the complementary factor.
30+
+ # (Calling with the common factor itself may be an
31+
+ # equivalence unit and thus not trigger any reduction.)
32+
+ if gcd != self._G:
33+
+ self._improve_approximation_for_call(self._G // gcd)
34+
+ if gcd != other._G:
35+
+ other._improve_approximation_for_call(other._G // gcd)
36+
+ # Recompute after possible reductions.
37+
+ gcd = self._G.gcd(other._G)
38+
+ assert gcd.is_one()
39+
return False
40+
41+
# If the valuations are comparable, they must approximate the

srcpkgs/sagemath/patches/41021-Refactor_atexit.pyx_for_python_3.14.patch

Lines changed: 0 additions & 138 deletions
This file was deleted.

srcpkgs/sagemath/patches/41141-Fix_ipython_9.7.0.patch

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py
2+
index 7f6ba7967e1..89a56cb54e1 100644
3+
--- a/src/sage/calculus/desolvers.py
4+
+++ b/src/sage/calculus/desolvers.py
5+
@@ -1621,7 +1621,7 @@ def desolve_odeint_inner(ivar):
6+
assert len(des) == 1
7+
dvar = dvars[0]
8+
de = des[0]
9+
- func = fast_float(de, dvar, ivar)
10+
+ func = lambda y, t: fast_float(de, dvar, ivar)(y.item(), t)
11+
if not compute_jac:
12+
Dfun = None
13+
else:

0 commit comments

Comments
 (0)