[arch-commits] Commit in polymake/repos (3 files)

Antonio Rojas arojas at archlinux.org
Thu Jun 4 11:26:08 UTC 2020


    Date: Thursday, June 4, 2020 @ 11:26:07
  Author: arojas
Revision: 638894

archrelease: copy trunk to community-staging-x86_64

Added:
  polymake/repos/community-staging-x86_64/
  polymake/repos/community-staging-x86_64/PKGBUILD
    (from rev 638893, polymake/trunk/PKGBUILD)
  polymake/repos/community-staging-x86_64/polymake-gcc10.patch
    (from rev 638893, polymake/trunk/polymake-gcc10.patch)

----------------------+
 PKGBUILD             |   38 ++++++++++++++++++++
 polymake-gcc10.patch |   93 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+)

Copied: polymake/repos/community-staging-x86_64/PKGBUILD (from rev 638893, polymake/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2020-06-04 11:26:07 UTC (rev 638894)
@@ -0,0 +1,38 @@
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+
+pkgname=polymake
+pkgver=4.0.r1
+pkgrel=4
+_perlver=5.30.2
+pkgdesc="Open source software for research in polyhedral geometry"
+arch=(x86_64)
+url="https://polymake.org/"
+license=(GPL)
+depends=(normaliz singular ppl lrs perl-xml-writer perl-xml-libxml perl-xml-libxslt
+         perl-term-readline-gnu perl-term-readkey perl-json sympol perl=$_perlver)
+makedepends=(ninja cddlib ant boost bliss libnsl jdk8-openjdk permlib)
+optdepends=('java-runtime: java module')
+source=("https://polymake.org/lib/exe/fetch.php/download/polymake-${pkgver/.r/r}-minimal.tar.bz2"
+         polymake-gcc10.patch)
+sha256sums=('b29de50dda6f657f2e82ef6acff62df1b51128a20c5d53bd97226ea22fdc3b52'
+            '64095f8688d70d88003eb67fe2c9ddc056033205aaeed19b264859c85589578c')
+
+prepare() {
+  patch -d polymake-${pkgver%.*} -p0 -i ../polymake-gcc10.patch # Fix build with GCC 10 (Fedora)
+}
+
+build() {
+  cd polymake-${pkgver%.*}
+  ./configure \
+    --prefix=/usr \
+    --with-cdd=/usr \
+    --with-lrs=/usr \
+    --with-permlib=/usr \
+    --with-sympol=/usr
+  make
+}
+
+package() {
+  cd polymake-${pkgver%.*}
+  make DESTDIR="$pkgdir" install
+}

Copied: polymake/repos/community-staging-x86_64/polymake-gcc10.patch (from rev 638893, polymake/trunk/polymake-gcc10.patch)
===================================================================
--- community-staging-x86_64/polymake-gcc10.patch	                        (rev 0)
+++ community-staging-x86_64/polymake-gcc10.patch	2020-06-04 11:26:07 UTC (rev 638894)
@@ -0,0 +1,93 @@
+--- lib/core/include/internal/pool_allocator.h.orig	2020-02-19 02:55:20.000000000 -0700
++++ lib/core/include/internal/pool_allocator.h	2020-02-19 20:30:07.385673716 -0700
+@@ -33,15 +33,15 @@ namespace pm {
+ class allocator : public PM_ALLOCATOR_BASE<char> {
+    using base_t = PM_ALLOCATOR_BASE<char>;
+ public:
+-   void* allocate(size_t n)
++   void* allocate(std::size_t n)
+    {
+       return base_t::allocate(n, nullptr);
+    }
+-   void deallocate(void* p, size_t n)
++   void deallocate(void* p, std::size_t n)
+    {
+       base_t::deallocate(reinterpret_cast<char*>(p), n);
+    }
+-   void* reallocate(void* p, size_t old_sz, size_t new_sz);
++   void* reallocate(void* p, std::size_t old_sz, std::size_t new_sz);
+ 
+    template <typename Data, typename... Args>
+    Data* construct(Args&&... args)
+--- lib/core/src/lib_init.cc.orig	2020-02-19 02:55:20.000000000 -0700
++++ lib/core/src/lib_init.cc	2020-02-19 20:30:07.386673716 -0700
+@@ -17,6 +17,7 @@
+ 
+ #include "polymake/internal/pool_allocator.h"
+ 
++#include <cstddef>
+ #include <cstring>
+ #include <memory>
+ #include <cstdlib>
+@@ -24,7 +25,7 @@
+ #include <gmp.h>
+ 
+ extern "C" {
+-   void* __gmp_default_allocate(size_t);
++   void* __gmp_default_allocate(std::size_t);
+ }
+ 
+ namespace pm {
+@@ -36,19 +37,19 @@ namespace {
+ 
+ class pool_allocator_constants : public __gnu_cxx::__pool_alloc_base {
+ public:
+-   static constexpr size_t align = _S_align, limit = _S_max_bytes;
++   static constexpr std::size_t align = _S_align, limit = _S_max_bytes;
+ };
+ 
+ }
+ 
+-void* pm::allocator::reallocate(void* p, size_t old_sz, size_t new_sz)
++void* pm::allocator::reallocate(void* p, std::size_t old_sz, std::size_t new_sz)
+ {
+    if (!p) {
+       assert(old_sz == 0);
+       return allocate(new_sz);
+    }
+    static const bool use_new = getenv("GLIBCPP_FORCE_NEW") || getenv("GLIBCXX_FORCE_NEW");
+-   constexpr size_t align_mask = pool_allocator_constants::align-1;
++   constexpr std::size_t align_mask = pool_allocator_constants::align-1;
+    if (!use_new && ((old_sz+align_mask) & ~align_mask) == ((new_sz+align_mask) & ~align_mask) && new_sz < pool_allocator_constants::limit)
+       return p;
+    void* new_p = allocate(new_sz);
+@@ -61,7 +62,7 @@ void* pm::allocator::reallocate(void* p,
+ 
+ #else  // libc++
+ 
+-void* pm::allocator::reallocate(void* p, size_t old_sz, size_t new_sz)
++void* pm::allocator::reallocate(void* p, std::size_t old_sz, std::size_t new_sz)
+ {
+    void* new_p = allocate(new_sz);
+    if (new_p) {
+@@ -76,16 +77,16 @@ void* pm::allocator::reallocate(void* p,
+ namespace {
+ 
+ allocator gmp_allocator;
+-void* pm_gmp_allocate(size_t n) { return gmp_allocator.allocate(n); }
+-void pm_gmp_deallocate(void* p, size_t n) { gmp_allocator.deallocate(p, n); }
+-void* pm_gmp_reallocate(void* p, size_t old_sz, size_t new_sz) { return gmp_allocator.reallocate(p, old_sz, new_sz); }
++void* pm_gmp_allocate(std::size_t n) { return gmp_allocator.allocate(n); }
++void pm_gmp_deallocate(void* p, std::size_t n) { gmp_allocator.deallocate(p, n); }
++void* pm_gmp_reallocate(void* p, std::size_t old_sz, std::size_t new_sz) { return gmp_allocator.reallocate(p, old_sz, new_sz); }
+ 
+ void init_gmp_memory_management() __attribute__((constructor));
+ 
+ void init_gmp_memory_management()
+ {
+    // switch to custom GMP allocators only if no other component did it before
+-   typedef void* (*alloc_t)(size_t);
++   typedef void* (*alloc_t)(std::size_t);
+    alloc_t was_alloc;
+    mp_get_memory_functions(&was_alloc, nullptr, nullptr);
+    if (was_alloc == &__gmp_default_allocate)



More information about the arch-commits mailing list