From 56502b56dc8799fa32fff856fc5e1bc486dea705 Mon Sep 17 00:00:00 2001 From: Andrey Grozin Date: Sat, 7 Mar 2026 23:15:15 +0700 Subject: [PATCH] sci-mathematics/form: bump to 5.0.0 Signed-off-by: Andrey Grozin --- sci-mathematics/form/Manifest | 2 + sci-mathematics/form/files/5.0.0-manual.patch | 16 +++ sci-mathematics/form/form-5.0.0.ebuild | 117 ++++++++++++++++++ sci-mathematics/form/metadata.xml | 2 + 4 files changed, 137 insertions(+) create mode 100644 sci-mathematics/form/files/5.0.0-manual.patch create mode 100644 sci-mathematics/form/form-5.0.0.ebuild diff --git a/sci-mathematics/form/Manifest b/sci-mathematics/form/Manifest index d0a67bee26d0..0f5a71a4b7d9 100644 --- a/sci-mathematics/form/Manifest +++ b/sci-mathematics/form/Manifest @@ -1,3 +1,5 @@ DIST form-4.3.1.tar.gz 1470480 BLAKE2B 210ff3b97a18a495c2d81de0cba7945d9c5a8e5e2ab3dc833ed01fedf701c15f459f0e1b171597d1997b892916a571295407eea75a631b83ce49c0b52e343c85 SHA512 7fdf925b4843e2a853340fc74cc9cf1b603100ddcab2c6ac3752a18e646296761e2c9ee3036a098e2168800f10b4e9a8512b6c871d6d61b5505c3403be9bbdad +DIST form-5.0.0.tar.gz 1603270 BLAKE2B a7b5d3bde80cb755527d2fc40712b5653f76d2cf861da39bb456600b6abfcf793ea5a498d49266545d0d651994f140f2c48c173d3367f4d539e93ea2aa5ea693 SHA512 60b9f2f250e6b3e28b7dc053b594f458304646cb8f1e9927a2d1b77d7378b29ce406ff18777143167a51368cf53a78d473338935593796dad46a59ecfebb7b40 DIST form-5.0.0_beta1.tar.gz 1415449 BLAKE2B c919442941366488520b1ba0c058261de0261096548e752308f14db2dd0416172f8a6ccabe9a0e7ddccbb6f6ad605ba6ee4f15fbcd1fc9539ea9ab116bc27cbe SHA512 5bbdbdb3ccc865b33bc346d458d1927af13825320ad1ad795b3a5562732338ed119dc3a2ae5981d1bc8d89dd55c46febc66b7632560d27843aacc6e42f8904eb DIST form-mode.el.gz 6657 BLAKE2B 41d014e4ca8036249d53f5361012095e2ed2ef5e43543ba809a058f0ed241bd3ec984d9b61ab13a5b447faf07decf4e696362f24cacea3af5870cccdf43b1415 SHA512 aa81cc9c45a90af982179d56b874de0d152538653242ea028450675ab8421df2e0d53988c7efa3527845dae145c8047b71574191eedd90511fa89ad812851e25 +DIST zlibWrapper-1.5.7.tar.gz 48021 BLAKE2B 592b8d03d3bb413dacaa281fd5c44cbc53b94796be88d217e89db52bc055e0e75d9d407d510c320fa03e190bca36903ac7125b23d11f1ebdf7ea163cdc87f67e SHA512 609e8ec48b4bbc83cc514abca09f96fe69e00303752b8ef733626fba9d020b803673001cd8ca48760647e66512cc6623809078ce45c0196474b3655cb78dfd57 diff --git a/sci-mathematics/form/files/5.0.0-manual.patch b/sci-mathematics/form/files/5.0.0-manual.patch new file mode 100644 index 000000000000..854428ef565d --- /dev/null +++ b/sci-mathematics/form/files/5.0.0-manual.patch @@ -0,0 +1,16 @@ +diff '--color=auto' -r -U3 form-5.0.0.orig/configure.ac form-5.0.0/configure.ac +--- form-5.0.0.orig/configure.ac 2026-01-27 16:10:52.000000000 +0700 ++++ form-5.0.0/configure.ac 2026-03-07 22:22:35.016167669 +0700 +@@ -24,9 +24,9 @@ + echo "#define REPO_MAJOR_VERSION $major_version" >sources/version.h.in + echo "#define REPO_MINOR_VERSION $minor_version" >>sources/version.h.in + echo "#define REPO_PATCH_VERSION $patch_version" >>sources/version.h.in +- echo '\\def\\repomajorversion'"{$major_version}" >doc/manual/version.tex.in +- echo '\\def\\repominorversion'"{$minor_version}" >>doc/manual/version.tex.in +- echo '\\def\\repopatchversion'"{$patch_version}" >>doc/manual/version.tex.in ++ echo '\def\repomajorversion'"{$major_version}" >doc/manual/version.tex.in ++ echo '\def\repominorversion'"{$minor_version}" >>doc/manual/version.tex.in ++ echo '\def\repopatchversion'"{$patch_version}" >>doc/manual/version.tex.in + cp doc/manual/version.tex.in doc/devref/version.tex.in + touch doc/doxygen/version.sh.in + fi diff --git a/sci-mathematics/form/form-5.0.0.ebuild b/sci-mathematics/form/form-5.0.0.ebuild new file mode 100644 index 000000000000..ce235699448f --- /dev/null +++ b/sci-mathematics/form/form-5.0.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs elisp-common +DESCRIPTION="Symbolic Manipulation System" +HOMEPAGE="https://www.nikhef.nl/~form/ https://github.com/vermaseren/form/" +ZSTD_VERSION="1.5.7" +SRC_URI="https://github.com/vermaseren/${PN}/archive/refs/tags/v${PV/_beta/-beta.}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~grozin/zlibWrapper-${ZSTD_VERSION}.tar.gz + emacs? ( https://dev.gentoo.org/~grozin/form-mode.el.gz )" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="devref doc doxygen emacs +flint +gmp +mpfr mpi test threads zlib zstd" +RESTRICT="!test? ( test )" + +RDEPEND=" + flint? ( >=sci-mathematics/flint-3.2:0= ) + gmp? ( dev-libs/gmp:0= ) + mpfr? ( dev-libs/mpfr:0= ) + mpi? ( virtual/mpi ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd:= ) +" +BDEPEND="${RDEPEND} + devref? ( dev-texlive/texlive-latexrecommended ) + doc? ( dev-texlive/texlive-latexrecommended ) + doxygen? ( app-text/doxygen ) + emacs? ( app-editors/emacs:* ) + test? ( dev-lang/ruby dev-ruby/test-unit ) +" + +SITEFILE="64${PN}-gentoo.el" +PATCHES=( "${FILESDIR}"/5.0.0-manual.patch ) + +src_unpack() { + default + mv "${WORKDIR}"/zlibWrapper-${ZSTD_VERSION} "${WORKDIR}"/${P}/extern/zstd/zlibWrapper || die "mv zlibWrapper failed" +} + +src_prepare() { + default + sed -i 's/LINKFLAGS = -s/LINKFLAGS =/' sources/Makefile.am || die + eautoreconf +} + +src_configure() { + # Workaround for GCC -fchecking ICE, bug #904339 + append-cxxflags $(test-flags-CXX -Wno-uninitialized) + + econf \ + --enable-scalar \ + --enable-largefile \ + --disable-debug \ + --disable-static-link \ + --with-api=posix \ + $(use_with flint ) \ + $(use_with gmp ) \ + $(use_with mpfr ) \ + $(use_enable mpi parform ) \ + $(use_enable threads threaded ) \ + $(use_with zlib ) \ + $(use_with zstd ) \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" +} + +src_compile() { + default + if use devref; then + pushd doc/devref > /dev/null || die "doc/devref does not exist" + LANG=C VARTEXFONTS="${T}/fonts" emake pdf + popd > /dev/null + fi + if use doc; then + pushd doc/manual > /dev/null || die "doc/manual does not exist" + LANG=C VARTEXFONTS="${T}/fonts" emake pdf + popd > /dev/null + fi + if use doxygen; then + pushd doc/doxygen > /dev/null || die "doc/doxygen does not exist" + emake html + popd > /dev/null + fi +} + +src_install() { + default + if use devref; then + dodoc doc/devref/devref.pdf + fi + if use doc; then + dodoc doc/manual/manual.pdf + fi + if use doxygen; then + docinto html + dodoc -r doc/doxygen/html/. + fi + if use emacs; then + elisp-install ${PN} "${WORKDIR}"/*.el + 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/form/metadata.xml b/sci-mathematics/form/metadata.xml index ad5766269fa2..72935f506fe1 100644 --- a/sci-mathematics/form/metadata.xml +++ b/sci-mathematics/form/metadata.xml @@ -12,6 +12,8 @@ Build and install developers reference Build and install API documentation + Use sci-mathematics/flint for fast polynomial arithmetics + Use dev-libs/mpfr for multiple-precision floats vermaseren/form