diff --git a/community/polymake/PKGBUILD b/community/polymake/PKGBUILD index 54ebf089e..f76be574d 100644 --- a/community/polymake/PKGBUILD +++ b/community/polymake/PKGBUILD @@ -11,16 +11,23 @@ _pkgver=3.3 _patchver=4 #pkgver=$_pkgver.r$_patchver pkgver=$_pkgver -pkgrel=2 +pkgrel=3 pkgdesc="Open source software for research in polyhedral geometry" arch=(x86_64) url="https://polymake.org/" license=(GPL) -depends=(mpfr normaliz singular ppl perl-xml-writer perl-xml-libxml perl-xml-libxslt perl-term-readline-gnu perl-term-readkey perl-json) -makedepends=(ninja cddlib lrs ant boost bliss libnsl jdk8-openjdk) +depends=(mpfr normaliz singular ppl lrs perl-xml-writer perl-xml-libxml perl-xml-libxslt perl-term-readline-gnu perl-term-readkey perl-json) +makedepends=(ninja cddlib ant boost bliss libnsl jdk8-openjdk) optdepends=('java-runtime: java module') -source=("https://polymake.org/lib/exe/fetch.php/download/polymake-${_pkgver}-minimal.tar.bz2") -sha256sums=('f7867137f99d5e8b86035ba05b59a63c5b73a95b21b88059fd2439216c128792') +source=("https://polymake.org/lib/exe/fetch.php/download/polymake-${_pkgver}-minimal.tar.bz2" + polymake-fix-lib-loading.patch) +sha256sums=('f7867137f99d5e8b86035ba05b59a63c5b73a95b21b88059fd2439216c128792' + '491cf7ea37e58e9289b81feb5604473b960e3688969a8d7854378fd6f9deb93a') + +prepare() { + cd polymake-$_pkgver + patch -p1 -i ../polymake-fix-lib-loading.patch # Fix loading shared library from external programs +} build() { cd polymake-$_pkgver diff --git a/community/polymake/polymake-fix-lib-loading.patch b/community/polymake/polymake-fix-lib-loading.patch new file mode 100644 index 000000000..03b914aec --- /dev/null +++ b/community/polymake/polymake-fix-lib-loading.patch @@ -0,0 +1,13 @@ +diff --git a/lib/callable/src/perl/Main.cc b/lib/callable/src/perl/Main.cc +index 6267025..2c96dc1 100644 +--- a/lib/callable/src/perl/Main.cc ++++ b/lib/callable/src/perl/Main.cc +@@ -109,7 +109,7 @@ void deduce_install_dirs(std::string lib_path, std::string& install_top, std::st + { + const char stem_name[]="libpolymake"; + constexpr size_t stem_size=sizeof(stem_name)-1; +- auto basename_start=lib_path.find(stem_name, stem_size); ++ auto basename_start=lib_path.find(stem_name); + if (basename_start == std::string::npos) + throw std::runtime_error("polymake::Main - weird callable library path " + lib_path); +