From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id DB1B8158086 for ; Sat, 23 Oct 2021 00:17:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CB855E0866; Sat, 23 Oct 2021 00:17:40 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A15ADE0866 for ; Sat, 23 Oct 2021 00:17:40 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 30BD2343210 for ; Sat, 23 Oct 2021 00:17:39 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 99999169 for ; Sat, 23 Oct 2021 00:17:37 +0000 (UTC) From: "Michael Orlitzky" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michael Orlitzky" Message-ID: <1634947883.db8613a7ef8e28bae0e4d6002e03676110919783.mjo@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/polymake/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-mathematics/polymake/Manifest sci-mathematics/polymake/metadata.xml sci-mathematics/polymake/polymake-3.0_p2.ebuild sci-mathematics/polymake/polymake-4.5.ebuild X-VCS-Directories: sci-mathematics/polymake/ X-VCS-Committer: mjo X-VCS-Committer-Name: Michael Orlitzky X-VCS-Revision: db8613a7ef8e28bae0e4d6002e03676110919783 X-VCS-Branch: master Date: Sat, 23 Oct 2021 00:17:37 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 6ad20397-eace-4534-87df-0465e2078399 X-Archives-Hash: 4ce4a53c425f17279b8a553cb571f415 commit: db8613a7ef8e28bae0e4d6002e03676110919783 Author: Michael Orlitzky gentoo org> AuthorDate: Thu Oct 21 23:34:01 2021 +0000 Commit: Michael Orlitzky gentoo org> CommitDate: Sat Oct 23 00:11:23 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db8613a7 sci-mathematics/polymake: new upstream version 4.5. Lots of ebuild improvements (EAPI=8,...) in this one. Several bugs have been fixed, and some new ones likely introduced; best not to dwell. Now that we have something passable in the tree, it will be a lot easier to make incremental improvements. Closes: https://bugs.gentoo.org/618332 Closes: https://bugs.gentoo.org/625512 Closes: https://bugs.gentoo.org/648804 Closes: https://github.com/gentoo/gentoo/pull/17925 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Michael Orlitzky gentoo.org> sci-mathematics/polymake/Manifest | 2 +- sci-mathematics/polymake/metadata.xml | 52 ++++++++--- sci-mathematics/polymake/polymake-3.0_p2.ebuild | 90 ------------------ sci-mathematics/polymake/polymake-4.5.ebuild | 117 ++++++++++++++++++++++++ 4 files changed, 158 insertions(+), 103 deletions(-) diff --git a/sci-mathematics/polymake/Manifest b/sci-mathematics/polymake/Manifest index 46fae3d858f..913e6a1540b 100644 --- a/sci-mathematics/polymake/Manifest +++ b/sci-mathematics/polymake/Manifest @@ -1 +1 @@ -DIST polymake-3.0r2.tar.bz2 37695790 BLAKE2B 101dda48128b51737b81d3dc09a8ef32d07c5f67605370c5ef0d5638ee6de427c6e8ff66094f96593ad21fa937ca5890af772f6e877fab0e31f4c98ec7c6730b SHA512 b4c22b2c6da8ef597dc05a44a30c7a55fd924a96854cde3f725095465972eabe1e24508f8e5d544f3131c82c973117b15983c38a0242fc7f1d4a4a8ecddb1d46 +DIST polymake-4.5-minimal.tar.bz2 5634046 BLAKE2B dc8a10885b23f8c690e9b8e36d6b55193bbc6d77d56c3b2facea70221860c33d2df58a8a693b9d43c0f613962ce2bd1b3258f1a558af8335297092a60876054a SHA512 07fcc9c20c4e48fc6d83845c50c12b2cadeaf55f74619985d21e252970ad76d6ee8cc528cd419e71ed5927d83758e5d6862e41c1610f93ea95127ad9115a333b diff --git a/sci-mathematics/polymake/metadata.xml b/sci-mathematics/polymake/metadata.xml index 8eb7d9d6319..5834e17347b 100644 --- a/sci-mathematics/polymake/metadata.xml +++ b/sci-mathematics/polymake/metadata.xml @@ -6,19 +6,47 @@ Gentoo Mathematics Project - Enable sci-libs/cddlib interface for convex hull - computations (Should be kept enabled). - Enable sci-libs/lrslib interface for convex hull computations. - Enable dev-libs/ppl interface for convex hull computations. - Enable sci-libs/bliss interface for graph and face lattice isomorphism computations. - Build extension for dealing with permutation groups and symmetric objects. - Build the bundled extension for lattice related computations. - Enable the interface to sci-mathematics/singular for ideal related computations. - Build the polymake library to build applications using the C++ interface. + + 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 sci-libs/lrslib interface for convex hull + computations. + + + Build the extension for graph automorphism computations using + sci-mathematics/nauty. + + + Build the bundled extension for lattice computations using + sci-mathematics/normaliz. + + + Enable dev-libs/ppl interface for convex hull computations. + + + Enable the interface to sci-mathematics/singular for + ideal related computations. + -Polymake started out as a tool for the algorithmic treatment of convex -polyhedra. By now it also deals with finite simplicial complexes, -tight spans of finite metric spaces, and other objects. + Polymake is open source software for research in polyhedral + geometry. It deals with polytopes, polyhedra, and fans as well as + simplicial complexes, matroids, graphs, tropical hypersurfaces, and + other objects. Supported platforms include various flavors of Linux, + FreeBSD, and Mac OS. diff --git a/sci-mathematics/polymake/polymake-3.0_p2.ebuild b/sci-mathematics/polymake/polymake-3.0_p2.ebuild deleted file mode 100644 index bff44f4d9bb..00000000000 --- a/sci-mathematics/polymake/polymake-3.0_p2.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic - -DESCRIPTION="research tool for polyhedral geometry and combinatorics" -SRC_URI="https://polymake.org/lib/exe/fetch.php/download/polymake-3.0r2.tar.bz2" -HOMEPAGE="https://polymake.org" - -IUSE="+cdd lrs ppl bliss group +libnormaliz singular libpolymake" - -REQUIRED_USE="group? ( cdd lrs )" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" - -DEPEND="dev-lang/perl - dev-libs/gmp:0= - dev-libs/mpfr:0 - dev-libs/libxml2:2 - dev-libs/libxslt - ppl? ( dev-libs/ppl ) - cdd? ( sci-libs/cddlib ) - lrs? ( >=sci-libs/lrslib-051[gmp] ) - bliss? ( sci-libs/bliss[gmp] ) - group? ( dev-libs/boost:= ) - libnormaliz? ( dev-libs/boost:= ) - singular? ( >=sci-mathematics/singular-4.0.1 )" -RDEPEND="${DEPEND} - dev-perl/XML-LibXML - dev-perl/XML-LibXSLT - dev-perl/XML-Writer - dev-perl/Term-ReadLine-Gnu" - -S="${WORKDIR}/${PN}-3.0" - -pkg_pretend() { - einfo "During compile this package uses up to" - einfo "750MB of RAM per process. Use MAKEOPTS=\"-j1\" if" - einfo "you run into trouble." -} - -src_configure() { - export CXXOPT=$(get-flag -O) - - # 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. - if use bliss ; then - append-cxxflags -DBLISS_USE_GMP - fi - - # Configure does not accept --host, therefore econf cannot be used - - # Some of the options do not support using just '--with-option' - local myconf="" - use !group && myconf="$myconf --without-group" - use !libnormaliz && myconf="$myconf --without-libnormaliz" - use !libpolymake && myconf="$myconf --without-callable" - - # And many other --with-arguments expect a path: --with-option=/path - ./configure --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --libexecdir="${EPREFIX}/usr/$(get_libdir)/polymake" \ - --without-prereq \ - --without-java \ - $(use_with cdd cdd "${EPREFIX}/usr") \ - $(use_with lrs lrs "${EPREFIX}/usr") \ - $(use_with ppl ppl "${EPREFIX}/usr") \ - $(use_with bliss bliss "${EPREFIX}/usr") \ - $(use_with singular singular "${EPREFIX}/usr") \ - ${myconf} || die -} - -src_install() { - emake -j1 DESTDIR="${D}" install -} - -pkg_postinst() { - elog "Docs can be found on https://www.polymake.org/doku.php/documentation" - elog " " - elog "Support for jreality is missing, sorry (see bug #346073)." - elog " " - 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'." -} diff --git a/sci-mathematics/polymake/polymake-4.5.ebuild b/sci-mathematics/polymake/polymake-4.5.ebuild new file mode 100644 index 00000000000..0ee01c641a1 --- /dev/null +++ b/sci-mathematics/polymake/polymake-4.5.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2021 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 ~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:= ) + lrs? ( >=sci-libs/lrslib-051:=[gmp] ) + nauty? ( sci-mathematics/nauty:= ) + normaliz? ( sci-mathematics/normaliz:= ) + 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=$(get-flag -O) + + 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. + ./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 \ + $(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'." +}