* [PR PATCH] sagemath: update dependencies
@ 2025-02-03 13:24 tornaria
2025-02-03 17:31 ` tornaria
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: tornaria @ 2025-02-03 13:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1578 bytes --]
There is a new pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages sagemath
https://github.com/void-linux/void-packages/pull/54198
sagemath: update dependencies
Rebuild sagemath for changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
- **flintlib: update to 3.1.3+p1.**
- **python3-cysignals: update to 1.12.3.**
- **symmetrica: update to 3.1.0.**
- **lcalc: update to 2.1.0.**
- **m4ri: update to 20250128.**
- **m4rie: update to 20250128.**
- **brial: rebuild for m4ri-20250128.**
- **eclib: update to 20250122.**
- **singular: update to 4.4.1.**
- **sagemath: rebuild for updates**
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/54198.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sagemath-54198.patch --]
[-- Type: text/x-diff, Size: 61138 bytes --]
From f984704e319fdaeec7c872c2f936844091dd5fb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 10:02:24 -0300
Subject: [PATCH 01/10] flintlib: update to 3.1.3+p1.
---
srcpkgs/flintlib/template | 12 ++++++------
srcpkgs/flintlib/update | 8 +++++---
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
index 465cdf1d0d3f71..7bccdd746a28b6 100644
--- a/srcpkgs/flintlib/template
+++ b/srcpkgs/flintlib/template
@@ -1,7 +1,7 @@
# Template file for 'flintlib'
pkgname=flintlib
-version=3.1.2
-revision=2
+version=3.1.3+p1
+revision=1
build_style=gnu-configure
configure_args="--prefix=/usr --disable-arch $(vopt_with ntl)
$(vopt_if openblas --with-blas-include=${XBPS_CROSS_BASE}/usr/include/openblas)"
@@ -9,11 +9,11 @@ makedepends="mpfr-devel $(vopt_if ntl ntl-devel)
$(vopt_if openblas openblas-devel)"
short_desc="Fast Library for Number Theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
-license="LGPL-2.1-or-later"
+license="LGPL-3.0-or-later"
homepage="https://flintlib.org"
-changelog="https://raw.githubusercontent.com/wbhart/flint2/trunk/NEWS"
-distfiles="https://flintlib.org/flint-${version}.tar.gz"
-checksum=fdb3a431a37464834acff3bdc145f4fe8d0f951dd5327c4c6f93f4cbac5c2700
+changelog="https://raw.githubusercontent.com/flintlib/flint/refs/heads/main/doc/source/history.rst"
+distfiles="https://github.com/flintlib/flint/releases/download/v${version/+/-}/flint-${version/+/-}.tar.xz"
+checksum=8d75df8f2347534bd3245ef6f43cb91e43abd152572c6fe0bfffda55ec014920
build_options="ntl openblas"
desc_option_ntl="enable NTL support"
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
index 21d6ab4bae5b5c..4cdaabc14b20ea 100644
--- a/srcpkgs/flintlib/update
+++ b/srcpkgs/flintlib/update
@@ -1,3 +1,5 @@
-# package was named 'flintlib' because of another package
-pkgname=flint
-site="https://flintlib.org/downloads.html"
+pattern="/archive/refs/tags/v?\K[\d.]+(-(p|rc)[0-9]+)?(?=\.tar\.gz)"
+version=${version/+/.}
+if [[ "$version" != *rc* ]]; then
+ ignore=*rc*
+fi
From a4303d92f010f3dc23300cb7ded0bdeb7e8c42ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 08:42:56 -0300
Subject: [PATCH 02/10] python3-cysignals: update to 1.12.3.
---
.../patches/216-fix_custom_signal.patch | 54 -------------------
.../patches/222-fix_data_race.patch | 51 ------------------
srcpkgs/python3-cysignals/template | 4 +-
3 files changed, 2 insertions(+), 107 deletions(-)
delete mode 100644 srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
delete mode 100644 srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
diff --git a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch b/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
deleted file mode 100644
index ced6b8732c579c..00000000000000
--- a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/pyproject.toml b/pyproject.toml
-index d30ad23..edcb5c8 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -34,4 +34,4 @@ requires-python = ">=3.9"
-
- [tool.pytest.ini_options]
- addopts = "--doctest-modules --import-mode importlib"
--norecursedirs = "builddir docs example"
-+testpaths = "src tests"
-diff --git a/src/cysignals/implementation.c b/src/cysignals/implementation.c
-index 20a83d0..18b8144 100644
---- a/src/cysignals/implementation.c
-+++ b/src/cysignals/implementation.c
-@@ -591,7 +591,7 @@ static void _sig_on_interrupt_received(void)
- do_raise_exception(cysigs.interrupt_received);
- cysigs.sig_on_count = 0;
- cysigs.interrupt_received = 0;
-- custom_signal_unblock();
-+ custom_set_pending_signal(0);
-
- #if HAVE_SIGPROCMASK
- sigprocmask(SIG_SETMASK, &oldset, NULL);
-diff --git a/tests/test_custom_signals.py b/tests/test_custom_signals.py
-new file mode 100644
-index 0000000..0afc36f
---- /dev/null
-+++ b/tests/test_custom_signals.py
-@@ -0,0 +1,23 @@
-+"""
-+Tests for custom signals.
-+"""
-+
-+import time
-+import pytest
-+
-+def test_clear_pending():
-+ """
-+ Regression test for https://github.com/sagemath/cysignals/pull/216
-+ """
-+
-+ alarm = pytest.importorskip("cysignals.alarm") # n/a on windows
-+ cypari2 = pytest.importorskip("cypari2")
-+
-+ with pytest.raises(alarm.AlarmInterrupt):
-+ alarm.alarm(0.01)
-+ time.sleep(1)
-+
-+ try:
-+ cypari2.Pari()
-+ except alarm.AlarmInterrupt:
-+ pytest.fail("AlarmInterrupt was not cleared")
diff --git a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch b/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
deleted file mode 100644
index c9fdf3885f5c22..00000000000000
--- a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/src/cysignals/signals.pyx b/src/cysignals/signals.pyx
-index 72f206e..96a99ad 100644
---- a/src/cysignals/signals.pyx
-+++ b/src/cysignals/signals.pyx
-@@ -25,7 +25,7 @@ See ``tests.pyx`` for extensive tests.
-
- from libc.signal cimport *
- from libc.stdio cimport freopen, stdin
--from cpython.ref cimport Py_XINCREF, Py_XDECREF
-+from cpython.ref cimport Py_XINCREF, Py_CLEAR
- from cpython.exc cimport (PyErr_Occurred, PyErr_NormalizeException,
- PyErr_Fetch, PyErr_Restore)
- from cpython.version cimport PY_MAJOR_VERSION
-@@ -204,7 +204,7 @@ cdef int sig_raise_exception "sig_raise_exception"(int sig, const char* msg) exc
- PyErr_Fetch(&typ, &val, &tb)
- PyErr_NormalizeException(&typ, &val, &tb)
- Py_XINCREF(val)
-- Py_XDECREF(cysigs.exc_value)
-+ Py_CLEAR(cysigs.exc_value)
- cysigs.exc_value = val
- PyErr_Restore(typ, val, tb)
-
-@@ -362,8 +362,7 @@ cdef void verify_exc_value() noexcept:
- """
- if cysigs.exc_value.ob_refcnt == 1:
- # No other references => exception is certainly gone
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- if PyErr_Occurred() is not NULL:
-@@ -394,8 +393,7 @@ cdef void verify_exc_value() noexcept:
- pass
- else:
- if <PyObject*>handled is cysigs.exc_value:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- # To be safe, we run the garbage collector because it may clear
-@@ -411,5 +409,4 @@ cdef void verify_exc_value() noexcept:
- # called again during garbage collection it might have already been set
- # to NULL; see https://github.com/sagemath/cysignals/issues/126
- if cysigs.exc_value != NULL and cysigs.exc_value.ob_refcnt == 1:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index b2bb20342806b1..e2216146e4c207 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -1,6 +1,6 @@
# Template file for 'python3-cysignals'
pkgname=python3-cysignals
-version=1.12.2
+version=1.12.3
revision=1
build_style=python3-pep517
build_helper=meson
@@ -14,7 +14,7 @@ license="LGPL-3.0-or-later"
homepage="https://github.com/sagemath/cysignals"
changelog="https://github.com/sagemath/cysignals/releases"
distfiles="${PYPI_SITE}/c/cysignals/cysignals-${version}.tar.gz"
-checksum=407db178fb18a91118ca742ede62000b2bee62b617eb49d26fcdad7e9ba2771a
+checksum=89f7626dbf29db5ab3d6eff15a89978f4eb5193c320e9099bcc157dacdefd1eb
# cysignals must be compiled without _FORTIFY_SOURCE
CFLAGS="-U_FORTIFY_SOURCE"
From 3115af345479f5c8ff2781cd9392c99e08dc376c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:00:12 -0300
Subject: [PATCH 03/10] symmetrica: update to 3.1.0.
---
common/shlibs | 2 +-
srcpkgs/symmetrica/template | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 175786786b4936..9cc55b67ac1bac 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4199,7 +4199,7 @@ libgf2x.so.3 gf2x-1.3.0_1
libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
-libsymmetrica.so.2 symmetrica-3.0.1_1
+libsymmetrica.so.3 symmetrica-3.1.0_1
libLfunction.so.1 lcalc-2.0.4_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/symmetrica/template b/srcpkgs/symmetrica/template
index b6b53d3cbf6fe5..f6966e30268b17 100644
--- a/srcpkgs/symmetrica/template
+++ b/srcpkgs/symmetrica/template
@@ -1,15 +1,16 @@
# Template file for 'symmetrica'
pkgname=symmetrica
-version=3.0.1
+version=3.1.0
revision=1
build_style=gnu-configure
-hostmakedepends="automake libtool"
+hostmakedepends="automake libtool pkg-config"
short_desc="Collection of C routines for representation theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="ISC"
homepage="https://gitlab.com/sagemath/symmetrica"
+changelog="https://gitlab.com/sagemath/symmetrica/-/releases"
distfiles="https://gitlab.com/sagemath/symmetrica/-/archive/${version}/symmetrica-${version}.tar.bz2"
-checksum=260028143f3ea3594fed75651e10176d2f53edae5e1af1661d5b82d617e233d6
+checksum=46137328f5dfae50167356ed9bcdf0aadef9dcb70553d3788106dc7c5b890ee8
pre_configure() {
autoreconf -fi
@@ -24,7 +25,6 @@ symmetrica-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include
- vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}
From 47991110e7640fc995aa5b6462e3e123c6c283b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:14:45 -0300
Subject: [PATCH 04/10] lcalc: update to 2.1.0.
---
common/shlibs | 2 +-
srcpkgs/lcalc/template | 11 ++++++++---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 9cc55b67ac1bac..3583ac959a0220 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4200,7 +4200,7 @@ libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
libsymmetrica.so.3 symmetrica-3.1.0_1
-libLfunction.so.1 lcalc-2.0.4_1
+libLfunction.so.2 lcalc-2.1.0_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
libwayland-cursor++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/lcalc/template b/srcpkgs/lcalc/template
index aaab6d14ead440..71795bbb947a49 100644
--- a/srcpkgs/lcalc/template
+++ b/srcpkgs/lcalc/template
@@ -1,7 +1,7 @@
# Template file for 'lcalc'
pkgname=lcalc
-version=2.0.5
-revision=3
+version=2.1.0
+revision=1
build_style=gnu-configure
configure_args="--with-pari"
hostmakedepends="automake libtool pkg-config gengetopt"
@@ -12,7 +12,12 @@ license="GPL-2.0-or-later"
homepage="https://gitlab.com/sagemath/lcalc"
changelog="https://gitlab.com/sagemath/lcalc/-/raw/master/doc/ChangeLog"
distfiles="https://gitlab.com/sagemath/lcalc/-/archive/${version}/lcalc-${version}.tar.bz2"
-checksum=94efc160a2761de75df534707fd2ec53949c5389296d20ddbac1b285fe26d1ad
+checksum=463f26cc42262a90440fcec95a56cc267f00d6ac9870dfe1f4838359696664d5
+
+case $XBPS_TARGET_MACHINE in
+ # avoid numerical noise caused by extended-precision of registers
+ i686*) CXXFLAGS="-mfpmath=sse -msse2" ;;
+esac
pre_configure() {
autoreconf -fi
From 41c31a5060e31ef76c03089c86d47834a4fbe139 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 2 Jan 2025 22:22:06 -0300
Subject: [PATCH 05/10] m4ri: update to 20250128.
---
common/shlibs | 2 +-
.../patches/m4ri-simd_cflags_in_tests.patch | 11 ----------
srcpkgs/m4ri/template | 21 ++++++++++++-------
3 files changed, 15 insertions(+), 19 deletions(-)
delete mode 100644 srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
diff --git a/common/shlibs b/common/shlibs
index 3583ac959a0220..c5faa959613064 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4251,7 +4251,7 @@ libpolys-4.4.0.so singular-4.4.0_1
libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
-libm4ri-0.0.20200125.so m4ri-20200125_1
+libm4ri.so.1 m4ri-20250128_1
libm4rie-0.0.20200125.so m4rie-20200125_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
diff --git a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch b/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
deleted file mode 100644
index ffa64b120fc28f..00000000000000
--- a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/Makefile.in 2020-01-25 01:34:59.000000000 -0300
-+++ b/tests/Makefile.in 2021-11-10 08:13:46.505793446 -0300
-@@ -609,7 +609,7 @@
- TOPBUILDDIR = $(builddir)/..
- DEFINES =
- # include TOPBUILDIR for m4ri_config.h
--AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@
-+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) $(SIMD_CFLAGS) $(OPENMP_CFLAGS) $(PAPI_CFLAGS)
- STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
- AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
- test_smallops_SOURCES = test_smallops.c testing.c testing.h
diff --git a/srcpkgs/m4ri/template b/srcpkgs/m4ri/template
index 56e60ed16f5998..2d7041d9591440 100644
--- a/srcpkgs/m4ri/template
+++ b/srcpkgs/m4ri/template
@@ -1,17 +1,24 @@
# Template file for 'm4ri'
pkgname=m4ri
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
-configure_args="--enable-openmp ax_cv_have_sse3_ext=no ax_cv_have_ssse3_ext=no"
+# use defaults for cache sizes instead of build machine
+configure_args="--enable-openmp --with-cachesize=0:0:0"
hostmakedepends="pkg-config"
makedepends="libgomp-devel libpng-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2)"
-maintainer="Eloi Torrents <eloitorrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4ri"
-distfiles="https://bitbucket.org/malb/m4ri/downloads/${pkgname}-${version}.tar.gz"
-checksum=0dfb34aed351882a0f2281535ea6f81c690a5efeb14edab131d9ba0dffe44863
+homepage="https://github.com/malb/m4ri"
+changelog="https://github.com/malb/m4ri#history"
+distfiles="https://github.com/malb/m4ri/releases/download/${version}/m4ri-${version}.tar.gz"
+checksum=b4098db651483c0e1506c16f79091eba02f41dadbacf1bb25be8eb97e5515f96
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4ri-devel_package() {
short_desc+=" - development files"
From c4854aef85219295eb79b99426ee18063892fc3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 00:50:12 -0300
Subject: [PATCH 06/10] m4rie: update to 20250128.
---
common/shlibs | 2 +-
srcpkgs/m4rie/template | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index c5faa959613064..09e5acf3fc7625 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4252,7 +4252,7 @@ libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
-libm4rie-0.0.20200125.so m4rie-20200125_1
+libm4rie.so.1 m4rie-20250128_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
libKPim6PkPass.so.6 kpkpass-24.02.0_1
diff --git a/srcpkgs/m4rie/template b/srcpkgs/m4rie/template
index 0e775df1dc1ce0..f327a02526a0b4 100644
--- a/srcpkgs/m4rie/template
+++ b/srcpkgs/m4rie/template
@@ -1,19 +1,26 @@
# Template file for 'm4rie'
pkgname=m4rie
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
+hostmakedepends="pkg-config"
makedepends="m4ri-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2^e)"
-maintainer="Eloi Torrents <eloi.torrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4rie/wiki/Home"
-distfiles="https://bitbucket.org/malb/m4rie/downloads/m4rie-${version}.tar.gz"
-checksum=7f3107f7cd10f6c22d9663d9536e1af2f551e10183601852a60d760918caf58d
+homepage="https://github.com/malb/m4rie"
+changelog="https://github.com/malb/m4rie#history"
+distfiles="https://github.com/malb/m4rie/releases/download/${version}/m4rie-${version}.tar.gz"
+checksum=96f1adafd50e6a0b51dc3aa1cb56cb6c1361ae7c10d97dc35c3fa70822a55bd7
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4rie-devel_package() {
short_desc+=" - development files"
- depends="${sourcepkg}>=${version}_${revision}"
+ depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
From ff14aefa9fc34c9a05cbf14ebf6c6aa4ed9fd866 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 14:53:06 -0300
Subject: [PATCH 07/10] brial: rebuild for m4ri-20250128.
---
srcpkgs/brial/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/brial/template b/srcpkgs/brial/template
index 2f8e195a8804ba..3fee9468bdc86d 100644
--- a/srcpkgs/brial/template
+++ b/srcpkgs/brial/template
@@ -1,7 +1,7 @@
# Template file for 'brial'
pkgname=brial
version=1.2.12
-revision=1
+revision=2
build_style=gnu-configure
hostmakedepends="pkg-config"
makedepends="boost-devel m4ri-devel"
From 94d030420f985ce5516efb6e5ead2494c9f9e439 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 23 Jan 2025 00:49:42 -0300
Subject: [PATCH 08/10] eclib: update to 20250122.
---
srcpkgs/eclib/patches/fix-32bit-modrat.patch | 15 ---------------
srcpkgs/eclib/template | 6 +++---
2 files changed, 3 insertions(+), 18 deletions(-)
delete mode 100644 srcpkgs/eclib/patches/fix-32bit-modrat.patch
diff --git a/srcpkgs/eclib/patches/fix-32bit-modrat.patch b/srcpkgs/eclib/patches/fix-32bit-modrat.patch
deleted file mode 100644
index 14988e0a793fa5..00000000000000
--- a/srcpkgs/eclib/patches/fix-32bit-modrat.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-new_modrat is broken on 32 bit, revert to old_modrat
-
---- a/libsrc/arith.cc
-+++ b/libsrc/arith.cc
-@@ -429,8 +430,8 @@ int new_modrat(long n, long m, long& a, long& b);
-
- int modrat(long n, long m, long& a, long& b)
- {
-- // return old_modrat(n, m, a, b);
-- return new_modrat(n, m, a, b);
-+ return old_modrat(n, m, a, b);
-+ //return new_modrat(n, m, a, b);
- }
-
- int old_modrat(long n, long m, long& a, long& b)
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 75fd264f57be5a..86294212ae64a9 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
# Template file for 'eclib'
pkgname=eclib
-version=20241112
+version=20250122
revision=1
build_style=gnu-configure
configure_args="--with-flint --with-boost"
@@ -10,8 +10,8 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="GPL-2.0-or-later"
homepage="https://github.com/JohnCremona/eclib"
changelog="https://github.com/JohnCremona/eclib/releases"
-distfiles="https://github.com/JohnCremona/eclib/releases/download/v${version}/eclib-${version}.tar.bz2"
-checksum=30765c27ca1420141f83517897119d0185fea9b31132392170ddae40b060e46f
+distfiles="https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2"
+checksum=9f8c2b32e24a4f20d7cc2d336ea30c8ea03b5b0953c2d32adda0c496e7616899
eclib-devel_package() {
depends="${sourcepkg}>=${version}_${revision} ntl-devel"
From 9bac68e387cf5460453fd29299a34d06102eaa11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 21 Jan 2025 20:11:14 -0300
Subject: [PATCH 09/10] singular: update to 4.4.1.
---
common/shlibs | 8 ++++----
srcpkgs/singular/template | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 09e5acf3fc7625..34eb4ce8b27957 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4245,10 +4245,10 @@ libecl.so.24.5 ecl-24.5.10_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
-libSingular-4.4.0.so singular-4.4.0_1
-libfactory-4.4.0.so singular-4.4.0_1
-libpolys-4.4.0.so singular-4.4.0_1
-libsingular_resources-4.4.0.so singular-4.4.0_1
+libSingular-4.4.1.so singular-4.4.1_1
+libfactory-4.4.1.so singular-4.4.1_1
+libpolys-4.4.1.so singular-4.4.1_1
+libsingular_resources-4.4.1.so singular-4.4.1_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
diff --git a/srcpkgs/singular/template b/srcpkgs/singular/template
index aa4899c7bdaab9..310b5a08ec064a 100644
--- a/srcpkgs/singular/template
+++ b/srcpkgs/singular/template
@@ -1,6 +1,6 @@
# Template file for 'singular'
pkgname=singular
-version=4.4.0
+version=4.4.1
revision=1
_majver=${version%p*}
build_style=gnu-configure
@@ -20,7 +20,7 @@ maintainer="dkwo <npiazza@disroot.org>, Gonzalo Tornaría <tornaria@cmat.edu.uy>
license="GPL-2.0-or-later"
homepage="https://www.singular.uni-kl.de"
distfiles="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${_majver//./-}/singular-${version}.tar.gz"
-checksum=c269abbd24c84fe33edc0af1e78b8fec53d8e94338410ac06c2666cfd40d43f2
+checksum=6a4fbaaed05b89c35bff3b1c5e124344a088097f81affe129c9ae619b282b49b
if [ -z "$CROSS_BUILD" ]; then
makedepends+=" ntl-devel"
From e0a264fbf5a279d91302932a52ad7582e624906c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 15:08:10 -0300
Subject: [PATCH 10/10] sagemath: rebuild for updates
changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
---
.../patches/39368-singular_4.4.1.patch | 715 ++++++++++++++++++
srcpkgs/sagemath/patches/get_patches | 3 +-
srcpkgs/sagemath/template | 2 +-
3 files changed, 718 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
diff --git a/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
new file mode 100644
index 00000000000000..aba16fa1d7ae75
--- /dev/null
+++ b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
@@ -0,0 +1,715 @@
+diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py
+index a2b5e910257..17f059f967f 100644
+--- a/src/sage/categories/pushout.py
++++ b/src/sage/categories/pushout.py
+@@ -3925,8 +3925,8 @@ class BlackBoxConstructionFunctor(ConstructionFunctor):
+ sage: FS = BlackBoxConstructionFunctor(singular)
+ sage: FS(QQ['t']) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names t
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
+index 91f8efcf651..ff424335d56 100644
+--- a/src/sage/interfaces/expect.py
++++ b/src/sage/interfaces/expect.py
+@@ -1328,8 +1328,8 @@ def _synchronize(self, cmd='1+%s;\n'):
+ sage: R.<x> = QQ[]; f = x^3 + x + 1; g = x^3 - x - 1; r = f.resultant(g); gap(ZZ); singular(R)
+ Integers
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
+index bd1095e8c70..22fb4b8487c 100644
+--- a/src/sage/interfaces/interface.py
++++ b/src/sage/interfaces/interface.py
+@@ -817,8 +817,8 @@ def __reduce__(self):
+ sage: S = singular.ring(0, ('x'))
+ sage: loads(dumps(S))
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index d110c17bf16..59d01f4493d 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -39,8 +39,8 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -220,12 +220,12 @@
+
+ sage: singular.lib('polylib.lib')
+ sage: singular.ring(32003, '(a,b,c,d,e,f)', 'lp')
+- polynomial ring, over a field, global ordering
+- // coefficients: ZZ/32003
+- // number of vars : 6
+- // block 1 : ordering lp
+- // : names a b c d e f
+- // block 2 : ordering C
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/32003...
++ // number of vars : 6
++ // block 1 : ordering lp
++ // : names a b c d e f
++ // block 2 : ordering C
+ sage: I = singular.ideal('cyclic(6)')
+ sage: g = singular('groebner(I)')
+ Traceback (most recent call last):
+@@ -1074,8 +1074,8 @@ def ring(self, char=0, vars='(x)', order='lp', check=None):
+ sage: R = singular.ring(0, '(x,y,z)', 'dp')
+ sage: R
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1153,16 +1153,16 @@ def set_ring(self, R):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: singular.set_ring(R)
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+@@ -1203,15 +1203,15 @@ def current_ring(self):
+ sage: r = PolynomialRing(GF(127),3,'xyz', order='invlex')
+ sage: r._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 3
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // 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
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // block 1 : ordering ip
+ // : names x y z
+ // block 2 : ordering C
+@@ -1430,8 +1430,8 @@ def __copy__(self):
+ sage: cpQ.set_ring()
+ sage: cpQ
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1996,8 +1996,8 @@ def _sage_(self, R=None):
+
+ sage: singular('basering')
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 3
++ // coefficients: ZZ...
++ // number of vars : 3
+ // block 1 : ordering lp
+ // : names x y z
+ // block 2 : ordering C
+@@ -2087,16 +2087,16 @@ def set_ring(self):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: R.set_ring()
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index 67cadf5d35c..87f0b7bab69 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -276,8 +276,8 @@ cdef class RingWrap:
+ sage: l = ringlist(P)
+ sage: ring = singular_function("ring")
+ sage: ring(l, ring=P)._output()
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/ring.pyx b/src/sage/libs/singular/ring.pyx
+index 1d8dd844385..4f7e288e2ad 100644
+--- a/src/sage/libs/singular/ring.pyx
++++ b/src/sage/libs/singular/ring.pyx
+@@ -159,8 +159,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: ZZ/7(a, b)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/7(a, b)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+
+ ::
+
+@@ -168,8 +173,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: QQ(s, t)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: QQ(s, t)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+ """
+ cdef long cexponent
+ cdef GFInfo* _param
+diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+index adf3df1cf95..bab5935004b 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
++++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+@@ -619,8 +619,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1182,8 +1182,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1198,8 +1198,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = PolynomialRing(k, 3) # needs sage.rings.finite_rings
+ sage: P._singular_() # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/3[a]/(a^3-a+1)
+- // number of vars : 3
++ // coefficients: ZZ/3[a]/(a^3-a+1)...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1215,8 +1215,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1257,8 +1257,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1272,8 +1272,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R.<x,y> = PolynomialRing(NumberField(w^2 + 1,'s')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 2
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1281,8 +1281,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(2**8,'a'),10,'x', order='invlex') # needs sage.rings.finite_rings
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
+- // number of vars : 10
++ // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)...
++ // number of vars : 10
+ // block 1 : ordering ip
+ // : names x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
+ // block 2 : ordering C
+@@ -1290,8 +1290,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 2
++ // coefficients: ZZ/127...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1299,8 +1299,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1308,8 +1308,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='degneglex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1320,8 +1320,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1329,8 +1329,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),'x')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1338,8 +1338,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1347,8 +1347,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1356,8 +1356,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1367,8 +1367,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/pbori/pbori.pyx b/src/sage/rings/polynomial/pbori/pbori.pyx
+index 14a929c3238..404771a2c85 100644
+--- a/src/sage/rings/polynomial/pbori/pbori.pyx
++++ b/src/sage/rings/polynomial/pbori/pbori.pyx
+@@ -1425,8 +1425,8 @@ cdef class BooleanPolynomialRing(BooleanPolynomialRing_base):
+ sage: B.<x,y> = BooleanPolynomialRing(2)
+ sage: B._singular_() # indirect doctest
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+index 115647adadf..627765cf8f0 100644
+--- a/src/sage/rings/polynomial/polynomial_quotient_ring.py
++++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+@@ -749,8 +749,8 @@ def _singular_init_(self, S=None):
+ sage: Q = P.quo([(x^2 + 1)])
+ sage: singular(Q) # indirect doctest # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names xbar
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
+index 60d2dd74b52..10bbc6d6ec0 100644
+--- a/src/sage/rings/polynomial/polynomial_singular_interface.py
++++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
+@@ -62,7 +62,7 @@ def _do_singular_init_(singular, base_ring, char, _vars, order):
+ sage: from sage.rings.polynomial.polynomial_singular_interface import _do_singular_init_
+ sage: _do_singular_init_(singular, ZZ, 0, 'X', 'dp') # needs sage.libs.singular
+ (polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering dp
+ // : names X
+@@ -196,7 +196,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(CC) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
++ // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -205,7 +205,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(RealField(100)) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
++ // coefficients: Float()...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -215,8 +215,8 @@ def _singular_(self, singular=None):
+ sage: R.<x> = PolynomialRing(NumberField(w^2 + 1, 's')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.libs.singular sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 1
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -224,8 +224,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -233,8 +233,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ, 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -242,8 +242,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -251,8 +251,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -260,8 +260,8 @@ def _singular_(self, singular=None):
+ sage: R = Frac(ZZ['a,b'])['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ(a, b)
+- // number of vars : 2
++ // coefficients: QQ(a, b)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -270,8 +270,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -279,8 +279,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -288,8 +288,8 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -297,7 +297,7 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -310,8 +310,8 @@ def _singular_(self, singular=None):
+ sage: S = K['y']
+ sage: singular(S) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/5(x)
+- // number of vars : 2
++ // coefficients: ZZ/5(x)...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a y
+ // block 2 : ordering C
+@@ -353,8 +353,8 @@ def _singular_init_(self, singular=None):
+
+ sage: PolynomialRing(QQ,'u_ba')._singular_init_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names u_ba
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/term_order.py b/src/sage/rings/polynomial/term_order.py
+index a88568248ce..f8ddd0a9652 100644
+--- a/src/sage/rings/polynomial/term_order.py
++++ b/src/sage/rings/polynomial/term_order.py
+@@ -660,7 +660,7 @@ def __init__(self, name='lex', n=0, force=False):
+ sage: R.<x,y,z> = PolynomialRing(QQ, order=T)
+ sage: R._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -676,7 +676,7 @@ def __init__(self, name='lex', n=0, force=False):
+ False
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -1661,8 +1661,8 @@ def singular_str(self):
+ '(lp(3),Dp(5),lp(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 10
++ // coefficients: ZZ/127...
++ // number of vars : 10
+ // block 1 : ordering lp
+ // : names x0 x1 x2
+ // block 2 : ordering Dp
+@@ -1687,8 +1687,8 @@ def singular_str(self):
+ '(a(1:2),ls(2),a(1:2),ls(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 4
++ // coefficients: QQ...
++ // number of vars : 4
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1709,7 +1709,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='x', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering a
+@@ -1727,7 +1727,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='y', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering a
+@@ -1745,7 +1745,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='z', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering a
+ // : names z0 z1
+@@ -2183,7 +2183,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(C,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -2201,7 +2201,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(c,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering dp
+diff --git a/src/sage/rings/quotient_ring.py b/src/sage/rings/quotient_ring.py
+index 1043333a63e..45f8147cde9 100644
+--- a/src/sage/rings/quotient_ring.py
++++ b/src/sage/rings/quotient_ring.py
+@@ -1268,8 +1268,8 @@ def _singular_(self, singular=None):
+ sage: S = R.quotient_ring(x^2 + y^2)
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/quotient_ring_element.py b/src/sage/rings/quotient_ring_element.py
+index 6699ae9f74b..9f05c54f21c 100644
+--- a/src/sage/rings/quotient_ring_element.py
++++ b/src/sage/rings/quotient_ring_element.py
+@@ -813,8 +813,8 @@ def _singular_(self, singular=None):
+ sage: Q = P.quo(I)
+ sage: Q._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches
index 571d8939163695..c617fe7e216c57 100755
--- a/srcpkgs/sagemath/patches/get_patches
+++ b/srcpkgs/sagemath/patches/get_patches
@@ -1,6 +1,6 @@
#! /bin/sh
-version=10.4
+version=10.5
URL_BASE_PR="https://github.com/sagemath/sage/pull/"
URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/${version}..."
@@ -42,6 +42,7 @@ get_pr 38749 "pari 2.17"
get_pr 38962 "eclib 20241112"
get_pr 39178 "giac 1.9.0.998"
get_pr 39261 "scipy 1.15"
+get_pr 39368 "singular 4.4.1"
get_pr 38940 "fix flaky simplicial set test"
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 82b7e6deae951a..44706ee35410e1 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
# Template file for 'sagemath'
pkgname=sagemath
version=10.5
-revision=1
+revision=2
_pypi_version=${version/.beta/b}
_pypi_version=${_pypi_version/.rc/rc}
build_style=python3-pep517
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
@ 2025-02-03 17:31 ` tornaria
2025-02-03 20:11 ` [PR PATCH] [Updated] " tornaria
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: tornaria @ 2025-02-03 17:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 337 bytes --]
New comment by tornaria on void-packages repository
https://github.com/void-linux/void-packages/pull/54198#issuecomment-2631636016
Comment:
@dkwo @Eloitor
The i686 failure is due to an overflow in `m4ri`, in https://github.com/malb/m4ri/blame/master/m4ri/mzd.c#L152 and/or https://github.com/malb/m4ri/blame/master/m4ri/mmc.h#L75.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Updated] sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
2025-02-03 17:31 ` tornaria
@ 2025-02-03 20:11 ` tornaria
2025-02-04 17:34 ` tornaria
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: tornaria @ 2025-02-03 20:11 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1583 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages sagemath
https://github.com/void-linux/void-packages/pull/54198
sagemath: update dependencies
Rebuild sagemath for changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
- **flintlib: update to 3.1.3+p1.**
- **python3-cysignals: update to 1.12.3.**
- **symmetrica: update to 3.1.0.**
- **lcalc: update to 2.1.0.**
- **m4ri: update to 20250128.**
- **m4rie: update to 20250128.**
- **brial: rebuild for m4ri-20250128.**
- **eclib: update to 20250122.**
- **singular: update to 4.4.1.**
- **sagemath: rebuild for updates**
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/54198.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sagemath-54198.patch --]
[-- Type: text/x-diff, Size: 63157 bytes --]
From f984704e319fdaeec7c872c2f936844091dd5fb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 10:02:24 -0300
Subject: [PATCH 01/11] flintlib: update to 3.1.3+p1.
---
srcpkgs/flintlib/template | 12 ++++++------
srcpkgs/flintlib/update | 8 +++++---
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
index 465cdf1d0d3f71..7bccdd746a28b6 100644
--- a/srcpkgs/flintlib/template
+++ b/srcpkgs/flintlib/template
@@ -1,7 +1,7 @@
# Template file for 'flintlib'
pkgname=flintlib
-version=3.1.2
-revision=2
+version=3.1.3+p1
+revision=1
build_style=gnu-configure
configure_args="--prefix=/usr --disable-arch $(vopt_with ntl)
$(vopt_if openblas --with-blas-include=${XBPS_CROSS_BASE}/usr/include/openblas)"
@@ -9,11 +9,11 @@ makedepends="mpfr-devel $(vopt_if ntl ntl-devel)
$(vopt_if openblas openblas-devel)"
short_desc="Fast Library for Number Theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
-license="LGPL-2.1-or-later"
+license="LGPL-3.0-or-later"
homepage="https://flintlib.org"
-changelog="https://raw.githubusercontent.com/wbhart/flint2/trunk/NEWS"
-distfiles="https://flintlib.org/flint-${version}.tar.gz"
-checksum=fdb3a431a37464834acff3bdc145f4fe8d0f951dd5327c4c6f93f4cbac5c2700
+changelog="https://raw.githubusercontent.com/flintlib/flint/refs/heads/main/doc/source/history.rst"
+distfiles="https://github.com/flintlib/flint/releases/download/v${version/+/-}/flint-${version/+/-}.tar.xz"
+checksum=8d75df8f2347534bd3245ef6f43cb91e43abd152572c6fe0bfffda55ec014920
build_options="ntl openblas"
desc_option_ntl="enable NTL support"
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
index 21d6ab4bae5b5c..4cdaabc14b20ea 100644
--- a/srcpkgs/flintlib/update
+++ b/srcpkgs/flintlib/update
@@ -1,3 +1,5 @@
-# package was named 'flintlib' because of another package
-pkgname=flint
-site="https://flintlib.org/downloads.html"
+pattern="/archive/refs/tags/v?\K[\d.]+(-(p|rc)[0-9]+)?(?=\.tar\.gz)"
+version=${version/+/.}
+if [[ "$version" != *rc* ]]; then
+ ignore=*rc*
+fi
From a4303d92f010f3dc23300cb7ded0bdeb7e8c42ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 08:42:56 -0300
Subject: [PATCH 02/11] python3-cysignals: update to 1.12.3.
---
.../patches/216-fix_custom_signal.patch | 54 -------------------
.../patches/222-fix_data_race.patch | 51 ------------------
srcpkgs/python3-cysignals/template | 4 +-
3 files changed, 2 insertions(+), 107 deletions(-)
delete mode 100644 srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
delete mode 100644 srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
diff --git a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch b/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
deleted file mode 100644
index ced6b8732c579c..00000000000000
--- a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/pyproject.toml b/pyproject.toml
-index d30ad23..edcb5c8 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -34,4 +34,4 @@ requires-python = ">=3.9"
-
- [tool.pytest.ini_options]
- addopts = "--doctest-modules --import-mode importlib"
--norecursedirs = "builddir docs example"
-+testpaths = "src tests"
-diff --git a/src/cysignals/implementation.c b/src/cysignals/implementation.c
-index 20a83d0..18b8144 100644
---- a/src/cysignals/implementation.c
-+++ b/src/cysignals/implementation.c
-@@ -591,7 +591,7 @@ static void _sig_on_interrupt_received(void)
- do_raise_exception(cysigs.interrupt_received);
- cysigs.sig_on_count = 0;
- cysigs.interrupt_received = 0;
-- custom_signal_unblock();
-+ custom_set_pending_signal(0);
-
- #if HAVE_SIGPROCMASK
- sigprocmask(SIG_SETMASK, &oldset, NULL);
-diff --git a/tests/test_custom_signals.py b/tests/test_custom_signals.py
-new file mode 100644
-index 0000000..0afc36f
---- /dev/null
-+++ b/tests/test_custom_signals.py
-@@ -0,0 +1,23 @@
-+"""
-+Tests for custom signals.
-+"""
-+
-+import time
-+import pytest
-+
-+def test_clear_pending():
-+ """
-+ Regression test for https://github.com/sagemath/cysignals/pull/216
-+ """
-+
-+ alarm = pytest.importorskip("cysignals.alarm") # n/a on windows
-+ cypari2 = pytest.importorskip("cypari2")
-+
-+ with pytest.raises(alarm.AlarmInterrupt):
-+ alarm.alarm(0.01)
-+ time.sleep(1)
-+
-+ try:
-+ cypari2.Pari()
-+ except alarm.AlarmInterrupt:
-+ pytest.fail("AlarmInterrupt was not cleared")
diff --git a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch b/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
deleted file mode 100644
index c9fdf3885f5c22..00000000000000
--- a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/src/cysignals/signals.pyx b/src/cysignals/signals.pyx
-index 72f206e..96a99ad 100644
---- a/src/cysignals/signals.pyx
-+++ b/src/cysignals/signals.pyx
-@@ -25,7 +25,7 @@ See ``tests.pyx`` for extensive tests.
-
- from libc.signal cimport *
- from libc.stdio cimport freopen, stdin
--from cpython.ref cimport Py_XINCREF, Py_XDECREF
-+from cpython.ref cimport Py_XINCREF, Py_CLEAR
- from cpython.exc cimport (PyErr_Occurred, PyErr_NormalizeException,
- PyErr_Fetch, PyErr_Restore)
- from cpython.version cimport PY_MAJOR_VERSION
-@@ -204,7 +204,7 @@ cdef int sig_raise_exception "sig_raise_exception"(int sig, const char* msg) exc
- PyErr_Fetch(&typ, &val, &tb)
- PyErr_NormalizeException(&typ, &val, &tb)
- Py_XINCREF(val)
-- Py_XDECREF(cysigs.exc_value)
-+ Py_CLEAR(cysigs.exc_value)
- cysigs.exc_value = val
- PyErr_Restore(typ, val, tb)
-
-@@ -362,8 +362,7 @@ cdef void verify_exc_value() noexcept:
- """
- if cysigs.exc_value.ob_refcnt == 1:
- # No other references => exception is certainly gone
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- if PyErr_Occurred() is not NULL:
-@@ -394,8 +393,7 @@ cdef void verify_exc_value() noexcept:
- pass
- else:
- if <PyObject*>handled is cysigs.exc_value:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- # To be safe, we run the garbage collector because it may clear
-@@ -411,5 +409,4 @@ cdef void verify_exc_value() noexcept:
- # called again during garbage collection it might have already been set
- # to NULL; see https://github.com/sagemath/cysignals/issues/126
- if cysigs.exc_value != NULL and cysigs.exc_value.ob_refcnt == 1:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index b2bb20342806b1..e2216146e4c207 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -1,6 +1,6 @@
# Template file for 'python3-cysignals'
pkgname=python3-cysignals
-version=1.12.2
+version=1.12.3
revision=1
build_style=python3-pep517
build_helper=meson
@@ -14,7 +14,7 @@ license="LGPL-3.0-or-later"
homepage="https://github.com/sagemath/cysignals"
changelog="https://github.com/sagemath/cysignals/releases"
distfiles="${PYPI_SITE}/c/cysignals/cysignals-${version}.tar.gz"
-checksum=407db178fb18a91118ca742ede62000b2bee62b617eb49d26fcdad7e9ba2771a
+checksum=89f7626dbf29db5ab3d6eff15a89978f4eb5193c320e9099bcc157dacdefd1eb
# cysignals must be compiled without _FORTIFY_SOURCE
CFLAGS="-U_FORTIFY_SOURCE"
From 3115af345479f5c8ff2781cd9392c99e08dc376c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:00:12 -0300
Subject: [PATCH 03/11] symmetrica: update to 3.1.0.
---
common/shlibs | 2 +-
srcpkgs/symmetrica/template | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 175786786b4936..9cc55b67ac1bac 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4199,7 +4199,7 @@ libgf2x.so.3 gf2x-1.3.0_1
libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
-libsymmetrica.so.2 symmetrica-3.0.1_1
+libsymmetrica.so.3 symmetrica-3.1.0_1
libLfunction.so.1 lcalc-2.0.4_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/symmetrica/template b/srcpkgs/symmetrica/template
index b6b53d3cbf6fe5..f6966e30268b17 100644
--- a/srcpkgs/symmetrica/template
+++ b/srcpkgs/symmetrica/template
@@ -1,15 +1,16 @@
# Template file for 'symmetrica'
pkgname=symmetrica
-version=3.0.1
+version=3.1.0
revision=1
build_style=gnu-configure
-hostmakedepends="automake libtool"
+hostmakedepends="automake libtool pkg-config"
short_desc="Collection of C routines for representation theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="ISC"
homepage="https://gitlab.com/sagemath/symmetrica"
+changelog="https://gitlab.com/sagemath/symmetrica/-/releases"
distfiles="https://gitlab.com/sagemath/symmetrica/-/archive/${version}/symmetrica-${version}.tar.bz2"
-checksum=260028143f3ea3594fed75651e10176d2f53edae5e1af1661d5b82d617e233d6
+checksum=46137328f5dfae50167356ed9bcdf0aadef9dcb70553d3788106dc7c5b890ee8
pre_configure() {
autoreconf -fi
@@ -24,7 +25,6 @@ symmetrica-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include
- vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}
From 47991110e7640fc995aa5b6462e3e123c6c283b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:14:45 -0300
Subject: [PATCH 04/11] lcalc: update to 2.1.0.
---
common/shlibs | 2 +-
srcpkgs/lcalc/template | 11 ++++++++---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 9cc55b67ac1bac..3583ac959a0220 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4200,7 +4200,7 @@ libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
libsymmetrica.so.3 symmetrica-3.1.0_1
-libLfunction.so.1 lcalc-2.0.4_1
+libLfunction.so.2 lcalc-2.1.0_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
libwayland-cursor++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/lcalc/template b/srcpkgs/lcalc/template
index aaab6d14ead440..71795bbb947a49 100644
--- a/srcpkgs/lcalc/template
+++ b/srcpkgs/lcalc/template
@@ -1,7 +1,7 @@
# Template file for 'lcalc'
pkgname=lcalc
-version=2.0.5
-revision=3
+version=2.1.0
+revision=1
build_style=gnu-configure
configure_args="--with-pari"
hostmakedepends="automake libtool pkg-config gengetopt"
@@ -12,7 +12,12 @@ license="GPL-2.0-or-later"
homepage="https://gitlab.com/sagemath/lcalc"
changelog="https://gitlab.com/sagemath/lcalc/-/raw/master/doc/ChangeLog"
distfiles="https://gitlab.com/sagemath/lcalc/-/archive/${version}/lcalc-${version}.tar.bz2"
-checksum=94efc160a2761de75df534707fd2ec53949c5389296d20ddbac1b285fe26d1ad
+checksum=463f26cc42262a90440fcec95a56cc267f00d6ac9870dfe1f4838359696664d5
+
+case $XBPS_TARGET_MACHINE in
+ # avoid numerical noise caused by extended-precision of registers
+ i686*) CXXFLAGS="-mfpmath=sse -msse2" ;;
+esac
pre_configure() {
autoreconf -fi
From 41c31a5060e31ef76c03089c86d47834a4fbe139 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 2 Jan 2025 22:22:06 -0300
Subject: [PATCH 05/11] m4ri: update to 20250128.
---
common/shlibs | 2 +-
.../patches/m4ri-simd_cflags_in_tests.patch | 11 ----------
srcpkgs/m4ri/template | 21 ++++++++++++-------
3 files changed, 15 insertions(+), 19 deletions(-)
delete mode 100644 srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
diff --git a/common/shlibs b/common/shlibs
index 3583ac959a0220..c5faa959613064 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4251,7 +4251,7 @@ libpolys-4.4.0.so singular-4.4.0_1
libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
-libm4ri-0.0.20200125.so m4ri-20200125_1
+libm4ri.so.1 m4ri-20250128_1
libm4rie-0.0.20200125.so m4rie-20200125_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
diff --git a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch b/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
deleted file mode 100644
index ffa64b120fc28f..00000000000000
--- a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/Makefile.in 2020-01-25 01:34:59.000000000 -0300
-+++ b/tests/Makefile.in 2021-11-10 08:13:46.505793446 -0300
-@@ -609,7 +609,7 @@
- TOPBUILDDIR = $(builddir)/..
- DEFINES =
- # include TOPBUILDIR for m4ri_config.h
--AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@
-+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) $(SIMD_CFLAGS) $(OPENMP_CFLAGS) $(PAPI_CFLAGS)
- STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
- AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
- test_smallops_SOURCES = test_smallops.c testing.c testing.h
diff --git a/srcpkgs/m4ri/template b/srcpkgs/m4ri/template
index 56e60ed16f5998..2d7041d9591440 100644
--- a/srcpkgs/m4ri/template
+++ b/srcpkgs/m4ri/template
@@ -1,17 +1,24 @@
# Template file for 'm4ri'
pkgname=m4ri
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
-configure_args="--enable-openmp ax_cv_have_sse3_ext=no ax_cv_have_ssse3_ext=no"
+# use defaults for cache sizes instead of build machine
+configure_args="--enable-openmp --with-cachesize=0:0:0"
hostmakedepends="pkg-config"
makedepends="libgomp-devel libpng-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2)"
-maintainer="Eloi Torrents <eloitorrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4ri"
-distfiles="https://bitbucket.org/malb/m4ri/downloads/${pkgname}-${version}.tar.gz"
-checksum=0dfb34aed351882a0f2281535ea6f81c690a5efeb14edab131d9ba0dffe44863
+homepage="https://github.com/malb/m4ri"
+changelog="https://github.com/malb/m4ri#history"
+distfiles="https://github.com/malb/m4ri/releases/download/${version}/m4ri-${version}.tar.gz"
+checksum=b4098db651483c0e1506c16f79091eba02f41dadbacf1bb25be8eb97e5515f96
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4ri-devel_package() {
short_desc+=" - development files"
From c4854aef85219295eb79b99426ee18063892fc3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 00:50:12 -0300
Subject: [PATCH 06/11] m4rie: update to 20250128.
---
common/shlibs | 2 +-
srcpkgs/m4rie/template | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index c5faa959613064..09e5acf3fc7625 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4252,7 +4252,7 @@ libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
-libm4rie-0.0.20200125.so m4rie-20200125_1
+libm4rie.so.1 m4rie-20250128_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
libKPim6PkPass.so.6 kpkpass-24.02.0_1
diff --git a/srcpkgs/m4rie/template b/srcpkgs/m4rie/template
index 0e775df1dc1ce0..f327a02526a0b4 100644
--- a/srcpkgs/m4rie/template
+++ b/srcpkgs/m4rie/template
@@ -1,19 +1,26 @@
# Template file for 'm4rie'
pkgname=m4rie
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
+hostmakedepends="pkg-config"
makedepends="m4ri-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2^e)"
-maintainer="Eloi Torrents <eloi.torrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4rie/wiki/Home"
-distfiles="https://bitbucket.org/malb/m4rie/downloads/m4rie-${version}.tar.gz"
-checksum=7f3107f7cd10f6c22d9663d9536e1af2f551e10183601852a60d760918caf58d
+homepage="https://github.com/malb/m4rie"
+changelog="https://github.com/malb/m4rie#history"
+distfiles="https://github.com/malb/m4rie/releases/download/${version}/m4rie-${version}.tar.gz"
+checksum=96f1adafd50e6a0b51dc3aa1cb56cb6c1361ae7c10d97dc35c3fa70822a55bd7
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4rie-devel_package() {
short_desc+=" - development files"
- depends="${sourcepkg}>=${version}_${revision}"
+ depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
From ff14aefa9fc34c9a05cbf14ebf6c6aa4ed9fd866 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 14:53:06 -0300
Subject: [PATCH 07/11] brial: rebuild for m4ri-20250128.
---
srcpkgs/brial/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/brial/template b/srcpkgs/brial/template
index 2f8e195a8804ba..3fee9468bdc86d 100644
--- a/srcpkgs/brial/template
+++ b/srcpkgs/brial/template
@@ -1,7 +1,7 @@
# Template file for 'brial'
pkgname=brial
version=1.2.12
-revision=1
+revision=2
build_style=gnu-configure
hostmakedepends="pkg-config"
makedepends="boost-devel m4ri-devel"
From 94d030420f985ce5516efb6e5ead2494c9f9e439 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 23 Jan 2025 00:49:42 -0300
Subject: [PATCH 08/11] eclib: update to 20250122.
---
srcpkgs/eclib/patches/fix-32bit-modrat.patch | 15 ---------------
srcpkgs/eclib/template | 6 +++---
2 files changed, 3 insertions(+), 18 deletions(-)
delete mode 100644 srcpkgs/eclib/patches/fix-32bit-modrat.patch
diff --git a/srcpkgs/eclib/patches/fix-32bit-modrat.patch b/srcpkgs/eclib/patches/fix-32bit-modrat.patch
deleted file mode 100644
index 14988e0a793fa5..00000000000000
--- a/srcpkgs/eclib/patches/fix-32bit-modrat.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-new_modrat is broken on 32 bit, revert to old_modrat
-
---- a/libsrc/arith.cc
-+++ b/libsrc/arith.cc
-@@ -429,8 +430,8 @@ int new_modrat(long n, long m, long& a, long& b);
-
- int modrat(long n, long m, long& a, long& b)
- {
-- // return old_modrat(n, m, a, b);
-- return new_modrat(n, m, a, b);
-+ return old_modrat(n, m, a, b);
-+ //return new_modrat(n, m, a, b);
- }
-
- int old_modrat(long n, long m, long& a, long& b)
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 75fd264f57be5a..86294212ae64a9 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
# Template file for 'eclib'
pkgname=eclib
-version=20241112
+version=20250122
revision=1
build_style=gnu-configure
configure_args="--with-flint --with-boost"
@@ -10,8 +10,8 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="GPL-2.0-or-later"
homepage="https://github.com/JohnCremona/eclib"
changelog="https://github.com/JohnCremona/eclib/releases"
-distfiles="https://github.com/JohnCremona/eclib/releases/download/v${version}/eclib-${version}.tar.bz2"
-checksum=30765c27ca1420141f83517897119d0185fea9b31132392170ddae40b060e46f
+distfiles="https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2"
+checksum=9f8c2b32e24a4f20d7cc2d336ea30c8ea03b5b0953c2d32adda0c496e7616899
eclib-devel_package() {
depends="${sourcepkg}>=${version}_${revision} ntl-devel"
From 9bac68e387cf5460453fd29299a34d06102eaa11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 21 Jan 2025 20:11:14 -0300
Subject: [PATCH 09/11] singular: update to 4.4.1.
---
common/shlibs | 8 ++++----
srcpkgs/singular/template | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 09e5acf3fc7625..34eb4ce8b27957 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4245,10 +4245,10 @@ libecl.so.24.5 ecl-24.5.10_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
-libSingular-4.4.0.so singular-4.4.0_1
-libfactory-4.4.0.so singular-4.4.0_1
-libpolys-4.4.0.so singular-4.4.0_1
-libsingular_resources-4.4.0.so singular-4.4.0_1
+libSingular-4.4.1.so singular-4.4.1_1
+libfactory-4.4.1.so singular-4.4.1_1
+libpolys-4.4.1.so singular-4.4.1_1
+libsingular_resources-4.4.1.so singular-4.4.1_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
diff --git a/srcpkgs/singular/template b/srcpkgs/singular/template
index aa4899c7bdaab9..310b5a08ec064a 100644
--- a/srcpkgs/singular/template
+++ b/srcpkgs/singular/template
@@ -1,6 +1,6 @@
# Template file for 'singular'
pkgname=singular
-version=4.4.0
+version=4.4.1
revision=1
_majver=${version%p*}
build_style=gnu-configure
@@ -20,7 +20,7 @@ maintainer="dkwo <npiazza@disroot.org>, Gonzalo Tornaría <tornaria@cmat.edu.uy>
license="GPL-2.0-or-later"
homepage="https://www.singular.uni-kl.de"
distfiles="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${_majver//./-}/singular-${version}.tar.gz"
-checksum=c269abbd24c84fe33edc0af1e78b8fec53d8e94338410ac06c2666cfd40d43f2
+checksum=6a4fbaaed05b89c35bff3b1c5e124344a088097f81affe129c9ae619b282b49b
if [ -z "$CROSS_BUILD" ]; then
makedepends+=" ntl-devel"
From e0a264fbf5a279d91302932a52ad7582e624906c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 15:08:10 -0300
Subject: [PATCH 10/11] sagemath: rebuild for updates
changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
---
.../patches/39368-singular_4.4.1.patch | 715 ++++++++++++++++++
srcpkgs/sagemath/patches/get_patches | 3 +-
srcpkgs/sagemath/template | 2 +-
3 files changed, 718 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
diff --git a/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
new file mode 100644
index 00000000000000..aba16fa1d7ae75
--- /dev/null
+++ b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
@@ -0,0 +1,715 @@
+diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py
+index a2b5e910257..17f059f967f 100644
+--- a/src/sage/categories/pushout.py
++++ b/src/sage/categories/pushout.py
+@@ -3925,8 +3925,8 @@ class BlackBoxConstructionFunctor(ConstructionFunctor):
+ sage: FS = BlackBoxConstructionFunctor(singular)
+ sage: FS(QQ['t']) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names t
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
+index 91f8efcf651..ff424335d56 100644
+--- a/src/sage/interfaces/expect.py
++++ b/src/sage/interfaces/expect.py
+@@ -1328,8 +1328,8 @@ def _synchronize(self, cmd='1+%s;\n'):
+ sage: R.<x> = QQ[]; f = x^3 + x + 1; g = x^3 - x - 1; r = f.resultant(g); gap(ZZ); singular(R)
+ Integers
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
+index bd1095e8c70..22fb4b8487c 100644
+--- a/src/sage/interfaces/interface.py
++++ b/src/sage/interfaces/interface.py
+@@ -817,8 +817,8 @@ def __reduce__(self):
+ sage: S = singular.ring(0, ('x'))
+ sage: loads(dumps(S))
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index d110c17bf16..59d01f4493d 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -39,8 +39,8 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -220,12 +220,12 @@
+
+ sage: singular.lib('polylib.lib')
+ sage: singular.ring(32003, '(a,b,c,d,e,f)', 'lp')
+- polynomial ring, over a field, global ordering
+- // coefficients: ZZ/32003
+- // number of vars : 6
+- // block 1 : ordering lp
+- // : names a b c d e f
+- // block 2 : ordering C
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/32003...
++ // number of vars : 6
++ // block 1 : ordering lp
++ // : names a b c d e f
++ // block 2 : ordering C
+ sage: I = singular.ideal('cyclic(6)')
+ sage: g = singular('groebner(I)')
+ Traceback (most recent call last):
+@@ -1074,8 +1074,8 @@ def ring(self, char=0, vars='(x)', order='lp', check=None):
+ sage: R = singular.ring(0, '(x,y,z)', 'dp')
+ sage: R
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1153,16 +1153,16 @@ def set_ring(self, R):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: singular.set_ring(R)
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+@@ -1203,15 +1203,15 @@ def current_ring(self):
+ sage: r = PolynomialRing(GF(127),3,'xyz', order='invlex')
+ sage: r._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 3
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // 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
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // block 1 : ordering ip
+ // : names x y z
+ // block 2 : ordering C
+@@ -1430,8 +1430,8 @@ def __copy__(self):
+ sage: cpQ.set_ring()
+ sage: cpQ
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1996,8 +1996,8 @@ def _sage_(self, R=None):
+
+ sage: singular('basering')
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 3
++ // coefficients: ZZ...
++ // number of vars : 3
+ // block 1 : ordering lp
+ // : names x y z
+ // block 2 : ordering C
+@@ -2087,16 +2087,16 @@ def set_ring(self):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: R.set_ring()
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index 67cadf5d35c..87f0b7bab69 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -276,8 +276,8 @@ cdef class RingWrap:
+ sage: l = ringlist(P)
+ sage: ring = singular_function("ring")
+ sage: ring(l, ring=P)._output()
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/ring.pyx b/src/sage/libs/singular/ring.pyx
+index 1d8dd844385..4f7e288e2ad 100644
+--- a/src/sage/libs/singular/ring.pyx
++++ b/src/sage/libs/singular/ring.pyx
+@@ -159,8 +159,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: ZZ/7(a, b)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/7(a, b)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+
+ ::
+
+@@ -168,8 +173,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: QQ(s, t)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: QQ(s, t)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+ """
+ cdef long cexponent
+ cdef GFInfo* _param
+diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+index adf3df1cf95..bab5935004b 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
++++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+@@ -619,8 +619,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1182,8 +1182,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1198,8 +1198,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = PolynomialRing(k, 3) # needs sage.rings.finite_rings
+ sage: P._singular_() # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/3[a]/(a^3-a+1)
+- // number of vars : 3
++ // coefficients: ZZ/3[a]/(a^3-a+1)...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1215,8 +1215,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1257,8 +1257,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1272,8 +1272,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R.<x,y> = PolynomialRing(NumberField(w^2 + 1,'s')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 2
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1281,8 +1281,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(2**8,'a'),10,'x', order='invlex') # needs sage.rings.finite_rings
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
+- // number of vars : 10
++ // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)...
++ // number of vars : 10
+ // block 1 : ordering ip
+ // : names x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
+ // block 2 : ordering C
+@@ -1290,8 +1290,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 2
++ // coefficients: ZZ/127...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1299,8 +1299,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1308,8 +1308,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='degneglex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1320,8 +1320,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1329,8 +1329,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),'x')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1338,8 +1338,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1347,8 +1347,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1356,8 +1356,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1367,8 +1367,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/pbori/pbori.pyx b/src/sage/rings/polynomial/pbori/pbori.pyx
+index 14a929c3238..404771a2c85 100644
+--- a/src/sage/rings/polynomial/pbori/pbori.pyx
++++ b/src/sage/rings/polynomial/pbori/pbori.pyx
+@@ -1425,8 +1425,8 @@ cdef class BooleanPolynomialRing(BooleanPolynomialRing_base):
+ sage: B.<x,y> = BooleanPolynomialRing(2)
+ sage: B._singular_() # indirect doctest
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+index 115647adadf..627765cf8f0 100644
+--- a/src/sage/rings/polynomial/polynomial_quotient_ring.py
++++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+@@ -749,8 +749,8 @@ def _singular_init_(self, S=None):
+ sage: Q = P.quo([(x^2 + 1)])
+ sage: singular(Q) # indirect doctest # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names xbar
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
+index 60d2dd74b52..10bbc6d6ec0 100644
+--- a/src/sage/rings/polynomial/polynomial_singular_interface.py
++++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
+@@ -62,7 +62,7 @@ def _do_singular_init_(singular, base_ring, char, _vars, order):
+ sage: from sage.rings.polynomial.polynomial_singular_interface import _do_singular_init_
+ sage: _do_singular_init_(singular, ZZ, 0, 'X', 'dp') # needs sage.libs.singular
+ (polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering dp
+ // : names X
+@@ -196,7 +196,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(CC) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
++ // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -205,7 +205,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(RealField(100)) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
++ // coefficients: Float()...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -215,8 +215,8 @@ def _singular_(self, singular=None):
+ sage: R.<x> = PolynomialRing(NumberField(w^2 + 1, 's')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.libs.singular sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 1
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -224,8 +224,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -233,8 +233,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ, 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -242,8 +242,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -251,8 +251,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -260,8 +260,8 @@ def _singular_(self, singular=None):
+ sage: R = Frac(ZZ['a,b'])['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ(a, b)
+- // number of vars : 2
++ // coefficients: QQ(a, b)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -270,8 +270,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -279,8 +279,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -288,8 +288,8 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -297,7 +297,7 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -310,8 +310,8 @@ def _singular_(self, singular=None):
+ sage: S = K['y']
+ sage: singular(S) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/5(x)
+- // number of vars : 2
++ // coefficients: ZZ/5(x)...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a y
+ // block 2 : ordering C
+@@ -353,8 +353,8 @@ def _singular_init_(self, singular=None):
+
+ sage: PolynomialRing(QQ,'u_ba')._singular_init_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names u_ba
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/term_order.py b/src/sage/rings/polynomial/term_order.py
+index a88568248ce..f8ddd0a9652 100644
+--- a/src/sage/rings/polynomial/term_order.py
++++ b/src/sage/rings/polynomial/term_order.py
+@@ -660,7 +660,7 @@ def __init__(self, name='lex', n=0, force=False):
+ sage: R.<x,y,z> = PolynomialRing(QQ, order=T)
+ sage: R._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -676,7 +676,7 @@ def __init__(self, name='lex', n=0, force=False):
+ False
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -1661,8 +1661,8 @@ def singular_str(self):
+ '(lp(3),Dp(5),lp(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 10
++ // coefficients: ZZ/127...
++ // number of vars : 10
+ // block 1 : ordering lp
+ // : names x0 x1 x2
+ // block 2 : ordering Dp
+@@ -1687,8 +1687,8 @@ def singular_str(self):
+ '(a(1:2),ls(2),a(1:2),ls(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 4
++ // coefficients: QQ...
++ // number of vars : 4
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1709,7 +1709,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='x', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering a
+@@ -1727,7 +1727,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='y', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering a
+@@ -1745,7 +1745,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='z', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering a
+ // : names z0 z1
+@@ -2183,7 +2183,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(C,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -2201,7 +2201,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(c,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering dp
+diff --git a/src/sage/rings/quotient_ring.py b/src/sage/rings/quotient_ring.py
+index 1043333a63e..45f8147cde9 100644
+--- a/src/sage/rings/quotient_ring.py
++++ b/src/sage/rings/quotient_ring.py
+@@ -1268,8 +1268,8 @@ def _singular_(self, singular=None):
+ sage: S = R.quotient_ring(x^2 + y^2)
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/quotient_ring_element.py b/src/sage/rings/quotient_ring_element.py
+index 6699ae9f74b..9f05c54f21c 100644
+--- a/src/sage/rings/quotient_ring_element.py
++++ b/src/sage/rings/quotient_ring_element.py
+@@ -813,8 +813,8 @@ def _singular_(self, singular=None):
+ sage: Q = P.quo(I)
+ sage: Q._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches
index 571d8939163695..c617fe7e216c57 100755
--- a/srcpkgs/sagemath/patches/get_patches
+++ b/srcpkgs/sagemath/patches/get_patches
@@ -1,6 +1,6 @@
#! /bin/sh
-version=10.4
+version=10.5
URL_BASE_PR="https://github.com/sagemath/sage/pull/"
URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/${version}..."
@@ -42,6 +42,7 @@ get_pr 38749 "pari 2.17"
get_pr 38962 "eclib 20241112"
get_pr 39178 "giac 1.9.0.998"
get_pr 39261 "scipy 1.15"
+get_pr 39368 "singular 4.4.1"
get_pr 38940 "fix flaky simplicial set test"
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 82b7e6deae951a..44706ee35410e1 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
# Template file for 'sagemath'
pkgname=sagemath
version=10.5
-revision=1
+revision=2
_pypi_version=${version/.beta/b}
_pypi_version=${_pypi_version/.rc/rc}
build_style=python3-pep517
From 1444c52aea791711d61b1261a7f66c621c676c7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 3 Feb 2025 17:10:48 -0300
Subject: [PATCH 11/11] m4ri: fix overflow on i686
---
srcpkgs/m4ri/patches/fix-overflow-32bit.patch | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 srcpkgs/m4ri/patches/fix-overflow-32bit.patch
diff --git a/srcpkgs/m4ri/patches/fix-overflow-32bit.patch b/srcpkgs/m4ri/patches/fix-overflow-32bit.patch
new file mode 100644
index 00000000000000..5249b0b51cac04
--- /dev/null
+++ b/srcpkgs/m4ri/patches/fix-overflow-32bit.patch
@@ -0,0 +1,35 @@
+diff --git a/m4ri/mmc.h b/m4ri/mmc.h
+index e6db4ca..3e97391 100644
+--- a/m4ri/mmc.h
++++ b/m4ri/mmc.h
+@@ -72,6 +72,10 @@ typedef struct _mm_block {
+ * \return Pointer to allocated memory block.
+ */
+ static inline void *m4ri_mmc_calloc(size_t count, size_t size) {
++ if (size && count > SIZE_MAX/size) {
++ m4ri_die("m4ri_mmc_calloc: overflow in multiplication\n");
++ return NULL; /* unreachable */
++ }
+ size_t total_size = count * size;
+ void *ret = m4ri_mmc_malloc(total_size);
+ memset((char *)ret, 0, total_size);
+diff --git a/m4ri/mzd.c b/m4ri/mzd.c
+index ba04b7c..ac62c5c 100644
+--- a/m4ri/mzd.c
++++ b/m4ri/mzd.c
+@@ -144,13 +144,12 @@ mzd_t *mzd_init(rci_t r, rci_t c) {
+ mzd_t *A = mzd_t_malloc();
+ A->nrows = r;
+ A->ncols = c;
+- A->width = (c + m4ri_radix - 1) / m4ri_radix;
++ A->width = c > 0 ? (c - 1) / m4ri_radix + 1 : 0;
+ A->rowstride = ((A->width & 1) == 0) ? A->width : A->width + 1;
+ A->high_bitmask = __M4RI_LEFT_BITMASK(c % m4ri_radix);
+ A->flags = (A->high_bitmask != m4ri_ffff) ? mzd_flag_nonzero_excess : 0;
+ if (r && c) {
+- size_t block_words = r * A->rowstride;
+- A->data = m4ri_mmc_calloc(block_words, sizeof(word));
++ A->data = m4ri_mmc_calloc(r, sizeof(word) * A->rowstride);
+ } else {
+ A->data = NULL;
+ }
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Updated] sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
2025-02-03 17:31 ` tornaria
2025-02-03 20:11 ` [PR PATCH] [Updated] " tornaria
@ 2025-02-04 17:34 ` tornaria
2025-02-04 17:39 ` tornaria
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: tornaria @ 2025-02-04 17:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1583 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages sagemath
https://github.com/void-linux/void-packages/pull/54198
sagemath: update dependencies
Rebuild sagemath for changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
- **flintlib: update to 3.1.3+p1.**
- **python3-cysignals: update to 1.12.3.**
- **symmetrica: update to 3.1.0.**
- **lcalc: update to 2.1.0.**
- **m4ri: update to 20250128.**
- **m4rie: update to 20250128.**
- **brial: rebuild for m4ri-20250128.**
- **eclib: update to 20250122.**
- **singular: update to 4.4.1.**
- **sagemath: rebuild for updates**
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/54198.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sagemath-54198.patch --]
[-- Type: text/x-diff, Size: 63219 bytes --]
From cbbec43ffc26900733ab1f124a6947e28b5d1c8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 10:02:24 -0300
Subject: [PATCH 01/10] flintlib: update to 3.1.3+p1.
---
srcpkgs/flintlib/template | 12 ++++++------
srcpkgs/flintlib/update | 8 +++++---
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
index 465cdf1d0d3f71..7bccdd746a28b6 100644
--- a/srcpkgs/flintlib/template
+++ b/srcpkgs/flintlib/template
@@ -1,7 +1,7 @@
# Template file for 'flintlib'
pkgname=flintlib
-version=3.1.2
-revision=2
+version=3.1.3+p1
+revision=1
build_style=gnu-configure
configure_args="--prefix=/usr --disable-arch $(vopt_with ntl)
$(vopt_if openblas --with-blas-include=${XBPS_CROSS_BASE}/usr/include/openblas)"
@@ -9,11 +9,11 @@ makedepends="mpfr-devel $(vopt_if ntl ntl-devel)
$(vopt_if openblas openblas-devel)"
short_desc="Fast Library for Number Theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
-license="LGPL-2.1-or-later"
+license="LGPL-3.0-or-later"
homepage="https://flintlib.org"
-changelog="https://raw.githubusercontent.com/wbhart/flint2/trunk/NEWS"
-distfiles="https://flintlib.org/flint-${version}.tar.gz"
-checksum=fdb3a431a37464834acff3bdc145f4fe8d0f951dd5327c4c6f93f4cbac5c2700
+changelog="https://raw.githubusercontent.com/flintlib/flint/refs/heads/main/doc/source/history.rst"
+distfiles="https://github.com/flintlib/flint/releases/download/v${version/+/-}/flint-${version/+/-}.tar.xz"
+checksum=8d75df8f2347534bd3245ef6f43cb91e43abd152572c6fe0bfffda55ec014920
build_options="ntl openblas"
desc_option_ntl="enable NTL support"
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
index 21d6ab4bae5b5c..4cdaabc14b20ea 100644
--- a/srcpkgs/flintlib/update
+++ b/srcpkgs/flintlib/update
@@ -1,3 +1,5 @@
-# package was named 'flintlib' because of another package
-pkgname=flint
-site="https://flintlib.org/downloads.html"
+pattern="/archive/refs/tags/v?\K[\d.]+(-(p|rc)[0-9]+)?(?=\.tar\.gz)"
+version=${version/+/.}
+if [[ "$version" != *rc* ]]; then
+ ignore=*rc*
+fi
From 1e5328aadd2e5d43dd223677aed88a33f25f067f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 30 Jan 2025 08:42:56 -0300
Subject: [PATCH 02/10] python3-cysignals: update to 1.12.3.
---
.../patches/216-fix_custom_signal.patch | 54 -------------------
.../patches/222-fix_data_race.patch | 51 ------------------
srcpkgs/python3-cysignals/template | 4 +-
3 files changed, 2 insertions(+), 107 deletions(-)
delete mode 100644 srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
delete mode 100644 srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
diff --git a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch b/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
deleted file mode 100644
index ced6b8732c579c..00000000000000
--- a/srcpkgs/python3-cysignals/patches/216-fix_custom_signal.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/pyproject.toml b/pyproject.toml
-index d30ad23..edcb5c8 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -34,4 +34,4 @@ requires-python = ">=3.9"
-
- [tool.pytest.ini_options]
- addopts = "--doctest-modules --import-mode importlib"
--norecursedirs = "builddir docs example"
-+testpaths = "src tests"
-diff --git a/src/cysignals/implementation.c b/src/cysignals/implementation.c
-index 20a83d0..18b8144 100644
---- a/src/cysignals/implementation.c
-+++ b/src/cysignals/implementation.c
-@@ -591,7 +591,7 @@ static void _sig_on_interrupt_received(void)
- do_raise_exception(cysigs.interrupt_received);
- cysigs.sig_on_count = 0;
- cysigs.interrupt_received = 0;
-- custom_signal_unblock();
-+ custom_set_pending_signal(0);
-
- #if HAVE_SIGPROCMASK
- sigprocmask(SIG_SETMASK, &oldset, NULL);
-diff --git a/tests/test_custom_signals.py b/tests/test_custom_signals.py
-new file mode 100644
-index 0000000..0afc36f
---- /dev/null
-+++ b/tests/test_custom_signals.py
-@@ -0,0 +1,23 @@
-+"""
-+Tests for custom signals.
-+"""
-+
-+import time
-+import pytest
-+
-+def test_clear_pending():
-+ """
-+ Regression test for https://github.com/sagemath/cysignals/pull/216
-+ """
-+
-+ alarm = pytest.importorskip("cysignals.alarm") # n/a on windows
-+ cypari2 = pytest.importorskip("cypari2")
-+
-+ with pytest.raises(alarm.AlarmInterrupt):
-+ alarm.alarm(0.01)
-+ time.sleep(1)
-+
-+ try:
-+ cypari2.Pari()
-+ except alarm.AlarmInterrupt:
-+ pytest.fail("AlarmInterrupt was not cleared")
diff --git a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch b/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
deleted file mode 100644
index c9fdf3885f5c22..00000000000000
--- a/srcpkgs/python3-cysignals/patches/222-fix_data_race.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Taken from https://github.com/sagemath/cysignals/pull/222
-
-diff --git a/src/cysignals/signals.pyx b/src/cysignals/signals.pyx
-index 72f206e..96a99ad 100644
---- a/src/cysignals/signals.pyx
-+++ b/src/cysignals/signals.pyx
-@@ -25,7 +25,7 @@ See ``tests.pyx`` for extensive tests.
-
- from libc.signal cimport *
- from libc.stdio cimport freopen, stdin
--from cpython.ref cimport Py_XINCREF, Py_XDECREF
-+from cpython.ref cimport Py_XINCREF, Py_CLEAR
- from cpython.exc cimport (PyErr_Occurred, PyErr_NormalizeException,
- PyErr_Fetch, PyErr_Restore)
- from cpython.version cimport PY_MAJOR_VERSION
-@@ -204,7 +204,7 @@ cdef int sig_raise_exception "sig_raise_exception"(int sig, const char* msg) exc
- PyErr_Fetch(&typ, &val, &tb)
- PyErr_NormalizeException(&typ, &val, &tb)
- Py_XINCREF(val)
-- Py_XDECREF(cysigs.exc_value)
-+ Py_CLEAR(cysigs.exc_value)
- cysigs.exc_value = val
- PyErr_Restore(typ, val, tb)
-
-@@ -362,8 +362,7 @@ cdef void verify_exc_value() noexcept:
- """
- if cysigs.exc_value.ob_refcnt == 1:
- # No other references => exception is certainly gone
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- if PyErr_Occurred() is not NULL:
-@@ -394,8 +393,7 @@ cdef void verify_exc_value() noexcept:
- pass
- else:
- if <PyObject*>handled is cysigs.exc_value:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
- return
-
- # To be safe, we run the garbage collector because it may clear
-@@ -411,5 +409,4 @@ cdef void verify_exc_value() noexcept:
- # called again during garbage collection it might have already been set
- # to NULL; see https://github.com/sagemath/cysignals/issues/126
- if cysigs.exc_value != NULL and cysigs.exc_value.ob_refcnt == 1:
-- Py_XDECREF(cysigs.exc_value)
-- cysigs.exc_value = NULL
-+ Py_CLEAR(cysigs.exc_value)
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index b2bb20342806b1..e2216146e4c207 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -1,6 +1,6 @@
# Template file for 'python3-cysignals'
pkgname=python3-cysignals
-version=1.12.2
+version=1.12.3
revision=1
build_style=python3-pep517
build_helper=meson
@@ -14,7 +14,7 @@ license="LGPL-3.0-or-later"
homepage="https://github.com/sagemath/cysignals"
changelog="https://github.com/sagemath/cysignals/releases"
distfiles="${PYPI_SITE}/c/cysignals/cysignals-${version}.tar.gz"
-checksum=407db178fb18a91118ca742ede62000b2bee62b617eb49d26fcdad7e9ba2771a
+checksum=89f7626dbf29db5ab3d6eff15a89978f4eb5193c320e9099bcc157dacdefd1eb
# cysignals must be compiled without _FORTIFY_SOURCE
CFLAGS="-U_FORTIFY_SOURCE"
From 1449695a4bfb49f7280c6e265d5e17c21f6965ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:00:12 -0300
Subject: [PATCH 03/10] symmetrica: update to 3.1.0.
---
common/shlibs | 2 +-
srcpkgs/symmetrica/template | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 998affa4304c10..aaa31e3b212707 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4199,7 +4199,7 @@ libgf2x.so.3 gf2x-1.3.0_1
libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
-libsymmetrica.so.2 symmetrica-3.0.1_1
+libsymmetrica.so.3 symmetrica-3.1.0_1
libLfunction.so.1 lcalc-2.0.4_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/symmetrica/template b/srcpkgs/symmetrica/template
index b6b53d3cbf6fe5..f6966e30268b17 100644
--- a/srcpkgs/symmetrica/template
+++ b/srcpkgs/symmetrica/template
@@ -1,15 +1,16 @@
# Template file for 'symmetrica'
pkgname=symmetrica
-version=3.0.1
+version=3.1.0
revision=1
build_style=gnu-configure
-hostmakedepends="automake libtool"
+hostmakedepends="automake libtool pkg-config"
short_desc="Collection of C routines for representation theory"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="ISC"
homepage="https://gitlab.com/sagemath/symmetrica"
+changelog="https://gitlab.com/sagemath/symmetrica/-/releases"
distfiles="https://gitlab.com/sagemath/symmetrica/-/archive/${version}/symmetrica-${version}.tar.bz2"
-checksum=260028143f3ea3594fed75651e10176d2f53edae5e1af1661d5b82d617e233d6
+checksum=46137328f5dfae50167356ed9bcdf0aadef9dcb70553d3788106dc7c5b890ee8
pre_configure() {
autoreconf -fi
@@ -24,7 +25,6 @@ symmetrica-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include
- vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}
From e348d6689e6fe7330c55bbb47fb49c89016142d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 14 Jan 2025 21:14:45 -0300
Subject: [PATCH 04/10] lcalc: update to 2.1.0.
---
common/shlibs | 2 +-
srcpkgs/lcalc/template | 11 ++++++++---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index aaa31e3b212707..9ff6ff161fb410 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4200,7 +4200,7 @@ libntl.so.44 ntl-11.5.1_1
libflint.so.19 flintlib-3.1.0_1
libec.so.14 eclib-20241112_1
libsymmetrica.so.3 symmetrica-3.1.0_1
-libLfunction.so.1 lcalc-2.0.4_1
+libLfunction.so.2 lcalc-2.1.0_1
liblrcalc.so.2 lrcalc-2.1_1
libwayland-client++.so.1 libwaylandpp-1.0.0_1
libwayland-cursor++.so.1 libwaylandpp-1.0.0_1
diff --git a/srcpkgs/lcalc/template b/srcpkgs/lcalc/template
index aaab6d14ead440..71795bbb947a49 100644
--- a/srcpkgs/lcalc/template
+++ b/srcpkgs/lcalc/template
@@ -1,7 +1,7 @@
# Template file for 'lcalc'
pkgname=lcalc
-version=2.0.5
-revision=3
+version=2.1.0
+revision=1
build_style=gnu-configure
configure_args="--with-pari"
hostmakedepends="automake libtool pkg-config gengetopt"
@@ -12,7 +12,12 @@ license="GPL-2.0-or-later"
homepage="https://gitlab.com/sagemath/lcalc"
changelog="https://gitlab.com/sagemath/lcalc/-/raw/master/doc/ChangeLog"
distfiles="https://gitlab.com/sagemath/lcalc/-/archive/${version}/lcalc-${version}.tar.bz2"
-checksum=94efc160a2761de75df534707fd2ec53949c5389296d20ddbac1b285fe26d1ad
+checksum=463f26cc42262a90440fcec95a56cc267f00d6ac9870dfe1f4838359696664d5
+
+case $XBPS_TARGET_MACHINE in
+ # avoid numerical noise caused by extended-precision of registers
+ i686*) CXXFLAGS="-mfpmath=sse -msse2" ;;
+esac
pre_configure() {
autoreconf -fi
From 67e1e126cee1042ddb016ca29220f5b4cefceef8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 2 Jan 2025 22:22:06 -0300
Subject: [PATCH 05/10] m4ri: update to 20250128.
---
common/shlibs | 2 +-
.../m4ri/patches/28-fix-overflow-32bit.patch | 45 +++++++++++++++++++
.../patches/m4ri-simd_cflags_in_tests.patch | 11 -----
srcpkgs/m4ri/template | 21 ++++++---
4 files changed, 60 insertions(+), 19 deletions(-)
create mode 100644 srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch
delete mode 100644 srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
diff --git a/common/shlibs b/common/shlibs
index 9ff6ff161fb410..200d683469a1ea 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4251,7 +4251,7 @@ libpolys-4.4.0.so singular-4.4.0_1
libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
-libm4ri-0.0.20200125.so m4ri-20200125_1
+libm4ri.so.1 m4ri-20250128_1
libm4rie-0.0.20200125.so m4rie-20200125_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
diff --git a/srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch b/srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch
new file mode 100644
index 00000000000000..6ad64573693a63
--- /dev/null
+++ b/srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch
@@ -0,0 +1,45 @@
+From b178ed36bdd841a76b6595edb77631886e099406 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Mon, 3 Feb 2025 17:19:37 -0300
+Subject: [PATCH] Fix overflows in `mzd_init()`
+
+---
+ m4ri/mmc.h | 4 ++++
+ m4ri/mzd.c | 5 ++---
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/m4ri/mmc.h b/m4ri/mmc.h
+index e6db4ca..3e97391 100644
+--- a/m4ri/mmc.h
++++ b/m4ri/mmc.h
+@@ -72,6 +72,10 @@ typedef struct _mm_block {
+ * \return Pointer to allocated memory block.
+ */
+ static inline void *m4ri_mmc_calloc(size_t count, size_t size) {
++ if (size && count > SIZE_MAX/size) {
++ m4ri_die("m4ri_mmc_calloc: overflow in multiplication\n");
++ return NULL; /* unreachable */
++ }
+ size_t total_size = count * size;
+ void *ret = m4ri_mmc_malloc(total_size);
+ memset((char *)ret, 0, total_size);
+diff --git a/m4ri/mzd.c b/m4ri/mzd.c
+index ba04b7c..ac62c5c 100644
+--- a/m4ri/mzd.c
++++ b/m4ri/mzd.c
+@@ -144,13 +144,12 @@ mzd_t *mzd_init(rci_t r, rci_t c) {
+ mzd_t *A = mzd_t_malloc();
+ A->nrows = r;
+ A->ncols = c;
+- A->width = (c + m4ri_radix - 1) / m4ri_radix;
++ A->width = c > 0 ? (c - 1) / m4ri_radix + 1 : 0;
+ A->rowstride = ((A->width & 1) == 0) ? A->width : A->width + 1;
+ A->high_bitmask = __M4RI_LEFT_BITMASK(c % m4ri_radix);
+ A->flags = (A->high_bitmask != m4ri_ffff) ? mzd_flag_nonzero_excess : 0;
+ if (r && c) {
+- size_t block_words = r * A->rowstride;
+- A->data = m4ri_mmc_calloc(block_words, sizeof(word));
++ A->data = m4ri_mmc_calloc(r, sizeof(word) * A->rowstride);
+ } else {
+ A->data = NULL;
+ }
diff --git a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch b/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
deleted file mode 100644
index ffa64b120fc28f..00000000000000
--- a/srcpkgs/m4ri/patches/m4ri-simd_cflags_in_tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/Makefile.in 2020-01-25 01:34:59.000000000 -0300
-+++ b/tests/Makefile.in 2021-11-10 08:13:46.505793446 -0300
-@@ -609,7 +609,7 @@
- TOPBUILDDIR = $(builddir)/..
- DEFINES =
- # include TOPBUILDIR for m4ri_config.h
--AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@
-+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) $(SIMD_CFLAGS) $(OPENMP_CFLAGS) $(PAPI_CFLAGS)
- STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
- AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
- test_smallops_SOURCES = test_smallops.c testing.c testing.h
diff --git a/srcpkgs/m4ri/template b/srcpkgs/m4ri/template
index 56e60ed16f5998..2d7041d9591440 100644
--- a/srcpkgs/m4ri/template
+++ b/srcpkgs/m4ri/template
@@ -1,17 +1,24 @@
# Template file for 'm4ri'
pkgname=m4ri
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
-configure_args="--enable-openmp ax_cv_have_sse3_ext=no ax_cv_have_ssse3_ext=no"
+# use defaults for cache sizes instead of build machine
+configure_args="--enable-openmp --with-cachesize=0:0:0"
hostmakedepends="pkg-config"
makedepends="libgomp-devel libpng-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2)"
-maintainer="Eloi Torrents <eloitorrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4ri"
-distfiles="https://bitbucket.org/malb/m4ri/downloads/${pkgname}-${version}.tar.gz"
-checksum=0dfb34aed351882a0f2281535ea6f81c690a5efeb14edab131d9ba0dffe44863
+homepage="https://github.com/malb/m4ri"
+changelog="https://github.com/malb/m4ri#history"
+distfiles="https://github.com/malb/m4ri/releases/download/${version}/m4ri-${version}.tar.gz"
+checksum=b4098db651483c0e1506c16f79091eba02f41dadbacf1bb25be8eb97e5515f96
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4ri-devel_package() {
short_desc+=" - development files"
From e95700a705a125d78929170729dc0c952d227e29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 00:50:12 -0300
Subject: [PATCH 06/10] m4rie: update to 20250128.
---
common/shlibs | 2 +-
srcpkgs/m4rie/template | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 200d683469a1ea..a4346a49d697d2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4252,7 +4252,7 @@ libsingular_resources-4.4.0.so singular-4.4.0_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
-libm4rie-0.0.20200125.so m4rie-20200125_1
+libm4rie.so.1 m4rie-20250128_1
libptytty.so.0 libptytty-2.0_1
libcoeurl.so.0.3 coeurl-0.3.0_1
libKPim6PkPass.so.6 kpkpass-24.02.0_1
diff --git a/srcpkgs/m4rie/template b/srcpkgs/m4rie/template
index 0e775df1dc1ce0..f327a02526a0b4 100644
--- a/srcpkgs/m4rie/template
+++ b/srcpkgs/m4rie/template
@@ -1,19 +1,26 @@
# Template file for 'm4rie'
pkgname=m4rie
-version=20200125
-revision=2
+version=20250128
+revision=1
build_style=gnu-configure
+hostmakedepends="pkg-config"
makedepends="m4ri-devel"
short_desc="Library for fast arithmetic with dense matrices over GF(2^e)"
-maintainer="Eloi Torrents <eloi.torrentsj@gmail.com>"
+maintainer="Eloi Torrents <eloitor@duck.com>"
license="GPL-2.0-or-later"
-homepage="https://bitbucket.org/malb/m4rie/wiki/Home"
-distfiles="https://bitbucket.org/malb/m4rie/downloads/m4rie-${version}.tar.gz"
-checksum=7f3107f7cd10f6c22d9663d9536e1af2f551e10183601852a60d760918caf58d
+homepage="https://github.com/malb/m4rie"
+changelog="https://github.com/malb/m4rie#history"
+distfiles="https://github.com/malb/m4rie/releases/download/${version}/m4rie-${version}.tar.gz"
+checksum=96f1adafd50e6a0b51dc3aa1cb56cb6c1361ae7c10d97dc35c3fa70822a55bd7
+
+pre_check() {
+ # the testsuite is very slow when run in parallel!
+ unset makejobs
+}
m4rie-devel_package() {
short_desc+=" - development files"
- depends="${sourcepkg}>=${version}_${revision}"
+ depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
From af0ef78fc9a6478b751f17b58b8b9a71e43768cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 14:53:06 -0300
Subject: [PATCH 07/10] brial: rebuild for m4ri-20250128.
---
srcpkgs/brial/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/brial/template b/srcpkgs/brial/template
index 2f8e195a8804ba..3fee9468bdc86d 100644
--- a/srcpkgs/brial/template
+++ b/srcpkgs/brial/template
@@ -1,7 +1,7 @@
# Template file for 'brial'
pkgname=brial
version=1.2.12
-revision=1
+revision=2
build_style=gnu-configure
hostmakedepends="pkg-config"
makedepends="boost-devel m4ri-devel"
From f775b973af72a285c3eefa32bbb8c23d4c33e8ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 23 Jan 2025 00:49:42 -0300
Subject: [PATCH 08/10] eclib: update to 20250122.
---
srcpkgs/eclib/patches/fix-32bit-modrat.patch | 15 ---------------
srcpkgs/eclib/template | 6 +++---
2 files changed, 3 insertions(+), 18 deletions(-)
delete mode 100644 srcpkgs/eclib/patches/fix-32bit-modrat.patch
diff --git a/srcpkgs/eclib/patches/fix-32bit-modrat.patch b/srcpkgs/eclib/patches/fix-32bit-modrat.patch
deleted file mode 100644
index 14988e0a793fa5..00000000000000
--- a/srcpkgs/eclib/patches/fix-32bit-modrat.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-new_modrat is broken on 32 bit, revert to old_modrat
-
---- a/libsrc/arith.cc
-+++ b/libsrc/arith.cc
-@@ -429,8 +430,8 @@ int new_modrat(long n, long m, long& a, long& b);
-
- int modrat(long n, long m, long& a, long& b)
- {
-- // return old_modrat(n, m, a, b);
-- return new_modrat(n, m, a, b);
-+ return old_modrat(n, m, a, b);
-+ //return new_modrat(n, m, a, b);
- }
-
- int old_modrat(long n, long m, long& a, long& b)
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 75fd264f57be5a..86294212ae64a9 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
# Template file for 'eclib'
pkgname=eclib
-version=20241112
+version=20250122
revision=1
build_style=gnu-configure
configure_args="--with-flint --with-boost"
@@ -10,8 +10,8 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="GPL-2.0-or-later"
homepage="https://github.com/JohnCremona/eclib"
changelog="https://github.com/JohnCremona/eclib/releases"
-distfiles="https://github.com/JohnCremona/eclib/releases/download/v${version}/eclib-${version}.tar.bz2"
-checksum=30765c27ca1420141f83517897119d0185fea9b31132392170ddae40b060e46f
+distfiles="https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2"
+checksum=9f8c2b32e24a4f20d7cc2d336ea30c8ea03b5b0953c2d32adda0c496e7616899
eclib-devel_package() {
depends="${sourcepkg}>=${version}_${revision} ntl-devel"
From cce94d8ef215cdc826466926a5a7a7394bfe20c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 21 Jan 2025 20:11:14 -0300
Subject: [PATCH 09/10] singular: update to 4.4.1.
---
common/shlibs | 8 ++++----
srcpkgs/singular/template | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index a4346a49d697d2..d402931a0fe9a4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4245,10 +4245,10 @@ libecl.so.24.5 ecl-24.5.10_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
-libSingular-4.4.0.so singular-4.4.0_1
-libfactory-4.4.0.so singular-4.4.0_1
-libpolys-4.4.0.so singular-4.4.0_1
-libsingular_resources-4.4.0.so singular-4.4.0_1
+libSingular-4.4.1.so singular-4.4.1_1
+libfactory-4.4.1.so singular-4.4.1_1
+libpolys-4.4.1.so singular-4.4.1_1
+libsingular_resources-4.4.1.so singular-4.4.1_1
libbrial.so.3 brial-1.2.10_1
libbrial_groebner.so.3 brial-1.2.10_1
libm4ri.so.1 m4ri-20250128_1
diff --git a/srcpkgs/singular/template b/srcpkgs/singular/template
index aa4899c7bdaab9..310b5a08ec064a 100644
--- a/srcpkgs/singular/template
+++ b/srcpkgs/singular/template
@@ -1,6 +1,6 @@
# Template file for 'singular'
pkgname=singular
-version=4.4.0
+version=4.4.1
revision=1
_majver=${version%p*}
build_style=gnu-configure
@@ -20,7 +20,7 @@ maintainer="dkwo <npiazza@disroot.org>, Gonzalo Tornaría <tornaria@cmat.edu.uy>
license="GPL-2.0-or-later"
homepage="https://www.singular.uni-kl.de"
distfiles="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${_majver//./-}/singular-${version}.tar.gz"
-checksum=c269abbd24c84fe33edc0af1e78b8fec53d8e94338410ac06c2666cfd40d43f2
+checksum=6a4fbaaed05b89c35bff3b1c5e124344a088097f81affe129c9ae619b282b49b
if [ -z "$CROSS_BUILD" ]; then
makedepends+=" ntl-devel"
From 8e74d956a9e0babb4e77f8b441fe5f42541c6b56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 3 Jan 2025 15:08:10 -0300
Subject: [PATCH 10/10] sagemath: rebuild for updates
changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
---
.../patches/39368-singular_4.4.1.patch | 715 ++++++++++++++++++
srcpkgs/sagemath/patches/get_patches | 3 +-
srcpkgs/sagemath/template | 2 +-
3 files changed, 718 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
diff --git a/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
new file mode 100644
index 00000000000000..aba16fa1d7ae75
--- /dev/null
+++ b/srcpkgs/sagemath/patches/39368-singular_4.4.1.patch
@@ -0,0 +1,715 @@
+diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py
+index a2b5e910257..17f059f967f 100644
+--- a/src/sage/categories/pushout.py
++++ b/src/sage/categories/pushout.py
+@@ -3925,8 +3925,8 @@ class BlackBoxConstructionFunctor(ConstructionFunctor):
+ sage: FS = BlackBoxConstructionFunctor(singular)
+ sage: FS(QQ['t']) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names t
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
+index 91f8efcf651..ff424335d56 100644
+--- a/src/sage/interfaces/expect.py
++++ b/src/sage/interfaces/expect.py
+@@ -1328,8 +1328,8 @@ def _synchronize(self, cmd='1+%s;\n'):
+ sage: R.<x> = QQ[]; f = x^3 + x + 1; g = x^3 - x - 1; r = f.resultant(g); gap(ZZ); singular(R)
+ Integers
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
+index bd1095e8c70..22fb4b8487c 100644
+--- a/src/sage/interfaces/interface.py
++++ b/src/sage/interfaces/interface.py
+@@ -817,8 +817,8 @@ def __reduce__(self):
+ sage: S = singular.ring(0, ('x'))
+ sage: loads(dumps(S))
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index d110c17bf16..59d01f4493d 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -39,8 +39,8 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -220,12 +220,12 @@
+
+ sage: singular.lib('polylib.lib')
+ sage: singular.ring(32003, '(a,b,c,d,e,f)', 'lp')
+- polynomial ring, over a field, global ordering
+- // coefficients: ZZ/32003
+- // number of vars : 6
+- // block 1 : ordering lp
+- // : names a b c d e f
+- // block 2 : ordering C
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/32003...
++ // number of vars : 6
++ // block 1 : ordering lp
++ // : names a b c d e f
++ // block 2 : ordering C
+ sage: I = singular.ideal('cyclic(6)')
+ sage: g = singular('groebner(I)')
+ Traceback (most recent call last):
+@@ -1074,8 +1074,8 @@ def ring(self, char=0, vars='(x)', order='lp', check=None):
+ sage: R = singular.ring(0, '(x,y,z)', 'dp')
+ sage: R
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1153,16 +1153,16 @@ def set_ring(self, R):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: singular.set_ring(R)
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+@@ -1203,15 +1203,15 @@ def current_ring(self):
+ sage: r = PolynomialRing(GF(127),3,'xyz', order='invlex')
+ sage: r._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 3
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // 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
++ // coefficients: ZZ/127...
++ // number of vars : 3
+ // block 1 : ordering ip
+ // : names x y z
+ // block 2 : ordering C
+@@ -1430,8 +1430,8 @@ def __copy__(self):
+ sage: cpQ.set_ring()
+ sage: cpQ
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1996,8 +1996,8 @@ def _sage_(self, R=None):
+
+ sage: singular('basering')
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 3
++ // coefficients: ZZ...
++ // number of vars : 3
+ // block 1 : ordering lp
+ // : names x y z
+ // block 2 : ordering C
+@@ -2087,16 +2087,16 @@ def set_ring(self):
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
+- // number of vars : 2
++ // coefficients: Float()...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+ // block 2 : ordering C
+ sage: R.set_ring()
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // coefficients: ZZ/7
+- // number of vars : 2
++ // coefficients: ZZ/7...
++ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index 67cadf5d35c..87f0b7bab69 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -276,8 +276,8 @@ cdef class RingWrap:
+ sage: l = ringlist(P)
+ sage: ring = singular_function("ring")
+ sage: ring(l, ring=P)._output()
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+diff --git a/src/sage/libs/singular/ring.pyx b/src/sage/libs/singular/ring.pyx
+index 1d8dd844385..4f7e288e2ad 100644
+--- a/src/sage/libs/singular/ring.pyx
++++ b/src/sage/libs/singular/ring.pyx
+@@ -159,8 +159,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: ZZ/7(a, b)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: ZZ/7(a, b)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+
+ ::
+
+@@ -168,8 +173,13 @@ cdef ring *singular_ring_new(base_ring, n, names, term_order) except NULL:
+ sage: R.<x,y,z> = F[]
+ sage: from sage.libs.singular.function import singular_function
+ sage: sing_print = singular_function('print')
+- sage: sing_print(R)
+- 'polynomial ring, over a field, global ordering\n// coefficients: QQ(s, t)\n// number of vars : 3\n// block 1 : ordering dp\n// : names x y z\n// block 2 : ordering C'
++ sage: print(sing_print(R))
++ polynomial ring, over a field, global ordering
++ // coefficients: QQ(s, t)...
++ // number of vars : 3
++ // block 1 : ordering dp
++ // : names x y z
++ // block 2 : ordering C
+ """
+ cdef long cexponent
+ cdef GFInfo* _param
+diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+index adf3df1cf95..bab5935004b 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
++++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+@@ -619,8 +619,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1182,8 +1182,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1198,8 +1198,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = PolynomialRing(k, 3) # needs sage.rings.finite_rings
+ sage: P._singular_() # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/3[a]/(a^3-a+1)
+- // number of vars : 3
++ // coefficients: ZZ/3[a]/(a^3-a+1)...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1215,8 +1215,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1257,8 +1257,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 3
++ // coefficients: QQ...
++ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+ // block 2 : ordering C
+@@ -1272,8 +1272,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R.<x,y> = PolynomialRing(NumberField(w^2 + 1,'s')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 2
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1281,8 +1281,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(2**8,'a'),10,'x', order='invlex') # needs sage.rings.finite_rings
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
+- // number of vars : 10
++ // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)...
++ // number of vars : 10
+ // block 1 : ordering ip
+ // : names x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
+ // block 2 : ordering C
+@@ -1290,8 +1290,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 2
++ // coefficients: ZZ/127...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1299,8 +1299,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='invlex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering ip
+ // : names x0 x1
+ // block 2 : ordering C
+@@ -1308,8 +1308,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,2,'x', order='degneglex')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1320,8 +1320,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1329,8 +1329,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = PolynomialRing(GF(127),'x')
+ sage: singular(R) # needs sage.rings.finite_rings
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -1338,8 +1338,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1347,8 +1347,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1356,8 +1356,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.rings.function_field
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -1367,8 +1367,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
+ sage: P.<x> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/pbori/pbori.pyx b/src/sage/rings/polynomial/pbori/pbori.pyx
+index 14a929c3238..404771a2c85 100644
+--- a/src/sage/rings/polynomial/pbori/pbori.pyx
++++ b/src/sage/rings/polynomial/pbori/pbori.pyx
+@@ -1425,8 +1425,8 @@ cdef class BooleanPolynomialRing(BooleanPolynomialRing_base):
+ sage: B.<x,y> = BooleanPolynomialRing(2)
+ sage: B._singular_() # indirect doctest
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+index 115647adadf..627765cf8f0 100644
+--- a/src/sage/rings/polynomial/polynomial_quotient_ring.py
++++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py
+@@ -749,8 +749,8 @@ def _singular_init_(self, S=None):
+ sage: Q = P.quo([(x^2 + 1)])
+ sage: singular(Q) # indirect doctest # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names xbar
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
+index 60d2dd74b52..10bbc6d6ec0 100644
+--- a/src/sage/rings/polynomial/polynomial_singular_interface.py
++++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
+@@ -62,7 +62,7 @@ def _do_singular_init_(singular, base_ring, char, _vars, order):
+ sage: from sage.rings.polynomial.polynomial_singular_interface import _do_singular_init_
+ sage: _do_singular_init_(singular, ZZ, 0, 'X', 'dp') # needs sage.libs.singular
+ (polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering dp
+ // : names X
+@@ -196,7 +196,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(CC) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
++ // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -205,7 +205,7 @@ def _singular_(self, singular=None):
+ sage: R.<x,y> = PolynomialRing(RealField(100)) # needs sage.rings.real_mpfr
+ sage: singular(R) # needs sage.libs.singular sage.rings.real_mpfr
+ polynomial ring, over a field, global ordering
+- // coefficients: Float()
++ // coefficients: Float()...
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -215,8 +215,8 @@ def _singular_(self, singular=None):
+ sage: R.<x> = PolynomialRing(NumberField(w^2 + 1, 's')) # needs sage.rings.number_field
+ sage: singular(R) # needs sage.libs.singular sage.rings.number_field
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ[s]/(s^2+1)
+- // number of vars : 1
++ // coefficients: QQ[s]/(s^2+1)...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -224,8 +224,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -233,8 +233,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ, 'x', implementation='singular') # needs sage.libs.singular
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering dp
+ // : names x
+ // block 2 : ordering C
+@@ -242,8 +242,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -251,8 +251,8 @@ def _singular_(self, singular=None):
+ sage: R = PolynomialRing(GF(127), 'x')
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 1
++ // coefficients: ZZ/127...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+ // block 2 : ordering C
+@@ -260,8 +260,8 @@ def _singular_(self, singular=None):
+ sage: R = Frac(ZZ['a,b'])['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ(a, b)
+- // number of vars : 2
++ // coefficients: QQ(a, b)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -270,8 +270,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/(2^10)
+- // number of vars : 2
++ // coefficients: ZZ/(2^10)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -279,8 +279,8 @@ def _singular_(self, singular=None):
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coefficients: ZZ/...(15)
+- // number of vars : 2
++ // coefficients: ZZ/(15)...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -288,8 +288,8 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x,y']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
+- // number of vars : 2
++ // coefficients: ZZ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+@@ -297,7 +297,7 @@ def _singular_(self, singular=None):
+ sage: R = ZZ['x']
+ sage: singular(R) # needs sage.libs.singular
+ polynomial ring, over a domain, global ordering
+- // coefficients: ZZ
++ // coefficients: ZZ...
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -310,8 +310,8 @@ def _singular_(self, singular=None):
+ sage: S = K['y']
+ sage: singular(S) # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/5(x)
+- // number of vars : 2
++ // coefficients: ZZ/5(x)...
++ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a y
+ // block 2 : ordering C
+@@ -353,8 +353,8 @@ def _singular_init_(self, singular=None):
+
+ sage: PolynomialRing(QQ,'u_ba')._singular_init_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 1
++ // coefficients: QQ...
++ // number of vars : 1
+ // block 1 : ordering lp
+ // : names u_ba
+ // block 2 : ordering C
+diff --git a/src/sage/rings/polynomial/term_order.py b/src/sage/rings/polynomial/term_order.py
+index a88568248ce..f8ddd0a9652 100644
+--- a/src/sage/rings/polynomial/term_order.py
++++ b/src/sage/rings/polynomial/term_order.py
+@@ -660,7 +660,7 @@ def __init__(self, name='lex', n=0, force=False):
+ sage: R.<x,y,z> = PolynomialRing(QQ, order=T)
+ sage: R._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -676,7 +676,7 @@ def __init__(self, name='lex', n=0, force=False):
+ False
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 3
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -1661,8 +1661,8 @@ def singular_str(self):
+ '(lp(3),Dp(5),lp(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/127
+- // number of vars : 10
++ // coefficients: ZZ/127...
++ // number of vars : 10
+ // block 1 : ordering lp
+ // : names x0 x1 x2
+ // block 2 : ordering Dp
+@@ -1687,8 +1687,8 @@ def singular_str(self):
+ '(a(1:2),ls(2),a(1:2),ls(2))'
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 4
++ // coefficients: QQ...
++ // number of vars : 4
+ // block 1 : ordering a
+ // : names x0 x1
+ // : weights 1 1
+@@ -1709,7 +1709,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='x', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering a
+@@ -1727,7 +1727,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='y', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering a
+@@ -1745,7 +1745,7 @@ def singular_str(self):
+ sage: P = PolynomialRing(QQ, 4, names='z', order=T)
+ sage: P._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering a
+ // : names z0 z1
+@@ -2183,7 +2183,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(C,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering C
+ // block 2 : ordering dp
+@@ -2201,7 +2201,7 @@ def termorder_from_singular(S):
+ sage: # needs sage.libs.singular
+ sage: singular.ring(0, '(x,y,z,w)', '(c,dp(2),lp(2))')
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
++ // coefficients: QQ...
+ // number of vars : 4
+ // block 1 : ordering c
+ // block 2 : ordering dp
+diff --git a/src/sage/rings/quotient_ring.py b/src/sage/rings/quotient_ring.py
+index 1043333a63e..45f8147cde9 100644
+--- a/src/sage/rings/quotient_ring.py
++++ b/src/sage/rings/quotient_ring.py
+@@ -1268,8 +1268,8 @@ def _singular_(self, singular=None):
+ sage: S = R.quotient_ring(x^2 + y^2)
+ sage: S._singular_() # needs sage.libs.singular
+ polynomial ring, over a field, global ordering
+- // coefficients: QQ
+- // number of vars : 2
++ // coefficients: QQ...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
+diff --git a/src/sage/rings/quotient_ring_element.py b/src/sage/rings/quotient_ring_element.py
+index 6699ae9f74b..9f05c54f21c 100644
+--- a/src/sage/rings/quotient_ring_element.py
++++ b/src/sage/rings/quotient_ring_element.py
+@@ -813,8 +813,8 @@ def _singular_(self, singular=None):
+ sage: Q = P.quo(I)
+ sage: Q._singular_()
+ polynomial ring, over a field, global ordering
+- // coefficients: ZZ/2
+- // number of vars : 2
++ // coefficients: ZZ/2...
++ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+ // block 2 : ordering C
diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches
index 571d8939163695..c617fe7e216c57 100755
--- a/srcpkgs/sagemath/patches/get_patches
+++ b/srcpkgs/sagemath/patches/get_patches
@@ -1,6 +1,6 @@
#! /bin/sh
-version=10.4
+version=10.5
URL_BASE_PR="https://github.com/sagemath/sage/pull/"
URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/${version}..."
@@ -42,6 +42,7 @@ get_pr 38749 "pari 2.17"
get_pr 38962 "eclib 20241112"
get_pr 39178 "giac 1.9.0.998"
get_pr 39261 "scipy 1.15"
+get_pr 39368 "singular 4.4.1"
get_pr 38940 "fix flaky simplicial set test"
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 82b7e6deae951a..44706ee35410e1 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
# Template file for 'sagemath'
pkgname=sagemath
version=10.5
-revision=1
+revision=2
_pypi_version=${version/.beta/b}
_pypi_version=${_pypi_version/.rc/rc}
build_style=python3-pep517
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
` (2 preceding siblings ...)
2025-02-04 17:34 ` tornaria
@ 2025-02-04 17:39 ` tornaria
2025-02-05 9:55 ` [PR PATCH] [Merged]: " leahneukirchen
2025-02-08 16:39 ` dkwo
5 siblings, 0 replies; 7+ messages in thread
From: tornaria @ 2025-02-04 17:39 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 310 bytes --]
New comment by tornaria on void-packages repository
https://github.com/void-linux/void-packages/pull/54198#issuecomment-2634645359
Comment:
@leahneukirchen this is good to go, I've been using these for a while. The last force-push was only to squash the m4ri fix for i686 (which is already merged upstream).
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PR PATCH] [Merged]: sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
` (3 preceding siblings ...)
2025-02-04 17:39 ` tornaria
@ 2025-02-05 9:55 ` leahneukirchen
2025-02-08 16:39 ` dkwo
5 siblings, 0 replies; 7+ messages in thread
From: leahneukirchen @ 2025-02-05 9:55 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1424 bytes --]
There's a merged pull request on the void-packages repository
sagemath: update dependencies
https://github.com/void-linux/void-packages/pull/54198
Description:
Rebuild sagemath for changed sonames: symmetrica, lcalc, m4ri, m4rie, brial, singular
- **flintlib: update to 3.1.3+p1.**
- **python3-cysignals: update to 1.12.3.**
- **symmetrica: update to 3.1.0.**
- **lcalc: update to 2.1.0.**
- **m4ri: update to 20250128.**
- **m4rie: update to 20250128.**
- **brial: rebuild for m4ri-20250128.**
- **eclib: update to 20250122.**
- **singular: update to 4.4.1.**
- **sagemath: rebuild for updates**
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: sagemath: update dependencies
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
` (4 preceding siblings ...)
2025-02-05 9:55 ` [PR PATCH] [Merged]: " leahneukirchen
@ 2025-02-08 16:39 ` dkwo
5 siblings, 0 replies; 7+ messages in thread
From: dkwo @ 2025-02-08 16:39 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 489 bytes --]
New comment by dkwo on void-packages repository
https://github.com/void-linux/void-packages/pull/54198#issuecomment-2645834615
Comment:
sorry for the delay. all builds and checks fine on aarch64.
just one remark: to make a few doctests pass (6, all related to ipython
notebook) from installed sage, i had to install the checkdepends as well.
if this is already the case, it could be a reason to drop more makedepends
from depends, such as compilers and devel stuff, as we discussed.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-02-08 16:39 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-03 13:24 [PR PATCH] sagemath: update dependencies tornaria
2025-02-03 17:31 ` tornaria
2025-02-03 20:11 ` [PR PATCH] [Updated] " tornaria
2025-02-04 17:34 ` tornaria
2025-02-04 17:39 ` tornaria
2025-02-05 9:55 ` [PR PATCH] [Merged]: " leahneukirchen
2025-02-08 16:39 ` dkwo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).