# Maintainer: Antonio Rojas <arojas@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - disable distcc, fails to build with it
#  - add LDFLAGS and CXXOPT to lower RAM usage
#  - make -j2 due to RAM constraints

highmem=1

pkgname=polymake
pkgver=3.1
pkgrel=4
pkgdesc="Open source software for research in polyhedral geometry"
arch=(i686 x86_64)
url="https://polymake.org/"
license=(GPL)
options=('!distcc')
depends=(mpfr perl-xml-writer perl-xml-libxml perl-xml-libxslt perl-term-readline-gnu perl-term-readkey)
makedepends=(normaliz cddlib lrs bliss-graphs ppl apache-ant boost singular)
optdepends=('singular: ideal library' 'ppl: polytope library' 'java-runtime: java module')
source=("https://polymake.org/lib/exe/fetch.php/download/polymake-$pkgver-minimal.tar.bz2"
        'gcc7.patch')
sha256sums=('f751e3c34e5ee3a015a99d1151b357130f15878c0bcea82827a19a12009e7fc0'
            'e93c6d16a13b2701c999ff076fd6510f024b130cd47db2f86f096864b52ae37c')

prepare() {
  cd polymake-$pkgver
  patch -Np0 -i ../gcc7.patch
# fix lrs headers location
  sed -e 's|lrslib.h|lrslib/lrslib.h|g' -i bundled/lrs/apps/polytope/src/lrs_interface.cc \
      -i bundled/sympol/external/sympol/sympol/raycomputationlrs.cpp
  sed -e 's|<lrslib.h>|<lrslib/lrslib.h>|g' -e 's|\$lrs_path\/include|$lrs_path/include/lrslib|g' -i bundled/lrs/configure.pl
}

build() {
  cd polymake-$pkgver
  LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
  ./configure --prefix=/usr CXXOPT="-O1"
  make -j2
}

package() {
  cd polymake-$pkgver
  make DESTDIR="$pkgdir" install
}