diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-09-09 22:41:02 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-09-09 22:41:02 +0100 |
commit | f848d5eacad65f1f52c168d9b0f74dec3e89b203 (patch) | |
tree | 6cb7b42d08801e79c25ab04d2e95b467ddd0b9bd /sci-mathematics/polymake | |
parent | 9257212a8841f37588d5b5a94a7930db4585a106 (diff) |
gentoo auto-resync : 09:09:2022 - 22:41:02
Diffstat (limited to 'sci-mathematics/polymake')
-rw-r--r-- | sci-mathematics/polymake/Manifest | 2 | ||||
-rw-r--r-- | sci-mathematics/polymake/polymake-4.7.ebuild | 122 |
2 files changed, 124 insertions, 0 deletions
diff --git a/sci-mathematics/polymake/Manifest b/sci-mathematics/polymake/Manifest index a2ef35f29bc2..71f278edb5ba 100644 --- a/sci-mathematics/polymake/Manifest +++ b/sci-mathematics/polymake/Manifest @@ -1,5 +1,7 @@ AUX polymake-4.6-perl-5.36.patch 659 BLAKE2B 4013b45b4edc79654fcfe77ffa17530ddaca8513eaf76fc338dae7fbcd1cf83f07f7b5ccaf2117051ae3f9fc951caa676b36fa06413988c271e0a5f01da28233 SHA512 0bf9f512c6b7439bf1660560d25a502f1fa16b7f0136f04f1c1c8812c1b1c5ab0ab5133e149777243985ca37e159d8a3de355b443441126328565063faa2ba8e DIST polymake-4.6-minimal.tar.bz2 5634651 BLAKE2B 6ee24fa6e70fdf746ea298d78e21e17fe38c5837ae2d3153e53656b4b003555b06897f463220b59474eed1111135dfa61c080d08d6363391afca51011f331122 SHA512 90f04c67bf297fb1b9f5a51d1654ff12385860b1fc80278a8b47f65970f11a1e0f33ede8a839b54a12422e772c8b76302ff78cc467712a2486f6e76ce0d5ab20 +DIST polymake-4.7-minimal.tar.bz2 7258042 BLAKE2B bb6de88b9ba2c04988d18823f15b0a61ffa4699ae75b553bce2266136f4584610426d2820684f6aa553960a7159f1a2d543586fd531bb18f336e854fba451f78 SHA512 f025ae7833a5fbca7b79a3c8f6a74516a4d175054f0439f21ae8f54eefc0762f1b2abf33f484aa7f6a9a54c62dc0c476f8b3a9cfbea148c53497b62d0b0740a1 EBUILD polymake-4.6-r1.ebuild 4119 BLAKE2B c04865bd05d7b52223b59c93f814e67a35a5d14ad4c7224be8e169ed3359aa67551e4aa174b54b88c4dde46c8468661cf5428c7fea5ba70574bd38183cac7ec0 SHA512 5d98adebe72237bca051cd0e4b9bbec533fae5ce182becd20e26bc7a32179693a5e283f7529952e0f7cd7a1662fefcc1718fd4c4ceff05950c634eba0211a3bf EBUILD polymake-4.6.ebuild 4028 BLAKE2B d3f194adf0566143a32e3914e5bfdeccee3e41e8d59236d3bfc22ee061cfa39039f46339b5a2a5e0e05ea6a8761387dfa506658d392cd7874c2d96f8745d9671 SHA512 9e8b93bc2b86c9ec895b44f5988d70e583f3b414c82d4993e3c0df2fcefd650f809a549325bdbdcb2ae4a6d7199cbd1d295775ab8f63b7883e655725ac64bda5 +EBUILD polymake-4.7.ebuild 4071 BLAKE2B 733089ff39cb4b1504b8e8f6beb9c1af4942352dd60aa552921cc1563c6107f9f19b6bcca08b8145bdbbb23de35fa1092cfbad22b929e59b4572b61553668bff SHA512 feab36a0305e639b1ca4e35baf908bdfc38143f36f7b0aeec4b119711d31a1f6a6fc1171232a346dee3d7e212954272f09523c15fb93bb7af799bec9f1e0baad MISC metadata.xml 1762 BLAKE2B 249af503c9e7e99118c87e4cd71c151cc962502972e80c4ba4f66ae3805c9f6c47601ecadef5e6e1b5c67a7e7779155f2524bace8d6f2f4fb260f2f4dce1b257 SHA512 fc887d14710c9529a9738a14ae8f6a41adae80c273354aa5bcd0a14ad695de09ff562e775a5d40582b23e3b6b1fd4e34a277fa9a6ff7131f19ad4f5cc98d6374 diff --git a/sci-mathematics/polymake/polymake-4.7.ebuild b/sci-mathematics/polymake/polymake-4.7.ebuild new file mode 100644 index 000000000000..66795c00f8c7 --- /dev/null +++ b/sci-mathematics/polymake/polymake-4.7.ebuild @@ -0,0 +1,122 @@ +# 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 + +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 unconditionally + # because it's only supposedly only used for building the bundled + # libnormaliz (we unbundle it) and for something called to_simplex + # that I can't find anywhere in the polymake source. + ./configure --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --libexecdir="${EPREFIX}/usr/$(get_libdir)/polymake" \ + $(usev !libpolymake "--without-callable") \ + --without-java \ + --without-javaview \ + --without-native \ + --without-scip \ + --without-soplex \ + --without-openmp \ + $(use_with bliss bliss "${EPREFIX}/usr") \ + $(use_with cdd cdd "${EPREFIX}/usr") \ + $(use_with flint flint "${EPREFIX}/usr") \ + $(use_with lrs lrs "${EPREFIX}/usr") \ + $(use_with nauty nauty "${EPREFIX}/usr") \ + $(use_with normaliz libnormaliz "${EPREFIX}/usr") \ + $(use_with ppl ppl "${EPREFIX}/usr") \ + $(use_with singular singular "${EPREFIX}/usr") \ + || die +} + +# There is a backwards-compatible Makefile that would call ninja for us +# in src_compile/src_install, but it doesn't handle MAKEOPTS correctly. +src_compile() { + eninja -C build/Opt +} + +src_install() { + # DESTDIR needs to find its way into the real install script, + # support/install.pl. + export DESTDIR="${D}" + eninja -C build/Opt install +} + +src_test() { + perl/polymake --script run_testcases --emacs-style \ + || die "test suite failed" +} + +pkg_postinst() { + elog "Additional features for polymake are available through external" + elog "software such as sci-mathematics/4ti2 and sci-mathematics/topcom." + elog "After installing new external software run 'polymake --reconfigure'." +} |