diff --git a/polymake-fedora.patch b/polymake-fedora.patch index b70749d..2996aac 100644 --- a/polymake-fedora.patch +++ b/polymake-fedora.patch @@ -1,6 +1,6 @@ ---- bundled/cdd/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/cdd/support/configure.pl 2019-11-22 13:21:21.727679863 -0700 -@@ -53,7 +53,6 @@ sub proceed { +--- 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 +@@ -56,7 +56,6 @@ sub proceed { my $cdd_lib=Polymake::Configure::get_libdir($cdd_path, "cddgmp"); if (-f "$cdd_lib/libcddgmp.$Config::Config{so}" ) { $LDFLAGS = "-L$cdd_lib"; @@ -8,7 +8,7 @@ } if (!$CFLAGS or !$LDFLAGS) { die "Invalid installation location of cddlib: header file cdd.h and/or library libcddgmp.$Config::Config{so} not found.\n", -@@ -66,7 +65,6 @@ sub proceed { +@@ -69,7 +68,6 @@ sub proceed { $cdd_path .= "include: $cdd_inc "; } if (defined ($cdd_lib=$options->{'cdd-lib'})) { @@ -16,8 +16,8 @@ $cdd_path .= "lib: $cdd_lib"; } ---- bundled/flint/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/flint/support/configure.pl 2019-11-22 13:24:32.758125045 -0700 +--- 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 @@ -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,20 +27,26 @@ } else { die "Invalid installation location of flint, header files and/or library not found\n"; } ---- bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/libnormaliz/apps/polytope/src/libnormaliz_inst.cc 2019-11-22 13:21:21.747679490 -0700 -@@ -137,7 +137,7 @@ inline bool int_quotient(long long& Quot - #endif +--- 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 +@@ -155,13 +155,7 @@ inline bool int_quotient(long long& Quot + #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" #endif --#include "libnormaliz/libnormaliz-all.cpp" +-#include "libnormaliz/linear_algebra.cpp" +-#include "libnormaliz/cone_and_control.cpp" +-#include "libnormaliz/enumeration.cpp" +-#include "libnormaliz/other_algorithms.cpp" +-#include "libnormaliz/nmz_nauty.cpp" +-#include "libnormaliz/primal.cpp" +-#include "libnormaliz/output.cpp" +#include - #if defined(__GNUC__) + #if defined(__clang__) ---- bundled/libnormaliz/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/libnormaliz/support/configure.pl 2019-11-22 13:24:00.576723894 -0700 -@@ -62,7 +62,7 @@ int main() { +--- 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 +@@ -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}" ) { $CXXFLAGS = "-I$nmz_inc"; @@ -49,16 +55,16 @@ } else { die "Invalid installation location of libnormaliz header file libnormaliz/libnormaliz.h and/or library libnormaliz.$Config::Config{so} not found\n"; } -@@ -136,6 +136,7 @@ int main (int argc, char *argv[]) +@@ -174,6 +174,7 @@ int main (int argc, char *argv[]) $message .= " [OpenMP support disabled]"; } } else { + $CXXFLAGS='-I/usr/include/libnormaliz'; - $LIBS="-lnormaliz"; + $LIBS="$libs"; $message = "$nmz_version @ ".($nmz_path//"system") } ---- bundled/lrs/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/lrs/support/configure.pl 2019-11-22 13:21:21.748679471 -0700 +--- 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 { } @@ -68,20 +74,20 @@ } elsif (-f "$lrs_lib/lib$lrs_libname.a" ) { $LDFLAGS = "-L$lrs_lib"; } else { ---- bundled/nauty/apps/graph/src/build_flags.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/nauty/apps/graph/src/build_flags.pl 2019-11-22 13:21:21.749679453 -0700 +--- 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 @@ -1,25 +1,11 @@ # input for generate_ninja_targets.pl --my $foreign_src=$ConfigFlags{'bundled.nauty.NautySrc'}; --my $nauty_src= $foreign_src ? '${bundled.nauty.NautySrc}' : '${root}/bundled/nauty/external/nauty'; --my $generated_dir='${buildroot}/staticlib/nauty'; --my @generated_headers=qw( nauty.h naututil.h gtools.h ); --my @generated_in=map { /\.h$/; "$nauty_src/$`-h.in" } @generated_headers; --my @generated_out=map { "$generated_dir/$_" } @generated_headers; --my $include_generated= ($foreign_src && grep { -f "$foreign_src/$_" } @generated_headers) -- ? join(" ", map { "-include $_" } @generated_out) -- : "-I$generated_dir"; +-my $foreign_src = $ConfigFlags{'bundled.nauty.NautySrc'}; +-my $nauty_src = $foreign_src ? '${bundled.nauty.NautySrc}' : '${root}/bundled/nauty/external/nauty'; +-my $generated_dir = '${builddir}/staticlib/nauty'; +-my @generated_headers = qw( nauty.h naututil.h gtools.h ); +-my @generated_in = map { /\.h$/; "$nauty_src/$`-h.in" } @generated_headers; +-my @generated_out = map { "$generated_dir/$_" } @generated_headers; +-my $include_generated = ($foreign_src && grep { -f "$foreign_src/$_" } @generated_headers) +- ? join(" ", map { "-include $_" } @generated_out) +- : "-I$generated_dir"; - -( CXXFLAGS => "-DBIGNAUTY -I$generated_dir -I$nauty_src", - @@ -95,7 +101,7 @@ - SOURCES => [ qw(naugraph.c naurng.c nausparse.c nautaux.c nautil.c nautinv.c naututil.c nauty.c rng.c schreier.c) ], - CFLAGS => "-DBIGNAUTY $include_generated -I$nauty_src", - } -+( ++( + $ConfigFlags{'bundled.nauty.UseBundled'} + ? ( staticlib => { + SOURCEDIR => '${root}/bundled/nauty/external/nauty', @@ -104,8 +110,8 @@ + } ) + : () ) ---- bundled/nauty/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/nauty/support/configure.pl 2019-11-22 13:21:21.749679453 -0700 +--- 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 @@ -14,7 +14,7 @@ # GNU General Public License for more details. #------------------------------------------------------------------------------- @@ -154,8 +160,8 @@ + return $UseBundled ? "bundled" : ($nautysrc//"system"); } ---- bundled/singular/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/singular/support/configure.pl 2019-11-22 13:21:21.750679434 -0700 +--- 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 @@ -43,7 +43,7 @@ sub singular_config_approach { # yes we need it twice ... chomp ($singular_prefix = `$singular_config --prefix`); @@ -175,19 +181,19 @@ chomp ($LIBS=`$pkg_config --libs-only-l Singular`); return $pc_singular_prefix; } ---- bundled/sympol/apps/polytope/src/build_flags.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/sympol/apps/polytope/src/build_flags.pl 2019-11-22 13:21:21.750679434 -0700 -@@ -10,7 +10,7 @@ if ($ConfigFlags{'bundled.sympol.UseBund +--- 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 +@@ -16,7 +16,7 @@ if ($ConfigFlags{'bundled.sympol.UseBund + symmetrygroupconstruction/graphconstructiondefault.cpp symmetrygroupconstruction/matrixconstruction.cpp symmetrygroupconstruction/matrixconstructiondefault.cpp ) ], 'raycomputationcdd.cpp' => '-DGMPRATIONAL ${bundled.cdd.CFLAGS}', 'raycomputationlrs.cpp' => '-DGMP -DMA ${bundled.lrs.CFLAGS}', - CXXFLAGS => '-Wno-shadow' . ($ConfigFlags{ExternalHeaders} =~ /\bpermlib\b/ -- ? ' -I${root}/include/external/permlib' : ''), -+ ? ' -I/usr/include/permlib' : ''), +- CXXFLAGS => $no_warnings . ($ConfigFlags{ExternalHeaders} =~ /\bpermlib\b/ ? ' -I${root}/include/external/permlib' : ''), ++ CXXFLAGS => $no_warnings . ($ConfigFlags{ExternalHeaders} =~ /\bpermlib\b/ ? ' -I/usr/include/permlib' : ''), }, ) } else { ---- bundled/sympol/support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ bundled/sympol/support/configure.pl 2019-11-22 13:21:21.750679434 -0700 +--- 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 @@ -147,6 +147,7 @@ int main() { undef $LIBS; $CXXFLAGS = '-I${root}/bundled/sympol/external/sympol'; @@ -196,8 +202,8 @@ $LIBS="-lsympol"; } ---- perl/polymake-config.orig 2019-11-19 03:41:04.000000000 -0700 -+++ perl/polymake-config 2019-11-22 13:21:21.751679415 -0700 +--- perl/polymake-config.orig 2020-02-19 02:55:20.000000000 -0700 ++++ perl/polymake-config 2020-02-19 20:29:23.162713585 -0700 @@ -140,9 +140,6 @@ while (defined ($_=shift)) { } elsif ($_ eq "--ldflags") { @@ -209,18 +215,18 @@ # collect standard library paths of the C++ compiler and exclude them from the result @@ -164,9 +161,6 @@ while (defined ($_=shift)) { - $ldflags="$ConfigFlags{ARCHFLAGS} $ldflags -flat_namespace"; + $ldflags = "$ConfigFlags{ARCHFLAGS} $ldflags -flat_namespace"; } else { $ldflags .= " -Wl,-E"; - if ($add_rpath) { - $ldflags .= " -Wl,-rpath,$ConfigFlags{InstallLib}"; - } } - $ldflags=~s/^\s+//; $ldflags=~s/\s+$//; $ldflags=~s/\s{2,}/ /g; + $ldflags =~ s/^\s+//; $ldflags =~ s/\s+$//; $ldflags =~ s/\s{2,}/ /g; ---- support/configure.pl.orig 2019-11-19 03:41:04.000000000 -0700 -+++ support/configure.pl 2019-11-22 13:21:21.752679397 -0700 -@@ -461,7 +461,7 @@ sub parse_command_line { +--- support/configure.pl.orig 2020-02-19 02:55:20.000000000 -0700 ++++ support/configure.pl 2020-02-19 20:29:23.162713585 -0700 +@@ -475,7 +475,7 @@ sub parse_command_line { } } @@ -229,7 +235,7 @@ $CXXDEBUG =$vars{CXXDEBUG} // "-g"; $CFLAGS =$vars{CFLAGS} // ""; $CXXFLAGS =$vars{CXXFLAGS} // $CFLAGS; -@@ -689,7 +689,7 @@ sub determine_cxx_library { +@@ -702,7 +702,7 @@ sub determine_cxx_library { } $CFLAGS .= " -I$options{toolchain}/include"; $CXXFLAGS .= " -I$options{toolchain}/include"; @@ -238,7 +244,7 @@ } if ($options{libcxx} eq ".true.") { -@@ -1077,10 +1077,6 @@ sub locate_gmp_and_mpfr_libraries { +@@ -1092,10 +1092,6 @@ sub locate_gmp_and_mpfr_libraries { $CXXFLAGS .= " -I$GMP/include"; my $libdir=get_libdir($GMP, "gmp"); $LDFLAGS .= " -L$libdir"; @@ -249,7 +255,7 @@ } my $MPFR=$options{mpfr}; -@@ -1089,10 +1085,6 @@ sub locate_gmp_and_mpfr_libraries { +@@ -1104,10 +1100,6 @@ sub locate_gmp_and_mpfr_libraries { $CXXFLAGS .= " -I$MPFR/include"; my $libdir=get_libdir($MPFR, "mpfr"); $LDFLAGS .= " -L$libdir"; diff --git a/polymake-latte.patch b/polymake-latte.patch index 223db7a..5b43e26 100644 --- a/polymake-latte.patch +++ b/polymake-latte.patch @@ -1,5 +1,5 @@ ---- apps/polytope/rules/latte.rules.orig 2019-11-19 03:41:04.000000000 -0700 -+++ apps/polytope/rules/latte.rules 2019-11-22 13:27:41.816646741 -0700 +--- apps/polytope/rules/latte.rules.orig 2020-02-19 02:55:20.000000000 -0700 ++++ apps/polytope/rules/latte.rules 2020-02-19 20:29:57.006681648 -0700 @@ -24,7 +24,7 @@ CREDIT latte custom $latte_count; diff --git a/polymake-no-hardening.patch b/polymake-no-hardening.patch index 26232e3..ba22f5f 100644 --- a/polymake-no-hardening.patch +++ b/polymake-no-hardening.patch @@ -1,6 +1,6 @@ ---- support/configure.pl.orig 2019-11-22 13:21:21.752679397 -0700 -+++ support/configure.pl 2019-11-22 13:27:23.133985412 -0700 -@@ -1001,6 +1001,7 @@ int main() { +--- 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() { } $LDsharedFLAGS=$Config::Config{lddlflags}; @@ -8,7 +8,7 @@ if ($^O eq "darwin") { # MacOS magic again: remove multi-architecture options for fat binaries -@@ -1030,6 +1031,8 @@ int main() { +@@ -1045,6 +1046,8 @@ int main() { if ($options{callable} ne ".none.") { $LDcallableFLAGS="$LDsharedFLAGS $Config::Config{ldflags}"; @@ -17,7 +17,7 @@ $LDsonameFLAGS = "-Wl,-soname,"; } else { $LDcallableFLAGS="none"; -@@ -1722,10 +1725,17 @@ sub write_perl_specific_configuration_fi +@@ -1705,10 +1708,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 new file mode 100644 index 0000000..c5c2b81 --- /dev/null +++ b/polymake-sizet.patch @@ -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 { + 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.rpmlintrc b/polymake.rpmlintrc index 499807f..9983e26 100644 --- a/polymake.rpmlintrc +++ b/polymake.rpmlintrc @@ -22,8 +22,8 @@ addFilter(r'polymake-singular.[^:]+: E: explicit-lib-dependency lib(gcc|normaliz addFilter(r'polymake-singular.[^:]+: E: devel-dependency') addFilter(r'polymake-singular.[^:]+: W: devel-file-in-non-devel-package') -# The documentation is in the main package -addFilter(r'polymake-singular.[^:]+: W: no-documentation') +# The documentation is in the doc package +addFilter(r'polymake.[^:]+: W: no-documentation') # The automatically generated perl provides are also unversioned addFilter(r'polymake\.spec:[^:]+: W: unversioned-explicit-provides perl\(.*\)') diff --git a/polymake.spec b/polymake.spec index 17e56eb..f7ffdff 100644 --- a/polymake.spec +++ b/polymake.spec @@ -12,17 +12,18 @@ # itextpdf 5.3.2, whose license is problematic. %bcond_with jreality -Name: polymake -Version: 3.6 -Release: 2%{?dist} - +%global upver 4.0r1 +%global majver %(cut -dr -f1 <<< %{upver}) %global polydir %{_libdir}/%{name} -%global majver %(cut -dr -f1 <<< %{version}) + +Name: polymake +Version: %(tr r . <<< %{upver}) +Release: 1%{?dist} Summary: Algorithms on convex polytopes and polyhedra License: GPLv2+ URL: http://polymake.org/ -Source0: https://polymake.org/lib/exe/fetch.php/download/%{name}-%{version}-minimal.tar.bz2 +Source0: https://polymake.org/lib/exe/fetch.php/download/%{name}-%{upver}-minimal.tar.bz2 # Man page written by Jerry James from text found in the sources. Therefore, # the copyright and license are the same as for the sources. Source1: %{name}.1 @@ -37,6 +38,8 @@ 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 %if %{with jreality} BuildRequires: ant @@ -45,6 +48,7 @@ BuildRequires: boost-devel BuildRequires: cddlib-devel BuildRequires: cmake BuildRequires: doxygen +BuildRequires: flint-devel BuildRequires: gcc-c++ BuildRequires: gmp-devel %if %{with jreality} @@ -72,7 +76,6 @@ BuildRequires: perl(XML::SAX::Base) BuildRequires: perl(XML::Writer) BuildRequires: permlib-devel BuildRequires: pkgconfig(eigen3) -BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(mpfr) BuildRequires: pkgconfig(nauty) BuildRequires: pkgconfig(Singular) @@ -117,6 +120,7 @@ Requires: make Requires: mpfr-devel%{?_isa} Requires: perl(:MODULE_COMPAT_%{perl_version}) Requires: perl-interpreter = 4:%{perl_version} +Requires: perl(Term::ReadKey) Requires: perl(Term::ReadLine::Gnu) Requires: permlib-devel Requires: ppl-devel%{?_isa} @@ -142,8 +146,8 @@ Suggests: sketch # Add some provides the automatic generator missed Provides: perl(PolyDB::DatabaseCursor) +Provides: perl(PolyDB::JsonIO) Provides: perl(Polymake::ConfigureStandalone) -Provides: perl(Polymake::Core::RuleFilter) Provides: perl(Polymake::Core::ShellHelpers) Provides: perl(Polymake::Core::ShellMock) Provides: perl(Polymake::Namespaces) @@ -258,17 +262,15 @@ make all export Arch=%{_arch} make install DESTDIR=%{buildroot} +# The doc building step looks in the wrong place for some files +mkdir ../xml +ln -s $PWD/xml/documentation/PTL-docs ../xml/documentation +ln -s build.%{_arch} build + # Build the documentation mkdir doc -ln -s build.%{_arch} build perl/polymake --script doxygen doc -# Copy files, don't symlink to their position in the build directory -for fil in docstyle.css functions.js images style.css; do - rm -f doc/$fil - cp -a xml/documentation/$fil doc -done - # Install the man page mkdir -p %{buildroot}%{_mandir}/man1 sed "s/@VERSION@/%{version}/" %{SOURCE1} > %{buildroot}%{_mandir}/man1/%{name}.1 @@ -278,13 +280,7 @@ touch -r %{SOURCE1} %{buildroot}%{_mandir}/man1/%{name}.1 rm -fr %{buildroot}%{_datadir}/%{name}/apps/*/src # Fix permissions -chmod 0755 %{buildroot}%{_bindir}/* -chmod 0755 %{buildroot}%{_libdir}/lib* -chmod 0755 %{buildroot}%{_datadir}/%{name}/resources/host-agent/bin/env -chmod 0755 %{buildroot}%{_datadir}/%{name}/resources/host-agent/bin/polymake -chmod 0755 %{buildroot}%{_datadir}/%{name}/resources/host-agent/server.pl -chmod 0755 %{buildroot}%{_datadir}/%{name}/resources/polymake-in-container.sh -find %{buildroot}%{polydir} -name \*.so -exec chmod 0755 {} \+ +chmod -R u+w %{buildroot}%{_prefix} # JuPyMake and jupyter-polymake are built and installed separately rm -fr %{buildroot}%{_datadir}/%{name}/resources/{JuPyMake,jupyter-polymake} @@ -292,24 +288,26 @@ rm -fr %{buildroot}%{_datadir}/%{name}/resources/{JuPyMake,jupyter-polymake} %files %{_bindir}/%{name} %{polydir}/lib/ideal.so -%{polydir}/bundled/singular +%{polydir}/bundled/singular/ %{_mandir}/man1/%{name}.1* %files singular %license COPYING +%doc Readme.md ChangeLog %{_bindir}/%{name}-config %{_includedir}/%{name}/ %{_libdir}/lib%{name}* %{_datadir}/%{name}/ %dir %{polydir}/ %dir %{polydir}/bundled/ -%{polydir}/bundled/atint -%{polydir}/bundled/cdd -%{polydir}/bundled/libnormaliz -%{polydir}/bundled/lrs -%{polydir}/bundled/nauty -%{polydir}/bundled/ppl -%{polydir}/bundled/sympol +%{polydir}/bundled/atint/ +%{polydir}/bundled/cdd/ +%{polydir}/bundled/flint/ +%{polydir}/bundled/libnormaliz/ +%{polydir}/bundled/lrs/ +%{polydir}/bundled/nauty/ +%{polydir}/bundled/ppl/ +%{polydir}/bundled/sympol/ %{polydir}/config.ninja %dir %{polydir}/lib/ %{polydir}/lib/common.so @@ -329,6 +327,10 @@ rm -fr %{buildroot}%{_datadir}/%{name}/resources/{JuPyMake,jupyter-polymake} %doc doc/* %changelog +* Wed Mar 4 2020 Jerry James - 4.0.1-1 +- Version 4.0r1 +- Add -sizet patch to work around FTBFS with GCC 10 + * Thu Jan 30 2020 Fedora Release Engineering - 3.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 07187d0..f147f47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (polymake-3.6-minimal.tar.bz2) = bed18b31145bd9c795dcd11d2285337f40ed4e736c47f41e8133590043e7caceba6bc97fb1f124fa44f149d165673675fea2d3bf948b143e49f966624782f343 +SHA512 (polymake-4.0r1-minimal.tar.bz2) = 1f6b1294b6aa3ee6ac870d9044993c6606b644471efe285c16874a5e408f3ab020aa438b6bc9df4279cfab56789ed327f11b37b1266b681f0f616b30269e173e