diff --git a/sci-mathematics/database_cubic_hecke/Manifest b/sci-mathematics/database_cubic_hecke/Manifest
new file mode 100644
index 000000000..fb24891dc
--- /dev/null
+++ b/sci-mathematics/database_cubic_hecke/Manifest
@@ -0,0 +1 @@
+DIST database_cubic_hecke-2022.4.4.tar.gz 436248 BLAKE2B 5bdfa62bfecf89313cd42cf0850d9de837cdaf31e6ea373e12682a5215f10985ba2cc659465cb64a810ca2f55b62b935a9aa583758843a49c79c313c39f23f1b SHA512 7e6a02a1adbb5d6fa06e702da103e8643ee87aa8aa31e1181fc4098e39ad84e60f47a2604d701f2582b46843ebf2dafdfbf3d4f1f16ec014a8cd7157f7027e25
diff --git a/sci-mathematics/database_cubic_hecke/database_cubic_hecke-2022.4.4.ebuild b/sci-mathematics/database_cubic_hecke/database_cubic_hecke-2022.4.4.ebuild
new file mode 100644
index 000000000..a65beb869
--- /dev/null
+++ b/sci-mathematics/database_cubic_hecke/database_cubic_hecke-2022.4.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="data for the representations of the Cubic Hecke Algebra"
+KEYWORDS="~amd64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+HOMEPAGE="https://pypi.org/project/database_cubic_hecke/"
+IUSE="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="test? ( >=sci-mathematics/sagemath-standard-10.3 )"
+
+RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/database_cubic_hecke/metadata.xml b/sci-mathematics/database_cubic_hecke/metadata.xml
new file mode 100644
index 000000000..aa3dfc200
--- /dev/null
+++ b/sci-mathematics/database_cubic_hecke/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ frp.bissey@gmail.com
+ Francois Bissey
+
+
+ database_cubic_hecke
+
+
diff --git a/sci-mathematics/database_knotinfo/Manifest b/sci-mathematics/database_knotinfo/Manifest
index 6d5913f1d..583a9d9b8 100644
--- a/sci-mathematics/database_knotinfo/Manifest
+++ b/sci-mathematics/database_knotinfo/Manifest
@@ -1 +1,2 @@
DIST database_knotinfo-2024.2.1.tar.gz 14057457 BLAKE2B b9bdf6b3280177491fb2291aa22f9a1885d87af8b913d59b206d210d96c1f477bf5e0d307c09a6aa3e47d92409e0de2838cbfe8e120589f75073302e0abbd06a SHA512 9258527bcd66298e83b597cecbf616cc0548829e3d3da9c1d2d54d6f57fa7296f92a1e7e85cc3a4f8da763c14c25238e212b8bcad50a91d91c1a8a7acfdede97
+DIST database_knotinfo-2024.5.1.tar.gz 14763125 BLAKE2B 91141bb46802e45dcca44c437eb5989990ee90d381d70e5c8298af478ae7108bdfe1ed848e343791025a0b7c253e92e4b54b07da61078b79c7b923761c0f4d7e SHA512 1ee363d7bd7df04b7d89e76146d3046c3f4a78a1241348d0d07c14b0b765221d4707d87a20d595cc93ae514841afb45cecfb1c096852bce65b0126890e054594
diff --git a/sci-mathematics/database_knotinfo/database_knotinfo-2024.5.1.ebuild b/sci-mathematics/database_knotinfo/database_knotinfo-2024.5.1.ebuild
new file mode 100644
index 000000000..b3665c43e
--- /dev/null
+++ b/sci-mathematics/database_knotinfo/database_knotinfo-2024.5.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Content of the KnotInfo & LinkInfo databases as lists of dictionaries"
+KEYWORDS="~amd64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+HOMEPAGE="https://pypi.org/project/database-knotinfo/"
+IUSE="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="test? ( >=sci-mathematics/sagemath-standard-10.3 )"
+
+RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/matroid-database/Manifest b/sci-mathematics/matroid-database/Manifest
new file mode 100644
index 000000000..5eaf87c21
--- /dev/null
+++ b/sci-mathematics/matroid-database/Manifest
@@ -0,0 +1 @@
+DIST matroid-database-0.3.tar.gz 759792 BLAKE2B 05edb00b2d2ef6aaf71a33030a86104697e5613e5a74f503ed7ea53f317e3393d6f44d8a40d689aa4c66d6b445bff2d1fefd1da624fe2ef3bc5c271dfe4d3197 SHA512 2c2c222749459932bfa6be5880714b47a58d41119e0c1ebd7f2feaf191f5c5c5277da11bd95c94da3359c1ecc318d0c814675ad41a01f126611a837def7d929a
diff --git a/sci-mathematics/matroid-database/matroid-database-0.3.ebuild b/sci-mathematics/matroid-database/matroid-database-0.3.ebuild
new file mode 100644
index 000000000..00a9cb011
--- /dev/null
+++ b/sci-mathematics/matroid-database/matroid-database-0.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=NO
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yoshitake Matsumoto, Database of Matroids"
+KEYWORDS="~amd64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+HOMEPAGE="https://pypi.org/project/matroid-database/"
+IUSE="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="test? ( >=sci-mathematics/sagemath-standard-10.3 )"
+
+RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/matroid-database/metadata.xml b/sci-mathematics/matroid-database/metadata.xml
new file mode 100644
index 000000000..3116b1f3c
--- /dev/null
+++ b/sci-mathematics/matroid-database/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ frp.bissey@gmail.com
+ Francois Bissey
+
+
+ matroid_database
+
+
diff --git a/sci-mathematics/sagemath-standard/files/sage-sdist.patch b/sci-mathematics/sagemath-standard/files/sage-sdist.patch
deleted file mode 100644
index a76c3ab96..000000000
--- a/sci-mathematics/sagemath-standard/files/sage-sdist.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/MANIFEST.in b/src/MANIFEST.in
-index 89d9d8e368..e01f5cadcf 100644
---- a/src/MANIFEST.in
-+++ b/src/MANIFEST.in
-@@ -14,6 +15,13 @@ prune doc
- global-exclude *.c
- global-exclude *.cpp
-
-+#
-+# .m4 files used at bootstrap time should not be included in the sdist
-+#
-+global-exclude *.m4
-+
-+
-+
- #
- # List of C and C++ files that are actual source files,
- # NOT generated by Cython. The same list appears in SAGE_ROOT/.gitignore
-@@ -66,6 +74,7 @@ global-exclude *.py[co]
- global-exclude *.bak
- global-exclude *.so
- global-exclude *~
-+exclude .gitignore
- prune .tox
- prune build
- prune dist
diff --git a/sci-mathematics/sagemath-standard/files/sagemath-standard-10.4b-neutering.patch b/sci-mathematics/sagemath-standard/files/sagemath-standard-10.4b-neutering.patch
new file mode 100644
index 000000000..ff20f3dd0
--- /dev/null
+++ b/sci-mathematics/sagemath-standard/files/sagemath-standard-10.4b-neutering.patch
@@ -0,0 +1,118 @@
+diff --git a/sage/doctest/control.py b/sage/doctest/control.py
+index 130aa3e..95123b1 100644
+--- a/sage/doctest/control.py
++++ b/sage/doctest/control.py
+@@ -471,15 +471,6 @@ class DocTestController(SageObject):
+ # that the package is actually installed).
+ if 'optional' in options.optional:
+ options.optional.discard('optional')
+- from sage.misc.package import list_packages
+- for pkg in list_packages('optional', local=True).values():
+- if pkg.name in options.hide:
+- continue
+- # Skip features for which we have a more specific runtime feature test.
+- if pkg.name in ['bliss', 'coxeter3', 'mcqd', 'meataxe', 'sirocco', 'tdlib']:
+- continue
+- if pkg.is_installed() and pkg.installed_version == pkg.remote_version:
+- options.optional.add(pkg.name)
+
+ from sage.features import package_systems
+ options.optional.update(system.name
+diff --git a/sage/misc/all.py b/sage/misc/all.py
+index 585db5a..4045c31 100644
+--- a/sage/misc/all.py
++++ b/sage/misc/all.py
+@@ -132,8 +132,5 @@ lazy_import('sage.misc.dev_tools', 'runsnake', deprecation=34259)
+ lazy_import('sage.misc.edit_module', 'set_edit_template', deprecation=34259)
+ lazy_import('sage.misc.profiler', 'Profiler', deprecation=34259)
+ lazy_import('sage.misc.trace', 'trace', deprecation=34259)
+-lazy_import('sage.misc.package', ('installed_packages', 'is_package_installed',
+- 'package_versions'),
+- deprecation=34259)
+ lazy_import('sage.misc.benchmark', 'benchmark', deprecation=34259)
+ lazy_import('sage.repl.interpreter', 'logstr', deprecation=34259)
+diff --git a/sage/tests/cmdline.py b/sage/tests/cmdline.py
+index 523cbef..8d1d7fe 100644
+--- a/sage/tests/cmdline.py
++++ b/sage/tests/cmdline.py
+@@ -13,9 +13,7 @@ test.spyx
+ --advanced
+ -c
+ --cython
+---dev
+ --ecl
+---experimental
+ --fixdoctests
+ --gap
+ --gdb
+@@ -28,7 +26,6 @@ test.spyx
+ --maxima
+ --min
+ --mwrank
+---optional
+ --preparse
+ --python
+ --python3
+@@ -40,7 +37,6 @@ test.spyx
+ --sh
+ --singular
+ --sqlite3
+---standard
+ --startuptime
+ -t
+ -v
+@@ -579,35 +575,6 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
+ sage: ret
+ 0
+
+- Check some things requiring an internet connection::
+-
+- sage: # optional - internet
+- sage: (out, err, ret) = test_executable(["sage", "--standard"])
+- sage: out.find("cython") >= 0
+- True
+- sage: err
+- ''
+- sage: ret
+- 0
+-
+- sage: # optional - internet
+- sage: (out, err, ret) = test_executable(["sage", "--optional"])
+- sage: out.find("database_cremona_ellcurve") >= 0
+- True
+- sage: err
+- ''
+- sage: ret
+- 0
+-
+- sage: # optional - internet
+- sage: (out, err, ret) = test_executable(["sage", "--experimental"])
+- sage: out.find("valgrind") >= 0
+- True
+- sage: err
+- ''
+- sage: ret
+- 0
+-
+ Check an illegal command line option. This outputs an error to stdout,
+ but we allow stderr in case this changes in the future::
+
+diff --git a/setup.cfg b/setup.cfg
+index 34a8930..5104698 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -70,14 +70,9 @@ scripts =
+ bin/sage-massif
+ bin/sage-omega
+ bin/sage-valgrind
+- bin/sage-venv-config
+ bin/sage-version.sh
+ bin/sage-cleaner
+- bin/sage-list-packages
+ bin/math-readline
+- bin/sage-env
+- bin/sage-grep
+- bin/sage-grepdoc
+ bin/sage-inline-fortran
+ bin/sage-ipynb2rst
+ bin/sage-ipython
diff --git a/sci-mathematics/sagemath-standard/files/singular-4.4_compat.patch b/sci-mathematics/sagemath-standard/files/singular-4.4_compat.patch
deleted file mode 100644
index 1a57224ef..000000000
--- a/sci-mathematics/sagemath-standard/files/singular-4.4_compat.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-diff --git a/sage/interfaces/singular.py b/sage/interfaces/singular.py
-index dedbeba..59cd9a8 100644
---- a/sage/interfaces/singular.py
-+++ b/sage/interfaces/singular.py
-@@ -1211,14 +1211,14 @@ class Singular(ExtraTabCompletion, Expect):
- polynomial ring, over a field, global ordering
- // coefficients: ZZ/127
- // number of vars : 3
-- // block 1 : ordering rp
-+ // block 1 : ordering ip
- // : names x y z
- // block 2 : ordering C
- sage: singular.current_ring()
- polynomial ring, over a field, global ordering
- // coefficients: ZZ/127
- // number of vars : 3
-- // block 1 : ordering rp
-+ // block 1 : ordering ip
- // : names x y z
- // block 2 : ordering C
- """
-@@ -1402,6 +1402,14 @@ class SingularElement(ExtraTabCompletion, ExpectElement, sage.interfaces.abc.Sin
- if self._name in s:
- if self.get_custom_name() is None and self.type() == 'matrix':
- s = self.parent().eval('pmat(%s,20)' % (self.name()))
-+ # compatibility for singular 4.3.2p10 and before
-+ if s.startswith("polynomial ring,"):
-+ from sage.rings.polynomial.term_order import singular_name_mapping
-+ from sage.repl.rich_output import get_display_manager
-+ # this is our cue that singular uses `rp` instead of `ip`
-+ if singular_name_mapping['invlex'] == 'rp' and 'doctest' in str(get_display_manager()):
-+ s = re.sub('^(// .*block.* : ordering )rp$', '\\1ip',
-+ s, 0, re.MULTILINE);
- return s
-
- def __copy__(self):
-@@ -2025,6 +2033,10 @@ class SingularElement(ExtraTabCompletion, ExpectElement, sage.interfaces.abc.Sin
- sage: type(singular(int(5)).sage())
-
-
-+ Test that bigintvec can be coerced::
-+
-+ sage: singular('hilb((ideal(x)), 1)').sage()
-+ (1, -1, 0, 0, -1, 1, 0)
- """
- typ = self.type()
- if typ == 'poly':
-@@ -2040,6 +2052,9 @@ class SingularElement(ExtraTabCompletion, ExpectElement, sage.interfaces.abc.Sin
- elif typ == 'intvec':
- from sage.modules.free_module_element import vector
- return vector([sage.rings.integer.Integer(str(e)) for e in self])
-+ elif typ == 'bigintvec':
-+ from sage.modules.free_module_element import vector
-+ return vector([sage.rings.rational.Rational(str(e)) for e in self])
- elif typ == 'intmat':
- from sage.matrix.constructor import matrix
- from sage.rings.integer_ring import ZZ
-diff --git a/sage/libs/singular/decl.pxd b/sage/libs/singular/decl.pxd
-index e36216d..3affdb3 100644
---- a/sage/libs/singular/decl.pxd
-+++ b/sage/libs/singular/decl.pxd
-@@ -48,6 +48,13 @@ cdef extern from "factory/factory.h":
- cdef int SW_USE_NTL_SORT
-
- cdef extern from "singular/Singular/libsingular.h":
-+ """
-+ // compatibility for singular 4.3.2p10 and before
-+ #if SINGULAR_VERSION <= 4330
-+ #define ringorder_ip ringorder_rp
-+ #define BIGINTVEC_CMD INTVEC_CMD
-+ #endif
-+ """
-
- #
- # OPTIONS
-@@ -243,7 +250,7 @@ cdef extern from "singular/Singular/libsingular.h":
- ringorder_s
- ringorder_lp
- ringorder_dp
-- ringorder_rp
-+ ringorder_ip
- ringorder_Dp
- ringorder_wp
- ringorder_Wp
-@@ -291,6 +298,10 @@ cdef extern from "singular/Singular/libsingular.h":
- int row
- int col
-
-+ cdef cppclass bigintmat:
-+ int (*length)()
-+ number* (*get)(int i)
-+
- # omalloc bins
-
- ctypedef struct omBin "omBin_s"
-@@ -921,6 +932,7 @@ cdef extern from "singular/Singular/libsingular.h":
- cdef int MATRIX_CMD
- cdef int LIST_CMD
- cdef int INTVEC_CMD
-+ cdef int BIGINTVEC_CMD
- cdef int NONE
- cdef int RESOLUTION_CMD
- cdef int PACKAGE_CMD
-diff --git a/sage/libs/singular/function.pyx b/sage/libs/singular/function.pyx
-index 4a5ab6d..5c333e8 100644
---- a/sage/libs/singular/function.pyx
-+++ b/sage/libs/singular/function.pyx
-@@ -98,7 +98,7 @@ from sage.rings.polynomial.multi_polynomial_sequence import PolynomialSequence_g
- from sage.libs.singular.decl cimport *
- from sage.libs.singular.option import opt_ctx
- from sage.libs.singular.polynomial cimport singular_vector_maximal_component
--from sage.libs.singular.singular cimport sa2si, si2sa, si2sa_intvec
-+from sage.libs.singular.singular cimport sa2si, si2sa, si2sa_intvec, si2sa_bigintvec
- from sage.libs.singular.singular import error_messages
-
- from sage.interfaces.singular import get_docstring
-@@ -954,6 +954,8 @@ cdef class Converter(SageObject):
- return si2sa(to_convert.data, self._singular_ring, self._sage_ring.base_ring())
- elif rtyp == INTVEC_CMD:
- return si2sa_intvec( to_convert.data)
-+ elif rtyp == BIGINTVEC_CMD:
-+ return si2sa_bigintvec( to_convert.data)
- elif rtyp == STRING_CMD:
- # TODO: Need to determine what kind of data can be returned by a
- # STRING_CMD--is it just ASCII strings or can it be an arbitrary
-@@ -1048,6 +1050,17 @@ cdef class LibraryCallHandler(BaseCallHandler):
- """
- return False
-
-+# mapping int --> string for function arity
-+arity_dict = {
-+ CMD_1: "CMD_1",
-+ CMD_2: "CMD_2",
-+ CMD_3: "CMD_3",
-+ CMD_12: "CMD_12",
-+ CMD_13: "CMD_13",
-+ CMD_23: "CMD_23",
-+ CMD_123: "CMD_123",
-+ CMD_M: "CMD_M"
-+}
-
- cdef class KernelCallHandler(BaseCallHandler):
- """
-@@ -1125,8 +1138,9 @@ cdef class KernelCallHandler(BaseCallHandler):
-
- errorreported += 1
- error_messages.append(
-- "Wrong number of arguments (got {} arguments, arity code is {})"
-- .format(number_of_arguments, self.arity))
-+ "Wrong number of arguments (got {} arguments, arity is {})"
-+ .format(number_of_arguments,
-+ arity_dict.get(self.arity) or self.arity))
- return NULL
-
- cdef bint free_res(self) noexcept:
-@@ -1231,7 +1245,7 @@ cdef class SingularFunction(SageObject):
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'size':
-- Wrong number of arguments (got 2 arguments, arity code is 302)
-+ Wrong number of arguments (got 2 arguments, arity is CMD_1)
- sage: size('foobar', ring=P)
- 6
-
-@@ -1634,17 +1648,17 @@ def singular_function(name):
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 0 arguments, arity code is 305)
-+ Wrong number of arguments (got 0 arguments, arity is CMD_12)
- sage: factorize(f, 1, 2)
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 3 arguments, arity code is 305)
-+ Wrong number of arguments (got 3 arguments, arity is CMD_12)
- sage: factorize(f, 1, 2, 3)
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 4 arguments, arity code is 305)
-+ Wrong number of arguments (got 4 arguments, arity is CMD_12)
-
- The Singular function ``list`` can be called with any number of
- arguments::
-diff --git a/sage/libs/singular/ring.pyx b/sage/libs/singular/ring.pyx
-index 0efff45..b329520 100644
---- a/sage/libs/singular/ring.pyx
-+++ b/sage/libs/singular/ring.pyx
-@@ -16,7 +16,7 @@ AUTHORS:
- # https://www.gnu.org/licenses/
- # ****************************************************************************
-
--from sage.cpython.string cimport str_to_bytes
-+from sage.cpython.string cimport str_to_bytes, bytes_to_str
-
- from sage.libs.gmp.types cimport __mpz_struct
- from sage.libs.gmp.mpz cimport mpz_init_set_ui
-@@ -24,7 +24,7 @@ from sage.libs.gmp.mpz cimport mpz_init_set_ui
- from sage.libs.singular.decl cimport ring, currRing
- from sage.libs.singular.decl cimport rChangeCurrRing, rComplete, rDelete, idInit
- from sage.libs.singular.decl cimport omAlloc0, omStrDup, omAlloc
--from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_rp, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_c, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a, rRingOrder_t
-+from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_ip, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_c, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a, rRingOrder_t
- from sage.libs.singular.decl cimport prCopyR
- from sage.libs.singular.decl cimport n_unknown, n_algExt, n_transExt, n_Z, n_Zn, n_Znm, n_Z2m
- from sage.libs.singular.decl cimport n_coeffType
-@@ -60,7 +60,7 @@ order_dict = {
- "dp": ringorder_dp,
- "Dp": ringorder_Dp,
- "lp": ringorder_lp,
-- "rp": ringorder_rp,
-+ "ip": ringorder_ip,
- "ds": ringorder_ds,
- "Ds": ringorder_Ds,
- "ls": ringorder_ls,
-@@ -71,6 +71,16 @@ order_dict = {
- "a": ringorder_a,
- }
-
-+cdef extern from "singular/Singular/libsingular.h":
-+ cdef char * rSimpleOrdStr(rRingOrder_t)
-+
-+if bytes_to_str(rSimpleOrdStr(ringorder_ip)) == "rp":
-+ # compatibility for singular 4.3.2p10 and before
-+ order_dict["rp"] = ringorder_ip
-+ # also patch term_order mappings
-+ from sage.rings.polynomial import term_order
-+ term_order.singular_name_mapping['invlex'] = 'rp'
-+ term_order.inv_singular_name_mapping['rp'] = 'invlex'
-
- #############################################################################
- cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
-diff --git a/sage/libs/singular/singular.pxd b/sage/libs/singular/singular.pxd
-index 05f32b6..ca31d02 100644
---- a/sage/libs/singular/singular.pxd
-+++ b/sage/libs/singular/singular.pxd
-@@ -1,4 +1,4 @@
--from sage.libs.singular.decl cimport ring, poly, number, intvec
-+from sage.libs.singular.decl cimport ring, poly, number, intvec, bigintmat
- from sage.libs.singular.function cimport Resolution
-
- from sage.rings.rational cimport Rational
-@@ -29,6 +29,7 @@ cdef object si2sa_ZZmod(number *n, ring *_ring, object base)
- cdef object si2sa_NF(number *n, ring *_ring, object base)
-
- cdef object si2sa_intvec(intvec *v)
-+cdef object si2sa_bigintvec(bigintmat *v)
-
- # dispatches to all the above.
- cdef object si2sa(number *n, ring *_ring, object base)
-diff --git a/sage/libs/singular/singular.pyx b/sage/libs/singular/singular.pyx
-index e256949..014effa 100644
---- a/sage/libs/singular/singular.pyx
-+++ b/sage/libs/singular/singular.pyx
-@@ -1699,6 +1699,25 @@ cdef object si2sa_intvec(intvec *v):
- l.append(v.get(r))
- return tuple(l)
-
-+cdef object si2sa_bigintvec(bigintmat *v):
-+ r"""
-+ create a sage tuple from a singular vector of big integers
-+
-+ INPUT:
-+
-+ - ``v`` -- a (pointer to) singular bigintmat
-+
-+ OUTPUT:
-+
-+ a sage tuple
-+ """
-+ cdef int r
-+ cdef list l = list()
-+ for r in range(v.length()):
-+ n = v.get(r)
-+ l.append(si2sa_QQ(n, &n, currRing))
-+ return tuple(l)
-+
- # ==============
- # Initialisation
- # ==============
-diff --git a/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-index 40fbc8c..d1f17f7 100644
---- a/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-+++ b/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-@@ -1285,7 +1285,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
- polynomial ring, over a field, global ordering
- // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
- // number of vars : 10
-- // block 1 : ordering rp
-+ // block 1 : ordering ip
- // : names x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
- // block 2 : ordering C
-
-@@ -1294,7 +1294,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
- polynomial ring, over a field, global ordering
- // coefficients: ZZ/127
- // number of vars : 2
-- // block 1 : ordering rp
-+ // block 1 : ordering ip
- // : names x0 x1
- // block 2 : ordering C
-
-@@ -1303,7 +1303,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
- polynomial ring, over a field, global ordering
- // coefficients: QQ
- // number of vars : 2
-- // block 1 : ordering rp
-+ // block 1 : ordering ip
- // : names x0 x1
- // block 2 : ordering C
-
-diff --git a/sage/rings/polynomial/term_order.py b/sage/rings/polynomial/term_order.py
-index 4a3e78f..ce2faa2 100644
---- a/sage/rings/polynomial/term_order.py
-+++ b/sage/rings/polynomial/term_order.py
-@@ -388,7 +388,7 @@ print_name_mapping = {
-
- singular_name_mapping = {
- 'lex' : 'lp',
-- 'invlex' : 'rp',
-+ 'invlex' : 'ip',
- 'degrevlex' : 'dp',
- 'deglex' : 'Dp',
- 'neglex' : 'ls',
diff --git a/sci-mathematics/sagemath-standard/sagemath-standard-9999.ebuild b/sci-mathematics/sagemath-standard/sagemath-standard-9999.ebuild
index f5131dcaa..23e88d10d 100644
--- a/sci-mathematics/sagemath-standard/sagemath-standard-9999.ebuild
+++ b/sci-mathematics/sagemath-standard/sagemath-standard-9999.ebuild
@@ -143,7 +143,7 @@ REQUIRED_USE="doc? ( jmol )
PATCHES=(
"${FILESDIR}"/${PN}-9.2-env.patch
"${FILESDIR}"/sage_exec-9.3.patch
- "${FILESDIR}"/${PN}-10.4-neutering.patch
+ "${FILESDIR}"/${PN}-10.4b-neutering.patch
)
pkg_setup() {
@@ -153,7 +153,7 @@ pkg_setup() {
python_prepare_all() {
distutils-r1_python_prepare_all
-
+
# use installed copy, not the vendored one.
rm -rf sage_setup
diff --git a/tools/package.keywords/sage-9999 b/tools/package.keywords/sage-9999
index 5ca5e4139..4be8abaa1 100644
--- a/tools/package.keywords/sage-9999
+++ b/tools/package.keywords/sage-9999
@@ -50,7 +50,9 @@ sci-mathematics/shared_meataxe
sci-libs/libsirocco
~sci-mathematics/sagemath-sirocco-9999 **
# optional packages
-~sci-mathematics/database_knotinfo-2024.2.1
+sci-mathematics/database_knotinfo
+sci-mathematics/matroid-database
+sci-mathematics/database_cubic_hecke
sci-mathematics/surface-dynamics
sci-mathematics/sage-flatsurf
# "downstream" snappy packages