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 |
