[gentoo-commits] repo/gentoo:master commit in: sci-mathematics/polymake/files/, sci-mathematics/polymake/
commit: c5e5ffa9e5052ad286c2ed2e5fee818bd9630686 Author: Michael Orlitzky gentoo org> AuthorDate: Mon Nov 13 19:36:06 2023 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Nov 13 22:17:04 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5e5ffa9 sci-mathematics/polymake: new old package, add 4.11 This is back from the dead after being removed for lack of perl-5.38 support. Only a month ago, upstream's opinion was that "any hacks we would try here will be in vain," but it looks like they've decided to adopt a short-term fix for perl-5.38. We bring it back, and make use of $NINJA_DEPEND while we're at it (samurai works fine). The new patch (and a short explanation from upstream) can be found on Debian bug 1042521. Bug: https://bugs.gentoo.org/909570 Closes: https://bugs.gentoo.org/917155 Signed-off-by: Michael Orlitzky gentoo.org> sci-mathematics/polymake/Manifest | 1 + .../files/polymake-4.11-singular-sat.patch | 53 + sci-mathematics/polymake/metadata.xml | 54 + sci-mathematics/polymake/polymake-4.11.ebuild | 124 + 4 files changed, 232 insertions(+) diff --git a/sci-mathematics/polymake/Manifest b/sci-mathematics/polymake/Manifest new file mode 100644 index ..64de0ecea8e1 --- /dev/null +++ b/sci-mathematics/polymake/Manifest @@ -0,0 +1 @@ +DIST polymake-4.11-minimal.tar.bz2 7325783 BLAKE2B 87e62741e4e44c5fea7454d5cc8cb205cf13f8ee743c1d72100f937d0677505ce0c5c8f5b37c118f89079ca88f313991eaefb2ea02c49b6c7b45c438c6f9e13b SHA512 94adf3fcec21de50451091a04ca17010f5e71b44e3dcd4e2d52b9f952b94ee0cf3f6df15657b761b0bda20eb47cbdc0cb2481bb440c7243442be34f913292246 diff --git a/sci-mathematics/polymake/files/polymake-4.11-singular-sat.patch b/sci-mathematics/polymake/files/polymake-4.11-singular-sat.patch new file mode 100644 index ..739e503ac246 --- /dev/null +++ b/sci-mathematics/polymake/files/polymake-4.11-singular-sat.patch @@ -0,0 +1,53 @@ +commit 4ce0549f510d246c8f69c85c509fc2d13d882442 +Author: Benjamin Lorenz +Date: Thu Nov 9 11:15:06 2023 +0100 + +singular: support new return types for saturation command + +This was changed from (ideal, exponent) to just the ideal in singular 4-3-2p5. +To allow older versions we keep using sat but support both return types +instead of switching to the new sat_with_exp. + +diff --git a/bundled/singular/apps/ideal/src/singularIdeal.cc b/bundled/singular/apps/ideal/src/singularIdeal.cc +index 4cbc00a6f4..bdade5c29d 100644 +--- a/bundled/singular/apps/ideal/src/singularIdeal.cc b/bundled/singular/apps/ideal/src/singularIdeal.cc +@@ -236,22 +236,24 @@ public: + arg.next->data=(void *)idCopy(J); + // call primdecSY + BOOLEAN res=iiMake_proc(sathdl, nullptr ,); +- if(!res && (iiRETURNEXPR.Typ() == LIST_CMD)){ +- lists L = (lists)iiRETURNEXPR.Data(); +- SingularIdeal_wrap* result; +- if(L->m[0].Typ() == IDEAL_CMD){ +-result = new SingularIdeal_impl((::ideal) (L->m[0].Data()),singRing); +- } else { +-throw std::runtime_error("Something went wrong for the primary decomposition"); ++ if(!res) { ++ ::ideal iddata = nullptr; ++ if (iiRETURNEXPR.Typ() == LIST_CMD) { ++lists L = (lists)iiRETURNEXPR.Data(); ++if(L->m[0].Typ() == IDEAL_CMD) ++ iddata = (::ideal) L->m[0].Data(); ++ } else if (iiRETURNEXPR.Typ() == IDEAL_CMD) { ++iddata = (::ideal) iiRETURNEXPR.Data(); ++ } ++ if (iddata != nullptr) { ++SingularIdeal_wrap* result = new SingularIdeal_impl(iddata, singRing); ++iiRETURNEXPR.CleanUp(); ++iiRETURNEXPR.Init(); ++return result; + } +- iiRETURNEXPR.CleanUp(); +- iiRETURNEXPR.Init(); +- return result; +- } else { +- iiRETURNEXPR.Init(); +- throw std::runtime_error("Something went wrong for the saturation"); + } +- ++ iiRETURNEXPR.Init(); ++ throw std::runtime_error("saturation: unable to parse ideal from return value"); +} + +Array primary_decomposition() const diff --git a/sci-mathematics/polymake/metadata.xml b/sci-mathematics/polymake/metadata.xml new file mode 100644 index ..e8e79ebd3fc8 --- /dev/null +++ b/sci-mathematics/polymake/metadata.xml @@ -0,0 +1,54 @@ + +https://www.gentoo.org/dtd/metadata.dtd;> + + + sci-mathemat...@gentoo.org + Gentoo Mathematics Project + + + +Enable sci-libs/bliss interface for graph and face lattice +isomorphism computations. + + +Enable sci-libs/cddlib interface for convex hull +computations (Should be kept enabled). + + +Build with "strongly recommended" support for +sci-mathematics/flint. + + +Build the polymake library to build applications using the C++ +interface. + + +Enable
[gentoo-commits] repo/gentoo:master commit in: sci-mathematics/polymake/files/, sci-mathematics/polymake/
commit: a5f294bb04f044d59923b582e097257559283028 Author: Michael Orlitzky gentoo org> AuthorDate: Wed Jun 15 15:56:50 2022 + Commit: Michael Orlitzky gentoo org> CommitDate: Wed Jun 15 19:29:24 2022 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5f294bb sci-mathematics/polymake: new revision with a few fixes. * Build with perl-5.36. Thanks to Alessandro Barbieri for pointing out the Fedora patch. * Added a lower bound on sci-mathematics/normaliz (with USE=normaliz). * Fixed a missing sci-mathematics/flint dependency that Toralf caught. Closes: https://bugs.gentoo.org/839255 Closes: https://bugs.gentoo.org/851693 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Michael Orlitzky gentoo.org> .../polymake/files/polymake-4.6-perl-5.36.patch| 15 +++ sci-mathematics/polymake/polymake-4.6-r1.ebuild| 124 + 2 files changed, 139 insertions(+) diff --git a/sci-mathematics/polymake/files/polymake-4.6-perl-5.36.patch b/sci-mathematics/polymake/files/polymake-4.6-perl-5.36.patch new file mode 100644 index ..4a9d349ccb9a --- /dev/null +++ b/sci-mathematics/polymake/files/polymake-4.6-perl-5.36.patch @@ -0,0 +1,15 @@ +diff -up lib/core/src/perl/RefHash.xxs.orig lib/core/src/perl/RefHash.xxs +--- a/lib/core/src/perl/RefHash.xxs2022-06-06 10:35:17.689807548 +0200 b/lib/core/src/perl/RefHash.xxs2022-06-06 10:37:12.935663947 +0200 +@@ -71,7 +71,11 @@ SV* tmp_keysv::set(SV* keysv) +Copy(obj.keyp, HEK_KEY(hekp), sizeof(SV*), char); +HEK_LEN(hekp) = sizeof(SV*); +HEK_HASH(hekp) = U32(obj.keyl >> 4); // hash value ++#if PerlVersion < 5360 +HEK_FLAGS(hekp) = HVhek_UNSHARED; ++#else ++ HEK_FLAGS(hekp) = HVhek_NOTSHARED; ++#endif +sv.sv_any = +sv.sv_refcnt = 1; +sv.sv_flags = SVt_PVIV | SVf_IVisUV | SVf_POK | SVp_POK | PmFlagsForHashKey; diff --git a/sci-mathematics/polymake/polymake-4.6-r1.ebuild b/sci-mathematics/polymake/polymake-4.6-r1.ebuild new file mode 100644 index ..446fedbda04a --- /dev/null +++ b/sci-mathematics/polymake/polymake-4.6-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic ninja-utils toolchain-funcs + +DESCRIPTION="Tool for polyhedral geometry and combinatorics" +SRC_URI="https://polymake.org/lib/exe/fetch.php/download/${P}-minimal.tar.bz2; +HOMEPAGE="https://polymake.org/; + +# polymake itself is GPL-2, but even the minimal tarball bundles a lot +# of other code. I've included everything that turns up with a +# +# find ./ -name 'LICENSE' -o -name 'COPYING' +# +# in the list below. If any of these bother you, you may want to take a +# closer look at how (or even if) the corresponding code is being used. +LICENSE="BSD GPL-2 GPL-2+ MIT WTFPL-2" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="bliss +cdd +flint +normaliz libpolymake lrs nauty ppl singular" + +REQUIRED_USE="^^ ( bliss nauty )" + +# The "configure" script isn't autotools; it basically exists just to +# exec some other perl script but using the familiar name. +BDEPEND="dev-util/ninja + dev-lang/perl" + +DEPEND=" + libpolymake? ( dev-lang/perl ) + dev-libs/boost:= + dev-libs/gmp:= + dev-libs/libxml2:2= + dev-libs/libxslt:= + dev-libs/mpfr:= + sys-libs/readline:= + bliss? ( sci-libs/bliss:=[gmp] ) + cdd? ( sci-libs/cddlib:= ) + flint? ( sci-mathematics/flint:= ) + lrs? ( >=sci-libs/lrslib-051:=[gmp] ) + nauty? ( sci-mathematics/nauty:= ) + normaliz? ( >=sci-mathematics/normaliz-3.8:= ) + ppl? ( dev-libs/ppl:= ) + singular? ( sci-mathematics/singular:= )" + +RDEPEND="${DEPEND} + dev-lang/perl + dev-perl/JSON + dev-perl/Term-ReadLine-Gnu + dev-perl/TermReadKey + dev-perl/XML-SAX + dev-perl/XML-Writer" + +# Tests observed failing after upgrade to polymake-4.5. No idea if they +# worked prior to that. Someone who actually understands polymake will +# have to get these working (at least briefly) before we re-enable them. +RESTRICT=test + +PATCHES=( "${FILESDIR}/${P}-perl-5.36.patch" ) + +src_configure() { + # Without this, the build system tries to use "the highest possible" + # optimization level and will override what's in your CXXFLAGS. + export CXXOPT="" + + tc-export CC CXX + + # We need to define BLISS_USE_GMP if bliss was built with gmp support. + # Therefore we require gmp support on bliss, so that the package + # manager can prevent rebuilds with changed gmp flag. Yes, this should + # be append-cppflags; but the build system doesn't respect CPPFLAGS. + use bliss && append-cxxflags -DBLISS_USE_GMP + + # This isn't an autotools ./configure script, so a lot of things + # don't work the way you'd expect. We disable openmp