| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| inherit eutils flag-o-matic |
| |
| DESCRIPTION="research tool for polyhedral geometry and combinatorics" |
| SRC_URI="http://polymake.org/lib/exe/fetch.php/download/${P}-minimal.tar.bz2" |
| HOMEPAGE="http://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" |
| |
| # do not allow new perl versions because our testbuilds segfault |
| DEPEND="<dev-lang/perl-5.21 |
| dev-libs/gmp |
| dev-libs/mpfr |
| 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" |
| |
| src_prepare() { |
| 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 http://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-mathmatics/4ti2 and sci-mathematics/topcom." |
| elog "After installing new external software run 'polymake --reconfigure'." |
| } |