summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/4ti2/4ti2-1.6.10.ebuild47
-rw-r--r--sci-mathematics/4ti2/Manifest2
-rw-r--r--sci-mathematics/4ti2/files/4ti2-1.6.10-slibtool.patch78
-rw-r--r--sci-mathematics/acl2/Manifest1
-rw-r--r--sci-mathematics/acl2/acl2-8.5-r2.ebuild92
-rw-r--r--sci-mathematics/acl2/acl2-8.5_p20240307-r1.ebuild (renamed from sci-mathematics/acl2/acl2-8.5_p20240307.ebuild)5
-rw-r--r--sci-mathematics/alectryon/alectryon-1.4.0-r2.ebuild4
-rw-r--r--sci-mathematics/alt-ergo/alt-ergo-2.4.3-r2.ebuild4
-rw-r--r--sci-mathematics/cadical/cadical-2.0.0.ebuild4
-rw-r--r--sci-mathematics/clipper2/clipper2-1.4.0.ebuild4
-rw-r--r--sci-mathematics/coq/Manifest1
-rw-r--r--sci-mathematics/coq/coq-8.17.1.ebuild122
-rw-r--r--sci-mathematics/coq/coq-8.19.2.ebuild4
-rw-r--r--sci-mathematics/coq/coq-8.20.0.ebuild4
-rw-r--r--sci-mathematics/easycrypt/Manifest2
-rw-r--r--sci-mathematics/easycrypt/easycrypt-2025.02.ebuild (renamed from sci-mathematics/easycrypt/easycrypt-2024.01-r1.ebuild)6
-rw-r--r--sci-mathematics/eclib/Manifest2
-rw-r--r--sci-mathematics/eclib/eclib-20250122.ebuild (renamed from sci-mathematics/eclib/eclib-20241112.ebuild)6
-rw-r--r--sci-mathematics/flint/flint-3.1.3_p1-r3.ebuild (renamed from sci-mathematics/flint/flint-3.1.3_p1-r2.ebuild)2
-rw-r--r--sci-mathematics/flocq/Manifest1
-rw-r--r--sci-mathematics/flocq/flocq-4.2.1.ebuild39
-rw-r--r--sci-mathematics/geogebra-bin/metadata.xml4
-rw-r--r--sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch13
-rw-r--r--sci-mathematics/gfan/gfan-0.6.2-r4.ebuild80
-rw-r--r--sci-mathematics/giac/Manifest1
-rw-r--r--sci-mathematics/giac/files/giac-1.6.0-pari-2.11.patch17
-rw-r--r--sci-mathematics/giac/files/giac-1.9.0.995-dont-call-g++.patch29
-rw-r--r--sci-mathematics/giac/giac-1.9.0.29-r1.ebuild172
-rw-r--r--sci-mathematics/giac/giac-1.9.0.995-r2.ebuild (renamed from sci-mathematics/giac/giac-1.9.0.995-r1.ebuild)7
-rw-r--r--sci-mathematics/glpk/glpk-5.0-r1.ebuild101
-rw-r--r--sci-mathematics/glpk/glpk-5.0-r3.ebuild4
-rw-r--r--sci-mathematics/gmp-ecm/Manifest1
-rw-r--r--sci-mathematics/gmp-ecm/gmp-ecm-7.0.6-r1.ebuild60
-rw-r--r--sci-mathematics/lcalc/Manifest1
-rw-r--r--sci-mathematics/lcalc/lcalc-2.1.0.ebuild36
-rw-r--r--sci-mathematics/lean/Manifest3
-rw-r--r--sci-mathematics/lean/files/lean-3.50.3-gcc-13.patch10
-rw-r--r--sci-mathematics/lean/files/lean-4.14.0-src-cmakelists.patch23
-rw-r--r--sci-mathematics/lean/files/lean-CMakeLists-fix_flags.patch23
-rw-r--r--sci-mathematics/lean/lean-3.51.1.ebuild80
-rw-r--r--sci-mathematics/lean/lean-4.14.0-r1.ebuild (renamed from sci-mathematics/lean/lean-4.2.0.ebuild)33
-rw-r--r--sci-mathematics/lean/metadata.xml11
-rw-r--r--sci-mathematics/manifold/Manifest1
-rw-r--r--sci-mathematics/manifold/manifold-3.0.0_pre20241115.ebuild4
-rw-r--r--sci-mathematics/manifold/manifold-3.0.1.ebuild83
-rw-r--r--sci-mathematics/manifold/metadata.xml3
-rw-r--r--sci-mathematics/mathlib-tools/Manifest1
-rw-r--r--sci-mathematics/mathlib-tools/files/mathlib-tools-1.3.2-pull-131.patch84
-rw-r--r--sci-mathematics/mathlib-tools/mathlib-tools-1.3.2_p1.ebuild56
-rw-r--r--sci-mathematics/mathlib-tools/metadata.xml20
-rw-r--r--sci-mathematics/octave/Manifest1
-rw-r--r--sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch22
-rw-r--r--sci-mathematics/octave/metadata.xml1
-rw-r--r--sci-mathematics/octave/octave-8.3.0-r2.ebuild241
-rw-r--r--sci-mathematics/octave/octave-9.2.0-r1.ebuild4
-rw-r--r--sci-mathematics/pari/Manifest1
-rw-r--r--sci-mathematics/pari/files/pari-2.17.1-gcc15-swap-conflict.patch53
-rw-r--r--sci-mathematics/pari/pari-2.17.1.ebuild139
-rw-r--r--sci-mathematics/primesieve/primesieve-12.3.ebuild4
-rw-r--r--sci-mathematics/prover9/files/LADR-2009-11A-c99.patch25
-rw-r--r--sci-mathematics/prover9/files/LADR-2009-11A-stable-ordering.patch91
-rw-r--r--sci-mathematics/prover9/prover9-2009.11a-r2.ebuild (renamed from sci-mathematics/prover9/prover9-2009.11a-r1.ebuild)9
-rw-r--r--sci-mathematics/psmt2-frontend/psmt2-frontend-0.4.0.ebuild4
-rw-r--r--sci-mathematics/singular/Manifest1
-rw-r--r--sci-mathematics/singular/files/singular-4.3.2_p16-lto.patch18
-rw-r--r--sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch180
-rw-r--r--sci-mathematics/singular/singular-4.3.2_p16-r1.ebuild116
-rw-r--r--sci-mathematics/sympow/Manifest1
-rw-r--r--sci-mathematics/sympow/sympow-2.023.6.ebuild43
-rw-r--r--sci-mathematics/sympow/sympow-2.023.7.ebuild2
-rw-r--r--sci-mathematics/why3-for-spark/Manifest1
-rw-r--r--sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-flags.patch28
-rw-r--r--sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-spark.patch11
-rw-r--r--sci-mathematics/why3-for-spark/metadata.xml3
-rw-r--r--sci-mathematics/why3-for-spark/why3-for-spark-2021-r1.ebuild2
-rw-r--r--sci-mathematics/why3-for-spark/why3-for-spark-2023.12.13-r2.ebuild131
-rw-r--r--sci-mathematics/why3/Manifest1
-rw-r--r--sci-mathematics/why3/why3-1.6.0.ebuild4
-rw-r--r--sci-mathematics/why3/why3-1.7.2.ebuild2
-rw-r--r--sci-mathematics/why3/why3-1.8.0.ebuild134
-rw-r--r--sci-mathematics/wxmaxima/Manifest4
-rw-r--r--sci-mathematics/wxmaxima/wxmaxima-24.11.0.ebuild (renamed from sci-mathematics/wxmaxima/wxmaxima-24.08.0.ebuild)0
-rw-r--r--sci-mathematics/wxmaxima/wxmaxima-25.01.0.ebuild (renamed from sci-mathematics/wxmaxima/wxmaxima-24.02.1.ebuild)7
-rw-r--r--sci-mathematics/yacas/yacas-1.9.1-r2.ebuild (renamed from sci-mathematics/yacas/yacas-1.9.1-r1.ebuild)28
-rw-r--r--sci-mathematics/yafu/files/yafu-1.34.3-Makefile.patch11
-rw-r--r--sci-mathematics/yafu/files/yafu-1.34.3-fix-makefiles.patch75
-rw-r--r--sci-mathematics/yafu/files/yafu-1.34.3-mpz_set.patch14
-rw-r--r--sci-mathematics/yafu/yafu-1.34.3-r1.ebuild57
-rw-r--r--sci-mathematics/yafu/yafu-1.34.3-r2.ebuild51
-rw-r--r--sci-mathematics/z3/Manifest3
-rw-r--r--sci-mathematics/z3/z3-4.13.4.ebuild (renamed from sci-mathematics/z3/z3-4.13.3.ebuild)2
-rw-r--r--sci-mathematics/z3/z3-4.14.0.ebuild107
92 files changed, 1488 insertions, 1535 deletions
diff --git a/sci-mathematics/4ti2/4ti2-1.6.10.ebuild b/sci-mathematics/4ti2/4ti2-1.6.10.ebuild
new file mode 100644
index 000000000000..580a2eadbe87
--- /dev/null
+++ b/sci-mathematics/4ti2/4ti2-1.6.10.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Software package for algebraic, geometric and combinatorial problems"
+HOMEPAGE="https://4ti2.github.io"
+SRC_URI="https://github.com/4ti2/4ti2/releases/download/Release_${PV//./_}/${P}.tar.gz
+ https://dev.gentoo.org/~mjo/distfiles/${P}-musl.patch.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sci-mathematics/glpk:=[gmp]
+ dev-libs/gmp:0=[cxx(+)]"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-slibtool.patch"
+ "${WORKDIR}/${P}-musl.patch"
+)
+
+src_prepare() {
+ default
+
+ # The swig subdir is not used on Gentoo, and in 1.6.10, they
+ # actually forgot to ship it. Let's make extra sure that e.g.
+ # we don't waste time autoreconfing it.
+ rm -rf swig || die
+ sed -e '/SUBDIRS += swig/d' -i Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ # This is not pointless: configure.ac disables shared libraries and
+ # enables static libraries by default.
+ econf --enable-shared --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-mathematics/4ti2/Manifest b/sci-mathematics/4ti2/Manifest
index 7022a453246d..2ec6ff4f0de6 100644
--- a/sci-mathematics/4ti2/Manifest
+++ b/sci-mathematics/4ti2/Manifest
@@ -1 +1,3 @@
+DIST 4ti2-1.6.10-musl.patch.xz 15820 BLAKE2B 2994a4e0e589e8c8233bf9367206129605538145b3dffd6dc186026d0e45d78e382467dbebd13d5e0ae5d4f96a0a9411811d3ddb390b5a9e68e4251bd37fbb02 SHA512 2fd0f470cf5d571875715be3dd67ea05edb222f1ca30f33698f3bfe1c470fa56695b03ccdf27dfaacaa613616cf67bc9165072c710d267be370a718f40a268bd
+DIST 4ti2-1.6.10.tar.gz 5496480 BLAKE2B e6d90e0282c1ad63ee887c7f301ce8127791d1f75b5c8a43866b812e7e773495ee2cf33e1e1d23eb3974cdd0632d7efc61ee7b2029902adad5601c3eedacbced SHA512 d591ed272664c7467e9b28082c0a99002b3a4616cf437eecd243ccca2ab0f08abdba5dcd039a109b05793f7aaf9f405af9a58c7eff90b7b01b3b1f34fb7fdb2e
DIST 4ti2-1.6.7.tar.gz 5649869 BLAKE2B ab0e7da1de88e5e99ead0b8fa7f7a72773b84ae903a31dc3134e83364ea45069889f8ce9812bb471cf72b824fe013756d557489b4d2ab31216141d5b6347acfc SHA512 38d638fe01ff3cef1aebae1eefd276cf02f808978851b4465e132f77d3ab34ea51d512e2ea28a42ac65263b458c43cf420dc5f8ac930f959dd0c14916cef9841
diff --git a/sci-mathematics/4ti2/files/4ti2-1.6.10-slibtool.patch b/sci-mathematics/4ti2/files/4ti2-1.6.10-slibtool.patch
new file mode 100644
index 000000000000..5765fa75d5fb
--- /dev/null
+++ b/sci-mathematics/4ti2/files/4ti2-1.6.10-slibtool.patch
@@ -0,0 +1,78 @@
+mjo: we had another patch in Gentoo that adds "-lgmp" to 4ti2gmp_LDADD.
+I merged it into this one because otherwise they conflict.
+
+From b87d4c02616d6e5218658a782854e3156ab885aa Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Thu, 7 Mar 2024 14:10:14 -0800
+Subject: [PATCH] build: link internal dependencies with .la files
+
+When linking with internal dependencies the correct way is to add the
+libtool archives (.la) files to the appropriate LIBADD or LDADD
+variables.
+
+This fixes a build issue when using slibtool instead of GNU libtool.
+
+Gentoo issue: https://bugs.gentoo.org/916679
+---
+ src/groebner/Makefile.am | 10 +++++-----
+ src/zsolve/Makefile.am | 3 ++-
+ swig/allegrocommonlisp/Makefile.am | 8 ++++----
+ 3 files changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/src/groebner/Makefile.am b/src/groebner/Makefile.am
+index 64c2780..183920f 100644
+--- a/src/groebner/Makefile.am
++++ b/src/groebner/Makefile.am
+@@ -268,17 +268,17 @@ WRAPPERSCRIPTS = \
+ nodist_bin_SCRIPTS = $(WRAPPERSCRIPTS)
+ DISTCLEANFILES = $(WRAPPERSCRIPTS)
+
+-AM_LDFLAGS = -L../4ti2 -R$(libdir) -l4ti2common -no-undefined
++AM_LDFLAGS = -R$(libdir) -no-undefined
+
+ # 16 bit precision flags.
+-# 4ti2int16_LDADD = lib4ti2int16.la
++# 4ti2int16_LDADD = lib4ti2int16.la $(top_builddir)/src/4ti2/lib4ti2common.la
+ # 4ti2int16_CPPFLAGS = -D_4ti2_INT16_
+ # 4ti2int16_SOURCES = $(4ti2sources)
+ # lib4ti2int16_la_CPPFLAGS = -D_4ti2_INT16_
+ # lib4ti2int16_la_SOURCES = $(lib4ti2sources)
+
+ # 32 bit precision flags.
+-4ti2int32_LDADD = lib4ti2int32.la
++4ti2int32_LDADD = lib4ti2int32.la $(top_builddir)/src/4ti2/lib4ti2common.la
+ 4ti2int32_CPPFLAGS = -D_4ti2_INT32_
+ 4ti2int32_CXXFLAGS = $(TRAPV) $(AM_CXXFLAGS)
+ 4ti2int32_SOURCES = $(4ti2sources)
+@@ -287,7 +287,7 @@ lib4ti2int32_la_CXXFLAGS = $(TRAPV) $(AM_CXXFLAGS)
+ lib4ti2int32_la_SOURCES = $(lib4ti2sources)
+
+ # 64 bit precision flags.
+-4ti2int64_LDADD = lib4ti2int64.la
++4ti2int64_LDADD = lib4ti2int64.la $(top_builddir)/src/4ti2/lib4ti2common.la
+ 4ti2int64_CPPFLAGS = -D_4ti2_INT64_
+ 4ti2int64_CXXFLAGS = $(TRAPV) $(AM_CXXFLAGS)
+ 4ti2int64_SOURCES = $(4ti2sources)
+@@ -298,7 +298,7 @@ lib4ti2int64_la_SOURCES = $(lib4ti2sources)
+ # Arbitrary precision flags.
+ # 4ti2 uses GMP (GLPL), an arbitrary precision arithmetic library.
+ if HAVE_GMP_WITH_CXX
+-4ti2gmp_LDADD = lib4ti2gmp.la
++4ti2gmp_LDADD = lib4ti2gmp.la -lgmp $(top_builddir)/src/4ti2/lib4ti2common.la
+ 4ti2gmp_CPPFLAGS = -D_4ti2_GMP_ $(GMP_CFLAGS)
+ 4ti2gmp_SOURCES = $(4ti2sources)
+ lib4ti2gmp_la_CPPFLAGS = -D_4ti2_GMP_
+diff --git a/src/zsolve/Makefile.am b/src/zsolve/Makefile.am
+index 3a55c40..7826993 100644
+--- a/src/zsolve/Makefile.am
++++ b/src/zsolve/Makefile.am
+@@ -88,7 +88,8 @@ endif
+ # Link in the "common" 4ti2 functions.
+ # -no-undefined declares that no undefined symbols will remain after linking all these libraries.
+ # (This is necessary to build shared libraries on Cygwin.)
+-libzsolve_la_LDFLAGS = -L../4ti2 -R$(libdir) -l4ti2common ${GMP_LIBS} -no-undefined
++libzsolve_la_LDFLAGS = -R$(libdir) ${GMP_LIBS} -no-undefined
++libzsolve_la_LIBADD = $(top_builddir)/src/4ti2/lib4ti2common.la
+
+ bin_SCRIPTS = hilbert graver
+ DISTCLEANFILES = hilbert graver
diff --git a/sci-mathematics/acl2/Manifest b/sci-mathematics/acl2/Manifest
index 358eafcc16bc..12e0591acb3f 100644
--- a/sci-mathematics/acl2/Manifest
+++ b/sci-mathematics/acl2/Manifest
@@ -1,2 +1 @@
-DIST acl2-8.5.tar.gz 222696244 BLAKE2B e5aa8360d9f94ed398d11c4e0873818f8f49ed0e072192c7d62dde99b4a7f98b4240b352818e7691ebc98f85ab3c10981c36bb1e35317e50a111c9c7f3f57b33 SHA512 5a2e004713350ae41ced830aa8620c27963eb108baa499f7e52a1c60961b220ef7a026efdfef6cea1063f731b50f3cccbe1583a9957c9cf269b0a958ec83fe48
DIST acl2-8.5_p20240307.tar.gz 228577404 BLAKE2B af7b4f9995b568ba733a1071fa8069798091ea66b91acc9fb839a6f9ba7843762d7130f4d6b653054de4adea91569904ee4c3dcd035350616418c13fa762bc10 SHA512 b5484a49702fa6c657ebf9551dcec2b6a9c0632e137db1480f93ef9aec83fc9bdb9ca95c46ed324b4ff6ab1a428c8ca50bd1750e1bfd6c024d46a4d27728a24e
diff --git a/sci-mathematics/acl2/acl2-8.5-r2.ebuild b/sci-mathematics/acl2/acl2-8.5-r2.ebuild
deleted file mode 100644
index 64fd6d8d1ad9..000000000000
--- a/sci-mathematics/acl2/acl2-8.5-r2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTICE: Only SBCL (dev-lisp/sbcl) is tested for now, but probably
-# more CL implementations can be added as alternative dependencies.
-# With ClozureCL (dev-lisp/clozurecl) ACL2 fails to build,
-# this might need in-depth investigation...
-
-EAPI=8
-
-inherit elisp-common
-
-DESCRIPTION="Industrial strength theorem prover, logic and programming language"
-HOMEPAGE="https://www.cs.utexas.edu/users/moore/acl2/
- https://github.com/acl2/acl2/"
-SRC_URI="https://github.com/acl2/acl2/archive/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc emacs"
-REQUIRED_USE="emacs? ( doc )"
-
-RDEPEND="
- <=dev-lisp/sbcl-2.4.1:=
- emacs? ( >=app-editors/emacs-25:* )
-"
-BDEPEND="
- ${RDEPEND}
- doc? ( dev-lang/perl )
-"
-
-DOCS=( books/README.md )
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- find . -type f -name "*.bak" -delete || die
- find . -type f -name "*.orig" -delete || die
- rm books/workshops/2003/schmaltz-al-sammane-et-al/support/acl2link || die
-
- default
-}
-
-src_compile() {
- emake LISP="sbcl --no-sysinit --no-userinit --disable-debugger"
-
- use doc && emake ACL2="${S}"/saved_acl2 basic DOC
-
- if use emacs ; then
- local elisp_dir
- for elisp_dir in books/emacs books/interface/emacs ; do
- BYTECOMPFLAGS="-L ${S}/${elisp_dir}" \
- elisp-compile "${S}"/${elisp_dir}/*.el
- done
- fi
-}
-
-src_install() {
- local saved_name=saved_acl2
-
- sed "s|${S}|/usr/share/acl2|g" -i ${saved_name} || die
- sed "5iexport ACL2_SYSTEM_BOOKS=/usr/share/acl2/books/" \
- -i ${saved_name} || die
-
- exeinto /usr/share/acl2
- doexe ${saved_name}
- insinto /usr/share/acl2
- doins ${saved_name}.core
- dosym -r /usr/share/acl2/${saved_name} /usr/bin/acl2
-
- if use doc ; then
- doins -r books
-
- HTML_DOCS=( doc/HTML/. )
- einstalldocs
- fi
- if use emacs ; then
- doins TAGS
- elisp-install ${PN} \
- books/emacs/*.el{,c} \
- books/interface/emacs/*.el{,c}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/sci-mathematics/acl2/acl2-8.5_p20240307.ebuild b/sci-mathematics/acl2/acl2-8.5_p20240307-r1.ebuild
index 1e9c0d6d06d5..438948ce246c 100644
--- a/sci-mathematics/acl2/acl2-8.5_p20240307.ebuild
+++ b/sci-mathematics/acl2/acl2-8.5_p20240307-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# NOTICE: Only SBCL (dev-lisp/sbcl) is tested for now, but probably
@@ -32,9 +32,8 @@ SLOT="0"
IUSE="doc emacs"
REQUIRED_USE="emacs? ( doc )"
-# SBCL <= 2.4.1 is required, see: https://github.com/acl2/acl2/issues/1580
RDEPEND="
- <=dev-lisp/sbcl-2.4.1:=
+ dev-lisp/sbcl:=
emacs? ( >=app-editors/emacs-25:* )
"
BDEPEND="
diff --git a/sci-mathematics/alectryon/alectryon-1.4.0-r2.ebuild b/sci-mathematics/alectryon/alectryon-1.4.0-r2.ebuild
index b8969f14aa7c..012124764413 100644
--- a/sci-mathematics/alectryon/alectryon-1.4.0-r2.ebuild
+++ b/sci-mathematics/alectryon/alectryon-1.4.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
inherit elisp-common distutils-r1
diff --git a/sci-mathematics/alt-ergo/alt-ergo-2.4.3-r2.ebuild b/sci-mathematics/alt-ergo/alt-ergo-2.4.3-r2.ebuild
index 22c57ef35837..48d652407987 100644
--- a/sci-mathematics/alt-ergo/alt-ergo-2.4.3-r2.ebuild
+++ b/sci-mathematics/alt-ergo/alt-ergo-2.4.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/OCamlPro/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="amd64"
+ KEYWORDS="amd64 ~arm64"
fi
LICENSE="CeCILL-C"
diff --git a/sci-mathematics/cadical/cadical-2.0.0.ebuild b/sci-mathematics/cadical/cadical-2.0.0.ebuild
index 0d4bf08a816c..3b7621fcdf1e 100644
--- a/sci-mathematics/cadical/cadical-2.0.0.ebuild
+++ b/sci-mathematics/cadical/cadical-2.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}-rel-${PV}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="MIT"
diff --git a/sci-mathematics/clipper2/clipper2-1.4.0.ebuild b/sci-mathematics/clipper2/clipper2-1.4.0.ebuild
index ab2d3bf1ad9c..fa2cc2612361 100644
--- a/sci-mathematics/clipper2/clipper2-1.4.0.ebuild
+++ b/sci-mathematics/clipper2/clipper2-1.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ S="${WORKDIR}/${MY_PN}-${MY_P}/CPP"
LICENSE="Boost-1.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/coq/Manifest b/sci-mathematics/coq/Manifest
index 25ce5290b45c..bb1e12a99dfd 100644
--- a/sci-mathematics/coq/Manifest
+++ b/sci-mathematics/coq/Manifest
@@ -1,2 +1,3 @@
+DIST coq-8.17.1.tar.gz 7506035 BLAKE2B 29b5b11666185ec293f50264f5a8ad66433c3ce05d74128b524f6fc3c6810551fe76d11d6f9db7d3741b829ac8bacb66948aad522d0cd2c487692c3df8b563ff SHA512 9a35311acec2a806730b94ac7dceabc88837f235c52a14c026827d9b89433bd7fa9555a9fc6829aa49edfedb24c8bbaf1411ebf463b74a50aeb17cba47745b6b
DIST coq-8.19.2.tar.gz 7678311 BLAKE2B 5f9617fbe0127b0c8357c63f331ba3e9fb5a931be9a4a8e8de2e27820a0d986bf99ed9a512740a0f721c742504225ae56e240af893510aa0e449931499d10aab SHA512 91bc81530fa4f6498961583ad51eac5001f139881788b88e360a866ad8e2a6e2c5bce86d1a580ab4cd4782bf49d48318767df82471ce33ba3ac143e5569ad33c
DIST coq-8.20.0.tar.gz 7839432 BLAKE2B 9b489db0cc6874b0a629f3bdb4b503201005ec95a3375441538cd7e51d371a39561b9d0ab23ac485652782fdc7ae8d90c97ca1ff4d9a85fb8727a39ed4a6f48c SHA512 1a7eac6e2f58724a3f9d68bbb321e4cfe963ba1a5551b9b011db4b3f559c79be433d810ff262593d753770ee41ea68fbd6a60daa1e2319ea00dff64c8851d70b
diff --git a/sci-mathematics/coq/coq-8.17.1.ebuild b/sci-mathematics/coq/coq-8.17.1.ebuild
new file mode 100644
index 000000000000..f9f1b9c3cb76
--- /dev/null
+++ b/sci-mathematics/coq/coq-8.17.1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/_p/pl}"
+MY_P="${PN}-${MY_PV}"
+
+inherit check-reqs desktop dune edo
+
+DESCRIPTION="Proof assistant written in O'Caml"
+HOMEPAGE="http://coq.inria.fr/
+ https://github.com/coq/coq/"
+SRC_URI="https://github.com/coq/coq/archive/V${MY_PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug doc gui +ocamlopt test"
+
+# TODO: Lots of failing tests. Maybe investigate later.
+# RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+RDEPEND="
+ dev-ml/num:=
+ dev-ml/zarith:=
+ gui? (
+ >=dev-ml/lablgtk-3.1.2:3=[sourceview,ocamlopt?]
+ >=dev-ml/lablgtk-sourceview-3.1.2:3=[ocamlopt?]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-ml/findlib
+ doc? (
+ >=dev-java/antlr-4.7:4
+ dev-python/antlr4-python3-runtime
+ dev-python/beautifulsoup4
+ dev-python/pexpect
+ dev-python/sphinx-rtd-theme
+ dev-python/sphinxcontrib-bibtex
+ dev-tex/latexmk
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ media-fonts/freefont
+ )
+ test? (
+ dev-ml/ounit2
+ )
+"
+
+CHECKREQS_DISK_BUILD="2G"
+
+DOCS=( CODE_OF_CONDUCT.md CONTRIBUTING.md CREDITS INSTALL.md README.md )
+DUNE_PACKAGES=()
+
+src_prepare() {
+ # Remove failing tests. bug #904186
+ rm -r test-suite/coq-makefile/timing || die
+
+ default
+}
+
+src_configure() {
+ export CAML_LD_LIBRARY_PATH="${S}/kernel/byterun/"
+
+ DUNE_PACKAGES=(
+ coq-core
+ coq-stdlib
+ coqide-server
+ coq
+ )
+ use gui && DUNE_PACKAGES+=( coqide )
+
+ emake clean
+
+ local -a myconf=(
+ -prefix /usr
+ -libdir "/usr/$(get_libdir)/coq"
+ -mandir /usr/share/man
+ -docdir "/usr/share/doc/${PF}"
+ -datadir /usr/share/coq
+ -configdir "/etc/xdg/${PN}"
+ -native-compiler "$(usex ocamlopt yes no)"
+ )
+ use debug && myconf+=( -debug )
+ edo sh ./configure "${myconf[@]}"
+}
+
+src_compile() {
+ emake DUNEOPT="--display=short --profile release" VERBOSE=1 dunestrap
+
+ dune-compile "${DUNE_PACKAGES[@]}"
+
+ use doc && emake refman-html
+}
+
+src_install() {
+ dune-install "${DUNE_PACKAGES[@]}"
+
+ if use gui ; then
+ make_desktop_entry coqide "Coq IDE" "${EPREFIX}/usr/share/coq/coq.png"
+ fi
+
+ local ocamlc_where
+ ocamlc_where="$(ocamlc -where)"
+
+ # Dune installs into /usr/<libdir>/ocaml/<coq> but
+ # Coq wants /usr/<libdir>/<coq> ; symlink those directories
+ local sym
+ for sym in "${DUNE_PACKAGES[@]}" ; do
+ dosym "${ocamlc_where}/${sym}" "/usr/$(get_libdir)/${sym}"
+ done
+
+ einstalldocs
+}
diff --git a/sci-mathematics/coq/coq-8.19.2.ebuild b/sci-mathematics/coq/coq-8.19.2.ebuild
index 4be3a3484836..b18c93f1bb56 100644
--- a/sci-mathematics/coq/coq-8.19.2.ebuild
+++ b/sci-mathematics/coq/coq-8.19.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="debug doc gui +ocamlopt test"
# TODO: Lots of failing tests. Maybe investigate later.
diff --git a/sci-mathematics/coq/coq-8.20.0.ebuild b/sci-mathematics/coq/coq-8.20.0.ebuild
index ed305875cdd0..67166c74be15 100644
--- a/sci-mathematics/coq/coq-8.20.0.ebuild
+++ b/sci-mathematics/coq/coq-8.20.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ else
SRC_URI="https://github.com/coq/coq/archive/V${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
+ KEYWORDS="amd64 ~arm64 ~x86"
fi
LICENSE="LGPL-2.1"
diff --git a/sci-mathematics/easycrypt/Manifest b/sci-mathematics/easycrypt/Manifest
index f3ed46c61173..0fdfd126557a 100644
--- a/sci-mathematics/easycrypt/Manifest
+++ b/sci-mathematics/easycrypt/Manifest
@@ -1,2 +1,2 @@
-DIST easycrypt-2024.01.tar.gz 1349695 BLAKE2B e9c43d43f2c07d75dcb5ee8edf46d1fcfc2a47497fd76c87ef13d52087144acbf3b80ae809c70164eebe046cfb5d585678811163a47cf30c3c55828c3278a4fc SHA512 331612b05f6c47b302f1ceb1d741f47476354bf2d4960c2f55e6bddf3187fea3d40aa687c278fc727bf8994fee95e7af444f109be9a0c9eb9ab455d5fcc7b97d
DIST easycrypt-2024.09.tar.gz 1310681 BLAKE2B cfe81762d4f4567473fc1f98c889145ed8c42f0a48b9e8089de8eca6c15f088d36c4eb7f4b4c4889b6444323b38a2ab17d0703cf97470ddf3084094a37436d69 SHA512 ce1554046c87fbeb27763ffd7a40fb0d8abc8bdedce6884e864968c23b31aee2c66108e52233d4dd1cb408a48b2ac3cba3ef46aee0963a5c21f3c2d1a843c308
+DIST easycrypt-2025.02.tar.gz 1362823 BLAKE2B d0a9739178b459e9f1288286f9a40bd45735d8a4d1acdcc322a079b2fc7712b1a9ffb655cfc67ae9384234981496218cd9dc8c7385d2954b3544a6339a8f98c7 SHA512 61d35a3e1bb2e91be94a52f3cc4c75e209a95908a6fc558472dab863b6d9d82f0a39bbe35ba98f6ce92eb398465013fdddd73bc99b789a55bcca6975c0d72196
diff --git a/sci-mathematics/easycrypt/easycrypt-2024.01-r1.ebuild b/sci-mathematics/easycrypt/easycrypt-2025.02.ebuild
index 80d57075fb07..94f61fdf4523 100644
--- a/sci-mathematics/easycrypt/easycrypt-2024.01-r1.ebuild
+++ b/sci-mathematics/easycrypt/easycrypt-2025.02.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,18 +25,18 @@ SLOT="0/${PV}"
IUSE="+ocamlopt"
RDEPEND="
- <dev-ml/num-1.5:=
>=dev-lang/ocaml-4.08.0:=[ocamlopt?]
+ >=sci-mathematics/why3-1.8.0:=
dev-ml/batteries:=
dev-ml/camlp-streams:=
dev-ml/camlzip:=
dev-ml/dune-build-info:=
dev-ml/dune-site:=
+ dev-ml/num:=
dev-ml/ocaml-inifiles:=
dev-ml/pcre-ocaml:=
dev-ml/yojson:=
dev-ml/zarith:=
- sci-mathematics/why3:=
"
DEPEND="
${RDEPEND}
diff --git a/sci-mathematics/eclib/Manifest b/sci-mathematics/eclib/Manifest
index 61d12360b0f7..c3bd89a7c602 100644
--- a/sci-mathematics/eclib/Manifest
+++ b/sci-mathematics/eclib/Manifest
@@ -1,3 +1,3 @@
DIST eclib-20231212.tar.bz2 926463 BLAKE2B 8105ac4014f9e44545d1d1e1cd5e18e36e467131b57a04a02d7e4f2390b0b0f78d0bac60dfbc0403a6681816a64a6e81c8d6a198f83bef991f697c2756a6d048 SHA512 692aa6bc2a52cd9496700990172b5a807abbd3f8bf8e931de14c48a401d1d383f95fa5def68bbf9a1aee08dfabac608604c0fd6f8bb49b813e6c6c909a2f27a7
DIST eclib-20240408.tar.bz2 918771 BLAKE2B e9f4a37973b40e73a111330800fcfebae91251613902b35ff29a45bdf3e7cd8cc49b061af121eff6aaa657d28b24b20ec00b77bad468504e545b3810852a50d2 SHA512 d93c724fa5816ce45a661d50000309e148fdbd0e287fbdbbf30bd6b3c6a7225846d90f11bc4d86c4b96111cbe8429b174e7d81ea0be1eef1a8acaa43287c09cf
-DIST eclib-20241112.tar.bz2 956725 BLAKE2B 09836c7203f246645a8287fe26c3ffd6fa06fd9ca7905c6e14aad162c91ce87f714914366416bc170b4595a70254d3cc62cd07c8158dfcac0b2ee57df0dc2d9d SHA512 8f559f9bd8580af85428981addcc93132d5f067c73d440ef31b43d697a49067365def07aeddc91b8346bb41acd5b4cdcc4ab8dcf716a5c3d6aa9ff394ff39b5a
+DIST eclib-20250122.tar.bz2 956727 BLAKE2B b3a8c2458a7379d3763865e0adbb8bc13b2a19aeb239179a1e7788b16c7c5a6db68e862c3bf40b1f047af225c324d2a8a277274edaaaa52773b941fe608acf50 SHA512 f5112c131298be44b3aeef516b629c4be405233992f4dc4207107bb4da798c5c727affe60ef691378574294c7ac1efe477ffdd93a9a0cdd253d14803ef3762f2
diff --git a/sci-mathematics/eclib/eclib-20241112.ebuild b/sci-mathematics/eclib/eclib-20250122.ebuild
index a1eb3c2a4de6..e4401e9eab5c 100644
--- a/sci-mathematics/eclib/eclib-20241112.ebuild
+++ b/sci-mathematics/eclib/eclib-20250122.ebuild
@@ -1,18 +1,16 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Programs for elliptic curves defined over the rational numbers"
HOMEPAGE="https://github.com/JohnCremona/eclib"
-SRC_URI="https://github.com/JohnCremona/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+SRC_URI="https://github.com/JohnCremona/${PN}/releases/download/${PV}/${P}.tar.bz2"
# COPYING is GPL-2 but the file headers say "or ... any later version"
# LGPL-2.1+ is for bundled GetOpt.cc
LICENSE="GPL-2+ LGPL-2.1+"
-# Subslot is from the soname, (LT_CURRENT - LT_AGE) in configure.ac.
-# (But for now, see src_prepare below.)
SLOT="0/14"
KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="boost flint minimal test"
diff --git a/sci-mathematics/flint/flint-3.1.3_p1-r2.ebuild b/sci-mathematics/flint/flint-3.1.3_p1-r3.ebuild
index 841de4da69e3..0766a2300847 100644
--- a/sci-mathematics/flint/flint-3.1.3_p1-r2.ebuild
+++ b/sci-mathematics/flint/flint-3.1.3_p1-r3.ebuild
@@ -70,11 +70,13 @@ src_configure() {
# ABI needs to be unset because flint uses it internally for
# an incompatible purpose.
+ # --disable-assembly in an attempt to fix bug 946501
# --enable-debug just adds -g to your CFLAGS
# --enable-avx2 and --enable-avx512 just add "-mfoo" to CFLAGS
# --enable-gc affects thread-safety
local myeconfargs=(
ABI=""
+ --disable-assembly
--disable-debug
--with-blas
--with-gmp
diff --git a/sci-mathematics/flocq/Manifest b/sci-mathematics/flocq/Manifest
index 094cfd9c64ee..4a479412573a 100644
--- a/sci-mathematics/flocq/Manifest
+++ b/sci-mathematics/flocq/Manifest
@@ -1,2 +1,3 @@
DIST flocq-4.1.0.tar.gz 447412 BLAKE2B 1b993a0e86bd440602b16b94ed5aff4b95a3c732eca87c683d239702b285dee8eaaf7dad77f730ae4929bb24504e5fd12b9a181d48efac4c3db7f0606637c018 SHA512 677e0de1406b3c7e5504d114a5b18ec07c719bbad79a2cfb750ac309fd5ab09be5493afdb1786b5a188cece59fddcd4167e28bf3be4facbdea8fe3b11cdf1ab1
DIST flocq-4.1.1.tar.gz 450132 BLAKE2B 00821a3e135156640320d1afd548bc1912953bba64cc675b7b6c94b4e3c792c444bfbb4ef1a3352adefa466548083e32c2b1e4b38747dcbc6ac6de6d72250a74 SHA512 7076b8d5e33b8225e0124b9f66f4e3e1ed3e30804c5bca28e30d5e176c1b8c5c3d777a28c243fada17ab4ed32f580c6d606b11f045d48f7acb15e03db59870c4
+DIST flocq-4.2.1.tar.gz 447822 BLAKE2B c91f3e51d28854b15c526634494377b07b76dfa0fdbeeb0a3c2c27a27152fc2dd1ef6908f434f4f3be76d9172acdd616a51bea97b937886a3bf64bac37fcba18 SHA512 73a93f1b7d7b0d1ad731a87c1fbf80d363cc479259059618170d488eb7ff2e101d4e3adf850796b3d20455c94ba093ad39d9ef80e3e03e53b20f6e9df1886736
diff --git a/sci-mathematics/flocq/flocq-4.2.1.ebuild b/sci-mathematics/flocq/flocq-4.2.1.ebuild
new file mode 100644
index 000000000000..558a3dd17f20
--- /dev/null
+++ b/sci-mathematics/flocq/flocq-4.2.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing
+
+DESCRIPTION="Formalization of floating-point arithmetic for the Coq proof assistant"
+HOMEPAGE="http://flocq.gforge.inria.fr/
+ https://gitlab.inria.fr/flocq/flocq/"
+SRC_URI="https://flocq.gitlabpages.inria.fr/releases/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-lang/ocaml:=
+ >=sci-mathematics/coq-8.15:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+# Do not complain about CFLAGS etc since ML projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+src_compile() {
+ ./remake --jobs=$(makeopts_jobs) || die
+}
+
+src_install() {
+ DESTDIR="${D}" ./remake install || die
+
+ dodoc AUTHORS INSTALL.md NEWS.md README.md
+
+ insinto "/usr/share/${PN}"
+ doins -r examples
+}
diff --git a/sci-mathematics/geogebra-bin/metadata.xml b/sci-mathematics/geogebra-bin/metadata.xml
index 75321cfb5598..115e9d64a669 100644
--- a/sci-mathematics/geogebra-bin/metadata.xml
+++ b/sci-mathematics/geogebra-bin/metadata.xml
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch b/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch
deleted file mode 100644
index 83f4b66f8239..000000000000
--- a/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/app_main.cpp b/src/app_main.cpp
-index a33c042..e7ade81 100644
---- a/src/app_main.cpp
-+++ b/src/app_main.cpp
-@@ -205,7 +205,7 @@ public:
- }
-
- ep->close();
-- delete ep;//<--- In next release, make the class virtual
-+// delete ep;//<--- In next release, make the class virtual # this is miscompiled clang@xcode-6.3
-
- printf("\n");
-
diff --git a/sci-mathematics/gfan/gfan-0.6.2-r4.ebuild b/sci-mathematics/gfan/gfan-0.6.2-r4.ebuild
deleted file mode 100644
index fe1b428750be..000000000000
--- a/sci-mathematics/gfan/gfan-0.6.2-r4.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Compute Groebner fans and tropical varieties"
-HOMEPAGE="https://users-math.au.dk/~jensen/software/gfan/gfan.html"
-SRC_URI="https://users-math.au.dk/~jensen/software/${PN}/${PN}${PV}.tar.gz"
-
-S="${WORKDIR}/${PN}${PV}"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc"
-
-BDEPEND="doc? ( virtual/latex-base )"
-DEPEND="dev-libs/gmp:0=[cxx(+)]
- sci-libs/cddlib:0="
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.6.2-xcode9.3_compat.patch"
- "${FILESDIR}/${PN}-0.6.2-testsuite.patch"
- "${FILESDIR}/${PN}-0.6.2-Makefile.patch"
- )
-
-pkg_setup() {
- tc-export CC CXX
-
- # This should really go in cppflags, but that doesn't work with
- # gfan's hand-written Makefile.
- append-cxxflags -DNOCDDPREFIX -I"${EPREFIX}"/usr/include/cddlib
-}
-
-src_prepare() {
- default
-
- # This test hangs on x86, bug 717112.
- rm -r testsuite/0602ResultantFanProjection || \
- die "unable to disable test 0602ResultantFanProjection"
-
- # And this one fails (harmlessly) on x86, bug 818397.
- rm -r testsuite/0009RenderStairCase || \
- die "unable to disable test 0009RenderStairCase"
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/863044
- # Only contact method is email. I have sent one detailing the issue.
- filter-lto
-
- # The upstream Makefile says that GCC produces bad code with -O3.
- replace-flags "-O3" "-O2"
- default
-}
-
-src_compile() {
- default
- if use doc; then
- pushd doc > /dev/null || die
- # The LaTeX build commands need to be repeated until the
- # document "stops changing," which is not as easy as it
- # sounds to detect. Running it twice seems to work here.
- for iteration in 1 2; do
- latex manual.tex && \
- bibtex manual && \
- dvipdf manual.dvi manual.pdf || die
- done
- popd > /dev/null || die
- fi
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" install
- use doc && dodoc doc/manual.pdf
-}
diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest
index 46e80c85d618..6ab71e7ab702 100644
--- a/sci-mathematics/giac/Manifest
+++ b/sci-mathematics/giac/Manifest
@@ -1,2 +1 @@
-DIST giac_1.9.0-29.tar.gz 115441843 BLAKE2B 9114db489be0c51d67c87b0a0c187fecf9eca84d7cb3117e72793290c8e606e76c3d9bc8a2d573fc2de2f2d885fb34d18583302a5902d69045976114ac02b95e SHA512 57b58aa35c724eae7df36229cb3d45d1b724a8a88acb1d1dd0711be64dd7c891850e7242662e448ce955e76b856973f9065628b65ce0826c60e277cb944b21b7
DIST giac_1.9.0-995.tar.gz 128346387 BLAKE2B c275d2cad511b906a3822156bd05f83cd77265cf489da82b111973b0a80de7abd1875d0cf0116e34610aa20b5ea2cc36550950dbf1eb1a321db8c7145c789137 SHA512 7111a21df5efe1ef5f14dc744277e18f3e4701842d827da0f8d745e1bcec4c06b45e3306b7ed3c4affee59c5df2454643900eefe32d46019771e6bb07bc971d9
diff --git a/sci-mathematics/giac/files/giac-1.6.0-pari-2.11.patch b/sci-mathematics/giac/files/giac-1.6.0-pari-2.11.patch
deleted file mode 100644
index 24142257a340..000000000000
--- a/sci-mathematics/giac/files/giac-1.6.0-pari-2.11.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Change test output for PARI 2.11
-
-See https://trac.sagemath.org/ticket/25567
-and https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2102
-
-diff -ru a/check/TP11-sol.cas.out1 b/check/TP11-sol.cas.out1
---- a/check/TP11-sol.cas.out1 2014-10-21 10:51:48.000000000 +0200
-+++ b/check/TP11-sol.cas.out1 2018-08-07 17:04:12.528052773 +0200
-@@ -10,7 +10,7 @@
- 1073741824000000000000000000061203284109000000000000000000000000008409,
- 2^3*3*389*733*156904374622257604823879982847602392900751802349981470895277241,
- "Done",
--matrix[[2,7,1],[3,2,1],[389,2,1],[733,2,1],[156904374622257604823879982847602392900751802349981470895277241,2,matrix[[2,13,1],[3,3,1],[5,2,1],[7,2,1],[56467,2,1],[6553084925887974620811527,2,matrix[[2,5,1],[19,2,1],[71,2,1],[126823,2,1]]]]]],
-+1,
- 0,
- [],
- 1,
diff --git a/sci-mathematics/giac/files/giac-1.9.0.995-dont-call-g++.patch b/sci-mathematics/giac/files/giac-1.9.0.995-dont-call-g++.patch
new file mode 100644
index 000000000000..d97be3b39002
--- /dev/null
+++ b/sci-mathematics/giac/files/giac-1.9.0.995-dont-call-g++.patch
@@ -0,0 +1,29 @@
+From 7328ad0895add9acb91f28312c80770530c8be52 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 5 Jan 2025 08:13:35 -0500
+Subject: [PATCH] src/Makefile.am: delete mkjs rule
+
+There's a custom rule to build mkjs from mkjs.cc, and it hard-codes
+the compiler name (g++). But since building an executable from C++
+source is built-in to Make, we can just delete the rule to fix it.
+---
+ src/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7524632..a6c4767 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -70,9 +70,6 @@ js.c: mkjs qjscalcjs.js xcasjs.js
+ js.h: mkjs qjscalcjs.js xcasjs.js
+ ./mkjs
+
+-mkjs: mkjs.cc
+- g++ mkjs.cc -o mkjs
+-
+ AM_CPPFLAGS = -DIN_GIAC -I$(srcdir) -I$(top_srcdir) -I$(builddir) \
+ -I$(top_builddir) $(GMP_CFLAGS) $(NTL_CFLAGS) \
+ $(COCOA_CFLAGS) $(PARI_CFLAGS)
+--
+2.45.2
+
diff --git a/sci-mathematics/giac/giac-1.9.0.29-r1.ebuild b/sci-mathematics/giac/giac-1.9.0.29-r1.ebuild
deleted file mode 100644
index f4967f08420e..000000000000
--- a/sci-mathematics/giac/giac-1.9.0.29-r1.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic xdg-utils
-
-FETCH_P="${PN}_"$(ver_rs 3 '-')
-MY_PV=$(ver_cut 1-3)
-DESCRIPTION="A free C++ Computer Algebra System library and its interfaces"
-HOMEPAGE="https://www-fourier.ujf-grenoble.fr/~parisse/giac.html"
-SRC_URI="https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/${FETCH_P}.tar.gz"
-LICENSE="GPL-2"
-
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-LANGS="el en es pt"
-IUSE="ao doc +ecm examples gc +glpk gui test"
-for X in ${LANGS} ; do
- IUSE="${IUSE} l10n_${X}"
-done
-
-# nauty and cliquer are automagical dependencies
-RDEPEND="dev-libs/gmp:=[cxx(+)]
- sys-libs/readline:=
- gui? ( x11-libs/fltk[opengl]
- media-libs/libpng:= )
- ao? ( media-libs/libao )
- dev-libs/mpfr:=
- sci-libs/mpfi
- sci-libs/gsl:=
- sci-mathematics/pari:=[threads]
- dev-libs/ntl:=
- virtual/lapack
- virtual/blas
- net-misc/curl
- sci-mathematics/cliquer
- sci-mathematics/nauty
- ecm? ( sci-mathematics/gmp-ecm )
- glpk? ( sci-mathematics/glpk )
- gc? ( dev-libs/boehm-gc )"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="dev-tex/hevea
- virtual/pkgconfig
- app-alternatives/yacc"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.7.0.1-gsl_lapack.patch"
- "${FILESDIR}/${PN}-1.6.0-pari-2.11.patch"
- "${FILESDIR}/${PN}-1.9.0.21-pari-2.15.patch"
-)
-
-REQUIRED_USE="test? ( gui )"
-
-# The mirror restriction is due to the French documentation for which
-# "Other kind of redistributions require the consent of the copyright
-# holder."
-RESTRICT="!test? ( test ) mirror"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- append-cxxflags -std=c++14 # bug 788283
-
- if use gui; then
- append-cppflags -I$(fltk-config --includedir)
- append-lfs-flags
-
- # Get the big-L flags from fltk's LDFLAGS.
- append-ldflags $(fltk-config --ldflags | sed -e 's/\(-L\S*\)\s.*/\1/')
- fi
-
- # Using libsamplerate is currently broken
- #
- # The giac build system supports --docdir, but the path /usr/share/giac/doc
- # is hard-coded throughout the source code, so passing anything else to
- # ./configure --docdir just causes problems. Later, we'll put things right.
- #
- # micropython is for specific use in an upstream project, so is quickjs.
- # Note that disabling fltk is not a real option. It just skip autodetection
- # but doesn't disable compiling against fltk. png is needed as part of fltk
- # support.
- #
- # As of 1.9.0.25, --{en,dis}able-gui is no op. The only way to disable gui is
- # use the fltk enable flag.
- econf \
- --enable-gmpxx \
- --disable-samplerate \
- --disable-micropy \
- --disable-quickjs \
- --docdir="${EPREFIX}"/usr/share/giac/doc \
- $(use_enable gui fltk) \
- $(use_enable gui png) \
- $(use_enable ao) \
- $(use_enable ecm) \
- $(use_enable glpk) \
- $(use_enable gc)
-
-}
-
-src_install() {
- docompress -x "/usr/share/doc/${PF}/"{aide_cas,doc,examples}
- emake install DESTDIR="${D}"
-
- # Move all of /usr/share/giac (which contains only documentation) to
- # its /usr/share/doc/${PF} counterpart.
- dodir /usr/share/doc
- mv "${ED}"/usr/share/giac "${ED}/usr/share/doc/${PF}" || die
-
- # and create a symlink from the original location to the new one
- dosym "./doc/${PF}" /usr/share/giac
-
- # This is duplicated in ${ED}/usr/share/doc/${PF}/examples
- rm -r "${ED}/usr/share/doc/${PF}/doc/Exemples" || die
-
- # These aren't supposed to be installed at all.
- find "${ED}/usr/share/doc/${PF}" -type f -name 'Makefile*' -delete || die
-
- # The French docs are not freely licensed according to the README.
- rm -r "${ED}/usr/share/doc/${PF}/doc/fr" || die
-
- dodoc AUTHORS ChangeLog INSTALL NEWS README TROUBLES
- if ! use gui; then
- rm -rf \
- "${ED}"/usr/bin/x* \
- "${ED}"/usr/share/application-registry \
- "${ED}"/usr/share/applications \
- "${ED}"/usr/share/icons \
- || die "failed to clean up fltk files"
- fi
-
- if ! use doc; then
- rm -r "${ED}/usr/share/doc/${PF}/doc" || die "failed to remove doc directory"
- else
- for lang in ${LANGS}; do
- if use l10n_$lang; then
- dosym ../aide_cas "/usr/share/doc/${PF}/doc/${lang}/aide_cas"
- else
- rm -r "${ED}/usr/share/giac/doc/${lang}" \
- || die "failed to remove ${lang} documentation"
- fi
- done
- fi
-
- if ! use examples; then
- rm -r "${ED}/usr/share/doc/${PF}/examples" \
- || die "failed to remove examples"
- fi
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if use gui; then
- xdg_desktop_database_update
- xdg_icon_cache_update
- fi
-}
-
-pkg_postrm() {
- if use gui; then
- xdg_desktop_database_update
- xdg_icon_cache_update
- fi
-}
diff --git a/sci-mathematics/giac/giac-1.9.0.995-r1.ebuild b/sci-mathematics/giac/giac-1.9.0.995-r2.ebuild
index 6a9a85a14f05..7fade6bb9179 100644
--- a/sci-mathematics/giac/giac-1.9.0.995-r1.ebuild
+++ b/sci-mathematics/giac/giac-1.9.0.995-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
LANGS="el en es pt"
IUSE="ao doc +ecm examples gc +glpk gui test"
for X in ${LANGS} ; do
@@ -44,7 +44,7 @@ RDEPEND="dev-libs/gmp:=[cxx(+)]
glpk? ( sci-mathematics/glpk )
gui? (
media-libs/libpng:=
- x11-libs/fltk[opengl]
+ x11-libs/fltk:1=[opengl]
x11-libs/gl2ps
)"
@@ -60,6 +60,7 @@ PATCHES=(
"${FILESDIR}/${PN}-1.9.0.67-system-gl2ps.patch"
"${FILESDIR}/${P}-glibcxx-assertions.patch"
"${FILESDIR}/${P}-fix-undefined-behavior.patch"
+ "${FILESDIR}/${P}-dont-call-g++.patch"
)
REQUIRED_USE="test? ( gui )"
diff --git a/sci-mathematics/glpk/glpk-5.0-r1.ebuild b/sci-mathematics/glpk/glpk-5.0-r1.ebuild
deleted file mode 100644
index a0db9eee70b6..000000000000
--- a/sci-mathematics/glpk/glpk-5.0-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic toolchain-funcs
-
-DESCRIPTION="GNU Linear Programming Kit"
-HOMEPAGE="https://www.gnu.org/software/glpk/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/40"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples gmp odbc mysql"
-
-BDEPEND="virtual/pkgconfig"
-DEPEND="
- sci-libs/amd:0=
- sci-libs/colamd:=
- sys-libs/zlib:0=
- gmp? ( dev-libs/gmp:0= )
- mysql? ( dev-db/mysql-connector-c )
- odbc? (
- || (
- dev-db/libiodbc:0
- dev-db/unixODBC:0
- )
- )"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.65-fix-mysql-include-prefix.patch
- "${FILESDIR}"/${PN}-4.65-debundle-system-libs.patch
-)
-
-src_prepare() {
- # TODO: the ODBC library is dlopen()ed, so we only want to append
- # -I<foo> to the preprocessor flags, and not all of the CFLAGS that
- # were used to build libiodbc. That fix and the pkg-config fallback
- # should be sent upstream, and placed into CPPFLAGS rather than
- # CFLAGS (as configure.ac does now).
- use odbc && [[ -z $(type -P odbc_config) ]] && \
- append-cppflags $($(tc-getPKG_CONFIG) --cflags libiodbc)
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- # -Werror=strict-aliasing
- # https://bugs.gentoo.org/863047
- # https://lists.gnu.org/archive/html/bug-glpk/2022-08/msg00000.html
- # No upstream response...
- #
- # Do not trust it to LTO either.
- append-flags -fno-strict-aliasing
- filter-lto
-
- local myconf
- if use mysql || use odbc; then
- myconf="--enable-dl"
- else
- myconf="--disable-dl"
- fi
-
- econf ${myconf} \
- --disable-static \
- $(use_enable mysql) \
- $(use_enable odbc) \
- $(use_with gmp)
-}
-
-src_install() {
- default
-
- if use examples; then
- # The top-level Makefile descends into the "examples" directory
- # unconditionally, building a program and excreting build
- # artifacts that we don't want to install. Note: this still
- # leaves the example program /usr/bin/glpsol installed. An
- # additional "emake ... uninstall" could probably take care
- # of that if desired.
- emake -C examples clean
-
- # Installing the Makefiles for the examples does the user no
- # good without the top-level Makefile.
- rm examples/Makefile{.in,.am,} \
- || die "failed to remove example Makefiles"
-
- insinto "/usr/share/doc/${PF}"
- doins -r examples
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
-
- use doc && dodoc doc/*.pdf doc/notes/*.pdf doc/*.txt
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-mathematics/glpk/glpk-5.0-r3.ebuild b/sci-mathematics/glpk/glpk-5.0-r3.ebuild
index 15451c216ae9..d9dd2e02a072 100644
--- a/sci-mathematics/glpk/glpk-5.0-r3.ebuild
+++ b/sci-mathematics/glpk/glpk-5.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0/40"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="doc examples gmp odbc mysql"
BDEPEND="virtual/pkgconfig"
diff --git a/sci-mathematics/gmp-ecm/Manifest b/sci-mathematics/gmp-ecm/Manifest
index d1dc414b4ea0..6010b6d91a85 100644
--- a/sci-mathematics/gmp-ecm/Manifest
+++ b/sci-mathematics/gmp-ecm/Manifest
@@ -1,2 +1,3 @@
DIST ecm-7.0.5.tar.gz 1159568 BLAKE2B 7fb8d78a6bc8423c9890b9d6e334f8c4317b68cde7d712c5306775c6f07eacb3cbbbd11d651bbbdd687a87692f4920170557b51f9498881a6c5018a2ce0b1b7f SHA512 f5a482a231339304683adc3334c9b86f21a0d9b42ea871418d4c01005057d560cd418eddfcc1c7be7f8c249960b2ee612a1454ccc5d8e41319b06c6f42e6662e
+DIST ecm-7.0.6.tar.gz 971656 BLAKE2B 313197ea8a93e55eef82b24ff54b0f8661e4006ad8d9f3a43fbba0b04d3c5727f68595cb12dcf7e925650c141648294582bf99807145b862bbadce6ef28af827 SHA512 20d152055dda4020d2ccdcc93539a63b10140c63db4441a33a15f45c352e09e116fc1a400617065f2b49ae2f070da82708e22c79b41f709819b24c41d1258fff
DIST gmp-ecm-7.0.6.tar.bz2 609323 BLAKE2B 30255322bd8e8d49393044bcc55fd05905cb5b6b374c5f2ea59fa9b02864b22fc2b6f14fda2271a4148a2ec361fd524551cafd136bbbdf025137ce101c776def SHA512 7ad262e78c59d33218e1d783ffa79114c04fe4ddac57e4059577aecebbfe3af975c2e1ba6049452c1c96488660ed79fcb546237966489fc2edc03bf7710495c0
diff --git a/sci-mathematics/gmp-ecm/gmp-ecm-7.0.6-r1.ebuild b/sci-mathematics/gmp-ecm/gmp-ecm-7.0.6-r1.ebuild
new file mode 100644
index 000000000000..aac9fb107188
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/gmp-ecm-7.0.6-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PN="ecm"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Elliptic Curve Method for Integer Factorization"
+HOMEPAGE="https://gitlab.inria.fr/zimmerma/ecm"
+SRC_URI="https://gitlab.inria.fr/-/project/24244/uploads/ad3e5019fef98819ceae58b78f4cce93/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~ppc-macos ~x64-macos"
+IUSE="+custom-tune openmp cpu_flags_x86_sse2"
+
+DEPEND="dev-libs/gmp:="
+RDEPEND="${DEPEND}"
+
+# xsltproc is used to produce the manppage in combination with the
+# appropriate stylesheet
+BDEPEND="dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_compile() {
+ default
+ if use custom-tune; then
+ # One "emake" was needed to build the library. Now we can find
+ # the best set of parameters, and then run "emake" one more time
+ # to rebuild the library with the custom parameters. See the
+ # project's README or INSTALL-ecm. The build targets don't depend
+ # on ecm-params.h, so we need to "make clean" to force a rebuild.
+ emake ecm-params && emake clean && emake
+ fi
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable openmp) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable custom-tune asm-redc)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-mathematics/lcalc/Manifest b/sci-mathematics/lcalc/Manifest
index 740ec007a556..067611668694 100644
--- a/sci-mathematics/lcalc/Manifest
+++ b/sci-mathematics/lcalc/Manifest
@@ -1 +1,2 @@
DIST lcalc-2.0.5.tar.xz 830360 BLAKE2B 4a282de8548bc0b3d95fe079362ea98dd1397a1f0f7c4c61c6d2df8c5f95b9638aa628a25b138e6037520c69e56bfab635872115139caf3270d473e01276b980 SHA512 d3b7fa25dd3c2a8f88671076dfb5ab5e933be7feff24bbd160c92a476953f5553f9fb58f72c36b9c668929385084918fc3396e1a0bcc55de12ea8cb647c53929
+DIST lcalc-2.1.0.tar.xz 831000 BLAKE2B 2b48fbf488a95f96a8a33b778b5094da4a566e6c4d0b0dddbaad2fb1a33d70e34aed7dbb3b517dbb37622fd7978630ed50c0b342d1d5135588c565640a3dea05 SHA512 31f31f6877c47756bc5b6e91da3ecdbeec9131f7c99d046b7e186f743b0726dc1f257fa107e86e6ececabacbd16a61329aa058196f0e83ef7df517588ec7ff28
diff --git a/sci-mathematics/lcalc/lcalc-2.1.0.ebuild b/sci-mathematics/lcalc/lcalc-2.1.0.ebuild
new file mode 100644
index 000000000000..a39356808db6
--- /dev/null
+++ b/sci-mathematics/lcalc/lcalc-2.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Command-line utility and library for L-function computations"
+HOMEPAGE="https://gitlab.com/sagemath/lcalc"
+SRC_URI="https://gitlab.com/-/project/12934202/uploads/679cb360a06a713233876cd6fa0ba2fa/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+# The subslot is the libLfunction soname major version
+SLOT="0/2"
+KEYWORDS="~amd64 ~riscv"
+
+# Omit USE=mpfr for now because it's broken upstream:
+#
+# https://gitlab.com/sagemath/lcalc/-/issues/7
+#
+IUSE="+double double-double quad-double pari"
+REQUIRED_USE="^^ ( double double-double quad-double )"
+
+BDEPEND="dev-util/gengetopt"
+DEPEND="double-double? ( sci-libs/qd:= )
+ quad-double? ( sci-libs/qd:= )
+ pari? ( sci-mathematics/pari:= )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_with pari) \
+ --enable-precision="$(usev double)$(usev double-double)$(usev quad-double)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-mathematics/lean/Manifest b/sci-mathematics/lean/Manifest
index 0a4a177afa1f..feb08a28faf2 100644
--- a/sci-mathematics/lean/Manifest
+++ b/sci-mathematics/lean/Manifest
@@ -1,3 +1,2 @@
-DIST lean-3.51.1.tar.gz 1918894 BLAKE2B 9a240fe73193794a57001582c0623052cfc1c08ef3b155cac2d9dfc029202cb79b85e844fdf068e454498a35522ec3e18330da8c644bba3c6f708cbde04816f7 SHA512 dccdf6c3fbcd98115e62b9944645af6a2ce21412d63baa9565871807862e8d83cc6f29d1fb687f19b802240a5f9c019443caa00412ecfabe621744dff900e3ee
DIST lean-4.11.0.tar.gz 25790812 BLAKE2B d9a4eb15199f81c6757acf35fb17c795bb9d69158c7e7deb11d98a45bebf569dcda5f7733b2effd2be0eea879a6c7c24b270d97159e5898215e82e853320918c SHA512 2314659910b4d872c4ae0dda648a9cab9e1cc44cd4c55486a494b65b20fdae236ab9db99a42d7fb1a80030e300e95606065ee7dd27578b12a4c47fc8c102e2bb
-DIST lean-4.2.0.tar.gz 16382466 BLAKE2B 3a8770d92ae89041f3e12089c3bb9171a993e8a1c702162925b569e13ed8d8819b3e9aa3c00e314a80a118ff8e4b18fb6df8b8a0e85a21fcb1daa5c0bfc29d4f SHA512 b0bd91f39319c1c6fd6851732d9dcb8758734500abc8faf0648c03582a81d51f2d942fa5deecedf81116b894d0b65e93eccab557bf155e69d65bda83eccaf7bb
+DIST lean-4.14.0.tar.gz 28508743 BLAKE2B 692972402726a77ca9255edbecfc2bd30033d5c7137b00e85821d5bb74f7ed77398b19e7e3098eeecf6812ad9ca568a4076b11a91456b84f4ad78be8f6441286 SHA512 871169b3d7951934990a86a2b5d1741b00f4559c53c69ecdf0ca1c091426f1d7a6baa5ce69029dbecfc4a9dc9da9ee36b327cbef0ab28e80a9f64d34a2666c78
diff --git a/sci-mathematics/lean/files/lean-3.50.3-gcc-13.patch b/sci-mathematics/lean/files/lean-3.50.3-gcc-13.patch
deleted file mode 100644
index 273dd5161080..000000000000
--- a/sci-mathematics/lean/files/lean-3.50.3-gcc-13.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/shell/lean_js_main.cpp
-+++ b/shell/lean_js_main.cpp
-@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
-
- Author: Leonardo de Moura
- */
-+#include <cstdint>
- #include <iostream>
- #include <string>
- #include "shell/lean_js.h"
diff --git a/sci-mathematics/lean/files/lean-4.14.0-src-cmakelists.patch b/sci-mathematics/lean/files/lean-4.14.0-src-cmakelists.patch
new file mode 100644
index 000000000000..f6fbf7fed4ba
--- /dev/null
+++ b/sci-mathematics/lean/files/lean-4.14.0-src-cmakelists.patch
@@ -0,0 +1,23 @@
+diff --git a/src/CMakeLists.txt.orig b/src/CMakeLists.txt
+index 1bd0cb2..7ea94f5 100644
+--- a/src/CMakeLists.txt.orig
++++ b/src/CMakeLists.txt
+@@ -40,15 +40,15 @@ endif()
+ enable_testing()
+
+ option(MULTI_THREAD "MULTI_THREAD" ON)
+-option(CCACHE "use ccache" ON)
++option(CCACHE "use ccache" OFF)
+ option(SPLIT_STACK "SPLIT_STACK" OFF)
+ # When OFF we disable LLVM support
+ option(LLVM "LLVM" OFF)
+
+ # When ON we include githash in the version string
+-option(USE_GITHASH "GIT_HASH" ON)
++option(USE_GITHASH "GIT_HASH" OFF)
+ # When ON we install LICENSE files to CMAKE_INSTALL_PREFIX
+-option(INSTALL_LICENSE "INSTALL_LICENSE" ON)
++option(INSTALL_LICENSE "INSTALL_LICENSE" OFF)
+ # When ON thread storage is automatically finalized, it assumes platform support pthreads.
+ # This option is important when using Lean as library that is invoked from a different programming language (e.g., Haskell).
+ option(AUTO_THREAD_FINALIZATION "AUTO_THREAD_FINALIZATION" ON)
diff --git a/sci-mathematics/lean/files/lean-CMakeLists-fix_flags.patch b/sci-mathematics/lean/files/lean-CMakeLists-fix_flags.patch
deleted file mode 100644
index 1fd788fd79be..000000000000
--- a/sci-mathematics/lean/files/lean-CMakeLists-fix_flags.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-index f0efdf425..4cd461986 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -194,7 +194,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "-DLEAN_DEBUG -DLEAN_TRACE")
- set(CMAKE_CXX_FLAGS_MINSIZEREL "-DNDEBUG")
- set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-DLEAN_DEBUG")
--set(CMAKE_CXX_FLAGS_GPROF "-O2 -g -pg")
-+set(CMAKE_CXX_FLAGS_GPROF "-g -pg")
-
- # OSX .dmg generation (this is working in progress)
- set(CPACK_DMG_BACKGROUND_IMAGE "${LEAN_SOURCE_DIR}/../images/lean.png")
-@@ -264,8 +264,8 @@ if (NOT MSVC)
- set(CMAKE_CXX_FLAGS "-Wall -Wextra -std=c++11 ${CMAKE_CXX_FLAGS}")
- set(CMAKE_CXX_FLAGS_DEBUG "-g3 ${CMAKE_CXX_FLAGS_DEBUG}")
- set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os ${CMAKE_CXX_FLAGS_MINSIZEREL}")
-- set(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE}")
-- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
-+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
-+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
- elseif (MULTI_THREAD)
- set(CMAKE_CXX_FLAGS_DEBUG "/MTd ${CMAKE_CXX_FLAGS_DEBUG}")
- set(CMAKE_CXX_FLAGS_MINSIZEREL "/MT ${CMAKE_CXX_FLAGS_MINSIZEREL}")
diff --git a/sci-mathematics/lean/lean-3.51.1.ebuild b/sci-mathematics/lean/lean-3.51.1.ebuild
deleted file mode 100644
index 6c8c7551d8ef..000000000000
--- a/sci-mathematics/lean/lean-3.51.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MAJOR=$(ver_cut 1)
-CMAKE_IN_SOURCE_BUILD="ON"
-
-inherit flag-o-matic cmake readme.gentoo-r1
-
-DESCRIPTION="The Lean Theorem Prover"
-HOMEPAGE="https://leanprover-community.github.io/"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/leanprover-community/lean.git"
-else
- SRC_URI="https://github.com/leanprover-community/lean/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-S="${S}/src"
-
-LICENSE="Apache-2.0"
-SLOT="0/${MAJOR}"
-IUSE="debug +threads"
-
-RDEPEND="dev-libs/gmp:="
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.50.3-gcc-13.patch
- "${FILESDIR}"/${PN}-CMakeLists-fix_flags.patch
-)
-
-src_configure() {
- local CMAKE_BUILD_TYPE
- if use debug; then
- CMAKE_BUILD_TYPE="Debug"
- else
- CMAKE_BUILD_TYPE="Release"
- fi
-
- filter-lto
-
- local -a mycmakeargs=(
- -DALPHA=ON
- -DAUTO_THREAD_FINALIZATION=ON
- -DJSON=ON # bug 833900
- -DLEAN_EXTRA_CXX_FLAGS="${CXXFLAGS}"
- -DMULTI_THREAD=$(usex threads)
- -DUSE_GITHASH=OFF
- )
- cmake_src_configure
-}
-
-src_test() {
- local -a myctestargs=(
- # Disable problematic "style_check" cpplint test,
- # this also removes the python test dependency
- --exclude-regex style_check
- )
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- local DISABLE_AUTOFORMATTING="yes"
- local DOC_CONTENTS="You probably want to use lean with mathlib, you can either:
- - Do not install mathlib globally and use local versions
- - Use leanproject from sci-mathematics/mathlib-tools
- $ leanproject global-install
- - Use leanpkg and compile mathlib (which will take some time)
- $ leanpkg install https://github.com/leanprover-community/mathlib"
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sci-mathematics/lean/lean-4.2.0.ebuild b/sci-mathematics/lean/lean-4.14.0-r1.ebuild
index 4f9f3b199ff1..bbb780629319 100644
--- a/sci-mathematics/lean/lean-4.2.0.ebuild
+++ b/sci-mathematics/lean/lean-4.14.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,13 @@ EAPI=8
MAJOR="$(ver_cut 1)"
CMAKE_MAKEFILE_GENERATOR="emake"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..13} )
-inherit cmake flag-o-matic python-any-r1
+inherit check-reqs cmake flag-o-matic python-any-r1
DESCRIPTION="The Lean Theorem Prover"
-HOMEPAGE="https://leanprover-community.github.io/"
+HOMEPAGE="https://leanprover-community.github.io/
+ https://github.com/leanprover/lean4/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
@@ -31,6 +32,8 @@ IUSE="debug source"
RDEPEND="
dev-libs/gmp:=
+ dev-libs/libuv:=
+ sci-mathematics/cadical
"
DEPEND="
${RDEPEND}
@@ -39,6 +42,17 @@ BDEPEND="
${PYTHON_DEPS}
"
+PATCHES=( "${FILESDIR}/lean-4.14.0-src-cmakelists.patch" )
+
+CHECKREQS_DISK_BUILD="4G"
+CHECKREQS_DISK_USR="2G"
+
+# Built by lean's build tool.
+QA_FLAGS_IGNORED="
+usr/lib/lean/libInit_shared.so
+usr/lib/lean/libleanshared_1.so
+"
+
pkg_setup() {
python-any-r1_pkg_setup
}
@@ -46,13 +60,13 @@ pkg_setup() {
src_prepare() {
filter-lto
- sed -e "s|-O[23]|${CFLAGS}|g" -i src/CMakeLists.txt || die
+ sed -e "s|-O[23]|${CFLAGS}|g" -i ./src/CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
- local CMAKE_BUILD_TYPE
+ local CMAKE_BUILD_TYPE=""
if use debug ; then
CMAKE_BUILD_TYPE="Debug"
@@ -61,6 +75,10 @@ src_configure() {
fi
local -a mycmakeargs=(
+ -DCCACHE="OFF"
+ -DGIT_HASH="OFF"
+ -DINSTALL_LICENSE="OFF"
+ -DLEANC_EXTRA_FLAGS="${CFLAGS}"
-DLEAN_EXTRA_CXX_FLAGS="${CXXFLAGS}"
-DLEAN_EXTRA_LINKER_FLAGS="${LDFLAGS}"
)
@@ -70,7 +88,8 @@ src_configure() {
src_install() {
cmake_src_install
- rm "${ED}/usr/LICENSE"* || die
+ # Build/install process copies "cadical" from CBUILD host.
+ rm "${ED}/usr/bin/cadical" || die
if ! use source ; then
rm -r "${ED}/usr/src" || die
diff --git a/sci-mathematics/lean/metadata.xml b/sci-mathematics/lean/metadata.xml
index ddb0be8a571c..c43ac3a1bfb1 100644
--- a/sci-mathematics/lean/metadata.xml
+++ b/sci-mathematics/lean/metadata.xml
@@ -8,10 +8,15 @@
</maintainer>
<longdescription>
The Lean theorem prover is a proof assistant developed principally
- by Leonardo de Moura at Microsoft Research.
+ by Leonardo de Moura at Microsoft Research. Lean is a functional
+ programming language that makes it easy to write correct and
+ maintainable code. You can also use Lean as an interactive theorem
+ prover. Lean programming primarily involves defining types and
+ functions. This allows your focus to remain on the problem domain and
+ manipulating its data, rather than the details of programming.
</longdescription>
<upstream>
- <bugs-to>https://github.com/leanprover-community/lean/issues</bugs-to>
- <remote-id type="github">leanprover-community/lean</remote-id>
+ <bugs-to>https://github.com/leanprover/lean4/issues</bugs-to>
+ <remote-id type="github">leanprover/lean4</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-mathematics/manifold/Manifest b/sci-mathematics/manifold/Manifest
index 58b71739343e..2863e320ac7b 100644
--- a/sci-mathematics/manifold/Manifest
+++ b/sci-mathematics/manifold/Manifest
@@ -1 +1,2 @@
DIST manifold-3.0.0_pre20241115.tar.gz 29143605 BLAKE2B 84c3e4c98a9279187660f31e4010097de431472412f2591943c99195edad9f700115df4b362d968b95e3ee136c699eecf2dc9845001019f71e9cf7b0cbca4d0e SHA512 bae671d190d8fbfc0ee12989a73a38d7d0ddf0e0081db8f56a446c09998e24f43828d70731f97d6948599f31ef6734f86183debc09f4cec07983af317ce0dba8
+DIST manifold-3.0.1.tar.gz 29246794 BLAKE2B 342cc6a3f125613e2d8837f04936bfce0fd2bf6cc6390bf2924916f74e5528d0f082c17a646a52255f4c4087359fd312ee43a4b5661d6682fd8f1e98eaa905cf SHA512 6970d7b30a0174eacd0a7f74d8e9647150f44144237815d6539a0669fcc74b5ddf336d12d1ee57b18ad6a97d8b58501cfe4072f9fd12c88395714471cb654f5a
diff --git a/sci-mathematics/manifold/manifold-3.0.0_pre20241115.ebuild b/sci-mathematics/manifold/manifold-3.0.0_pre20241115.ebuild
index 3e6c99c118e9..fe78b17187a5 100644
--- a/sci-mathematics/manifold/manifold-3.0.0_pre20241115.ebuild
+++ b/sci-mathematics/manifold/manifold-3.0.0_pre20241115.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="debug python test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/sci-mathematics/manifold/manifold-3.0.1.ebuild b/sci-mathematics/manifold/manifold-3.0.1.ebuild
new file mode 100644
index 000000000000..61fcfb984a91
--- /dev/null
+++ b/sci-mathematics/manifold/manifold-3.0.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake python-single-r1
+
+DESCRIPTION="Geometry library for topological robustness"
+HOMEPAGE="https://github.com/elalish/manifold"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/elalish/manifold.git"
+else
+ if [[ ${PV} = *pre* ]] ; then
+ COMMIT="e7e0780114881dcf6e5ad934323f2595966865f9"
+ SRC_URI="https://github.com/elalish/manifold/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/elalish/manifold/releases/download/v${PV}/${P}.tar.gz"
+ fi
+
+ KEYWORDS="amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+IUSE="debug python +tbb test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb:= )
+ sci-mathematics/clipper2
+ python? ( ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-python/nanobind-2.1.0[${PYTHON_USEDEP}]
+ ')
+ )
+ test? ( dev-cpp/gtest )
+ ${RDEPEND}
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/list(APPEND MANIFOLD_FLAGS/s/^/# DONOTSET /" \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DMANIFOLD_CROSS_SECTION="yes"
+ -DMANIFOLD_DEBUG="$(usex debug)"
+ -DMANIFOLD_DOWNLOADS="no"
+ -DMANIFOLD_EXPORT="no"
+ -DMANIFOLD_JSBIND="no"
+ -DMANIFOLD_PAR="$(usex tbb ON OFF)"
+ -DMANIFOLD_PYBIND="$(usex python)"
+ -DMANIFOLD_TEST="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}/test/manifold_test" || die
+}
diff --git a/sci-mathematics/manifold/metadata.xml b/sci-mathematics/manifold/metadata.xml
index 7a2cd57d4d26..041754cb8dc3 100644
--- a/sci-mathematics/manifold/metadata.xml
+++ b/sci-mathematics/manifold/metadata.xml
@@ -12,4 +12,7 @@
<upstream>
<remote-id type="github">elalish/manifold</remote-id>
</upstream>
+ <use>
+ <flag name="tbb">Enable Parallel backend with <pkg>dev-cpp/tbb</pkg></flag>
+ </use>
</pkgmetadata>
diff --git a/sci-mathematics/mathlib-tools/Manifest b/sci-mathematics/mathlib-tools/Manifest
deleted file mode 100644
index cba80086497b..000000000000
--- a/sci-mathematics/mathlib-tools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mathlib-tools-1.3.2_p1.gh.tar.gz 36686 BLAKE2B 0120e64821c183e368a4ca7d7122146637b933c9f56279c15716c825ac6e0e20d19f8ece731ee5c4114b7c221e84b53d3b89fcc0268529cbd1f2ad3328ac7847 SHA512 7b3c5a8aea19a4c7df366c71baa19e3d8ab6a0a6b387973ed37aecf3003361f298b85a4deecc8a4fcb6a2003f666c503fd66cde986e412003d439d48345afbc7
diff --git a/sci-mathematics/mathlib-tools/files/mathlib-tools-1.3.2-pull-131.patch b/sci-mathematics/mathlib-tools/files/mathlib-tools-1.3.2-pull-131.patch
deleted file mode 100644
index 2debd3d6b396..000000000000
--- a/sci-mathematics/mathlib-tools/files/mathlib-tools-1.3.2-pull-131.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- a/mathlibtools/lib.py
-+++ b/mathlibtools/lib.py
-@@ -21,7 +21,8 @@
-
- import requests
- from tqdm import tqdm # type: ignore
--import toml
-+import tomli
-+import tomli_w
- import yaml
- from git import (Repo, Commit, InvalidGitRepositoryError, # type: ignore
- GitCommandError, BadName, RemoteReference) # type: ignore
-@@ -84,7 +85,7 @@ def mathlib_lean_version() -> VersionTuple:
- """Return the latest Lean release supported by mathlib"""
- resp = requests.get("https://raw.githubusercontent.com/leanprover-community/mathlib/master/leanpkg.toml")
- assert resp.status_code == 200
-- conf = toml.loads(resp.text)
-+ conf = tomli.loads(resp.text)
- return parse_version(conf['package']['lean_version'])
-
- def set_download_url(url: str = AZURE_URL) -> None:
-@@ -441,7 +442,8 @@ def from_path(cls, path: Path, cache_url: str = '',
- except ValueError:
- rev = ''
- directory = find_root(path)
-- config = toml.load(directory/'leanpkg.toml')
-+ with (directory/'leanpkg.toml').open('rb') as pkgtoml:
-+ config = tomli.load(pkgtoml)
-
- return cls(repo, is_dirty, rev, directory,
- config['package'], config['dependencies'],
-@@ -456,7 +458,8 @@ def user_wide(cls, cache_url: str = '',
- version of Lean supported by mathlib."""
- directory = Path.home()/'.lean'
- try:
-- config = toml.load(directory/'leanpkg.toml')
-+ with (directory/'leanpkg.toml').open('rb') as pkgtoml:
-+ config = tomli.load(pkgtoml)
- except FileNotFoundError:
- directory.mkdir(exist_ok=True)
- version = mathlib_lean_version()
-@@ -469,8 +472,8 @@ def user_wide(cls, cache_url: str = '',
- pkg = { 'name': '_user_local_packages',
- 'version': '1',
- 'lean_version': version_str }
-- with (directory/'leanpkg.toml').open('w') as pkgtoml:
-- toml.dump({'package': pkg}, pkgtoml)
-+ with (directory/'leanpkg.toml').open('wb') as pkgtoml:
-+ tomli_w.dump({'package': pkg}, pkgtoml)
- config = { 'package': pkg, 'dependencies': dict() }
-
- return cls(None, False, '', directory,
-@@ -534,7 +537,8 @@ def mathlib_repo(self) -> Repo:
-
- def read_config(self) -> None:
- try:
-- config = toml.load(self.directory/'leanpkg.toml')
-+ with (self.directory/'leanpkg.toml').open('rb') as pkgtoml:
-+ config = tomli.load(pkgtoml)
- except FileNotFoundError:
- raise InvalidLeanProject('Missing leanpkg.toml')
-
-@@ -551,7 +555,7 @@ def write_config(self) -> None:
- # for dependencies.
- with (self.directory/'leanpkg.toml').open('w') as cfg:
- cfg.write('[package]\n')
-- cfg.write(toml.dumps(self.pkg_config))
-+ cfg.write(tomli_w.dumps(self.pkg_config))
- cfg.write('\n[dependencies]\n')
- for dep, val in self.deps.items():
- nval = str(val).replace("'git':", 'git =').replace(
-
---- a/setup.py
-+++ b/setup.py
-@@ -28,7 +28,7 @@
- "License :: OSI Approved :: Apache Software License",
- "Operating System :: OS Independent" ],
- python_requires='>=3.6',
-- install_requires=['toml>=0.10.0', 'PyGithub', 'certifi', 'gitpython>=2.1.11', 'requests',
-+ install_requires=['tomli', 'tomli-w', 'PyGithub', 'certifi', 'gitpython>=2.1.11', 'requests',
- 'Click', 'tqdm', 'networkx', 'pydot',
- 'PyYAML>=3.13', 'atomicwrites', "dataclasses; python_version=='3.6'"]
- )
-
diff --git a/sci-mathematics/mathlib-tools/mathlib-tools-1.3.2_p1.ebuild b/sci-mathematics/mathlib-tools/mathlib-tools-1.3.2_p1.ebuild
deleted file mode 100644
index 80869ab68400..000000000000
--- a/sci-mathematics/mathlib-tools/mathlib-tools-1.3.2_p1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Development tools for Lean's mathlib"
-HOMEPAGE="https://github.com/leanprover-community/mathlib-tools"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/leanprover-community/${PN}.git"
-else
- _PV=${PV/_p1/}
- SRC_URI="https://github.com/leanprover-community/${PN}/archive/v${_PV}.tar.gz
- -> ${P}.gh.tar.gz"
- S="${WORKDIR}"/${PN}-${_PV}
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-BDEPEND="
- >=dev-python/gitpython-2.1.11[${PYTHON_USEDEP}]
- dev-python/pygithub[${PYTHON_USEDEP}]
- dev-python/atomicwrites[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${BDEPEND}
- sci-mathematics/lean:0/3
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.3.2-pull-131.patch )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Remove problematic tests (mainly issues with network)
- rm ./tests/test_functional.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/sci-mathematics/mathlib-tools/metadata.xml b/sci-mathematics/mathlib-tools/metadata.xml
deleted file mode 100644
index c2598dacd8a7..000000000000
--- a/sci-mathematics/mathlib-tools/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-mathematics@gentoo.org</email>
- <name>Gentoo Mathematics Project</name>
- </maintainer>
- <longdescription>
- This package contains leanproject, a supporting tool for Lean mathlib.
- More info:
- - https://leanprover-community.github.io/toolchain.html#handling-dependencies
- - https://leanprover-community.github.io/leanproject.html
- </longdescription>
- <upstream>
- <changelog>https://github.com/leanprover-community/mathlib-tools/blob/master/CHANGELOG.md</changelog>
- <bugs-to>https://github.com/leanprover-community/mathlib-tools/issues</bugs-to>
- <remote-id type="github">leanprover-community/mathlib-tools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
index 63a8b3a5d0dd..6c8766899894 100644
--- a/sci-mathematics/octave/Manifest
+++ b/sci-mathematics/octave/Manifest
@@ -1,2 +1 @@
-DIST octave-8.3.0.tar.xz 26970776 BLAKE2B 8c7241ff6bd5b23244edb47e74753ddf867139280b899b16ae2cab91c30a73ebdcf471d032ee47bddb67f8c7f5c772a23f4a832cadcca7ada01468b84e451ad4 SHA512 b7c8724ca8376783e8563c2050c2d9219309e559116e5cba0fdc9f50780782ff4cc98d382bdbe26055aebffb6be99b110033c682f661a3966ea1b1ddb12d4ac3
DIST octave-9.2.0.tar.xz 27425184 BLAKE2B 55480201037871d878090972bf89d5ff43508276f41e77accdd16b752758775e883fe3875d19ea4fc2b33cf8a9a9f39684f05c85e027ca53ee2cdfda6c6bae72 SHA512 cb1667cd6557d48ecd7ae191bc44c9b9fd4f79e7cf4bf6c917093d120c4312e9594e6dddc5287661627ac053e9f23faaec40a1286d792d859f1fefbfdb3eeb8c
diff --git a/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch b/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch
deleted file mode 100644
index 2b16fbf411e1..000000000000
--- a/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://bugs.gentoo.org/839285
---- a/m4/acinclude.m4
-+++ b/m4/acinclude.m4
-@@ -2095,9 +2071,6 @@ AC_DEFUN([OCTAVE_CHECK_QT_TOOL], [
- if test -z "$m4_toupper([$1])_QTVER"; then
- AC_CHECK_TOOLS(m4_toupper([$1]), [$1])
- if test -n "$m4_toupper([$1])"; then
-- if test -n "$QTCHOOSER"; then
-- m4_toupper([$1])FLAGS="-qt=$qt_version"
-- fi
- QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE $1"
- else
- QT_TOOLS_MISSING="$QT_TOOLS_MISSING $1"
-@@ -2167,8 +2167,6 @@ AC_DEFUN([OCTAVE_CHECK_QT_VERSION], [AC_MSG_CHECKING([Qt version $1])
- QT_TOOLS_MISSING=
-
- if test $build_qt_gui = yes; then
-- AC_CHECK_TOOLS(QTCHOOSER, [qtchooser])
--
- OCTAVE_CHECK_QT_TOOL([moc])
- OCTAVE_CHECK_QT_TOOL([uic])
- OCTAVE_CHECK_QT_TOOL([rcc])
diff --git a/sci-mathematics/octave/metadata.xml b/sci-mathematics/octave/metadata.xml
index af1bd5973c10..900e5e53ce79 100644
--- a/sci-mathematics/octave/metadata.xml
+++ b/sci-mathematics/octave/metadata.xml
@@ -9,7 +9,6 @@
Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments. It may also be used as a batch-oriented language.
</longdescription>
<use>
- <flag name="fltk">Use <pkg>x11-libs/fltk</pkg> as the backend for the OpenGL renderer in the absence of the Qt GUI</flag>
<flag name="glpk">Add support for <pkg>sci-mathematics/glpk</pkg> for linear programming</flag>
<flag name="gnuplot">Use <pkg>sci-visualization/gnuplot</pkg> to render plots if OpenGL is unavailable</flag>
<flag name="imagemagick">Use <pkg>media-gfx/graphicsmagick</pkg> to read and write images</flag>
diff --git a/sci-mathematics/octave/octave-8.3.0-r2.ebuild b/sci-mathematics/octave/octave-8.3.0-r2.ebuild
deleted file mode 100644
index d13104f9342f..000000000000
--- a/sci-mathematics/octave/octave-8.3.0-r2.ebuild
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic fortran-2 java-pkg-opt-2 pax-utils qmake-utils toolchain-funcs xdg
-
-DESCRIPTION="High-level interactive language for numerical computations"
-HOMEPAGE="https://www.gnu.org/software/octave/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0/${PV}"
-IUSE="curl doc fftw fltk +glpk gnuplot gui hdf5 imagemagick java json opengl portaudio postscript +qhull +qrupdate readline sndfile +sparse ssl sundials X zlib"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-# Although it is listed in INSTALL.OCTAVE as a build tool, Octave runs
-# "makeinfo" from sys-apps/texinfo at runtime to convert its texinfo
-# documentation to text (see scripts/help/help.m).
-#
-# (un)zip isn't mentioned, but there's a test that uses it (bug #775254).
-#
-# The use of USE=imagemagick to pull in media-gfx/graphicsmagick is not
-# ideal, but both "graphicsmagick" and "imagemagick" are global USE
-# flags whose existing descriptions conflict with the obvious way we
-# would want to use them in octave. In any case, upstream doesn't really
-# support imagemagick, only graphicsmagick (bug 864785).
-RDEPEND="
- app-arch/bzip2
- app-arch/unzip
- app-arch/zip
- app-text/ghostscript-gpl
- sys-apps/texinfo
- dev-libs/libpcre2
- sys-libs/ncurses:=
- sys-libs/zlib
- virtual/blas
- virtual/lapack
- curl? ( net-misc/curl:= )
- fftw? ( sci-libs/fftw:3.0= )
- fltk? ( >=x11-libs/fltk-1.3:1=[opengl,xft] )
- glpk? ( sci-mathematics/glpk:= )
- gnuplot? ( sci-visualization/gnuplot )
- gui? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qthelp:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- x11-libs/qscintilla:=[qt5(+)]
- )
- hdf5? ( sci-libs/hdf5:= )
- imagemagick? ( media-gfx/graphicsmagick:=[cxx] )
- java? ( >=virtual/jre-1.8:* )
- json? ( dev-libs/rapidjson )
- opengl? (
- media-libs/freetype:=
- media-libs/fontconfig:=
- virtual/glu
- x11-libs/gl2ps:=
- )
- portaudio? ( media-libs/portaudio )
- postscript? (
- app-text/epstool
- media-gfx/pstoedit
- >=media-gfx/fig2dev-3.2.9-r1
- )
- qhull? ( media-libs/qhull:= )
- qrupdate? ( sci-libs/qrupdate:= )
- readline? ( sys-libs/readline:= )
- sndfile? ( media-libs/libsndfile )
- sparse? (
- sci-libs/arpack:=
- sci-libs/camd:=
- sci-libs/ccolamd:=
- sci-libs/cholmod:=
- sci-libs/colamd:=
- sci-libs/cxsparse:=
- sci-libs/umfpack:=
- )
- ssl? (
- dev-libs/openssl:=
- )
- sundials? ( >=sci-libs/sundials-4:= )
- X? ( x11-libs/libX11:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/gperf
- virtual/pkgconfig
- doc? (
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-plaingeneric
- dev-texlive/texlive-metapost
- virtual/latex-base
- )
- java? ( >=virtual/jdk-1.8:* )
- gui? ( dev-qt/linguist-tools:5 )
- qrupdate? ( app-misc/pax-utils )
- sparse? ( app-misc/pax-utils )
-"
-
-# There are three ways to plot in Octave:
-#
-# 1. The old gnuplot renderer
-# 2. The OpenGL renderer using the FLTK backend
-# 3. The OpenGL renderer using the Qt backend
-#
-# It's possible to use the Qt GUI without OpenGL, but OpenGL rendering
-# is all that FLTK is used for, so it doesn't make sense to enable
-# USE=fltk without USE=opengl.
-#
-# Building without either USE=gnuplot or USE=opengl is technically legal,
-# but will leave you unable to plot anything.
-#
-# Octave's FLTK support is unofficially deprecated, in the sense that
-# you'll often get "why are you using FLTK?" in response to
-# bugs. (Upstream bug 59321 for a random example.) In the future, it
-# will probably make sense to merge USE=opengl and USE=X into USE=gui,
-# dropping USE=fltk entirely.
-REQUIRED_USE="
- fltk? ( opengl X )
- gui? ( X )
- opengl? ( || ( fltk gui ) )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch
- "${FILESDIR}"/${PN}-6.4.0-omit-qtchooser-qtver.patch
-)
-
-src_prepare() {
- default
-
- # occasional fail on install, force regeneration (bug #401189)
- rm doc/interpreter/contributors.texi || die
-
- eautoreconf
-}
-
-src_configure() {
- # libstdc++ bug, bug #887815
- append-cxxflags -U_GLIBCXX_ASSERTIONS
-
- # Unfortunate dependency on mpi from hdf5 (bug #302621)
- use hdf5 && has_version sci-libs/hdf5[mpi] && \
- export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
-
- # Tell autoconf where to find qt binaries, fix bug #837752
- export MOC="$(qt5_get_bindir)/moc" \
- UIC="$(qt5_get_bindir)/uic" \
- RCC="$(qt5_get_bindir)/rcc" \
- LRELEASE="$(qt5_get_bindir)/lrelease" \
- QCOLLECTIONGENERATOR="$(qt5_get_bindir)/qcollectiongenerator" \
- QHELPGENERATOR="$(qt5_get_bindir)/qhelpgenerator"
-
- # Some of these use_with flags are a bit mismatched. The configure
- # script offers only --without-foo, and detects "foo" automatically
- # unless --without-foo is specified. Passing --with-foo is not an
- # error, however, so it kind of works. We wind up with, for example,
- #
- # --with-sundials_ida (no-op) with USE="sundials"
- # --without-sundials_ida (disables it) with USE="-sundials"
- #
- local myeconfargs=(
- --localstatedir="${EPREFIX}/var/state/octave"
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- --disable-64
- --enable-shared
- --with-z
- --with-bz2
-
- # bug #901965
- --without-libiconv-prefix
- --without-libreadline-prefix
-
- $(use_enable doc docs)
- $(use_enable java)
- $(use_enable json rapidjson)
- $(use_enable readline)
- $(use_with curl)
- $(use_with fftw fftw3)
- $(use_with fftw fftw3f)
- $(use_enable fftw fftw-threads)
- $(use_with glpk)
- $(use_with hdf5)
- $(use_with imagemagick magick GraphicsMagick++)
- $(use_with opengl)
- $(use_with fltk)
- $(use_with ssl openssl)
- $(use_with portaudio)
- $(use_with qhull qhull_r)
- $(use_with qrupdate)
- $(use_with gui qt 5)
- $(use_with sndfile)
- $(use_with sparse arpack)
- $(use_with sparse umfpack)
- $(use_with sparse colamd)
- $(use_with sparse ccolamd)
- $(use_with sparse cholmod)
- $(use_with sparse cxsparse)
- $(use_with sundials sundials_ida)
- $(use_with X x)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Otherwise it will write to /var/cache/fonts/ and trip sandbox
- export VARTEXFONTS="${T}/fonts"
-
- default
-
- if use java; then
- pax-mark m "${S}/src/.libs/octave-cli"
- fi
-}
-
-src_install() {
- default
-
- if use doc; then
- dodoc $(find doc -name '*.pdf')
- else
- # bug #566134, macros.texi is installed by make install if use doc
- insinto /usr/share/${PN}/${PV}/etc
- doins doc/interpreter/macros.texi
- fi
-
- use java && \
- java-pkg_regjar "${ED}/usr/share/${PN}/${PV}/m/java/octave.jar"
-
- echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/${PN}/${PV}" > 99octave || die
- doenvd 99octave
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sci-mathematics/octave/octave-9.2.0-r1.ebuild b/sci-mathematics/octave/octave-9.2.0-r1.ebuild
index c0305336a4ae..9beb72077052 100644
--- a/sci-mathematics/octave/octave-9.2.0-r1.ebuild
+++ b/sci-mathematics/octave/octave-9.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="curl doc fftw +glpk gnuplot gui hdf5 imagemagick java json klu portaudio postscript +qhull +qrupdate readline sndfile +sparse spqr ssl sundials zlib"
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest
index 1c695ff917f7..dcd97ace40ff 100644
--- a/sci-mathematics/pari/Manifest
+++ b/sci-mathematics/pari/Manifest
@@ -1 +1,2 @@
DIST pari-2.15.5.tar.gz 5186798 BLAKE2B b253c6d8ad38462e81852d7bb364d06a7cbaae7b085672653da8d9f91f0173cfdef8f537ebc7313b6484f610d43e10fb0547f5d920789b95c8d0027dd52e8312 SHA512 59b2ebed43176f1ee750146053644bffbf673b4b4810134bc39132665941152772afb7a9332b842fc64e5ab8d5747a872c1b8ff327d3bd5eedaa1591691fff13
+DIST pari-2.17.1.tar.gz 5325234 BLAKE2B a5d20e5c69235ae815291bef377c195888dcac9e802583ea91e88a16c4eed5f178dcea447524fbcb5b7ea9ef12bbccc6d665eaee582e1e7782b54ba256c56a87 SHA512 77211fe7282558058f69c69889be3f23f7a173939ae8f24897b3df9715eef1bf0378916537eca2a54198b6d0c1860d386db250efafafe936437dc8c1e3cb0253
diff --git a/sci-mathematics/pari/files/pari-2.17.1-gcc15-swap-conflict.patch b/sci-mathematics/pari/files/pari-2.17.1-gcc15-swap-conflict.patch
new file mode 100644
index 000000000000..7e26784cd91c
--- /dev/null
+++ b/sci-mathematics/pari/files/pari-2.17.1-gcc15-swap-conflict.patch
@@ -0,0 +1,53 @@
+From 4cce8c7b9107053ffd1bb0d6510797dafd632151 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 12 Jan 2025 21:02:40 -0500
+Subject: [PATCH] src/graph/plotfltk.c: swap PARI and FLTK includes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+PARI defines a swap() macro that conflicts with the swap() function
+declared in some C++ headers used by FLTK. This can lead to build
+failures like
+
+ /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/alloc_traits.h
+ :1005:46:error: macro ‘swap’ requires 2 arguments, but only 1 given
+ 1005 | __c.get_allocator()).swap(__c);
+ | ^
+
+when using the forthcoming g++-15 to build PARI. Basically this fails
+because the macro is defined before the C++ headers are included. If
+we swap the includes, then the macro clobbers the function, but that's
+okay because PARI only expects the macro to be in scope.
+---
+ src/graph/plotfltk.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/graph/plotfltk.c b/src/graph/plotfltk.c
+index f81515d..e95275e 100644
+--- a/src/graph/plotfltk.c
++++ b/src/graph/plotfltk.c
+@@ -18,16 +18,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ //
+ // Based on plotQt by Nils-Peter Skoruppa (www.countnumber.de)
+ /////////////////////////////////////////////////////////////////////////////
++#include <FL/Fl.H>
++#include <FL/Fl_Window.H>
++#include <FL/fl_draw.H>
++
+ extern "C" {
+ #include "pari.h"
+ #include "paripriv.h"
+ #include "rect.h"
+ }
+
+-#include <FL/Fl.H>
+-#include <FL/Fl_Window.H>
+-#include <FL/fl_draw.H>
+-
+ class Plotter: public Fl_Window {
+
+ public:
+--
+2.47.1
+
diff --git a/sci-mathematics/pari/pari-2.17.1.ebuild b/sci-mathematics/pari/pari-2.17.1.ebuild
new file mode 100644
index 000000000000..573281a37524
--- /dev/null
+++ b/sci-mathematics/pari/pari-2.17.1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Computer-aided number theory C library and tools"
+HOMEPAGE="https://pari.math.u-bordeaux.fr/"
+SRC_URI="https://pari.math.u-bordeaux.fr/pub/${PN}/unix/${P}.tar.gz"
+
+# Their LICENSE file says "or (at your option) any later version"
+LICENSE="GPL-2+"
+
+# The subslot is the value of $soname_num obtained from
+# upstream's config/version script.
+SLOT="0/9"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="data doc examples fltk gmp test threads X"
+REQUIRED_USE="fltk? ( !X )" # mutually exclusive plot implementations
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )
+"
+DEPEND="
+ sys-libs/readline:0=
+ data? ( sci-mathematics/pari-data )
+ doc? ( X? ( x11-misc/xdg-utils ) )
+ fltk? ( x11-libs/fltk:1= )
+ gmp? ( dev-libs/gmp:0= )
+ X? ( x11-libs/libX11:0= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-gcc15-swap-conflict.patch" )
+
+src_prepare() {
+ default
+
+ # move doc dir to a gentoo doc dir and replace acroread by xdg-open
+ sed -i \
+ -e "s:\$d = \$0:\$d = '${EPREFIX}/usr/share/doc/${PF}':" \
+ -e 's:"acroread":"xdg-open":' \
+ doc/gphelp.in || die "Failed to fix doc dir"
+
+ # These tests fail when LaTeX is not installed (which we don't
+ # require without USE=doc), most likely due to output formatting
+ # issues but I haven't deleted my LaTeX installation to check.
+ # There's no real upstream support for enabling/disabling the LaTeX
+ # docs, so this is probably the correctest way to skip these tests.
+ if ! use doc; then
+ rm src/test/{in,32}/help || die
+ fi
+}
+
+src_configure() {
+ tc-export CC CXX PKG_CONFIG
+
+ # Workaraound to "asm operand has impossible constraints" as
+ # suggested in bug #499996.
+ use x86 && append-cflags $(test-flags-CC -fno-stack-check)
+
+ # sysdatadir installs a pari.cfg stuff which is informative only.
+ # It is supposed to be for "architecture-dependent" data. It needs
+ # to be easily discoverable for downstream packages such as gp2c.
+ # We set LD="" and DLLD="$CC" so that the "shared library linker"
+ # always gets set to the value of the compiler used. Pari's build
+ # system does not cope very well with a naked linker, it is
+ # expecting a compiler driver. See bugs 722090 and 871117.
+ # DLLDFLAGS, on the other hand, is used exactly like LDFLAGS would
+ # be in a less-weird build system.
+ #
+ # There's a lot of automagic involved in the graphics detection. We
+ # first pass --graphic=none, which disables some of it. We then pass
+ # --graphic=fltk (or --graphic=X11) only if USE=fltk (or USE=X) is
+ # set. This is a stronger hint to the build system than --with-fltk
+ # would be, and importantly does not rely on the corresponding but
+ # nonexistent(!) option option for X11.
+ LD="" DLLD="$(tc-getCC)" DLLDFLAGS="${LDFLAGS}" ./Configure \
+ --prefix="${EPREFIX}"/usr \
+ --datadir="${EPREFIX}/usr/share/${PN}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --sysdatadir="${EPREFIX}"/usr/share/pari \
+ --mandir="${EPREFIX}"/usr/share/man/man1 \
+ --with-readline="${EPREFIX}"/usr \
+ --with-readline-lib="${EPREFIX}/usr/$(get_libdir)" \
+ --with-ncurses-lib="${EPREFIX}/usr/$(get_libdir)" \
+ --graphic=none \
+ $(usex X --graphic=X11 "" "" "") \
+ $(usex fltk --graphic=fltk "" "" "") \
+ $(use_with gmp) \
+ $(usex threads "--mt=pthread" "" "" "") \
+ || die "./Configure failed"
+}
+
+src_compile() {
+ emake gp
+
+ if use doc; then
+ # To prevent sandbox violations by metafont
+ VARTEXFONTS="${T}/fonts" emake docpdf
+ fi
+}
+
+src_test() {
+ # Welcome to the jungle, where the tests fail if you make your
+ # terminal bigger.
+ emake COLUMNS=80 test-all
+}
+
+src_install() {
+ DOCS=( AUTHORS CHANGES* COMPAT NEW README* )
+
+ # Install examples to a junk location by default because "make
+ # install-nodata" includes the examples with it. Only if the user
+ # has USE=examples set do we provide the correct directory.
+ local exdir="${T}"
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ exdir="${ED}/usr/share/doc/${PF}/examples"
+ fi
+
+ # Use "true" in place of "strip" to sabotage the unconditional
+ # binary stripping.
+ emake DESTDIR="${D}" \
+ EXDIR="${exdir}" \
+ STRIP="true" \
+ install-nodata install-data
+ einstalldocs
+
+ if use doc; then
+ docompress -x "/usr/share/doc/${PF}"
+ emake \
+ DESTDIR="${D}" \
+ DOCDIR="${ED}/usr/share/doc/${PF}" \
+ install-docpdf install-doctex
+ fi
+}
diff --git a/sci-mathematics/primesieve/primesieve-12.3.ebuild b/sci-mathematics/primesieve/primesieve-12.3.ebuild
index 6d81d07c4184..01033ef71a98 100644
--- a/sci-mathematics/primesieve/primesieve-12.3.ebuild
+++ b/sci-mathematics/primesieve/primesieve-12.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/kimwalisch/primesieve"
SRC_URI="https://github.com/kimwalisch/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/12" # subslot is first component of libprimesieve.so version
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="doc +executable test"
RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/prover9/files/LADR-2009-11A-c99.patch b/sci-mathematics/prover9/files/LADR-2009-11A-c99.patch
new file mode 100644
index 000000000000..a4da6e4fbbf6
--- /dev/null
+++ b/sci-mathematics/prover9/files/LADR-2009-11A-c99.patch
@@ -0,0 +1,25 @@
+Explicitly declare int values as ints.
+https://bugs.gentoo.org/886597
+https://bugs.gentoo.org/871261
+--- a/mace4.src/msearch.c
++++ b/mace4.src/msearch.c
+@@ -847,7 +847,7 @@
+ *************/
+
+ static
+-int next_domain_size(n)
++int next_domain_size(int n)
+ {
+ int top = (parm(Opt->end_size) == -1 ? INT_MAX : parm(Opt->end_size));
+
+--- a/mace4.src/select.c
++++ b/mace4.src/select.c
+@@ -233,7 +233,7 @@
+ *
+ *************/
+
+-int select_concentric_band(min_id, max_id, max_constrained)
++int select_concentric_band(int min_id, int max_id, int max_constrained)
+ {
+ int max = -1;
+ int id_of_max = -1;
diff --git a/sci-mathematics/prover9/files/LADR-2009-11A-stable-ordering.patch b/sci-mathematics/prover9/files/LADR-2009-11A-stable-ordering.patch
new file mode 100644
index 000000000000..9bf5154f05ae
--- /dev/null
+++ b/sci-mathematics/prover9/files/LADR-2009-11A-stable-ordering.patch
@@ -0,0 +1,91 @@
+Do not call clean in the middle of build. We start with clean tree, we build
+stuff with all the same flags, every time, we don't remove files from under
+make while it's in the process of building things with large jobs number
+or with shuffle.
+Pipe CFLAGS (and, transitively, LDFLAGS) to last place where they were missing
+https://bugs.gentoo.org/881475
+https://bugs.gentoo.org/911554
+https://bugs.gentoo.org/887409
+https://bugs.gentoo.org/728030
+--- a/ladr/Makefile
++++ b/ladr/Makefile
+@@ -36,7 +36,7 @@
+ $(INFE_OBJ) $(MODL_OBJ) $(MISC_OBJ)
+
+ libladr.la: $(OBJECTS)
+- libtool --tag=CC --mode=link $(CC) -shared -rpath /usr/lib -version-info 4:0:0 -o libladr.la $(OBJECTS) -lm
++ libtool --tag=CC --mode=link $(CC) $(CFLAGS) -shared -rpath /usr/lib -version-info 4:0:0 -o libladr.la $(OBJECTS) -lm
+
+ %.lo: %.c
+ libtool --tag=CC --mode=compile $(CC) -c $(CFLAGS) $(XFLAGS) -o $@ $<
+--- a/apps.src/Makefile
++++ b/apps.src/Makefile
+@@ -13,7 +13,7 @@
+
+ PROGRAMS = latfilter olfilter clausefilter idfilter renamer unfast clausetester rewriter isofilter0 isofilter isofilter2 dprofiles interpfilter upper-covers miniscope interpformat prooftrans mirror-flip perm3 sigtest directproof test_clause_eval test_complex complex gen_trc_defs
+
+-all: ladr apps install realclean
++all: ladr apps install
+
+ ladr:
+ cd ../ladr && $(MAKE) libladr.la
+@@ -24,7 +24,7 @@
+ realclean:
+ libtool --tag=CC --mode=clean /bin/rm -f *.o $(PROGRAMS)
+
+-install:
++install: apps
+ libtool --tag=CC --mode=install /bin/cp $(PROGRAMS) `pwd`/../bin
+
+ tags:
+--- a/mace4.src/Makefile
++++ b/mace4.src/Makefile
+@@ -27,7 +27,6 @@
+
+ ladr:
+ cd ../ladr && $(MAKE) libladr.la
+- $(MAKE) clean
+
+ mace4: libmace4.a mace4.o $(OBJECTS)
+ libtool --tag=CC --mode=link $(CC) $(CFLAGS) -o mace4 mace4.o libmace4.a ../ladr/libladr.la
+@@ -42,5 +42,5 @@
+ realclean:
+ libtool --tag=CC --mode=clean /bin/rm -f *.o *.a mace4
+
+-install:
++install: mace4
+ libtool --tag=CC --mode=install /bin/cp mace4 `pwd`/../bin
+--- a/provers.src/Makefile
++++ b/provers.src/Makefile
+@@ -28,19 +28,17 @@
+
+ ##############################################################################
+
+-all: libs $(PROGRAMS) install clean
++all: libs $(PROGRAMS) install
+
+ libs: ladr libmace4
+
+ ladr libladr:
+ cd ../ladr && $(MAKE) libladr
+- $(MAKE) clean
+
+ libmace libmace4:
+ cd ../mace4.src && $(MAKE) libmace4
+- $(MAKE) clean
+
+-install:
++install: libs $(PROGRAMS)
+ libtool --tag=CC --mode=install /bin/cp -p $(PROGRAMS) `pwd`/../bin
+
+ clean:
+--- a/test.src/Makefile
++++ b/test.src/Makefile
+@@ -16,7 +16,6 @@
+ all: ladr apps
+
+ ladr:
+- make clean
+ cd ../ladr && $(MAKE) libladr.la
+
+ clean:
diff --git a/sci-mathematics/prover9/prover9-2009.11a-r1.ebuild b/sci-mathematics/prover9/prover9-2009.11a-r2.ebuild
index 63b9fad1839f..e33ec50b07da 100644
--- a/sci-mathematics/prover9/prover9-2009.11a-r1.ebuild
+++ b/sci-mathematics/prover9/prover9-2009.11a-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,6 +26,8 @@ IUSE="examples"
PATCHES=(
"${WORKDIR}/${MY_PN}-2009-11A-makefile.patch"
"${FILESDIR}/${MY_PN}-2009-11A-manpages.patch"
+ "${FILESDIR}/${MY_PN}-2009-11A-c99.patch"
+ "${FILESDIR}/${MY_PN}-2009-11A-stable-ordering.patch"
)
src_prepare() {
@@ -33,16 +35,15 @@ src_prepare() {
sed -e "/^CC =/s:gcc:$(tc-getCC):g" -i */Makefile || die
- export MAKEOPTS+=" -j1 "
tc-export AR CC
}
src_compile() {
- emake CFLAGS="${CFLAGS} ${LDFLAGS}" -j1 all
+ emake CFLAGS="${CFLAGS} ${LDFLAGS}" all
}
src_test() {
- LD_LIBRARY_PATH="${S}/ladr/.libs/" emake -j1 test1 test2 test3
+ LD_LIBRARY_PATH="${S}/ladr/.libs/" emake test1 test2 test3
}
src_install() {
diff --git a/sci-mathematics/psmt2-frontend/psmt2-frontend-0.4.0.ebuild b/sci-mathematics/psmt2-frontend/psmt2-frontend-0.4.0.ebuild
index 804904c9a49b..5c04ad46c2ca 100644
--- a/sci-mathematics/psmt2-frontend/psmt2-frontend-0.4.0.ebuild
+++ b/sci-mathematics/psmt2-frontend/psmt2-frontend-0.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/OCamlPro-Coquera/${PN}/archive/${PV}.tar.gz -> ${P}.
LICENSE="Apache-2.0"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="+ocamlopt test"
RESTRICT="!test? ( test )"
diff --git a/sci-mathematics/singular/Manifest b/sci-mathematics/singular/Manifest
index cdb530b00ece..7e7b6a0800cf 100644
--- a/sci-mathematics/singular/Manifest
+++ b/sci-mathematics/singular/Manifest
@@ -1,2 +1 @@
-DIST singular-4.3.2p16.tar.gz 20880476 BLAKE2B ce226a6867b764e593ddbf2c71220d9ea14ccdfd956046d5a94dfb768a97927ca3cf961a9ea808cb77028f2c65d989032202d3a0bde555ace945df1e987077a8 SHA512 1dae0e229e124db03e5e240c3ab2f1049c9f77cf369f701c4a2d0767ba9c23baab2d5d14271e415a3ccbf7b9a9297fcf324b8ccc2841a5156d6ee846cb409de2
DIST singular-4.4.0p6.tar.gz 21097819 BLAKE2B ce78f63b2f90113ba92811a1e02b568328a92dc686d86fa653209c127f8895811e87ca4684dd1df5c2a54e8952cb1b0654055653e4b4734d9729a7de6f6faaa9 SHA512 b88e60f5665cfab7ccb5a2620190d08c1538f876cce24a24c7baddec40554fd0093cc47db89758f0bbf24f7ca298849a9fe700ce2070c8c52861d3bd48d2cc0d
diff --git a/sci-mathematics/singular/files/singular-4.3.2_p16-lto.patch b/sci-mathematics/singular/files/singular-4.3.2_p16-lto.patch
deleted file mode 100644
index a880f4ef5b12..000000000000
--- a/sci-mathematics/singular/files/singular-4.3.2_p16-lto.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From 83a4e40c59dd99ff3131cbdb57b24b456aa04b93 Mon Sep 17 00:00:00 2001
-From: Hans Schoenemann <hannes@mathematik.uni-kl.de>
-Date: Tue, 2 Apr 2024 15:09:51 +0200
-Subject: [PATCH] countedref + https://github.com/Singular/Singular/issues/1212
-
-diff --git a/Singular/countedref.cc b/Singular/countedref.cc
-index d3b783ade7..f83d7fab62 100644
---- a/Singular/countedref.cc
-+++ b/Singular/countedref.cc
-@@ -108,7 +108,7 @@ class CountedRefData:
- BOOLEAN put(leftv res) { return broken() || m_data.put(res); }
-
- /// Extract (shallow) copy of stored data
-- LeftvShallow operator*() const { return (broken()? LeftvShallow(): (const LeftvShallow&)m_data); }
-+ LeftvShallow operator*() { return (broken()? LeftvShallow(): LeftvShallow(m_data)); }
-
- /// Determine active ring when ring dependency changes
- BOOLEAN rering() {
diff --git a/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch b/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch
deleted file mode 100644
index cf8a66e3944e..000000000000
--- a/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 23444f771ec95036f6589349da232d8b59734a20 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Sat, 9 Mar 2024 14:28:03 -0500
-Subject: [PATCH] **/Makefile.am: links tests with RESOURCES_LIBS
-
-Several test programs use functions from libsingular_resources, such
-as feInitResources(). Here we ensure that those test programs are
-actually linked with libsingular_resources by adding RESOURCES_LIBS to
-the corresponding LDADD lines. In the process, and for consistency, we
-have replaced some references to libomalloc.la with OMALLOC_LIBS.
----
- Singular/Makefile.am | 6 +++---
- kernel/GBEngine/Makefile.am | 2 +-
- kernel/Makefile.am | 2 +-
- kernel/combinatorics/Makefile.am | 2 +-
- kernel/fglm/Makefile.am | 2 +-
- kernel/groebner_walk/Makefile.am | 2 +-
- kernel/linear_algebra/Makefile.am | 2 +-
- kernel/maps/Makefile.am | 2 +-
- kernel/numeric/Makefile.am | 2 +-
- kernel/oswrapper/Makefile.am | 2 +-
- kernel/spectrum/Makefile.am | 2 +-
- 11 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Singular/Makefile.am b/Singular/Makefile.am
-index 6e27f805a..c68d2507d 100644
---- a/Singular/Makefile.am
-+++ b/Singular/Makefile.am
-@@ -162,7 +162,7 @@ dist_script_SCRIPTS = singularsurf singularsurf_jupyter singularsurf_win surfex
- ESingular_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR -DPROTO
- ESingular_LDADD = ${top_builddir}/libpolys/reporter/libreporter.la \
- ${top_builddir}/libpolys/misc/libmisc.la ${OMALLOC_LIBS} \
--${top_builddir}/resources/libsingular_resources.la
-+$(RESOURCES_LIBS)
-
-
- ESingular_SOURCES = emacs.cc feOptES.inc feOpt.cc
-@@ -171,7 +171,7 @@ ESingular_SOURCES = emacs.cc feOptES.inc feOpt.cc
- TSingular_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR -DPROTO
- TSingular_LDADD = ${top_builddir}/libpolys/reporter/libreporter.la \
- ${top_builddir}/libpolys/misc/libmisc.la ${OMALLOC_LIBS} \
--${top_builddir}/resources/libsingular_resources.la
-+$(RESOURCES_LIBS)
-
- TSingular_SOURCES = emacs.cc feOptTS.inc feOpt.cc
- # utils.cc utils.h
-@@ -213,7 +213,7 @@ TESTS=test
- check_PROGRAMS=$(TESTS)
-
- test_SOURCES = test.cc
--test_LDADD = ${builddir}/../omalloc/libomalloc.la libSingular.la
-+test_LDADD = $(OMALLOC_LIBS) libSingular.la $(RESOURCES_LIBS)
-
- #########################################################
- # These files are built first
-diff --git a/kernel/GBEngine/Makefile.am b/kernel/GBEngine/Makefile.am
-index 8a3c2c5a9..e3a05483c 100644
---- a/kernel/GBEngine/Makefile.am
-+++ b/kernel/GBEngine/Makefile.am
-@@ -21,7 +21,7 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libGBEngine.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../combinatorics/libcombinatorics.la ${builddir}/../linear_algebra/liblinear_algebra.la ${builddir}/../libkernelCommon.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libGBEngine.la $(OMALLOC_LIBS) ${builddir}/../combinatorics/libcombinatorics.la ${builddir}/../linear_algebra/liblinear_algebra.la ${builddir}/../libkernelCommon.la ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-
-diff --git a/kernel/Makefile.am b/kernel/Makefile.am
-index fe093a4af..f615eab51 100644
---- a/kernel/Makefile.am
-+++ b/kernel/Makefile.am
-@@ -51,7 +51,7 @@ TESTS = test
- check_PROGRAMS = $(TESTS)
-
- test_SOURCES = test.cc
--test_LDADD = libkernel.la ${builddir}/../omalloc/libomalloc.la ${builddir}/../Singular/libSingular.la
-+test_LDADD = libkernel.la $(OMALLOC_LIBS) ${builddir}/../Singular/libSingular.la $(RESOURCES_LIBS)
-
- # These files are built first
- # BUILT_SOURCES = MOD
-diff --git a/kernel/combinatorics/Makefile.am b/kernel/combinatorics/Makefile.am
-index 31ab51968..816a99360 100644
---- a/kernel/combinatorics/Makefile.am
-+++ b/kernel/combinatorics/Makefile.am
-@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libcombinatorics.la ${builddir}/../libkernelCommon.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libcombinatorics.la ${builddir}/../libkernelCommon.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/fglm/Makefile.am b/kernel/fglm/Makefile.am
-index 227e2c122..3b32dda76 100644
---- a/kernel/fglm/Makefile.am
-+++ b/kernel/fglm/Makefile.am
-@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libfglm.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libfglm.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/groebner_walk/Makefile.am b/kernel/groebner_walk/Makefile.am
-index 9be32dd76..da3364489 100644
---- a/kernel/groebner_walk/Makefile.am
-+++ b/kernel/groebner_walk/Makefile.am
-@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libgroebner_walk.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libgroebner_walk.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/linear_algebra/Makefile.am b/kernel/linear_algebra/Makefile.am
-index 82149611b..57fc6b5ef 100644
---- a/kernel/linear_algebra/Makefile.am
-+++ b/kernel/linear_algebra/Makefile.am
-@@ -23,6 +23,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = liblinear_algebra.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = liblinear_algebra.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/maps/Makefile.am b/kernel/maps/Makefile.am
-index 6e846ef20..afff63804 100644
---- a/kernel/maps/Makefile.am
-+++ b/kernel/maps/Makefile.am
-@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libmaps.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libmaps.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/numeric/Makefile.am b/kernel/numeric/Makefile.am
-index 8fb48461e..f40e9e60a 100644
---- a/kernel/numeric/Makefile.am
-+++ b/kernel/numeric/Makefile.am
-@@ -18,6 +18,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libnumeric.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libnumeric.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/oswrapper/Makefile.am b/kernel/oswrapper/Makefile.am
-index ed4f2097a..e79f9da6a 100644
---- a/kernel/oswrapper/Makefile.am
-+++ b/kernel/oswrapper/Makefile.am
-@@ -19,6 +19,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = liboswrapper.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = liboswrapper.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
-diff --git a/kernel/spectrum/Makefile.am b/kernel/spectrum/Makefile.am
-index 28ef269b3..6eff47819 100644
---- a/kernel/spectrum/Makefile.am
-+++ b/kernel/spectrum/Makefile.am
-@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
- TESTS = test
- check_PROGRAMS = $(TESTS)
- test_SOURCES = test.cc
--test_LDADD = libspectrum.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
-+test_LDADD = libspectrum.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
-
- CLEANFILES = $(TESTS)
---
-2.43.0
-
diff --git a/sci-mathematics/singular/singular-4.3.2_p16-r1.ebuild b/sci-mathematics/singular/singular-4.3.2_p16-r1.ebuild
deleted file mode 100644
index ec9fb1763617..000000000000
--- a/sci-mathematics/singular/singular-4.3.2_p16-r1.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools elisp-common
-
-MY_PN=Singular
-MY_PV=$(ver_rs 3 '')
-# Consistency is different...
-MY_DIR2=$(ver_cut 1-3 ${PV})
-MY_DIR=$(ver_rs 1- '-' ${MY_DIR2})
-
-DESCRIPTION="Computer algebra system for polynomial computations"
-HOMEPAGE="https://www.singular.uni-kl.de/ https://github.com/Singular/Singular"
-SRC_URI="https://www.singular.uni-kl.de/ftp/pub/Math/${MY_PN}/SOURCES/${MY_DIR}/${PN}-${MY_PV}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_DIR2}"
-
-# Most files say "version 2 or version 3 of the License," which is not
-# quite GPL-2+, and is why we have listed GPL-2 below. But AFAIK there
-# are no GPL-2-only files.
-LICENSE="BSD GPL-2 GPL-2+ GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv ~x86 ~x86-linux"
-IUSE="emacs examples polymake +readline"
-
-# The interactive help uses "info" from sys-apps/texinfo.
-RDEPEND="
- dev-lang/perl
- dev-libs/gmp:0=
- dev-libs/ntl:=
- sci-libs/cddlib
- sci-mathematics/flint:=
- sys-apps/texinfo
- emacs? ( app-editors/emacs:* )
- polymake? ( sci-mathematics/polymake )
- readline? ( sys-libs/readline:= )
-"
-DEPEND="${RDEPEND}"
-
-SITEFILE=60${PN}-gentoo.el
-
-PATCHES=(
- "${FILESDIR}/${P}-test-underlinking.patch"
- "${FILESDIR}/${P}-lto.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --disable-debug
- --disable-doc
- --disable-optimizationflags
- --disable-pyobject-module
- --disable-python
- --disable-python-module
- --disable-python_module
- --enable-factory
- --enable-gfanlib
- --enable-libfac
- --with-flint
- --with-gmp
- --with-libparse
- --with-ntl
- --without-python
- --without-pythonmodule
- $(use_enable emacs)
- $(use_enable polymake polymake-module)
- $(use_with readline)
- )
- econf "${myconf[@]}"
-}
-
-src_compile() {
- default
-
- if use emacs; then
- pushd "${S}"/emacs
- elisp-compile *.el || die "elisp-compile failed"
- popd
- fi
-}
-
-src_install() {
- # Do not compress singular's info file (singular.hlp)
- # some consumer of that file do not know how to deal with compression
- docompress -x /usr/share/info
-
- default
-
- dosym Singular /usr/bin/"${PN}"
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-src_test() {
- # SINGULAR_PROCS_DIR need to be set to "" otherwise plugins from
- # an already installed version of singular may be used and cause segfault
- # See https://github.com/Singular/Sources/issues/980
- SINGULAR_PROCS_DIR="" emake check
-}
-
-pkg_postinst() {
- einfo "Additional functionality can be enabled by installing"
- einfo "sci-mathematics/4ti2"
-
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/sci-mathematics/sympow/Manifest b/sci-mathematics/sympow/Manifest
index 76fa188f36e3..4210fda11d66 100644
--- a/sci-mathematics/sympow/Manifest
+++ b/sci-mathematics/sympow/Manifest
@@ -1,2 +1 @@
-DIST sympow-v2.023.6.tar.gz 68142 BLAKE2B accff25cb1da5b6935a91179fa399d76148709be54bbd434c0dc6143e88e9cd0f0a3cd96c683da3214366a29d6d0dbb7236d2623ef3f9322b6d4d54c6bad9882 SHA512 efe3b09fff0629e136b029ea615aa09ac1a4f225c06636d653ac921c7de01bf75e2b392a138c3c1af92f2b4f889f5949beeeba5b6e5e6b49e02c605bb9c16ceb
DIST sympow-v2.023.7.tar.bz2 61652 BLAKE2B 1800ec8ae3f95e24c4bfe097d13586f0bb781cef15e41539c3cb67f85ad9830c38a9bde8ae3290c6696332e55f698fc153f96575561979be2264baa6857af9ec SHA512 7df4a038aa69acc989ef07085462ed2efb848b95c4515871809033a02ae649936eda83d68cac83366466d597b370b963eb14d1f1c8389fa0089d0063e299955f
diff --git a/sci-mathematics/sympow/sympow-2.023.6.ebuild b/sci-mathematics/sympow/sympow-2.023.6.ebuild
deleted file mode 100644
index 656b21a6fe82..000000000000
--- a/sci-mathematics/sympow/sympow-2.023.6.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Symmetric power elliptic curve L-functions"
-HOMEPAGE="https://gitlab.com/rezozer/forks/sympow/"
-SRC_URI="https://gitlab.com/rezozer/forks/sympow/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="Sympow-BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-# Pari is used at build time to generate data.
-BDEPEND="sys-apps/help2man
- sci-mathematics/pari"
-RDEPEND="sci-mathematics/pari"
-
-PATCHES=(
- "${FILESDIR}/${P}-dont-force-O3.patch"
- "${FILESDIR}/${P}-no-pkgdatafilesbindir-warnings.patch"
-)
-
-DOCS=( HISTORY README.md )
-
-src_configure() {
- export ADDBINPATH=yes
- export PREFIX="${EPREFIX}/usr"
-
- # This location still won't be writable, but we can at least add
- # the EPREFIX that belongs there. Sympow uses $HOME/.sympow as a
- # fallback (what we want) when its first attempt doesn't work.
- export VARPREFIX="${EPREFIX}/var"
-
- ./Configure || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" all
-}
diff --git a/sci-mathematics/sympow/sympow-2.023.7.ebuild b/sci-mathematics/sympow/sympow-2.023.7.ebuild
index 7d05aedd6f50..594b379709ac 100644
--- a/sci-mathematics/sympow/sympow-2.023.7.ebuild
+++ b/sci-mathematics/sympow/sympow-2.023.7.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-v${PV}"
LICENSE="Sympow-BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 ~riscv"
# Pari is used at build time to generate data.
BDEPEND="sys-apps/help2man
diff --git a/sci-mathematics/why3-for-spark/Manifest b/sci-mathematics/why3-for-spark/Manifest
index 1653ff46cefc..569da69e95b0 100644
--- a/sci-mathematics/why3-for-spark/Manifest
+++ b/sci-mathematics/why3-for-spark/Manifest
@@ -1 +1,2 @@
DIST why3-2021-20210519-19ADF-src.tar.gz 10386938 BLAKE2B 93b6323c562126244f5cccef34088a521fe3dc1cec07c966e94472503ec8492707b20a641936449307f0439e711a82260d36679cbc69f53df8e7886a1d3673c3 SHA512 65e3c1430001962f2c7cce786f3e30f14b5295cff89c4087d95c1545e81743723319ba0309dbe15c4c46552110b25ff57addc3ee085dade02ea59a2273b127db
+DIST why3-for-spark-2023.12.13.tar.gz 7119379 BLAKE2B 4fd78efaabc2ca40853a905b1581ed976660f5b1b01ab9490c422022284132d8306289aad3eb2111d85d5cde5b50242b5d94d313e8d78a7443b7fcc4298fd11b SHA512 88220595eae9c5cf4125c0dc9d5176e637a1f1e355f61f51176bdb7643a000c837e501101e45c2b50ae3f41f81436e1133be241fd5fb0b6816823b2106113ae7
diff --git a/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-flags.patch b/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-flags.patch
new file mode 100644
index 000000000000..ec8d74745789
--- /dev/null
+++ b/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-flags.patch
@@ -0,0 +1,28 @@
+--- a/Makefile.in 2020-06-12 21:03:33.375534124 +0200
++++ b/Makefile.in 2020-06-12 21:03:48.623283408 +0200
+@@ -129,7 +129,7 @@
+
+ WARNINGS = A-4-9-41-42-44-45-52@5@8@14@48@50
+
+-FLAGS = -w $(WARNINGS) -safe-string -keep-locs -bin-annot -dtypes -g -thread $(INCLUDES)
++FLAGS = -w $(WARNINGS) -safe-string -keep-locs -bin-annot -dtypes -g -thread $(INCLUDES) -cclib "$(LDFLAGS)" -ccopt "$(CFLAGS)"
+ OFLAGS = $(FLAGS)
+ BFLAGS = $(FLAGS)
+
+@@ -807,13 +807,13 @@
+ all: $(TOOLS)
+
+ lib/why3server$(EXE): $(SERVER_O)
+- $(CC) -Wall -o $@ $^
++ $(CC) -Wall $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+ lib/why3cpulimit$(EXE): $(CPULIM_O)
+- $(CC) -Wall -o $@ $^
++ $(CC) -Wall $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+ %.o: %.c
+- $(CC) -Wall -O -g -o $@ -c $<
++ $(CC) -Wall $(CFLAGS) -O -g -o $@ -c $<
+
+ uninstall-bin::
+ rm -f $(LIBDIR)/why3/why3server$(EXE) $(LIBDIR)/why3/why3cpulimit$(EXE)
diff --git a/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-spark.patch b/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-spark.patch
new file mode 100644
index 000000000000..e61b8606c5fb
--- /dev/null
+++ b/sci-mathematics/why3-for-spark/files/why3-for-spark-2023.12.13-spark.patch
@@ -0,0 +1,11 @@
+--- a/src/gnat/gnat_util.ml 2025-02-10 23:34:07.591622078 +0100
++++ b/src/gnat/gnat_util.ml 2025-02-10 23:34:21.920445321 +0100
+@@ -41,7 +41,7 @@
+ let why3_prefix =
+ Filename.dirname (Filename.dirname Sys.executable_name)
+ let spark_prefix =
+- Filename.dirname (Filename.dirname why3_prefix)
++ why3_prefix
+
+ let gnatprove_why3conf_file = "why3.conf"
+
diff --git a/sci-mathematics/why3-for-spark/metadata.xml b/sci-mathematics/why3-for-spark/metadata.xml
index 353e88c87868..17bbe7c1b27f 100644
--- a/sci-mathematics/why3-for-spark/metadata.xml
+++ b/sci-mathematics/why3-for-spark/metadata.xml
@@ -25,4 +25,7 @@
<flag name="zarith">Use Zarith (<pkg>dev-ml/zarith</pkg>) instead of Nums (<pkg>dev-ml/num</pkg>) for computations</flag>
<flag name="zip">Enable compression of session files</flag>
</use>
+ <upstream>
+ <remote-id type="github">AdaCore/why3</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-mathematics/why3-for-spark/why3-for-spark-2021-r1.ebuild b/sci-mathematics/why3-for-spark/why3-for-spark-2021-r1.ebuild
index 7a9e671ad83f..962d85cf88de 100644
--- a/sci-mathematics/why3-for-spark/why3-for-spark-2021-r1.ebuild
+++ b/sci-mathematics/why3-for-spark/why3-for-spark-2021-r1.ebuild
@@ -10,7 +10,7 @@ ID=dd74ae7ecfd7d56aff7b17cee7a35559384a600f
MYP=why3-${PV}-20210519-19ADF-src
DESCRIPTION="Platform for deductive program verification"
-HOMEPAGE="https://why3.lri.fr/"
+HOMEPAGE="https://www.why3.org/ https://github.com/AdaCore/why3"
SRC_URI="${ADAMIRROR}/${ID}?filename=${MYP}.tar.gz -> ${MYP}.tar.gz"
S="${WORKDIR}"/${MYP}
diff --git a/sci-mathematics/why3-for-spark/why3-for-spark-2023.12.13-r2.ebuild b/sci-mathematics/why3-for-spark/why3-for-spark-2023.12.13-r2.ebuild
new file mode 100644
index 000000000000..5caf4e27adc6
--- /dev/null
+++ b/sci-mathematics/why3-for-spark/why3-for-spark-2023.12.13-r2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools findlib
+
+ID=fb4ca6cd8c7d888d3e8d281e6de87c66ec20f084
+
+DESCRIPTION="SPARK 2014 repository for the Why3 verification platform"
+HOMEPAGE="https://www.why3.org/ https://github.com/AdaCore/why3"
+SRC_URI="https://github.com/AdaCore/why3/archive/${ID}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/why3-${ID}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="coq doc emacs gtk html hypothesis-selection +ocamlopt sexp zarith zip"
+RESTRICT="strip"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.11:=[ocamlopt?]
+ dev-ml/menhir:=[ocamlopt?]
+ dev-ml/num:=[ocamlopt?]
+ dev-ml/re:=[ocamlopt?]
+ dev-ml/yojson:=
+ coq? ( <=sci-mathematics/coq-8.18 )
+ emacs? ( app-editors/emacs:* )
+ gtk? ( dev-ml/lablgtk:=[sourceview] )
+ html? ( dev-tex/hevea:= )
+ hypothesis-selection? ( dev-ml/ocamlgraph:= )
+ dev-ml/ppx_deriving:=[ocamlopt?]
+ dev-ml/ppx_sexp_conv:=[ocamlopt?]
+ dev-ml/sexplib:=[ocamlopt?]
+ zarith? ( dev-ml/zarith:=[ocamlopt?] )
+ zip? ( dev-ml/camlzip:=[ocamlopt?] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ dev-python/sphinx
+ dev-python/sphinxcontrib-bibtex
+ dev-tex/rubber
+ media-gfx/graphviz
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2020-gentoo.patch
+ "${FILESDIR}"/${P}-flags.patch
+ "${FILESDIR}"/${PN}-2021-make.patch #Bug #883167
+ "${FILESDIR}"/${PN}-2020-bibtex.patch
+ "${FILESDIR}"/${P}-spark.patch
+)
+
+QA_FLAGS_IGNORED=(
+ '/usr/lib.*/why3/commands/.*cmxs'
+ '/usr/lib.*/why3/plugins/.*cmxs'
+ '/usr/lib.*/ocaml/why3/.*cmxs'
+ /usr/bin/why3
+ /usr/bin/why3config.cmxs
+ /usr/bin/why3session.cmxs
+ /usr/bin/gnat_server
+ /usr/bin/gnatwhy3
+ /usr/bin/why3realize.cmxs
+ /usr/bin/why3ide.cmxs
+)
+
+# Forcing native for bug #913497
+REQUIRED_USE="html? ( doc ) ocamlopt"
+
+src_prepare() {
+ find examples -name \*gz | xargs gunzip
+ sed -i \
+ -e 's:configure.in:configure.ac:g' \
+ Makefile.in || die
+ mv configure.{in,ac} || die
+ eautoreconf
+ default
+}
+
+src_configure() {
+ local myconf=(
+ --disable-pvs-libs
+ --disable-isabelle-libs
+ --enable-verbose-make
+ --enable-sexp
+ $(use_enable coq coq-libs)
+ $(use_enable doc)
+ $(use_enable emacs emacs-compilation)
+ $(use_enable gtk ide)
+ $(use_enable html html-pdf)
+ $(use_enable hypothesis-selection)
+ $(use_enable ocamlopt native-code)
+ $(use_enable zarith)
+ $(use_enable zip)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake -j1
+ if use ocamlopt; then
+ emake byte
+ fi
+ use doc && emake doc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install_spark2014_dev
+ local cmdPath=/usr/$(get_libdir)/why3/commands
+ dosym ../why3server ${cmdPath}/why3server
+ # Remove duplicated files
+ for filename in config.cmxs ide.cmxs realize.cmxs server session.cmxs; do
+ if [[ -e "${D}"${cmdPath}/why3${filename} ]]; then
+ rm "${D}"${cmdPath}/why3${filename} || die
+ dosym ../../../bin/why3${filename} ${cmdPath}/why3${filename}
+ fi
+ done
+ rm "${D}"/usr/$(get_libdir)/why3/why3cpulimit
+ dosym ../../bin/why3cpulimit /usr/$(get_libdir)/why3/why3cpulimit
+
+ einstalldocs
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+ if use doc; then
+ use html && dodoc -r doc/html
+ fi
+}
diff --git a/sci-mathematics/why3/Manifest b/sci-mathematics/why3/Manifest
index 45abf771e1a3..7b9c9b727d02 100644
--- a/sci-mathematics/why3/Manifest
+++ b/sci-mathematics/why3/Manifest
@@ -1,2 +1,3 @@
DIST why3-1.6.0.tar.gz 6850062 BLAKE2B 91db6f67a9d0fe24b7d7d18e6c5e9cd362563a55702bfb28c478754f53e831beb3033adde251214facd8d64ab923389b0b9fe7b240b6cd09f0b4b3e6f8eca143 SHA512 60d61b8337ab9f2fd2e6c7174eb0bab063f122417738cd75990c5c53120dd535bcedccb670567f5753853d6bc9f8efebb563d079e4d368372a7687193f1346b1
DIST why3-1.7.2.tar.gz 7005562 BLAKE2B cd1b25e35147a319e5d5d1f1380ecfaa3555624c797459e8df5cb3b1558928d9c02b567645a2f2952b877c7135a5a393f4b734dd35e569bea6e6b073708901ce SHA512 7e80671480ce0dc3c69514bea2836f5899c686b43a4e8607c27d28e63f78150150dc45fcac5760dbee9721d363e456b1dcaeb1501fc9f63f360722a1021f675f
+DIST why3-1.8.0.tar.gz 7373730 BLAKE2B c650d0578c6ae28f01872f01ba2c6e58ebf00c8fc87f4040f51430aad6b94b52f031b17d5b75178a6a6d5f254f3d42dbbdb031f676335a2d896021c0663192a9 SHA512 8d30ac4a1280a7d7741ef862365e06aa3218a78fd01ca7f969f0d6515245c7259fcc81897bfe08c581c6b37639d1465ab4a96657f3baf4c747988df8201d4549
diff --git a/sci-mathematics/why3/why3-1.6.0.ebuild b/sci-mathematics/why3/why3-1.6.0.ebuild
index 1c3b6b458cc9..27569d1c9825 100644
--- a/sci-mathematics/why3/why3-1.6.0.ebuild
+++ b/sci-mathematics/why3/why3-1.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit autotools findlib
DESCRIPTION="Platform for deductive program verification"
-HOMEPAGE="https://why3.lri.fr/"
+HOMEPAGE="https://www.why3.org/"
SRC_URI="https://why3.gitlabpages.inria.fr/releases/${P}.tar.gz"
LICENSE="LGPL-2"
diff --git a/sci-mathematics/why3/why3-1.7.2.ebuild b/sci-mathematics/why3/why3-1.7.2.ebuild
index 888c5c48f865..7e5ea53e4f28 100644
--- a/sci-mathematics/why3/why3-1.7.2.ebuild
+++ b/sci-mathematics/why3/why3-1.7.2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
inherit autotools findlib
DESCRIPTION="Platform for deductive program verification"
-HOMEPAGE="https://why3.lri.fr/"
+HOMEPAGE="https://www.why3.org/"
SRC_URI="https://why3.gitlabpages.inria.fr/releases/${P}.tar.gz"
LICENSE="LGPL-2"
diff --git a/sci-mathematics/why3/why3-1.8.0.ebuild b/sci-mathematics/why3/why3-1.8.0.ebuild
new file mode 100644
index 000000000000..7d4c10c81bae
--- /dev/null
+++ b/sci-mathematics/why3/why3-1.8.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools findlib
+
+DESCRIPTION="Platform for deductive program verification"
+HOMEPAGE="https://www.why3.org/"
+SRC_URI="https://why3.gitlabpages.inria.fr/releases/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="coq doc emacs gtk +ocamlopt re sexp stackify zip"
+
+RDEPEND="
+ !sci-mathematics/why3-for-spark
+ >=dev-lang/ocaml-4.05.0:=[ocamlopt?]
+ >=dev-ml/menhir-20170418:=
+ dev-ml/num:=
+ dev-ml/zarith:=
+ coq? (
+ >=sci-mathematics/coq-8.15:=
+ >=sci-mathematics/flocq-4.2.1
+ )
+ emacs? ( app-editors/emacs:* )
+ gtk? ( dev-ml/lablgtk:=[sourceview,ocamlopt?] )
+ re? ( dev-ml/re:= )
+ sexp? (
+ dev-ml/ppx_deriving:=[ocamlopt?]
+ dev-ml/ppx_sexp_conv:=[ocamlopt?]
+ dev-ml/sexplib:=[ocamlopt?]
+ )
+ stackify? ( dev-ml/ocamlgraph:=[ocamlopt?] )
+ zip? ( dev-ml/camlzip:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinx
+ dev-python/sphinxcontrib-bibtex
+ media-gfx/graphviz
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ )
+"
+
+DOCS=( CHANGES.md README.md )
+
+src_prepare() {
+ rm configure || die
+ mv configure.in configure.ac || die
+
+ sed -e 's/configure\.in/configure.ac/g' \
+ -i Makefile.in \
+ || die
+
+ sed -e '/^lib\/why3[a-z]*\$(EXE):/{n;s/-Wall/$(CFLAGS) $(LDFLAGS)/}' \
+ -e '/^%.o: %.c/{n;s/\$(CC).*-o/$(CC) $(CFLAGS) -o/}' \
+ -e '/\$(SPHINX)/s/ -d doc\/\.doctrees / /' \
+ -i Makefile.in \
+ || die
+
+ sed -e '/^lib\/why3[a-z]*\$(EXE):/{n;s/-Wall/$(CFLAGS) $(LDFLAGS)/}' \
+ -e '/^%.o: %.c/{n;s/\$(CC).*-o/$(CC) $(CFLAGS) -o/}' \
+ -e '/\$(SPHINX)/s/ -d doc\/\.doctrees / /' \
+ -i Makefile.in \
+ || die
+
+ # remove QA warning about duplicated compressed file:
+ rm examples/mlcfg/basic/why3shapes.gz || die
+
+ eautoreconf
+ default
+
+ # Bad var replacement.
+ sed -e 's|\$(OCAMLC -|\$(ocamlc -|g' \
+ -i configure \
+ || die
+}
+
+src_configure() {
+ local -x OCAMLC="ocamlc"
+
+ local -a myconf=(
+ --enable-verbose-make
+
+ --disable-frama-c
+ --disable-hypothesis-selection
+ --disable-infer
+ --disable-isabelle-libs
+ --disable-java
+ --disable-js-of-ocaml
+ --disable-pvs-libs
+ --disable-web-ide
+
+ $(use_enable coq coq-libs)
+ $(use_enable doc)
+ $(use_enable emacs emacs-compilation)
+ $(use_enable gtk ide)
+ $(use_enable ocamlopt native-code)
+ $(use_enable re)
+ $(use_enable sexp)
+ $(use_enable stackify)
+ $(use_enable zip)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ emake doc
+ fi
+}
+
+src_install(){
+ findlib_src_preinst
+ emake DESTDIR="${ED}" install install-lib
+
+ einstalldocs
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+
+ if use doc; then
+ dodoc doc/latex/manual.pdf
+ dodoc -r doc/html
+ fi
+}
diff --git a/sci-mathematics/wxmaxima/Manifest b/sci-mathematics/wxmaxima/Manifest
index 87911066a6c7..b6d609512be1 100644
--- a/sci-mathematics/wxmaxima/Manifest
+++ b/sci-mathematics/wxmaxima/Manifest
@@ -1,3 +1,3 @@
-DIST wxmaxima-24.02.1.tar.gz 17048739 BLAKE2B 207365951d911d160c55c9e10308b2645129082d0ce72c1b4a2ad8e6d5d0469beb4f8faeb8c48965bfa1c4df8f4ecb7ace8f0f9a5193f0bbc4d002437bc8fe77 SHA512 f16b4c974e0bb3d2454465498fae09d3995278a4ac1f1f8c756716bcf5e560925c115259e6540b57a08910b65e897fba896be7f527ed80ba4e3cb7c4863ca6cc
DIST wxmaxima-24.05.0.tar.gz 16824007 BLAKE2B b6d6db89c20b76713c19b810d24571d6ded3937573ef72f8c8a73cdf870e164da6916b602f4e6970e6094eb1c4e575de62f06a20f14ee75679c70cff6a6629cb SHA512 62a5911220fc1a9403ca3af11110b9043cffcf0b3a1ef6e6a87f74e63de6a00e2bf809db1a05fe2b5bc40da155746c05d68ff247c424c63a6bd6724b5fe12be9
-DIST wxmaxima-24.08.0.tar.gz 15868393 BLAKE2B 45aa10b0d1844c988110afdf23516e68e33ff2d482aaae4d560b62dc349976963515113073b58e3610ee376664a3bc7d6401a8d67c59ad6ef6a9f603e901d9f0 SHA512 2e0a46c9cedc938cfa9deb444b9f3f222c2f49db762b617deba0ee67710454e5cecb1611bfac64385b4161724a1356eae57fd433e5c44486df799d3675dcd8c4
+DIST wxmaxima-24.11.0.tar.gz 15949384 BLAKE2B e91af88739a8b636a217ea1b62b2df6757bf1f615c2b52f5b1a6f5d07f9f2b5a7ffe536d8fb4ea4c52df64d06f382bd187eac378adc270eeba832aa3cfd51037 SHA512 ff547154f172c0f008febb10d1258d7ee1635b1dc6f3ae9e1b39cfad4ac65ab4710c3d65318fc0c6b7f04a4c9d0d0ac66553e7a98e4fe5b05b5f4e6c8854077e
+DIST wxmaxima-25.01.0.tar.gz 15969792 BLAKE2B 7e5be29a05b339106ce0a7afedc336597054ff617f59891636cfd3e4260677fde696b116b9302bfadaf22074571536ce7644995a568f0c4d355e46adf872eb50 SHA512 6453bfd04759e14a8d84ec8dde944511a13a19b1964fe23ece1f5f72088fe4e3ed7885d587c5bb0e7c8dca2a46ae8accc8241a04ecf039f17ac6b80a26dd4222
diff --git a/sci-mathematics/wxmaxima/wxmaxima-24.08.0.ebuild b/sci-mathematics/wxmaxima/wxmaxima-24.11.0.ebuild
index 18b5ffff5949..18b5ffff5949 100644
--- a/sci-mathematics/wxmaxima/wxmaxima-24.08.0.ebuild
+++ b/sci-mathematics/wxmaxima/wxmaxima-24.11.0.ebuild
diff --git a/sci-mathematics/wxmaxima/wxmaxima-24.02.1.ebuild b/sci-mathematics/wxmaxima/wxmaxima-25.01.0.ebuild
index 972c1e5f188b..f029f131998a 100644
--- a/sci-mathematics/wxmaxima/wxmaxima-24.02.1.ebuild
+++ b/sci-mathematics/wxmaxima/wxmaxima-25.01.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ S="${WORKDIR}"/${PN}-Version-${PV}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
+KEYWORDS="~amd64 ~ppc ~x86"
IUSE="test webkit"
RESTRICT="!test? ( test )"
@@ -27,7 +27,6 @@ RDEPEND="${DEPEND}
sci-mathematics/maxima"
src_prepare() {
- setup-wxwidgets
cmake_src_prepare
sed -e "s|GPL.txt ||g" -e "s|share/doc/${PN}|share/doc/${PF}|g" -i CMakeLists.txt \
@@ -48,6 +47,8 @@ src_prepare() {
}
src_configure() {
+ setup-wxwidgets
+
local mycmakeargs=(
-DWXM_UNIT_TESTS=$(usex test)
-DWXM_DISABLE_WEBVIEW=$(usex webkit OFF ON)
diff --git a/sci-mathematics/yacas/yacas-1.9.1-r1.ebuild b/sci-mathematics/yacas/yacas-1.9.1-r2.ebuild
index 56679b940c84..447083b06888 100644
--- a/sci-mathematics/yacas/yacas-1.9.1-r1.ebuild
+++ b/sci-mathematics/yacas/yacas-1.9.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,27 +19,14 @@ DESCRIPTION="General purpose computer algebra system"
HOMEPAGE="https://www.yacas.org/"
SRC_URI="https://github.com/grzegorzmazur/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="GPL-2 gui? ( MIT Apache-2.0 OFL-1.1 )"
+LICENSE="GPL-2"
SLOT="0/1"
KEYWORDS="~amd64 ~x86"
-IUSE="gui +jupyter static-libs test"
+IUSE="+jupyter test"
RESTRICT="!test? ( test )"
# Upstream bundles MathJax-2.x
DEPEND="
- gui? (
- <dev-libs/mathjax-3
- dev-qt/qtcore:5[icu]
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- )
jupyter? (
dev-libs/boost:=
dev-libs/jsoncpp:=
@@ -51,13 +38,6 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-src_prepare() {
- # respect DESTDIR. avoid sandbox violation
- sed -i -e 's/${CMAKE_INSTALL_PREFIX}/\\$ENV{DESTDIR}\/${CMAKE_INSTALL_PREFIX}/g' \
- cyacas/yacas-gui/resources/CMakeLists.txt || die
- cmake_src_prepare
-}
-
src_configure() {
# TODO: Unbundle CodeMirror
local mycmakeargs=(
@@ -65,7 +45,7 @@ src_configure() {
-DENABLE_DOCS=OFF
# -DENABLE_DOCS=$(usex doc)
-DENABLE_JYACAS=OFF # requires manual install
- -DENABLE_CYACAS_GUI=$(usex gui)
+ -DENABLE_CYACAS_GUI=OFF # bug 926677
# use system version of mathjax instead
-DENABLE_CYACAS_GUI_PRIVATE_MATHJAX=OFF
-DMATHJAX_PATH="${EPREFIX}/usr/share/mathjax/MathJax.js"
diff --git a/sci-mathematics/yafu/files/yafu-1.34.3-Makefile.patch b/sci-mathematics/yafu/files/yafu-1.34.3-Makefile.patch
deleted file mode 100644
index bee579150c9d..000000000000
--- a/sci-mathematics/yafu/files/yafu-1.34.3-Makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -87,7 +87,7 @@ ifeq ($(CC),icc)
- CFLAGS += -mtune=core2 -march=core2
- endif
-
--LIBS += -lecm -lgmp
-+LIBS += -lecm -lgmp -lgomp
-
- CFLAGS += $(OPT_FLAGS) $(WARN_FLAGS) $(INC)
-
diff --git a/sci-mathematics/yafu/files/yafu-1.34.3-fix-makefiles.patch b/sci-mathematics/yafu/files/yafu-1.34.3-fix-makefiles.patch
new file mode 100644
index 000000000000..d077c7308bd2
--- /dev/null
+++ b/sci-mathematics/yafu/files/yafu-1.34.3-fix-makefiles.patch
@@ -0,0 +1,75 @@
+Conglomerates previous makefile fix, seds and fixes to let toolchain
+compiler and settings be used to the build system.
+Removes non-existing include and library directories that arose as result
+of initial development on mingw with hand-build dependencies.
+Replaces wrong default path to system ggnfs from "same directory" to "system binaries"
+Was sed:
+sed -i -e 's~strcpy(fobj->nfs_obj.ggnfs_dir,"./");~strcpy(fobj->nfs_obj.ggnfs_dir,"/usr/bin/");~' factor/factor_common.c || die
+Must somehow include EPREFIX there...
+--- a/Makefile
++++ b/Makefile
+@@ -17,20 +17,13 @@
+ # --bbuhrow@gmail.com 7/28/09
+ # ----------------------------------------------------------------------*/
+
+-CC = gcc
+ #CC = x86_64-w64-mingw32-gcc-4.5.1
+ #CFLAGS = -march=core2 -mtune=core2
+-CFLAGS = -g
+ WARN_FLAGS = -Wall # -Wconversion
+-OPT_FLAGS = -O3
+ INC = -I. -Iinclude
+
+ # modify these for your particular gmp/gmp-ecm installation
+-INC += -I../gmp/include
+-LIBS += -L../gmp/lib/linux/x86_64
+
+-INC += -I../gmp-ecm/include
+-LIBS += -L../gmp-ecm/lib/linux/x86_64
+
+ ifeq ($(STATIC),1)
+ CFLAGS += -static
+@@ -39,8 +32,6 @@
+ ifeq ($(PROFILE),1)
+ CFLAGS += -pg
+ CFLAGS += -DPROFILING
+-else
+- OPT_FLAGS += -fomit-frame-pointer
+ endif
+
+ # if this option is specified then compile *both* the sse2 and sse4.1 versions of the
+@@ -87,7 +78,7 @@
+ CFLAGS += -mtune=core2 -march=core2
+ endif
+
+-LIBS += -lecm -lgmp
++LIBS += -lecm -lgmp -lgomp
+
+ CFLAGS += $(OPT_FLAGS) $(WARN_FLAGS) $(INC)
+
+@@ -232,10 +223,10 @@
+ @echo "add 'PROFILE=1' to make with profiling enabled (slower) "
+
+ x86: $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS)
+- $(CC) -m32 $(CFLAGS) $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS) -o yafu $(LIBS)
++ $(CC) $(LDFLAGS) -m32 $(CFLAGS) $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS) -o yafu $(LIBS)
+
+ x86_64: $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS)
+- $(CC) $(CFLAGS) $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS) -o yafu $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(MSIEVE_OBJS) $(YAFU_OBJS) $(YAFU_NFS_OBJS) -o yafu $(LIBS)
+
+
+ clean:
+
+--- a/factor/factor_common.c
++++ b/factor/factor_common.c
+@@ -296,7 +296,7 @@
+ #elif defined(WIN32)
+ strcpy(fobj->nfs_obj.ggnfs_dir,".\\");
+ #else
+- strcpy(fobj->nfs_obj.ggnfs_dir,"./");
++ strcpy(fobj->nfs_obj.ggnfs_dir,"/usr/bin/");
+ #endif
+
+ //initialize autofactor object
+
diff --git a/sci-mathematics/yafu/files/yafu-1.34.3-mpz_set.patch b/sci-mathematics/yafu/files/yafu-1.34.3-mpz_set.patch
new file mode 100644
index 000000000000..523fef69745e
--- /dev/null
+++ b/sci-mathematics/yafu/files/yafu-1.34.3-mpz_set.patch
@@ -0,0 +1,14 @@
+Correct way to assign value to mpz_t is to use openmp's funcion-like macro,
+because it's horrible one-element array.
+https://bugs.gentoo.org/920324
+--- a/top/eratosthenes/soe_util.c
++++ b/top/eratosthenes/soe_util.c
+@@ -131,7 +131,7 @@
+ sdata->pbound = sieve_p[num_sp - 1];
+ sdata->pboundi = num_sp;
+ }
+- sdata->offset = offset;
++ mpz_set(*(sdata->offset), offset);
+ mpz_clear(tmpz);
+ sdata->sieve_range = 1;
+ }
diff --git a/sci-mathematics/yafu/yafu-1.34.3-r1.ebuild b/sci-mathematics/yafu/yafu-1.34.3-r1.ebuild
deleted file mode 100644
index 0a965899b443..000000000000
--- a/sci-mathematics/yafu/yafu-1.34.3-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-MY_PV="$(ver_cut 1-2)"
-DESCRIPTION="Yet another factoring utility"
-HOMEPAGE="https://sourceforge.net/projects/yafu/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_PV}/${PN}-${MY_PV}-src.zip"
-
-SLOT="0"
-LICENSE="public-domain"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- || (
- >=sys-devel/gcc-4.2:*[openmp]
- llvm-core/clang-runtime:*[openmp]
- )
- dev-libs/gmp:0=
- sci-mathematics/gmp-ecm"
-RDEPEND="${DEPEND}"
-BDEPEND="app-arch/unzip"
-
-PATCHES=( "${FILESDIR}"/${P}-Makefile.patch )
-
-src_prepare() {
- default
- sed -i \
- -e 's:../gmp/include:gmp:' \
- -e 's:../gmp-ecm/include:gmp-ecm:' \
- -e 's:# LIBS += -L../msieve/lib/linux/x86_64:LIBS += -lmsieve -lz -ldl:' \
- -e 's:CFLAGS = -g:#CFLAGS = -g:' \
- -e '/$(LIBS)$/s:$(CC):$(CC) $(LDFLAGS):g' Makefile || die
- sed -i -e 's:\"config.h\":<gmp-ecm/config.h>:g' top/driver.c || die
-
- # proper ggnfs default path
- sed -i -e 's~strcpy(fobj->nfs_obj.ggnfs_dir,"./");~strcpy(fobj->nfs_obj.ggnfs_dir,"/usr/bin/");~' factor/factor_common.c || die
-}
-
-src_configure() {
- append-cflags -fcommon
- default
-}
-
-src_compile() {
- local VAR
- use amd64 && emake $VAR x86_64
- use x86 && emake $VAR x86
-}
-
-src_install() {
- dobin "${S}"/yafu
- dodoc docfile.txt README yafu.ini
-}
diff --git a/sci-mathematics/yafu/yafu-1.34.3-r2.ebuild b/sci-mathematics/yafu/yafu-1.34.3-r2.ebuild
new file mode 100644
index 000000000000..342b94dbcb06
--- /dev/null
+++ b/sci-mathematics/yafu/yafu-1.34.3-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic edos2unix toolchain-funcs
+
+MY_PV="$(ver_cut 1-2)"
+DESCRIPTION="Yet another factoring utility"
+HOMEPAGE="https://sourceforge.net/projects/yafu/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_PV}/${PN}-${MY_PV}-src.zip"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ || (
+ >=sys-devel/gcc-4.2:*[openmp]
+ llvm-core/clang-runtime:*[openmp]
+ )
+ dev-libs/gmp:0=
+ sci-mathematics/gmp-ecm"
+RDEPEND="${DEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-makefiles.patch
+ "${FILESDIR}"/${P}-mpz_set.patch
+)
+
+src_prepare() {
+ edos2unix top/eratosthenes/soe_util.c factor/factor_common.c
+ default
+}
+
+src_compile() {
+ tc-export CC
+ append-cflags -fcommon
+ use amd64 && emake x86_64
+ use x86 && emake x86
+}
+
+src_test() {
+ "${S}"/yafu "factor(121)" || die
+}
+
+src_install() {
+ dobin "${S}"/yafu
+ dodoc docfile.txt README yafu.ini
+}
diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest
index 0f6c32637120..10dff9cda582 100644
--- a/sci-mathematics/z3/Manifest
+++ b/sci-mathematics/z3/Manifest
@@ -1 +1,2 @@
-DIST z3-4.13.3.tar.gz 5583533 BLAKE2B 9b2586eef75cc26b3556fca4657bc1e2c47473ce22772969d3dbc9d8c84be96d6ee8283616bffe8d95efe7e531b62bbd7d4fc1f3d6dc626a097792198266ed5f SHA512 c899f57d8cb5450801463b07cd651869d766a920e41a4beedc96c4978e940bfadff9af2fbbb5ba10f94f6742bb33f7abaca0a351f3e1803d778e84d735d6829e
+DIST z3-4.13.4.tar.gz 5766645 BLAKE2B 99e22754a7b7333868b713d78677de5d8c8ed7fdf15f0a60c224cca49bd89022e80dee86aa23f96cb7ec052ef1286ec6e2d025a6e336001d4c0d09cfce50ac55 SHA512 fd554122f3bb65e5d6622e2e331546d24892dfd3e5310bc4e041bd1c61fecfe53dbb487e4b125d87367338cacc9e06f28c71f380aac5fe8a74f4b45aaa27b6ce
+DIST z3-4.14.0.tar.gz 5841848 BLAKE2B fc56ab4538a8fa07fd7ea34fdd403a13941f93fee500e90686cfc827b5094d83662ad02fda0c9ff146cb425603a3d65aadc1c006d26dd40c8cbd91462381670a SHA512 5a3de3207b5c05f77f8369d7fdbb9e13a7db850f8c3edaa8f2adfcf58b186d34409e4a56d44646f853027850941135be5042e67a53ddf3302dc3b645c1ab3db4
diff --git a/sci-mathematics/z3/z3-4.13.3.ebuild b/sci-mathematics/z3/z3-4.13.4.ebuild
index 651f968e3285..aa0ae4da8a05 100644
--- a/sci-mathematics/z3/z3-4.13.3.ebuild
+++ b/sci-mathematics/z3/z3-4.13.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/sci-mathematics/z3/z3-4.14.0.ebuild b/sci-mathematics/z3/z3-4.14.0.ebuild
new file mode 100644
index 000000000000..759a8f720476
--- /dev/null
+++ b/sci-mathematics/z3/z3-4.14.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake-multilib java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="An efficient theorem prover"
+HOMEPAGE="https://github.com/Z3Prover/z3/"
+SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz"
+S=${WORKDIR}/z3-${P}
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc examples gmp isabelle java python"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp:0=[cxx(+),${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ java? ( >=virtual/jdk-1.8 )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DZ3_USE_LIB_GMP=$(usex gmp)
+ -DZ3_ENABLE_EXAMPLE_TARGETS=OFF
+ -DZ3_BUILD_DOCUMENTATION=$(multilib_native_usex doc)
+ -DZ3_BUILD_PYTHON_BINDINGS=$(multilib_native_usex python)
+ -DZ3_BUILD_JAVA_BINDINGS=$(multilib_native_usex java)
+ -DZ3_INCLUDE_GIT_DESCRIBE=OFF
+ -DZ3_INCLUDE_GIT_HASH=OFF
+ )
+
+ multilib_is_native_abi && use java && mycmakeargs+=( -DJAVA_HOME="$(java-config -g JAVA_HOME )" )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ cmake_build test-z3
+ set -- "${BUILD_DIR}"/test-z3 /a
+ echo "${@}" >&2
+ "${@}" || die
+}
+
+multilib_src_install_all() {
+ dodoc README.md
+ use examples && dodoc -r examples
+ use python && python_optimize
+
+ if use isabelle; then
+ insinto /usr/share/Isabelle/contrib/${P}/etc
+ newins - settings <<-EOF
+ Z3_COMPONENT="\$COMPONENT"
+ Z3_HOME="${EPREFIX}/usr/bin"
+ Z3_SOLVER="${EPREFIX}/usr/bin/z3"
+ Z3_REMOTE_SOLVER="z3"
+ Z3_VERSION="${PV}"
+ Z3_INSTALLED="yes"
+ Z3_NON_COMMERCIAL="yes"
+ EOF
+ fi
+}
+
+pkg_postinst() {
+ if use isabelle; then
+ if [[ -f ${ROOT}/etc/isabelle/components ]]; then
+ sed -e "/contrib\/${PN}-[0-9.]*/d" \
+ -i "${ROOT}/etc/isabelle/components" || die
+ cat <<-EOF >> "${ROOT}/etc/isabelle/components" || die
+ contrib/${P}
+ EOF
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use isabelle; then
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ if [[ -f "${ROOT}/etc/isabelle/components" ]]; then
+ # Note: this sed should only match the version of this ebuild
+ # Which is what we want as we do not want to remove the line
+ # of a new Isabelle component being installed during an upgrade.
+ sed -e "/contrib\/${P}/d" \
+ -i "${ROOT}/etc/isabelle/components" || die
+ fi
+ fi
+ fi
+}