diff --git a/polymake-fedora.patch b/polymake-fedora.patch index 2996aac..5694dc7 100644 --- a/polymake-fedora.patch +++ b/polymake-fedora.patch @@ -1,5 +1,5 @@ ---- bundled/cdd/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/cdd/support/configure.pl 2020-02-19 20:29:23.160713588 -0700 +--- bundled/cdd/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/cdd/support/configure.pl 2020-07-06 11:13:46.377747634 -0600 @@ -56,7 +56,6 @@ sub proceed { my $cdd_lib=Polymake::Configure::get_libdir($cdd_path, "cddgmp"); if (-f "$cdd_lib/libcddgmp.$Config::Config{so}" ) { @@ -16,8 +16,8 @@ $cdd_path .= "lib: $cdd_lib"; } ---- bundled/flint/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/flint/support/configure.pl 2020-02-19 20:29:23.160713588 -0700 +--- bundled/flint/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/flint/support/configure.pl 2020-07-06 11:13:46.378747633 -0600 @@ -23,7 +23,7 @@ sub proceed { my $lib=Polymake::Configure::get_libdir($flint_path, "flint"); if (-f "$inc/flint/flint.h" && -f "$lib/libflint.$Config::Config{so}" ) { @@ -27,8 +27,8 @@ } else { die "Invalid installation location of flint, header files and/or library not found\n"; } ---- bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc 2020-02-19 20:29:23.160713588 -0700 +--- bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc 2020-07-06 11:13:46.378747633 -0600 @@ -155,13 +155,7 @@ inline bool int_quotient(long long& Quot #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" #endif @@ -44,8 +44,8 @@ #if defined(__clang__) ---- bundled/libnormaliz/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/libnormaliz/support/configure.pl 2020-02-19 20:29:23.160713588 -0700 +--- bundled/libnormaliz/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/libnormaliz/support/configure.pl 2020-07-06 11:13:46.379747633 -0600 @@ -63,7 +63,7 @@ int main() { my $nmz_lib=Polymake::Configure::get_libdir($nmz_path, "normaliz"); if (-f "$nmz_inc/libnormaliz/libnormaliz.h" && -f "$nmz_lib/libnormaliz.$Config::Config{so}" ) { @@ -63,10 +63,10 @@ $LIBS="$libs"; $message = "$nmz_version @ ".($nmz_path//"system") } ---- bundled/lrs/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/lrs/support/configure.pl 2020-02-19 20:29:23.160713588 -0700 -@@ -66,7 +66,7 @@ sub proceed { - } +--- bundled/lrs/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/lrs/support/configure.pl 2020-07-06 11:13:46.379747633 -0600 +@@ -67,7 +67,7 @@ sub proceed { + $CFLAGS .= " -DHAVE_LRSDRIVER" if -f "$lrs_inc/lrsdriver.h"; if (-f "$lrs_lib/lib$lrs_libname.$Config::Config{so}" ) { - $LDFLAGS = "-L$lrs_lib -Wl,-rpath,$lrs_lib"; @@ -74,8 +74,8 @@ } elsif (-f "$lrs_lib/lib$lrs_libname.a" ) { $LDFLAGS = "-L$lrs_lib"; } else { ---- bundled/nauty/apps/graph/src/build_flags.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/nauty/apps/graph/src/build_flags.pl 2020-02-19 20:29:23.161713587 -0700 +--- bundled/nauty/apps/graph/src/build_flags.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/nauty/apps/graph/src/build_flags.pl 2020-07-06 11:13:46.380747632 -0600 @@ -1,25 +1,11 @@ # input for generate_ninja_targets.pl @@ -110,8 +110,8 @@ + } ) + : () ) ---- bundled/nauty/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/nauty/support/configure.pl 2020-02-19 20:29:23.161713587 -0700 +--- bundled/nauty/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/nauty/support/configure.pl 2020-07-06 11:13:46.380747632 -0600 @@ -14,7 +14,7 @@ # GNU General Public License for more details. #------------------------------------------------------------------------------- @@ -160,8 +160,8 @@ + return $UseBundled ? "bundled" : ($nautysrc//"system"); } ---- bundled/singular/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/singular/support/configure.pl 2020-02-19 20:29:23.161713587 -0700 +--- bundled/singular/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/singular/support/configure.pl 2020-07-06 11:13:46.381747631 -0600 @@ -43,7 +43,7 @@ sub singular_config_approach { # yes we need it twice ... chomp ($singular_prefix = `$singular_config --prefix`); @@ -181,8 +181,8 @@ chomp ($LIBS=`$pkg_config --libs-only-l Singular`); return $pc_singular_prefix; } ---- bundled/sympol/apps/polytope/src/build_flags.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/sympol/apps/polytope/src/build_flags.pl 2020-02-19 20:29:23.161713587 -0700 +--- bundled/sympol/apps/polytope/src/build_flags.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/sympol/apps/polytope/src/build_flags.pl 2020-07-06 11:13:46.381747631 -0600 @@ -16,7 +16,7 @@ if ($ConfigFlags{'bundled.sympol.UseBund symmetrygroupconstruction/graphconstructiondefault.cpp symmetrygroupconstruction/matrixconstruction.cpp symmetrygroupconstruction/matrixconstructiondefault.cpp ) ], 'raycomputationcdd.cpp' => '-DGMPRATIONAL ${bundled.cdd.CFLAGS}', @@ -192,8 +192,8 @@ }, ) } else { ---- bundled/sympol/support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ bundled/sympol/support/configure.pl 2020-02-19 20:29:23.161713587 -0700 +--- bundled/sympol/support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ bundled/sympol/support/configure.pl 2020-07-06 11:13:46.382747631 -0600 @@ -147,6 +147,7 @@ int main() { undef $LIBS; $CXXFLAGS = '-I${root}/bundled/sympol/external/sympol'; @@ -202,8 +202,8 @@ $LIBS="-lsympol"; } ---- perl/polymake-config.orig 2020-02-19 02:55:20.000000000 -0700 -+++ perl/polymake-config 2020-02-19 20:29:23.162713585 -0700 +--- perl/polymake-config.orig 2020-06-15 05:45:22.000000000 -0600 ++++ perl/polymake-config 2020-07-06 11:13:46.382747631 -0600 @@ -140,9 +140,6 @@ while (defined ($_=shift)) { } elsif ($_ eq "--ldflags") { @@ -224,8 +224,8 @@ } $ldflags =~ s/^\s+//; $ldflags =~ s/\s+$//; $ldflags =~ s/\s{2,}/ /g; ---- support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 -+++ support/configure.pl 2020-02-19 20:29:23.162713585 -0700 +--- support/configure.pl.orig 2020-06-15 05:45:22.000000000 -0600 ++++ support/configure.pl 2020-07-06 11:13:46.383747630 -0600 @@ -475,7 +475,7 @@ sub parse_command_line { } } @@ -244,7 +244,7 @@ } if ($options{libcxx} eq ".true.") { -@@ -1092,10 +1092,6 @@ sub locate_gmp_and_mpfr_libraries { +@@ -1096,10 +1096,6 @@ sub locate_gmp_and_mpfr_libraries { $CXXFLAGS .= " -I$GMP/include"; my $libdir=get_libdir($GMP, "gmp"); $LDFLAGS .= " -L$libdir"; @@ -255,7 +255,7 @@ } my $MPFR=$options{mpfr}; -@@ -1104,10 +1100,6 @@ sub locate_gmp_and_mpfr_libraries { +@@ -1108,10 +1104,6 @@ sub locate_gmp_and_mpfr_libraries { $CXXFLAGS .= " -I$MPFR/include"; my $libdir=get_libdir($MPFR, "mpfr"); $LDFLAGS .= " -L$libdir"; diff --git a/polymake-no-hardening.patch b/polymake-no-hardening.patch index ba22f5f..a8eb826 100644 --- a/polymake-no-hardening.patch +++ b/polymake-no-hardening.patch @@ -1,6 +1,6 @@ ---- support/configure.pl.orig 2020-02-19 20:29:23.162713585 -0700 -+++ support/configure.pl 2020-02-19 20:29:46.753689484 -0700 -@@ -1016,6 +1016,7 @@ int main() { +--- support/configure.pl.orig 2020-07-06 11:13:46.383747630 -0600 ++++ support/configure.pl 2020-07-06 11:14:40.379711683 -0600 +@@ -1020,6 +1020,7 @@ int main() { } $LDsharedFLAGS=$Config::Config{lddlflags}; @@ -8,7 +8,7 @@ if ($^O eq "darwin") { # MacOS magic again: remove multi-architecture options for fat binaries -@@ -1045,6 +1046,8 @@ int main() { +@@ -1049,6 +1050,8 @@ int main() { if ($options{callable} ne ".none.") { $LDcallableFLAGS="$LDsharedFLAGS $Config::Config{ldflags}"; @@ -17,7 +17,7 @@ $LDsonameFLAGS = "-Wl,-soname,"; } else { $LDcallableFLAGS="none"; -@@ -1705,10 +1708,17 @@ sub write_perl_specific_configuration_fi +@@ -1743,10 +1746,17 @@ sub write_perl_specific_configuration_fi my ($xsubpp) = grep { -e $_ } map { "$Config::Config{$_}/ExtUtils/xsubpp" } qw(privlib vendorlib); my ($typemap) = grep { -e $_ } map { "$Config::Config{$_}/ExtUtils/typemap" } qw(privlib vendorlib); diff --git a/polymake-sizet.patch b/polymake-sizet.patch deleted file mode 100644 index c5c2b81..0000000 --- a/polymake-sizet.patch +++ /dev/null @@ -1,93 +0,0 @@ ---- 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 { - using base_t = PM_ALLOCATOR_BASE; - 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(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 - 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 - #include - #include - #include -@@ -24,7 +25,7 @@ - #include - - 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) diff --git a/polymake.spec b/polymake.spec index c6af8f1..884866e 100644 --- a/polymake.spec +++ b/polymake.spec @@ -12,13 +12,13 @@ # itextpdf 5.3.2, whose license is problematic. %bcond_with jreality -%global upver 4.0r1 +%global upver 4.1 %global majver %(cut -dr -f1 <<< %{upver}) %global polydir %{_libdir}/%{name} Name: polymake Version: %(tr r . <<< %{upver}) -Release: 4%{?dist} +Release: 1%{?dist} Summary: Algorithms on convex polytopes and polyhedra License: GPLv2+ @@ -38,12 +38,12 @@ Patch0: %{name}-fedora.patch Patch1: %{name}-no-hardening.patch # Fix detection of LattE Patch2: %{name}-latte.patch -# Work around a problem with the scope of size_t -Patch3: %{name}-sizet.patch +BuildRequires: 4ti2 %if %{with jreality} BuildRequires: ant %endif +BuildRequires: azove BuildRequires: boost-devel BuildRequires: cddlib-devel BuildRequires: cmake @@ -51,6 +51,7 @@ BuildRequires: doxygen BuildRequires: flint-devel BuildRequires: gcc-c++ BuildRequires: gmp-devel +BuildRequires: graphviz %if %{with jreality} BuildRequires: java-devel BuildRequires: javapackages-tools @@ -58,6 +59,7 @@ BuildRequires: javapackages-tools BuildRequires: libnormaliz-devel BuildRequires: lrslib-devel BuildRequires: ninja-build +BuildRequires: ocaml-tplib-tools BuildRequires: perl-devel BuildRequires: perl-generators BuildRequires: perl(Archive::Tar) @@ -80,8 +82,10 @@ BuildRequires: pkgconfig(mpfr) BuildRequires: pkgconfig(nauty) BuildRequires: pkgconfig(Singular) BuildRequires: ppl-devel +BuildRequires: qhull BuildRequires: sympol-devel BuildRequires: TOPCOM +BuildRequires: vinci BuildRequires: xhtml1-dtds # Both packages are required for normal operation @@ -236,9 +240,11 @@ export Arch=%{_arch} --with-cdd-include=%{_includedir}/cddlib/ \ --with-cdd-lib=%{_libdir} \ --with-flint=%{_prefix} \ + --with-libnormaliz=%{_prefix} \ --with-lrs=%{_prefix} \ --with-nauty-src=%{_prefix} \ --with-permlib=%{_prefix} \ + --with-ppl=%{_prefix} \ --with-singular=%{_prefix} \ --with-sympol-include=%{_includedir}/sympol/ \ --with-sympol-lib=%{_libdir} \ @@ -327,6 +333,10 @@ rm -fr %{buildroot}%{_datadir}/%{name}/resources/{JuPyMake,jupyter-polymake} %doc doc/* %changelog +* Wed Jul 8 2020 Jerry James - 4.1-1 +- Version 4.1 +- Drop upstreamed -sizet patch + * Tue Jun 23 2020 Jitka Plesnikova - 4.0.1-4 - Perl 5.32 rebuild diff --git a/sources b/sources index f147f47..0a1cb4b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (polymake-4.0r1-minimal.tar.bz2) = 1f6b1294b6aa3ee6ac870d9044993c6606b644471efe285c16874a5e408f3ab020aa438b6bc9df4279cfab56789ed327f11b37b1266b681f0f616b30269e173e +SHA512 (polymake-4.1-minimal.tar.bz2) = f47024900ff0c18cb6d8628e9373b1fb133a35dec69699b10262de82f002aec30135aa9401f0d011609eeeb12a0f013db5ceb16fa0f86d6f7e1d023dc44564a1