diff options
Diffstat (limited to 'sci-mathematics')
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 +} |