Debian Patches

Status for sagemath/10.10-1

Patch Description Author Forwarded Bugs Origin Last update
u2-fix-sympow-cachedir.patch Set SYMPOW_CACHEDIR to be inside DOT_SAGE Otherwise tests fail in sbuild because sympow can't create HOME/.sympow Ximin Luo <infinity0@debian.org> invalid
u2-eclib-int-scalar.patch Adapt to eclib using INT class for scalar In newer eclib versions, scalar is INT (a wrapper around FLINT's fmpz)
rather than int. Update Cython declarations, constructors, and conversions.
Update constructor.py verbose doctest to match eclib 2026 output format.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-cli-lazy-imports.patch Defer heavy imports in sage.cli until command execution Importing sage.all and preparse during module import in sage.cli prevents
generating --help when compiled extensions are not present in PYTHONPATH,
and slows down CLI startup. Defer those imports into run() and set PYTHONPATH
in repl documentation options custom_target.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-doc-mock-imports.patch Add autodoc_mock_imports and handle unimportable modules in Sphinx docbuild Configure Sphinx autodoc to mock optional Python dependencies that might not
be installed in the build environment, allowing the reference manual to be
built completely without failure.
In addition, gracefully handle unimportable modules (such as optional/disabled backends)
during linkcode resolution, page source suffix detection, and module doc generation.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-gap-autoload-packages.patch Autoload standard GAP packages in libgap and GAP interface In GAP >= 4.13, smallgrp, primgrp, and transgrp are separate packages.
When GAP is initialized with -A, these packages must be explicitly loaded
via LoadPackage if available so that group database functions work.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-mod2-dense-32bit-memlimit.patch Skip GF(2) matrix memory limit doctest on 32-bit A 4 GiB RLIMIT_AS does not limit a 32-bit process, the allocation
size overflows and the test segfaults.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-ecl-skip-interrupt-doctest.patch Skip ECL interrupt doctest ECL 24.5 aborts when handling interrupts if the first environment is
not page-aligned (ECL issue #828).

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-doc-reproducible-svg.patch Set svg.hashsalt in docbuild for reproducible SVG plots Matplotlib generates random UUIDs for SVG element IDs unless svg.hashsalt
is configured, causing non-reproducible documentation builds.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-python-3.15-compat.patch Compatibility fixes for Python 3.15 - Provide a compatibility implementation of PyWeakref_GetObject and
PyWeakref_GET_OBJECT using PyWeakref_GetRef.
- Fix undefined _Py_tss_interp in atexit.pyx by defining Py_BUILD_CORE_MODULE
and using PyInterpreterState_Get().
- Avoid deprecated os.path.commonprefix in sageinspect.py.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-expression-hang-fix.patch Mark hanging doctest as not tested In src/sage/symbolic/expression.pyx, integrate(ln(1+4/5*sin(x)), x, -3.1415, 3.1415)
triggers an infinite/exponential loop in Maxima's integrator (issue #39569) when
computing with large rational approximations to floating-point bounds.
Mark this example as "# not tested".

===================================================================
Maximiliano Curia <maxy@debian.org> yes
u2-highs-doctest-tag.patch Tag highs_backend with needs sage.numerical.backends.highs_backend Tag highs_backend.pyx so that doctesting gracefully requires the module to be present,
consistent with other optional MIP backends.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-sageinspect-buildpath-fallback.patch Fallback to SAGE_SRC or sage.__path__ in _extract_embedded_position When Cython docstrings contain absolute build paths (such as Debian reproducible
build paths /build/reproducible-path/...), the file does not exist at runtime
or during autopkgtest. If the absolute path does not exist on disk, look for
the 'sage/' subpath in sage.__path__ and SAGE_SRC.

===================================================================
Maximiliano Curia <maxy@debian.org> no
u2-pari-ntl-coeff-macro.patch Avoid macro collision between PARI 2.19 coeff and NTL coeff In PARI 2.19+, <pari/paricast.h> defines a 3-argument coeff(a, i, j) macro.
When Cython generated C++ code includes both PARI headers (via cypari2)
and Sage's NTL wrappers (such as in element_ntl_gf2e.pyx), this macro collides
with NTL's 2-argument coeff() functions, causing compilation failure.
Undefine coeff in ntlwrap.h and ntlwrap_impl.h, and explicitly call (NTL::coeff).

===================================================================
Maximiliano Curia <maxy@debian.org> yes
u2-pari-2.19-compat.patch Support PARI 2.19 in sagelib Update deprecated PARI syntax and numerical output changes for PARI 2.19:
- Use \c instead of ?* to list commands in gp interface
- Update polsturm signatures in simon scripts and pari tests
- Replace listcreate() with List() in sloane_functions
- Adjust doctests for numerical precision and ideal representations

===================================================================
Antonio Rojas <arojas@archlinux.org> yes upstream upstream, https://github.com/sagemath/sage/pull/42873
u2-python-3.15-doctest-compat.patch Doctest compatibility fixes for Python 3.15 - Allow updated PySlice_GetIndicesEx error message in word_char.pyx
- Allow updated descriptor weakref error messages in getattr.pyx
- Generalize string formatting TypeError in sage_timeit.py
- Allow debugpy frozen modules debugger warning in kernel.py
- Allow IPython interactive banner in doctest test.py

===================================================================
Maximiliano Curia <maxy@debian.org> no
d0-default-mip-solver-glpk.patch Prefer GLPK over HiGHS as default MILP solver HiGHS 1.14.0 in Debian aborts (calls C abort()) on certain graph and
combinatorial MILP models (e.g. traveling_salesman_problem, feedback_edge_set,
minimal_subdistributions_blocks_iterator).
Ordering Glpk before Highs in the solver search list retains GLPK as the
reliable default solver while keeping Highs fully available when explicitly
requested via solver="Highs".

===================================================================
Maximiliano Curia <maxy@debian.org> no
d0-cygdb3.patch Find cygdb binary cygdb is called cygdb3 in Debian.

===================================================================
Tobias Hansen <thansen@debian.org> no
d0-meson-debian-fixes.patch Fix meson build on Debian - Support finding maxima-sage in addition to maxima
- Fallback sage_maxima to /usr/lib/ecl/maxima.fas when SAGE_LOCAL is unset
- Accept system ecl >= 24.5.10
- Disable highs backend via disabler when highs is not packaged
- Use project version for PACKAGE_VERSION in config.py
- Allow building on Python >= 3.12 (e.g. Python 3.15)

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
d0-maxima-hypergeometric-compat.patch Fix Maxima 5.50 hypergeometric search path for abs_integrate In Maxima 5.50.0, share/hypergeometric/ ships hypergeometric_mac.mac instead
of hypergeometric.mac, causing load(abs_integrate) to fail with
"file_search1: hypergeometric not found".
Symlink hypergeometric.mac into maxima_userdir if hypergeometric_mac exists.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
d0-maxima-5.50-doctest-compat.patch Doctest compatibility fixes for Maxima 5.50 and CAS differences - Maxima 5.50 computes previously unevaluated limit to 0
- Maxima 5.50 evaluates latex limits and Fresnel/erf integrals
- Maxima 5.50 solve handles absolute value equations directly
- Maxima 5.50 improper integral and symmetric binomial representations
- Allow signed zero in real_mpfi.pyx and simplified arctan2 in continuous_map.py
- Maxima 5.50 returns und on unconditioned divergent geometric sums
- Maxima 5.50 directly integrates log(x^2+y^2) without interactive prompt

===================================================================
Maximiliano Curia <maxy@debian.org> no
d0-pari-cxx-signal.patch Include signal.h and setjmp.h before eclib headers In Debian's PARI C++ headers, <signal.h> and <setjmp.h> are included
within namespace PARI, hiding global signal definitions from cysignals.
Including them beforehand in global namespace ensures cysignals works properly.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
d1-doc-docs.patch Update doc and copyright paths for Debian package
===================================================================
Tobias Hansen <thansen@debian.org> no
d1-doc-privacy-breach.patch Remove remote image badges in developer documentation to avoid privacy breaches Remove external badges loaded from ghcr-badge.egpl.dev and github.com/codespaces
in portability_platform_table.rst and portability_testing.rst to adhere to Debian
privacy policy (no remote content loaded by offline documentation).

===================================================================
Maximiliano Curia <maxy@debian.org> no
dt-ignore-deprecation-warnings.patch ignore some deprecation warnings
===================================================================
Rogo <rogo95@proton.me> no
u2-hyperellcharpoly-pari-fallback.patch Fallback to cardinalities in frobenius_polynomial_pari on PariError In PARI 2.19.0, RgXX_to_Kronecker_var introduced a bug (#2703) when handling
certain hyperelliptic curves over extension fields (fixed upstream in
commit 603d02feac84d67c92688cbd60e366ee19776492).
When pari([f, h]).hyperellcharpoly() encounters this bug, cypari2 raises
PariError: bug in RgXX_to_Kronecker, P is not reduced mod Q, please report,
which subsequently leads to a segmentation fault in doctesting.
Catch PariError and fallback to frobenius_polynomial_cardinalities() to
cleanly compute the polynomial without crashing.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-pari-tests-128bit-precision.patch Update pari/tests.py doctests for cypari2 128-bit default precision In cypari2 2.2.6, default real precision was increased from 53/64 bits to
128 bits, matching GP defaults. Update doctest expectations in
src/sage/libs/pari/tests.py accordingly.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-pari-conversions-128bit-precision.patch Update PARI conversion doctests for cypari2 128-bit default precision In cypari2 2.2.6, default real precision was increased from 53/64 bits to
128 bits, matching GP defaults. Update doctest expectations in
src/sage/libs/pari/__init__.py, convert_sage*.pyx, doc interface_issues,
doc coding_basics, and src/sage/matrix/matrix2.pyx accordingly.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-lfunctions-pari-precision.patch Update L-function cost and precision doctests for cypari2 128-bit default precision In cypari2 2.2.6, default real precision was increased from 53/64 bits to
128 bits, matching GP defaults. Update doctest expectations in
src/sage/lfunctions/dokchitser.py and src/sage/lfunctions/pari.py accordingly.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-rings-pari-precision.patch Update ring and transcendental doctests for cypari2 128-bit default precision In cypari2 2.2.6, default real precision was increased from 53/64 bits to
128 bits, matching GP defaults. Update doctest expectations in
real_double.pyx, real_mpfr.pyx, complex_double.pyx, complex_mpc.pyx,
complex_mpfr.pyx, multiple_zeta.py, constants.py, error.py, and gamma.py.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-elliptic-curves-pari-precision.patch Update elliptic curve doctests for cypari2 128-bit default precision In cypari2 2.2.6, default real precision was increased from 53/64 bits to
128 bits, matching GP defaults. Update doctest expectations across
ell_generic.py, ell_rational_field.py, ell_point.py, ell_number_field.py,
height.py, heegner.py, sha_tate.py, and period_lattice.py.

===================================================================
Maximiliano Curia <maxy@debian.org> not-needed
u2-rings-tests-karatsuba-timeout.patch Refine interval precision when comparing coefficients in check_karatsuba_multiplication Direct polynomial subtraction (ref_mul - _mul_karatsuba) creates a difference
polynomial whose normalization checks if leading coefficients are zero. Over QQbar,
composite expressions from Karatsuba arithmetic can fall back to expensive composite
number field factorizations (PARI nffactor LLL reduction) when default 128-bit
interval precision is insufficient to isolate roots.
Comparing coefficients directly and refining interval precision up to 512 bits allows
cmp_elements_with_same_minpoly to isolate roots uniquely and verify exact equality
in milliseconds without constructing large composite number fields.

===================================================================
Maximiliano Curia <maxy@debian.org> invalid

All known versions for source package 'sagemath'

Links