[arch-commits] Commit in polymake/trunk (PKGBUILD polymake-gcc10.patch)
Antonio Rojas
arojas at archlinux.org
Thu Jun 4 11:24:10 UTC 2020
Date: Thursday, June 4, 2020 @ 11:24:09
Author: arojas
Revision: 638892
lrs 071 rebuild
Added:
polymake/trunk/polymake-gcc10.patch
Modified:
polymake/trunk/PKGBUILD
----------------------+
PKGBUILD | 12 ++++--
polymake-gcc10.patch | 93 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-06-04 11:23:45 UTC (rev 638891)
+++ PKGBUILD 2020-06-04 11:24:09 UTC (rev 638892)
@@ -2,7 +2,7 @@
pkgname=polymake
pkgver=4.0.r1
-pkgrel=3
+pkgrel=4
_perlver=5.30.2
pkgdesc="Open source software for research in polyhedral geometry"
arch=(x86_64)
@@ -12,9 +12,15 @@
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")
-sha256sums=('b29de50dda6f657f2e82ef6acff62df1b51128a20c5d53bd97226ea22fdc3b52')
+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 \
Added: polymake-gcc10.patch
===================================================================
--- polymake-gcc10.patch (rev 0)
+++ polymake-gcc10.patch 2020-06-04 11:24:09 UTC (rev 638892)
@@ -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