diff --git a/.gitignore b/.gitignore index d030092..cce35a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,7 @@ -/Macaulay2.png -/Macaulay2-1.4-r12617-src.tar.bz2 -/Macaulay2-1.5-r15838.tar.xz -/Macaulay2-1.5-r15955-src.tar.bz2 /Normaliz.m2 -/Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496-src.tar.bz2 -/gtest-1.6.0.tar.gz -/version-1.9.2.tar.gz -/4ti2-1.6.7.tar.gz -/factory-4.0.2.tar.gz -/flint-2.5.2.tar.gz -/frobby_v0.9.0.tar.gz -/gfan0.5.tar.gz -/gtest-1.7.0.tar.gz -/lapack-3.6.0.tgz -/mathic.tar.xz -/mathicgb.tar.xz -/memtailor.tar.xz -/mpfr-3.1.5.tar.xz -/Normaliz3.1.1Source.zip +/*.png +/*.tar.bz2 +/*.tar.gz +/*.tgz +/*.tar.xz +/*.zip diff --git a/Macaulay2-1.16-ulimit.patch b/Macaulay2-1.16-ulimit.patch new file mode 100644 index 0000000..ad15955 --- /dev/null +++ b/Macaulay2-1.16-ulimit.patch @@ -0,0 +1,95 @@ +--- M2/libraries/Makefile.library.in.orig 2024-11-01 04:33:00.000000000 -0600 ++++ M2/libraries/Makefile.library.in 2025-02-18 20:23:38.667139158 -0700 +@@ -254,10 +254,10 @@ ifneq (@DOWNLOAD@,yes) + @ false + endif + +-SLIMIT ?= 8192 +-TLIMIT ?= 100 +-MLIMIT ?= 400000 +-VLIMIT ?= 400000 ++SLIMIT ?= 16384 ++TLIMIT ?= 200 ++MLIMIT ?= 800000 ++VLIMIT ?= 800000 + LIMIT := : + ifeq (@ULIMIT_T@,yes) + LIMIT += ; ulimit -t $(TLIMIT) +--- M2/Macaulay2/m2/basictests/Makefile.in.orig 2024-11-01 04:33:00.000000000 -0600 ++++ M2/Macaulay2/m2/basictests/Makefile.in 2025-02-18 20:23:38.667139158 -0700 +@@ -22,17 +22,17 @@ $(TESTRESULTS) : @pre_exec_prefix@/bin/M + ARGS := --silent -q --stop --no-core -e 'srcdir = "@srcdir@/"' + + ifeq "@DEBUG@" "no" +-TLIMIT ?= 20 +-MLIMIT ?= 600000 +-VLIMIT ?= 600000 ++TLIMIT ?= 40 ++MLIMIT ?= 1200000 ++VLIMIT ?= 1200000 + else +-TLIMIT ?= 60 +-MLIMIT ?= 700000 +-VLIMIT ?= 700000 ++TLIMIT ?= 120 ++MLIMIT ?= 1400000 ++VLIMIT ?= 1400000 + endif + + # make the stack limit always the same as it would be under MacOS +-SLIMIT ?= 8192 ++SLIMIT ?= 16384 + + LIMIT := + ifeq (@ULIMIT_T@,yes) +--- M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in.orig 2024-11-01 04:33:00.000000000 -0600 ++++ M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in 2025-02-18 20:23:38.667139158 -0700 +@@ -15,16 +15,16 @@ diff: + + LIMIT := + ifeq (@ULIMIT_T@,yes) +-LIMIT += ulimit -t 1200 ; ++LIMIT += ulimit -t 2400 ; + endif + ifeq (@ULIMIT_V@,yes) +-LIMIT += ulimit -v 1600000 ; ++LIMIT += ulimit -v 3200000 ; + endif + ifeq (@ULIMIT_M@,yes) +-LIMIT += ulimit -m 800000 ; ++LIMIT += ulimit -m 1600000 ; + endif + ifeq (@ULIMIT_S@,yes) +-LIMIT += ulimit -s 8192 ; ++LIMIT += ulimit -s 16384 ; + endif + + +--- M2/Macaulay2/tests/Makefile.test.in.orig 2024-11-01 04:33:00.000000000 -0600 ++++ M2/Macaulay2/tests/Makefile.test.in 2025-02-18 20:23:38.667139158 -0700 +@@ -6,18 +6,18 @@ DEFERRED ?= no + + DOTS ?= ../.. + ifeq "@DEBUG@" "no" +-TLIMIT ?= 90 ++TLIMIT ?= 180 + # one test doesn't work with only 150MB RAM, ext-total.m2, on a 64 bit intel machine: +-MLIMIT ?= 800000 +-VLIMIT ?= 2000000 ++MLIMIT ?= 1600000 ++VLIMIT ?= 4000000 + else + # give the debug version more time and space +-TLIMIT ?= 140 +-MLIMIT ?= 1200000 +-VLIMIT ?= 2000000 ++TLIMIT ?= 280 ++MLIMIT ?= 2400000 ++VLIMIT ?= 4000000 + endif + # make the stack limit always the same as it would be under MacOS +-SLIMIT ?= 8192 ++SLIMIT ?= 16384 + + LIMIT := + ifeq (@ULIMIT_T@,yes) diff --git a/Macaulay2-1.17-configure.patch b/Macaulay2-1.17-configure.patch new file mode 100644 index 0000000..8086b88 --- /dev/null +++ b/Macaulay2-1.17-configure.patch @@ -0,0 +1,15 @@ +--- M2/configure.ac.orig 2021-01-12 14:20:55.509886490 -0700 ++++ M2/configure.ac 2021-01-12 14:21:55.866785423 -0700 +@@ -252,9 +252,9 @@ AC_MSG_NOTICE([checking for C compiler f + + dnl always compile with "-g", so we can debug even optimized versions + if test "$GCC" = yes +-then CFLAGS="$CFLAGS -g3" +- CXXFLAGS="$CXXFLAGS -g3" +- LDFLAGS="$LDFLAGS -g3" ++then CFLAGS="$CFLAGS -g" ++ CXXFLAGS="$CXXFLAGS -g" ++ LDFLAGS="$LDFLAGS -g" + else CFLAGS="$CFLAGS -g" + CXXFLAGS="$CXXFLAGS -g" + LDFLAGS="$LDFLAGS -g" diff --git a/Macaulay2-1.18-lto.patch b/Macaulay2-1.18-lto.patch new file mode 100644 index 0000000..becd01c --- /dev/null +++ b/Macaulay2-1.18-lto.patch @@ -0,0 +1,35 @@ +--- M2/Macaulay2/c/compat.h.orig 2021-06-13 14:30:17.341325747 -0600 ++++ M2/Macaulay2/c/compat.h 2021-06-14 06:52:52.648631798 -0600 +@@ -2,7 +2,7 @@ + + #ifndef __cplusplus + #undef bool +-typedef char bool; ++typedef _Bool bool; + #endif + + extern char posfmt[]; +--- M2/Macaulay2/d/types.h.orig 2021-06-04 17:33:04.000000000 -0600 ++++ M2/Macaulay2/d/types.h 2021-06-13 14:30:27.804335244 -0600 +@@ -37,6 +37,10 @@ + # define LONGJUMP(env) longjmp(env, 1) + #endif + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + struct ArgCell + { + int argc, envc; +@@ -50,6 +54,10 @@ struct JumpCell + bool is_set; + }; + ++#ifdef __cplusplus ++} ++#endif ++ + #ifdef HAVE_UNISTD_H + #include + #endif diff --git a/Macaulay2-1.25-default_make_targets.patch b/Macaulay2-1.25-default_make_targets.patch new file mode 100644 index 0000000..3daf8c7 --- /dev/null +++ b/Macaulay2-1.25-default_make_targets.patch @@ -0,0 +1,12 @@ +--- M2/Macaulay2/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700 ++++ M2/Macaulay2/Makefile.in 2025-11-14 13:59:26.630241856 -0700 +@@ -3,8 +3,7 @@ + VPATH = @srcdir@ + include ../include/config.Makefile + all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/LAYOUT +-SUBDIRS = c d e system bin m2 man packages editors \ +- $(if $(filter html, @DOCUMENTATION@), html-check-links) tests ++SUBDIRS = c d e system bin m2 man packages editors tests + + define do-in-subdirs + $(foreach d,$(SUBDIRS), diff --git a/Macaulay2-1.25-optflags.patch b/Macaulay2-1.25-optflags.patch new file mode 100644 index 0000000..5c93b1c --- /dev/null +++ b/Macaulay2-1.25-optflags.patch @@ -0,0 +1,42 @@ +--- M2/configure.ac.orig 2025-11-14 04:03:48.000000000 -0700 ++++ M2/configure.ac 2025-11-14 13:57:06.905244494 -0700 +@@ -318,12 +318,12 @@ fi + ] + + if test "$OPTIMIZE" = yes +-then CFLAGS="$CFLAGS -O2" +- CXXFLAGS="$CXXFLAGS -O2" +- FCFLAGS="$FCFLAGS -O2" +-else CFLAGS="$CFLAGS -O0" +- CXXFLAGS="$CXXFLAGS -O0" +- FCFLAGS="$FCFLAGS -O0" ++then CFLAGS="-O2 $CFLAGS" ++ CXXFLAGS="-O2 $CXXFLAGS" ++ FCFLAGS="-O2 $FCFLAGS" ++else CFLAGS="-O0 $CFLAGS" ++ CXXFLAGS="-O0 $CXXFLAGS" ++ FCFLAGS="-O0 $FCFLAGS" + fi + + AC_SUBST(GCCVERSION) +--- M2/libraries/factory/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700 ++++ M2/libraries/factory/Makefile.in 2025-11-14 13:57:56.926954878 -0700 +@@ -7,7 +7,7 @@ + URL = https://macaulay2.com/Downloads/OtherSourceCode + VERSION = 4.4.1 + PATCHFILE = @abs_srcdir@/patch-$(VERSION) +-PRECONFIGURE = autoreconf -vif ++PRECONFIGURE = sed -i 's/-g0 -O3 //' m4/flags.m4 && autoreconf -vif + + BUILDTARGET = all ftmpl_inst.o + LIBRARIES = ftmpl_inst.o +--- M2/libraries/mpfr/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700 ++++ M2/libraries/mpfr/Makefile.in 2025-11-14 13:57:06.905816340 -0700 +@@ -36,6 +36,7 @@ CONFIGOPTIONS += --disable-shared + # endif + + # PRECONFIGURE = autoreconf -i ++PRECONFIGURE = sed -i '/LDFLAGS/s/ -Wl,--disable-new-dtags//g' configure + include ../Makefile.library + + BUILDOPTIONS += CPPFLAGS="$(CPPFLAGS)" diff --git a/Macaulay2-1.9-default_make_targets.patch b/Macaulay2-1.9-default_make_targets.patch deleted file mode 100644 index 7b65bff..0000000 --- a/Macaulay2-1.9-default_make_targets.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- M2/Macaulay2/Makefile.in.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/Makefile.in 2017-02-27 21:50:42.326818471 -0700 -@@ -7,7 +7,7 @@ SUBDIRS = compat util probe regex c - ifeq "@DUMPDATA@" "yes" - SUBDIRS += dumpdata - endif --SUBDIRS += e-includes d e system kernel bin m2 emacs man packages html-check-links tests -+SUBDIRS += e-includes d e system kernel bin m2 emacs man packages - SUBDIRS += book - SUBDIRS += packages/Macaulay2Doc/test - diff --git a/Macaulay2-1.9-endian.patch b/Macaulay2-1.9-endian.patch deleted file mode 100644 index fe02115..0000000 --- a/Macaulay2-1.9-endian.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- M2/Macaulay2/c/cprint.c.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/c/cprint.c 2017-04-07 17:24:19.656353409 -0600 -@@ -304,7 +304,7 @@ static void cprintobjectdef(node t){ - cprintstructtag(t,TRUE); - printf(" {"); - if (istaggedobjecttype(t)) { -- put("unsigned int type_;"); -+ put("unsigned short type_;"); - had_a_member = TRUE; - } - for (m=typedeftail(t); m != NULL; m = CDR(m)) { diff --git a/Macaulay2-1.9-givaro.patch b/Macaulay2-1.9-givaro.patch deleted file mode 100644 index 04ed35e..0000000 --- a/Macaulay2-1.9-givaro.patch +++ /dev/null @@ -1,187 +0,0 @@ ---- M2/Macaulay2/e/aring-gf-givaro.cpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/aring-gf-givaro.cpp 2017-04-06 15:09:44.832511305 -0600 -@@ -20,7 +20,7 @@ namespace M2 { - mDimension(extensionDegree_), - mOriginalRing(0), - givaroField(FieldType(charact_, extensionDegree_)), -- givaroRandomIterator( FieldType::randIter(givaroField )) -+ givaroRandomIterator( FieldType::RandIter(givaroField )) - { - mCardinality = mCharac; - for (int j=1; j(a)); - } - - void ARingGFGivaro::set_from_mpz(ElementType &result, const mpz_ptr a) const -@@ -587,7 +587,7 @@ int ARingGFGivaro::compare_elems(const E - } - - /// @jakob: document possible overflow and other nasty things -- void ARingGFGivaro::random(FieldType::randIter &it, ElementType &result) const -+ void ARingGFGivaro::random(FieldType::RandIter &it, ElementType &result) const - { - givaroField.random( it,result); - // std::cerr << " givaroField.cardinality()" << givaroField.cardinality(); ---- M2/Macaulay2/e/aring-gf-givaro.hpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/aring-gf-givaro.hpp 2017-04-06 15:09:06.560723314 -0600 -@@ -42,10 +42,10 @@ namespace M2 { - }; - - #else --#include -+#include - #include - #include --#include //multiple definition problem... solvable by encapsulating (see linbox)? Also solvable with the namespace trick, but do not overuse that... -+#include //multiple definition problem... solvable by encapsulating (see linbox)? Also solvable with the namespace trick, but do not overuse that... - #include - #include - #include -@@ -70,7 +70,7 @@ class ARingGFGivaro : public RingInterfa - public: - static const RingID ringID = ring_GFGivaro; - -- typedef Givaro::GFqDom FieldType; -+ typedef Givaro::GFqDom FieldType; - typedef FieldType::Element ElementType; - typedef M2::ARingGFGivaro ring_type ; - -@@ -116,7 +116,7 @@ class ARingGFGivaro : public RingInterfa - - const FieldType givaroField; - -- mutable FieldType::randIter givaroRandomIterator; -+ mutable FieldType::RandIter givaroRandomIterator; - - size_t mGeneratorExponent; - -@@ -127,7 +127,7 @@ class ARingGFGivaro : public RingInterfa - - M2_arrayint representationToM2Array(UTT representation, long coeffNum ) const; - -- static M2_arrayint representationToM2Array(UTT representation, long coeffNum, UTT charac ) ; -+ static M2_arrayint representationToM2Array(UTT representation, UTT coeffNum, UTT charac ) ; - - M2_arrayint modPolynomialRepresentationToM2Array(UTT representation) const; - M2_arrayint elementRepresentationToM2Array(UTT representation) const; -@@ -263,7 +263,7 @@ class ARingGFGivaro : public RingInterfa - void swap(ElementType &a, ElementType &b) const; - - -- void random(FieldType::randIter &it, ElementType &result) const; -+ void random(FieldType::RandIter &it, ElementType &result) const; - void random(ElementType &result) const; - - /** @} */ ---- M2/Macaulay2/e/aring-zzp-ffpack.cpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/aring-zzp-ffpack.cpp 2017-03-01 18:01:56.497312426 -0700 -@@ -15,7 +15,7 @@ namespace M2 { - mDimension (1), - mGeneratorComputed (false) - { -- M2_ASSERT( FieldType::getMaxModulus()>=mCharac ); -+ M2_ASSERT( FieldType::maxCardinality()>=mCharac ); - } - - void ARingZZpFFPACK::elem_text_out ---- M2/Macaulay2/e/aring-zzp-ffpack.hpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/aring-zzp-ffpack.hpp 2017-03-02 20:13:16.672672996 -0700 -@@ -7,8 +7,9 @@ - #include "buffer.hpp" - #include "ringelem.hpp" - #include --#include --#include -+#include -+#include -+#undef addmul - #include - //#include - -@@ -30,7 +31,7 @@ namespace M2 { - static const RingID ringID = ring_ZZpFfpack; - - //typedef FFPACK::ModularBalanced FieldType; -- typedef FFPACK::Modular FieldType; -+ typedef Givaro::Modular FieldType; - - typedef FieldType::Element ElementType; - typedef ElementType elem; -@@ -204,11 +205,11 @@ namespace M2 { - - static inline double getMaxModulus() - { -- if (std::is_same , FieldType>::value) -+ if (std::is_same , FieldType>::value) - { -- return FieldType::getMaxModulus()/2; -+ return FieldType::maxCardinality()/2; - } -- return FieldType::getMaxModulus(); -+ return FieldType::maxCardinality(); - } - /** @} */ - ---- M2/Macaulay2/e/lapack.hpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/lapack.hpp 2017-03-01 20:58:08.363575227 -0700 -@@ -145,7 +145,7 @@ void cblas_dgemm(const int Order, // - // computes ax - void cblas_dscal(const int n, // length of vectors - const double a, // scalar alpha -- const double* x, // vector x -+ double* x, // vector x - const int incx); // increment of x - - -@@ -264,7 +264,7 @@ void cblas_daxpy(const int n, // len - // computes ax - void cblas_dscal(const int n, // length of vectors - const double a, // scalar alpha -- const double* x, // vector x -+ double* x, // vector x - const int incx); // increment of x - - ---- M2/Macaulay2/e/mat.cpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/mat.cpp 2017-03-02 18:57:52.755667147 -0700 -@@ -164,7 +164,7 @@ engine_RawArrayIntPairOrNull rawLQUPFact - std::vector Qt(nelems, -1); - - // ignore return value (rank) of: -- LUdivine(mat->ring().field(), -+ FFPACK::LUdivine(mat->ring().field(), - FFLAS::FflasNonUnit, - (transpose ? FFLAS::FflasTrans : FFLAS::FflasNoTrans), - mat->numRows(), diff --git a/Macaulay2-1.9-gtest.patch b/Macaulay2-1.9-gtest.patch deleted file mode 100644 index f2ffd0a..0000000 --- a/Macaulay2-1.9-gtest.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- M2/Macaulay2/e/unit-tests/gtest-include.cpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/unit-tests/gtest-include.cpp 2017-02-27 21:59:40.511289760 -0700 -@@ -5,7 +5,7 @@ - // the compiler flags are the same, which is the whole point of the - // recommendation to build gtest for each program. - --#include "src/gtest-all.cc" -+#include - - // Local Variables: - // compile-command: "make -C $M2BUILDDIR/Macaulay2/e/unit-tests check " ---- M2/Macaulay2/e/unit-tests/Makefile.in.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/unit-tests/Makefile.in 2017-02-27 21:59:40.511289760 -0700 -@@ -26,7 +26,7 @@ LOADLIBES += @BUILTLIBS@ @LIBS@ -lmathic - - # do not link with gtest -- it's supposed to get compiled in via #include: - # LDFLAGS += -L$(GTEST_DIR)/lib/.libs --# LOADLIBES += -lgtest -+LOADLIBES += -lgtest - - .PHONY: place_into_lib runtests - diff --git a/Macaulay2-1.9-mpir.patch b/Macaulay2-1.9-mpir.patch deleted file mode 100644 index 913df8e..0000000 --- a/Macaulay2-1.9-mpir.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- M2/configure.ac.orig 2017-02-27 21:52:33.042503797 -0700 -+++ M2/configure.ac 2017-02-27 21:56:18.889861896 -0700 -@@ -826,8 +826,8 @@ dnl make some programs optional: - BUILD_lrslib=no - BUILD_cddplus=no - --BUILD_mpir=yes --BUILD_ALWAYS="mpir $BUILD_ALWAYS" -+BUILD_mpir=no -+#BUILD_ALWAYS="mpir $BUILD_ALWAYS" - # We always build mpir so we can patch the routine mp_set_memory_functions() in it so - # it does nothing; that prevents libraries such as pari from telling it what memory - # allocation functions to use. But we should instead patch pari, so we can use the diff --git a/Macaulay2-1.9-nauty-paths.patch b/Macaulay2-1.9-nauty-paths.patch deleted file mode 100644 index c270fa5..0000000 --- a/Macaulay2-1.9-nauty-paths.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- M2/Macaulay2/packages/NautyGraphs.m2.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/packages/NautyGraphs.m2 2017-02-27 21:49:22.976044001 -0700 -@@ -30,9 +30,9 @@ newPackage select(( - ------------------- - - -- Check the ~/.Macaulay2/init-NautyGraphs.m2 file for the absolute path. ---- If it's not there, then use the M2-Programs directory. -+-- If it's not there, then use the system binary directory. - nauty'path = (options NautyGraphs).Configuration#"path"; --if nauty'path == "" then nauty'path = prefixDirectory | currentLayout#"programs"; -+if nauty'path == "" then nauty'path = "/usr/bin/"; - - ------------------- - -- Exports -@@ -420,7 +420,7 @@ callNauty (String, List) := List => opts - scan(graphToString \ dataList, d -> o << d << endl); - close o; - -- try to harvest the lines -- r := lines try get openIn ("!" | nauty'path | cmdStr | " <" | infn | " 2>" | erfn) -+ r := lines try get openIn ("!" | nauty'path | "nauty-" | cmdStr | " <" | infn | " 2>" | erfn) - else ( - -- nauty errored, harvest the error - e := last separate(":", first lines get openIn erfn); ---- M2/Macaulay2/packages/Nauty.m2.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/packages/Nauty.m2 2017-02-27 21:49:22.977043998 -0700 -@@ -37,9 +37,9 @@ newPackage select(( - ------------------- - - -- Check the ~/.Macaulay2/init-Nauty.m2 file for the absolute path. ---- If it's not there, then use the M2-Programs directory. -+-- If it's not there, then use the system binary directory. - nauty'path = (options Nauty).Configuration#"path"; --if nauty'path == "" then nauty'path = prefixDirectory | currentLayout#"programs"; -+if nauty'path == "" then nauty'path = "/usr/bin/"; - - ------------------- - -- Exports -@@ -472,7 +472,7 @@ callNauty (String, List) := List => opts - scan(graphToString \ dataList, d -> o << d << endl); - close o; - -- try to harvest the lines -- r := lines try get openIn ("!" | nauty'path | cmdStr | " <" | infn | " 2>" | erfn) -+ r := lines try get openIn ("!" | nauty'path | "nauty-" | cmdStr | " <" | infn | " 2>" | erfn) - else ( - -- nauty errored, harvest the error - e := last separate(":", first lines get openIn erfn); diff --git a/Macaulay2-1.9-no_Werror.patch b/Macaulay2-1.9-no_Werror.patch deleted file mode 100644 index 6ad7ebc..0000000 --- a/Macaulay2-1.9-no_Werror.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- M2/Macaulay2/c/Makefile.in.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/c/Makefile.in 2017-02-27 21:54:02.682249024 -0700 -@@ -37,7 +37,7 @@ CFLAGS += -std=c99 - # CFLAGS += -pedantic-errors - - # we include -Wno-unknown-attributes because libgc incorrectly assumes that clang 6 accepts __attribute__((__alloc_size__(1))): --CFLAGS += -Wall -Wno-unknown-attributes -Werror -+CFLAGS += -Wall -Wno-unknown-attributes - ifeq "@__INTEL_COMPILER@" "no" - CFLAGS += -Wimplicit-function-declaration - endif ---- M2/Macaulay2/d/Makefile.in.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/d/Makefile.in 2017-02-27 21:54:56.306096614 -0700 -@@ -147,7 +147,7 @@ CPPFLAGS := $(M2INCLUDES) $(CPPFLAGS) $( - - CPPFLAGS += -Wno-fatal-errors - --CFLAGS += $(M2_CFLAGS) -Werror -+CFLAGS += $(M2_CFLAGS) - ifeq "@__INTEL_COMPILER@" "no" - CFLAGS += -Wno-unused-label - endif -@@ -162,8 +162,8 @@ endif - # CXXFLAGS += -std=c++98 - # CXXFLAGS += -pedantic-errors - --CFLAGS += -Wreturn-type -Werror --CXXFLAGS += -Wreturn-type -Werror -+CFLAGS += -Wreturn-type -+CXXFLAGS += -Wreturn-type - CXXFLAGS += -std=c++11 - - python-c.o : | python-exports.h.tmp diff --git a/Macaulay2-1.9-no_gftables.patch b/Macaulay2-1.9-no_gftables.patch deleted file mode 100644 index 18eb736..0000000 --- a/Macaulay2-1.9-no_gftables.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- M2/configure.ac.orig 2017-02-27 21:51:39.297656550 -0700 -+++ M2/configure.ac 2017-02-27 21:52:33.042503797 -0700 -@@ -807,7 +807,7 @@ AC_SUBST(BUILTLIBS,) - # mpack depends on gmp (which mpir provides) mpfr mpc qd - # flint depends on gmp or mpir and mpfr - # pari uses gmp, so if we build gmp, we should build pari --AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib gftables") -+AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib") - AC_SUBST(LIBLIST, " atomic_ops gc gdbm mpir mpfr pari readline ntl flint factory lapack frobby glpk cddlib fplll givaro fflas_ffpack linbox boost mpc qd mpack gtest ") - AC_SUBST(SUBLIST, " memtailor mathic mathicgb ") - diff --git a/Macaulay2-1.9-optflags.patch b/Macaulay2-1.9-optflags.patch deleted file mode 100644 index 0c419c9..0000000 --- a/Macaulay2-1.9-optflags.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- M2/configure.ac.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/configure.ac 2017-02-27 21:45:29.582707349 -0700 -@@ -266,12 +266,12 @@ fi - ] - - if test "$OPTIMIZE" = yes --then CFLAGS="$CFLAGS -O2" -- CXXFLAGS="$CXXFLAGS -O2" -- FCFLAGS="$FCFLAGS -O2" --else CFLAGS="$CFLAGS -O0" -- CXXFLAGS="$CXXFLAGS -O0" -- FCFLAGS="$FCFLAGS -O0" -+then CFLAGS="-O2 $CFLAGS" -+ CXXFLAGS="-O2 $CXXFLAGS" -+ FCFLAGS="-O2 $FCFLAGS" -+else CFLAGS="-O0 $CFLAGS" -+ CXXFLAGS="-O0 $CXXFLAGS" -+ FCFLAGS="-O0 $FCFLAGS" - fi - - AC_SUBST(GCCVERSION,) diff --git a/Macaulay2-1.9-pari.patch b/Macaulay2-1.9-pari.patch deleted file mode 100644 index 2cb2da7..0000000 --- a/Macaulay2-1.9-pari.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- M2/Macaulay2/d/pari-c.c.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/d/pari-c.c 2017-03-02 21:26:05.448365259 -0700 -@@ -156,7 +156,7 @@ mpz_mat *pari_factorint(mpz_t x, long fl - pari_errfile = dev_null; - } - #endif -- allocatemem(0); // passing 0 will double the current stack size. -+ gp_allocatemem(0); // passing 0 will double the current stack size. - #ifdef NDEBUG - /* - * We set pari_errfile back to the default value just in case PARI crashes. -@@ -198,7 +198,7 @@ int pari_isprime(mpz_t x) { - pari_errfile = dev_null; - } - #endif -- allocatemem(0); // passing 0 will double the current stack size. -+ gp_allocatemem(0); // passing 0 will double the current stack size. - #ifdef NDEBUG - /* - * We set pari_errfile back to the default value just in case PARI crashes. -@@ -240,7 +240,7 @@ int pari_ispseudoprime(mpz_t x, long fla - pari_errfile = dev_null; - } - #endif -- allocatemem(0); // passing 0 will double the current stack size. -+ gp_allocatemem(0); // passing 0 will double the current stack size. - #ifdef NDEBUG - /* - * We set pari_errfile back to the default value just in case PARI crashes. -@@ -268,7 +268,7 @@ int pari_ispseudoprime(mpz_t x, long fla - - */ - --#define pari_examine(x) do { fputs(" " #x ": ", stdout); voir(x,-1); } while (0) -+#define pari_examine(x) do { fputs(" " #x ": ", stdout); dbgGEN(x,-1); } while (0) - #define pari_display(x) do { fputs(" " #x ": ", stdout); output(x); } while (0) - #define abs(x) ((x)<0?-(x):(x)) - ---- M2/Macaulay2/e/polyroots.cpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/polyroots.cpp 2017-03-02 20:13:45.448397516 -0700 -@@ -39,7 +39,7 @@ engine_RawRingElementArrayOrNull rawRoot - pari_errfile = dev_null; - } - #endif -- allocatemem(0); // passing 0 will double the current stack size. -+ gp_allocatemem(0); // passing 0 will double the current stack size. - #ifdef NDEBUG - /* - * We set pari_errfile back to the default value just in case PARI crashes. diff --git a/Macaulay2-1.9-pthreads.patch b/Macaulay2-1.9-pthreads.patch deleted file mode 100644 index 4f80467..0000000 --- a/Macaulay2-1.9-pthreads.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- M2/Macaulay2/system/pthread-methods.hpp.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/system/pthread-methods.hpp 2017-04-07 16:47:50.027572916 -0600 -@@ -5,5 +5,5 @@ - static inline int operator!=(pthread_t t, pthread_t u) { return t.p != u.p || t.x != u.x; } - static inline int operator< (pthread_t t, pthread_t u) { return t.p < u.p || t.p == u.p && t.x < u.x; } - #else -- #define clearThread(t) t = NULL -+ #define clearThread(t) t = 0 - #endif diff --git a/Macaulay2-1.9-verbose_build.patch b/Macaulay2-1.9-verbose_build.patch deleted file mode 100644 index e2a5335..0000000 --- a/Macaulay2-1.9-verbose_build.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- M2/Macaulay2/e/Makefile.common.in.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/e/Makefile.common.in 2017-02-27 21:48:21.412218977 -0700 -@@ -22,57 +22,57 @@ COMPILE.cpp = $(COMPILE.cc) - %.o : %.cpp - @ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $<" -- @ $(COMPILE.cpp) $(OUTPUT_OPTION) $< -+ $(COMPILE.cpp) $(OUTPUT_OPTION) $< - - %.s : %.cpp - @ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $< to assembly code, making $@" -- @ $(COMPILE.cpp) -S $(OUTPUT_OPTION) $< -+ $(COMPILE.cpp) -S $(OUTPUT_OPTION) $< - - %.E : %.cpp - @ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** preprocessing $<, making $@" -- @ $(COMPILE.cpp) -E $(OUTPUT_OPTION) $< -+ $(COMPILE.cpp) -E $(OUTPUT_OPTION) $< - - %.o : %.cc - @ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $<" -- @ $(COMPILE.cc) $(OUTPUT_OPTION) $< -+ $(COMPILE.cc) $(OUTPUT_OPTION) $< - - %.s : %.cc - @ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $< to assembly code, making $@" -- @ $(COMPILE.cc) -S $(OUTPUT_OPTION) $< -+ $(COMPILE.cc) -S $(OUTPUT_OPTION) $< - - %.E : %.cc - @ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** preprocessing $<, making $@" -- @ $(COMPILE.cc) -E $(OUTPUT_OPTION) $< -+ $(COMPILE.cc) -E $(OUTPUT_OPTION) $< - - ntl_interface.o: ntl_interface.cpp - @ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $<" -- @ $(COMPILE.cc) $(OUTPUT_OPTION) $< -Wno-old-style-cast -+ $(COMPILE.cc) $(OUTPUT_OPTION) $< -Wno-old-style-cast - - %.o : %.c - @ echo '$(COMPILE.c) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** compiling $<" -- @ $(COMPILE.c) $(OUTPUT_OPTION) $< -+ $(COMPILE.c) $(OUTPUT_OPTION) $< - - % : %.o - @ echo '$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION) $<' >> LOGFILE - @ echo " ** linking $^ to get $@" -- @ $(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION) -+ $(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION) - - %.dep: %.cpp - @ echo "@CXX@ -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep" >> LOGFILE - @ echo " ** creating $@ from $<" -- @ @CXX@ -MM -MP $(CPPFLAGS) $(CXXFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep -+ @CXX@ -MM -MP $(CPPFLAGS) $(CXXFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep - - %.dep: %.c - @ echo "@CC@ -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep" >> LOGFILE - @ echo " ** creating $@ from $<" -- @ @CC@ -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep -+ @CC@ -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep - - # Local Variables: - # compile-command: "make -C $M2BUILDDIR/Macaulay2/e DEPENDS=no initialize && make -C $M2BUILDDIR/Macaulay2/e Makefile.common " diff --git a/Macaulay2-1.9-xdg_open.patch b/Macaulay2-1.9-xdg_open.patch deleted file mode 100644 index 25a5b47..0000000 --- a/Macaulay2-1.9-xdg_open.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- M2/Macaulay2/m2/html.m2.orig 2016-08-15 12:38:31.000000000 -0600 -+++ M2/Macaulay2/m2/html.m2 2017-02-27 21:46:51.063475764 -0700 -@@ -1262,6 +1262,7 @@ chk := ret -> if ret != 0 then ( - error "external command failed" - ) - browserMethods := hashTable { -+ "xdg open" => url -> {"xdg-open", url}, - "firefox" => url -> {"firefox", url}, - "open" => url -> {"open", url}, - "cygstart" => url -> {"cygstart", url}, -@@ -1277,7 +1278,8 @@ show URL := x -> ( - else - if version#"issue" === "Cygwin" then browser = "cygstart"; - if browser === "" then ( -- if runnable "firefox" then browser = "firefox" -+ if runnable "xdg-open" then browser = "xdg-open" -+ else if runnable "firefox" then browser = "firefox" - else if runnable "netscape" then browser = "netscape" - else error "no browser found, and none specified in $WWWBROWSER" - ); diff --git a/Macaulay2.rpmlintrc b/Macaulay2.rpmlintrc new file mode 100644 index 0000000..8bdcf0b --- /dev/null +++ b/Macaulay2.rpmlintrc @@ -0,0 +1,23 @@ +# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# Dangling symlinks; we ensure, through Requires, that they do not dangle +addFilter(r'dangling-symlink') + +# This file is included on purpose due to containing license information +addFilter(r'devel-file-in-non-devel-package .*flint\.h') + +# Test files also included on purpose +addFilter(r'devel-file-in-non-devel-package .*test/engine/factor') + +# Hidden files generated by and for the Macaulay2 documentation system +addFilter(r'hidden-file-or-dir .*\.(Certification|Headline)') + +# No man page for the target of the shell script +addFilter(r'no-manual-page-for-binary M2-binary') + +# Words not in the dictionary +addFilter(r'spelling-error .* (Grayson|Stillman)') + +# Binary file not understood by rpmlint +addFilter(r'wrong-file-end-of-line-encoding .*_cohom__Calg_lp__Normal__Toric__Variety_rp\.out') diff --git a/Macaulay2.spec b/Macaulay2.spec index f759b53..5d65215 100644 --- a/Macaulay2.spec +++ b/Macaulay2.spec @@ -9,11 +9,19 @@ # Since the main Fedora packages are not built in this way, we are forced to # bundle these packages to avoid random GC-related crashes. # -# In addition, we have to use the static versions of the libfplll and givaro -# libraries. Both have global objects whose constructors run before GC is -# initialized. If we allow the shared libraries to be unloaded, which happens -# as a normal part of Macaulay2's functioning, the GC tries to free objects it -# did not allocate, which leads to a segfault. +# We have to use the static versions of the libfplll and givaro libraries. +# They have global objects whose constructors run before GC is initialized. +# If we allow the shared libraries to be unloaded, which happens as a normal +# part of Macaulay2's functioning, then GC tries to free objects it did not +# allocate, which leads to a segfault. +# +# We have to bundle the linbox package. It has global constructors that cause +# the same problem as libfplll. + +%global emacscommit 524968452e95d010769ece30092edaa09d1e814f +%global emacsurl https://github.com/Macaulay2/M2-emacs +%global emacsshort %(cut -b -7 <<< %{emacscommit}) +%global m2url https://github.com/Macaulay2/M2 # Address randomization interferes with Macaulay2's memory management scheme, # and linking with -z now breaks configure. @@ -25,172 +33,309 @@ # use system normaliz %global system_normaliz 1 #endif -# standardize on gmp instead of mpir (mostly for pari/sagemath) -%global gmp 1 %global ISSUE %{?fedora:Fedora-%{fedora}}%{?rhel:RedHatEnterprise-%{rhel}} %global M2_machine %{_target_cpu}-Linux-%{ISSUE} -%global INFO_FILES AdjointIdeal AnalyzeSheafOnP1 BeginningMacaulay2 Benchmark Bertini BGG BIBasis BinomialEdgeIdeals Binomials BoijSoederberg Book3264Examples BooleanGB Browse Bruns ChainComplexExtras CharacteristicClasses Classic CodepthThree CompleteIntersectionResolutions ConformalBlocks ConvexInterface ConwayPolynomials Cremona Cyclotomic Depth DGAlgebras Divisor Dmodules EdgeIdeals Elimination EliminationMatrices EllipticCurves EllipticIntegrals EnumerationCurves EquivariantGB ExampleSystems FiniteFittingIdeals FirstPackage FormalGroupLaws FourierMotzkin FourTiTwo GenericInitialIdeal gfanInterface GraphicalModels Graphics Graphs HigherCIOperators HighestWeights HodgeIntegrals HyperplaneArrangements IntegralClosure InvariantRing InvolutiveBases Kronecker KustinMiller LatticePolytopes LexIdeals LieTypes LLLBases LocalRings M0nbar Macaulay2Doc MapleInterface Markov MCMApproximations MinimalPrimes Miura ModuleDeformations MonomialAlgebras MultiplierIdeals MultiplierIdealsDim2 MultipolynomialResultants NAGtypes Nauty NautyGraphs NoetherNormalization Normaliz NormalToricVarieties NumericalAlgebraicGeometry NumericalHilbert NumericalSchubertCalculus OpenMath PackageTemplate Parametrization Parsing Permanents PHCpack PieriMaps Points Polyhedra Polymake Posets PrimaryDecomposition PushForward QthPower QuillenSuslin RandomCanonicalCurves RandomCurves RandomGenus14Curves RandomIdeals RandomObjects RandomPlaneCurves RandomSpaceCurves RationalMaps RationalPoints ReesAlgebra Regularity ResidualIntersections RunExternalM2 Schubert2 SchurFunctors SchurRings SCSCP Serialization SimpleDoc SimplicialComplexes SimplicialDecomposability SLPexpressions SRdeformations StatePolytope Style SymmetricPolynomials TangentCone TateOnProducts TensorComplexes Text ToricTopology ToricVectorBundles Triplets Units VectorFields VersalDeformations Visualize WeylGroups XML - +# The examples contain some python files which should not be byte compiled +%global _python_bytecompile_extra 0 + +# Starting with GCC 12, Macaulay2 segfaults during the build on all +# architectures when LTO is enabled. (With GCC 11, s390x did this, but the +# other architectures did not.) Until somebody can figure out what is going +# on, disable LTO universally. +%define _lto_cflags %{nil} + Summary: System for algebraic geometry and commutative algebra Name: Macaulay2 -Version: 1.9.2 -Release: 5%{?dist} +Version: 1.25.11 +Release: %autorelease -License: GPLv2 or GPLv3 -URL: http://macaulay2.com/ +# GPL-2.0-only OR GPL-3.0-only: +# - the project as a whole +# - factory (bundled) +# GPL-1.0-or-later: +# - Macaulay2/packages/FormalGroupLaws.m2 +# - Macaulay2/packages/WeylGroups.m2 +# GPL-2.0-only: +# - Macaulay2/packages/ModuleDeformations.m2 +# - Macaulay2/packages/QuillenSuslin.m2 +# - Macaulay2/packages/Visualize.m2 +# GPL-2.0-or-later: +# - Macaulay2/e/bibasis +# - Macaulay2/m2/computations.m2 +# - Macaulay2/packages/AlgebraicSplines.m2 +# - Macaulay2/packages/BIBasis.m2 +# - Macaulay2/packages/Binomials.m2 +# - Macaulay2/packages/Chordal.m2 +# - Macaulay2/packages/Cremona.m2 +# - Macaulay2/packages/Cyclotomic.m2 +# - Macaulay2/packages/EdgeIdeals.m2 +# - Macaulay2/packages/FourierMotzkin.m2 +# - Macaulay2/packages/GKMVarieties.m2 +# - Macaulay2/packages/GradedLieAlgebras.m2 +# - Macaulay2/packages/GraphicalModels* +# - Macaulay2/packages/Graphics.m2 +# - Macaulay2/packages/Graphs.m2 +# - Macaulay2/packages/GroebnerWalk.m2 +# - Macaulay2/packages/HyperplaneArrangements.m2 +# - Macaulay2/packages/InvariantRing* +# - Macaulay2/packages/KustinMiller.m2 +# - Macaulay2/packages/LieTypes.m2 +# - Macaulay2/packages/MonomialAlgebras.m2 +# - Macaulay2/packages/MultiprojectiveVarieties.m2 +# - Macaulay2/packages/NAGtypes.m2 +# - Macaulay2/packages/Nauty* +# - Macaulay2/packages/Normaliz.m2 +# - Macaulay2/packages/NumericalAlgebraicGeometry.m2 +# - Macaulay2/packages/PackageCitations.m2 +# - Macaulay2/packages/Posets.m2 +# - Macaulay2/packages/RationalPoints* +# - Macaulay2/packages/ResLengthThree.m2 +# - Macaulay2/packages/ResolutionsOfStanleyReisnerRings.m2 +# - Macaulay2/packages/Resultants.m2 +# - Macaulay2/packages/RunExternalM2.m2 +# - Macaulay2/packages/SLPexpressions.m2 +# - Macaulay2/packages/SLnEquivariantMatrices.m2 +# - Macaulay2/packages/SimplicialDecomposability.m2 +# - Macaulay2/packages/SparseResultants.m2 +# - Macaulay2/packages/SpecialFanoFourfolds.m2 +# - Macaulay2/packages/StatGraphs.m2 +# - Macaulay2/packages/TriangularSets.m2 +# - Macaulay2/packages/VectorFields.m2 +# GPL-3.0-or-later: +# - normaliz, when it is bundled +# - Macaulay2/e/mpreal.h +# - Macaulay2/packages/BettiCharacters.m2 +# - Macaulay2/packages/CodingTheory.m2 +# - Macaulay2/packages/FGLM.m2 +# - Macaulay2/packages/HighestWeights* +# - Macaulay2/packages/Jets.m2 +# - Macaulay2/packages/LocalRings +# - Macaulay2/packages/MonomialIntegerPrograms.m2 +# - Macaulay2/packages/MultiplierIdeals.m2 +# - Macaulay2/packages/NormalToricVarieties.m2 +# - Macaulay2/packages/NumericSolutions.m2 +# - Macaulay2/packages/OldPolyhedra.m2 +# - Macaulay2/packages/OldToricVectorBundles.m2 +# - Macaulay2/packages/PieriMaps.m2 +# - Macaulay2/packages/Polyhedra.m2 +# - Macaulay2/packages/PositivityToricBundles.m2 +# - Macaulay2/packages/SchurRings.m2 +# - Macaulay2/packages/SchurVeronese.m2 +# - Macaulay2/packages/Simplicial* +# - Macaulay2/packages/SpectralSequences.m2 +# - Macaulay2/packages/TensorComplexes.m2 +# - Macaulay2/packages/ToricTopology.m2 +# - Macaulay2/packages/ToricVectorBundles.m2 +# - Macaulay2/packages/VersalDeformations.m2 +# LGPL-2.0-or-later: +# - flint (bundled) +# - linbox (bundled) +# LGPL-3.0-or-later: +# - mpfr (bundled) +# Apache-2.0: +# - Macaulay2/packages/OpenMath.m2 +# - Macaulay2/packages/SCSCP.m2 +# MIT: +# - Macaulay2/packages/Visualize/css +# - Macaulay2/packages/Visualize/js +# MIT AND OFL-1.1-RFN: +# - Macaulay2/packages/Style +# LicenseRef-Fedora-Public-Domain: +# - Macaulay2/e/localring* +# - Macaulay2/e/mutablecomplex* +# - Macaulay2/e/NAG* +# - Macaulay2/e/SLP* +# - Macaulay2/packages/Depth.m2 +# - Macaulay2/packages/Divisor.m2 +# - Macaulay2/packages/FastMinors.m2 +# - Macaulay2/packages/LatticePolytopes.m2 +# - Macaulay2/packages/NoetherNormalization.m2 +# - Macaulay2/packages/RationalMaps.m2 +# - Macaulay2/packages/SectionRing.m2 +License: (GPL-2.0-only OR GPL-3.0-only) AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND Apache-2.0 AND MIT AND OFL-1.1-RFN AND LicenseRef-Fedora-Public-Domain +URL: https://macaulay2.com/ +VCS: git:%{m2url}.git %if 0%{?snap:1} -Source0: Macaulay2-%{version}-%{snap}.tar.xz +Source0: %{name}-%{version}-%{snap}.tar.xz %else -Source0: https://github.com/%{name}/M2/archive/version-%{version}.tar.gz +Source0: %{m2url}/archive/release-%{version}/%{name}-%{version}.tar.gz %endif +Source1: %{emacsurl}/tarball/%{emacscommit}/M2-emacs-%{emacsshort}.tar.gz -Source10: Macaulay2.png -Source11: Macaulay2.desktop +# Various sizes of the planets icon from macaulay2.com. See README.icons in +# the tar file for details on how these icons were created. +Source10: Macaulay2-icons.tar.xz +Source11: com.macaulay2.macaulay2.desktop +Source12: com.macaulay2.macaulay2.metainfo.xml Source20: etags.sh ## BUNDLED code # Normaliz must sometimes be bundled due to version differences -%if ! 0%{?system_normaliz} -Source100: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/Normaliz3.1.1Source.zip -Provides: bundled(normaliz) = 3.1.1 +%if ! %system_normaliz +%global normalizver 3.11.0 +Source100: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/normaliz-%{normalizver}.tar.gz +Provides: bundled(normaliz) = %{normalizver} %endif # MPFR is bundled because it must be built with different threading options -%global mpfrver 3.1.5 -Source101: http://www.mpfr.org/mpfr-%{mpfrver}/mpfr-%{mpfrver}.tar.xz +%global mpfrver 4.2.2 +Source101: https://www.mpfr.org/mpfr-%{mpfrver}/mpfr-%{mpfrver}.tar.gz Provides: bundled(mpfr) = %{mpfrver} # FLINT is bundled because it must be linked with the specially-built MPFR -Source102: http://www.flintlib.org/flint-2.5.2.tar.gz -Provides: bundled(flint) = 2.5.2 +%global flintver 3.3.1 +Source102: https://github.com/flintlib/flint/archive/v%{flintver}/flint-%{flintver}.tar.gz +Provides: bundled(flint) = %{flintver} # FACTORY is bundled because it must be built with special options -Source103: http://www.math.illinois.edu/Macaulay2/Downloads/OtherSourceCode/factory-4.0.2.tar.gz -Provides: bundled(factory) = 4.0.2 +%global factoryver 4.4.1 +Source103: https://www.singular.uni-kl.de/ftp/pub/Math/Factory/factory-%{factoryver}.tar.gz +Provides: bundled(factory) = %{factoryver} + +# LINBOX is bundled because it introduces static global objects +%global linboxver 1.7.1 +Source104: https://github.com/linbox-team/linbox/releases/download/v%{linboxver}/linbox-%{linboxver}.tar.gz +Provides: bundled(linbox) = %{linboxver} ## PATCHES FOR BUNDLED code -# Fix multiple flint build and runtime issues; see patches in the flint package -Source200: flint-2.5.2.patch -# Fix factory build failure. REPLACES the upstream patch. -Source201: factory-4.0.2.patch +# No patches ## FAKE library tarballs that convince Macaulay2 to use the system versions -%if 0%{?system_normaliz} -Source300: Normaliz3.1.1Source.zip -%endif -Source301: gtest-1.7.0.tar.gz -Source302: lapack-3.6.0.tgz -Source303: 4ti2-1.6.7.tar.gz -Source304: frobby_v0.9.0.tar.gz -Source305: gfan0.5.tar.gz - -## FAKE submodule tarballs that convince Macaulay2 to use the system versions -Source400: memtailor.tar.xz -Source401: mathic.tar.xz -Source402: mathicgb.tar.xz +Source300: frobby_v0.9.5.tar.gz +Source301: cddlib-094m.tar.gz +# lapack +Source302: v3.12.1.tar.gz +Source303: 4ti2-1.6.13.tar.gz +Source304: fplll-5.5.0.tar.gz +Source305: gfan0.6.2.tar.gz +Source306: givaro-4.2.1.tar.gz +Source307: lrslib-073.tar.gz +Source308: TOPCOM-1.1.2.tar.gz +Source309: cohomCalg-0.32.tar.gz +Source310: glpk-5.0.tar.gz +Source311: Csdp-6.2.0.tgz +Source312: mpsolve-3.2.3.tar.gz +# msolve +%global msolvever 0.9.2 +Source313: v%{msolvever}.tar.gz # let Fedora optflags override the defaults -Patch0: %{name}-1.9-optflags.patch -# use xdg-open as the default browser -Patch1: %{name}-1.9-xdg_open.patch -# show compilation output -Patch2: %{name}-1.9-verbose_build.patch -# fix paths to nauty binaries -Patch3: %{name}-1.9-nauty-paths.patch -# drop 'tests' from default make target -Patch4: %{name}-1.9-default_make_targets.patch -# disable check for gftables -Patch5: %{name}-1.9-no_gftables.patch -# don't use -Werror -Patch6: %{name}-1.9-no_Werror.patch -# link to gmp, not mpir to avoid possible issues with gmp'ed pari -Patch7: %{name}-1.9-mpir.patch -# use the system gtest -Patch8: %{name}-1.9-gtest.patch -# adapt to the latest givaro and fflas-ffpack -Patch9: %{name}-1.9-givaro.patch -# adapt to pari 2.9 -Patch10: %{name}-1.9-pari.patch -# fix invalid access to the pthread_t type -Patch11: %{name}-1.9-pthreads.patch -# fix a crasher on big endian architectures -Patch12: %{name}-1.9-endian.patch +Patch: %{name}-1.25-optflags.patch +# give the build a little more time and space than upstream permits +Patch: %{name}-1.16-ulimit.patch +# drop checking of html links from default make target +Patch: %{name}-1.25-default_make_targets.patch +# do not override the debug level +Patch: %{name}-1.17-configure.patch +# Fix LTO warnings about mismatched declarations and definitions +Patch: %{name}-1.18-lto.patch BuildRequires: 4ti2 -BuildRequires: atlas-devel +BuildRequires: appstream BuildRequires: autoconf +BuildRequires: autoconf-archive BuildRequires: bison BuildRequires: boost-devel -BuildRequires: cddlib-devel BuildRequires: chrpath -%if ! 0%{?system_normaliz} BuildRequires: cmake -%endif +BuildRequires: cohomCalg +BuildRequires: csdp-tools BuildRequires: desktop-file-utils +BuildRequires: diffutils %if 0%{?fedora} BuildRequires: doxygen-latex %else BuildRequires: doxygen %endif +BuildRequires: e-antic-devel +BuildRequires: eigen3-static # etags BuildRequires: emacs BuildRequires: factory-gftables -BuildRequires: fflas-ffpack-devel BuildRequires: flex BuildRequires: gawk -BuildRequires: gc-devel BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: gdb BuildRequires: gdbm-devel +BuildRequires: gettext-devel BuildRequires: gfan +BuildRequires: git-core BuildRequires: givaro-static BuildRequires: glpk-devel -%if 0%{?gmp} -BuildRequires: gmp-devel -%else -BuildRequires: mpir-devel -%endif -BuildRequires: gtest-devel +BuildRequires: iml-devel BuildRequires: info -BuildRequires: lapack-devel -BuildRequires: libtool -BuildRequires: libatomic_ops-devel +BuildRequires: libappstream-glib +BuildRequires: libatomic BuildRequires: libfplll-static BuildRequires: libfrobby-devel -BuildRequires: libmpc-devel -BuildRequires: libnauty-devel -%if 0%{?system_normaliz} -BuildRequires: libnormaliz-devel >= 3.1.1 -%endif -BuildRequires: linbox-devel +BuildRequires: libgfan-devel +BuildRequires: libnormaliz-devel >= 3.10.4 +BuildRequires: libtool BuildRequires: lrslib-devel -BuildRequires: memtailor-devel -BuildRequires: mathic-devel -BuildRequires: mathicgb-devel +BuildRequires: lrslib-utils +BuildRequires: make +BuildRequires: mpsolve-devel +BuildRequires: msolve +BuildRequires: msolve-devel BuildRequires: nauty BuildRequires: normaliz -BuildRequires: ntl-devel +BuildRequires: ocl-icd-devel BuildRequires: pari-devel -BuildRequires: pkgconfig(bdw-gc) >= 6.2 +BuildRequires: pkgconfig(bdw-gc) >= 8.2.6 +BuildRequires: pkgconfig(cddlib) +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(fflas-ffpack) +BuildRequires: pkgconfig(flexiblas) +BuildRequires: pkgconfig(gmp) +BuildRequires: pkgconfig(gtest) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(libmariadb) +BuildRequires: pkgconfig(libnauty) BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(m4ri) +BuildRequires: pkgconfig(m4rie) +BuildRequires: pkgconfig(mathic) +BuildRequires: pkgconfig(mathicgb) +BuildRequires: pkgconfig(memtailor) +BuildRequires: pkgconfig(mpfi) BuildRequires: pkgconfig(ncurses) +BuildRequires: pkgconfig(ntl) +BuildRequires: pkgconfig(qd) +BuildRequires: pkgconfig(readline) +BuildRequires: pkgconfig(tbb) +BuildRequires: pkgconfig(tinyxml2) BuildRequires: polymake -BuildRequires: python2 -BuildRequires: qd-devel -BuildRequires: readline-devel -BuildRequires: tbb-devel +BuildRequires: python3-devel +BuildRequires: R +BuildRequires: scip +BuildRequires: texinfo BuildRequires: time -BuildRequires: xemacs +BuildRequires: TOPCOM +BuildRequires: transfig +%ifarch %{valgrind_arches} +BuildRequires: valgrind +%endif Requires: 4ti2 +Requires: cohomCalg +Requires: csdp-tools Requires: emacs-filesystem Requires: factory-gftables Requires: gfan Requires: hicolor-icon-theme +Requires: lrslib-utils Requires: nauty -Requires: xemacs-filesystem +Requires: normaliz +Requires: TOPCOM + +# M2-help +Requires: xdg-utils + +Recommends: mathicgb +Recommends: msolve +Recommends: scip %if 0%{?common} Requires: %{name}-common = %{version}-%{release} @@ -205,10 +350,11 @@ Provides: Macaulay2-emacs = %{version}-%{release} Provides: macaulay2 = %{version}-%{release} -# M2-help -Requires: xdg-utils -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info +# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +# Macaulay2 takes more than 14 hours to build on ppc64le, more than twice as +# long as the x86_64 build, and it is doubtful that anyone will ever use it on +# that platform anyway. +ExcludeArch: %{ix86} %{power64} # Do not advertise the bundled mpfr %global __provides_exclude libmpfr.so* @@ -216,8 +362,8 @@ Requires(preun): /sbin/install-info %description Macaulay 2 is a new software system devoted to supporting research in -algebraic geometry and commutative algebra written by Daniel R. Grayson -and Michael E. Stillman +algebraic geometry and commutative algebra written by Daniel R. Grayson and +Michael E. Stillman. %package common Summary: Common files for %{name} @@ -228,114 +374,124 @@ BuildArch: noarch %prep -%setup -q -n M2-version-%{version}/M2 +%setup -q -n M2-release-%{version}/M2 +%setup -q -n M2-release-%{version}/M2 -T -D -a 10 +tar -C Macaulay2/editors/emacs --strip-components=1 -xzf %{SOURCE1} install -p -m755 %{SOURCE20} ./etags +## TODO: Remove this when Fedora moves to normaliz 3.11.0 +sed -i 's/3\.11\.0/3.10.5/' libraries/normaliz/Makefile.in + ## bundled code -%if ! 0%{?system_normaliz} +%if ! %system_normaliz install -p -m644 %{SOURCE100} BUILD/tarfiles/ -sed -i '/PROGRAMS =/aPATCHFILE = @abs_srcdir@/patch-$(VERSION)' \ - libraries/normaliz/Makefile.in %endif install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} BUILD/tarfiles/ +install -p -m644 %{SOURCE104} BUILD/tarfiles/v%{linboxver}.tar.gz sed -i 's/\(VERSION = \).*/\1%{mpfrver}/' libraries/mpfr/Makefile.in +sed -e 's/\(VERSION = \).*/\1%{linboxver}/' \ + -e 's,--with-gmp.*,--without-archnative GIVARO_CFLAGS=-I$(LIBRARIESDIR) GIVARO_LIBS="%{_libdir}/libgivaro.a",' \ + -i libraries/linbox/Makefile.in ## patches for bundled code -cp -p %{SOURCE200} libraries/flint/patch-2.5.2 -sed -e 's/# PATCHFILE/PATCHFILE/' \ - -e 's,--with-blas,&=%{_includedir}/atlas --with-ntl,' \ - -e '/LICENSEFILES/aLDFLAGS += -L%{_libdir}/atlas' \ +sed -e 's,--disable-shared,& --disable-arch --with-blas-include=%{_includedir}/flexiblas --with-ntl-include=%{_includedir}/NTL,' \ + -e 's/3\.2\.1/%{flintver}/' \ + -e 's/\(LICENSEFILES = \).*/\1COPYING COPYING.LESSER/' \ + -e 's/-pedantic-errors/& -fno-strict-aliasing/' \ + -e "s,PRECONFIGURE.*,& \&\& sed -i 's/openblas/flexiblas/' configure," \ -i libraries/flint/Makefile.in -cp -p %{SOURCE201} libraries/factory/patch-4.0.2 ## fake library tarballs -%if 0%{?system_normaliz} -install -p -m644 %{SOURCE300} BUILD/tarfiles/ -%endif -install -p -m644 %{SOURCE301} %{SOURCE302} %{SOURCE303} %{SOURCE304} \ - %{SOURCE305} BUILD/tarfiles/ -sed -i '/PRECONFIGURE/d' libraries/4ti2/Makefile.in -sed -i '/STRIPFILES/,/^$/d' libraries/4ti2/Makefile.in -sed -i '/PATCHFILE/d;/STRIPFILES/d' libraries/gfan/Makefile.in -sed -i '/STRIPFILES/d' libraries/normaliz/Makefile.in +install -p -m644 %{SOURCE300} %{SOURCE301} %{SOURCE302} %{SOURCE303} \ + %{SOURCE304} %{SOURCE305} %{SOURCE306} %{SOURCE307} %{SOURCE308} \ + %{SOURCE309} %{SOURCE310} %{SOURCE311} %{SOURCE312} %{SOURCE313} \ + BUILD/tarfiles/ +sed -i '/PRECONFIGURE/d' libraries/{4ti2,cddlib,givaro,normaliz,topcom}/Makefile.in +sed -i '/PATCHFILE/d' libraries/{csdp,frobby,gfan,givaro,mpsolve,normaliz,topcom}/Makefile.in +sed -i '/INSTALLCMD/,/stdinc/d' libraries/frobby/Makefile.in +sed -i 's,install \(lib.*\.a\),ln -s %{_libdir}/\1,' libraries/lapack/Makefile.in -# fake submodule tarballs -tar -C submodules -xJf %{SOURCE400} -tar -C submodules -xJf %{SOURCE401} -tar -C submodules -xJf %{SOURCE402} +## fake givaro submodule +tar -C submodules/givaro --strip-components=1 -xzf %{SOURCE306} -# The fake submodules don't build static archives -sed -i 's/\(libm[[:alpha:]]*\)\.a/\1.so/' Macaulay2/bin/Makefile.in +## flint submodule +tar -C submodules/flint --strip-components=1 -xzf %{SOURCE102} -%patch0 -p1 -b .optflags -%patch1 -p1 -b .xdg_open -%patch2 -p1 -b .verbose_build -%patch3 -p1 -b .nauty -%patch4 -p1 -b .default_make_targets -%patch5 -p1 -b .no_gftables -%patch6 -p1 -b .no_Werror -%if 0%{?gmp} -%patch7 -p1 -b .mpir -%endif -# factory-gftables symlink -mkdir -p BUILD/%{_target_platform}/usr-dist/common/share/Macaulay2/Core -ln -s %{_datadir}/factory \ - BUILD/%{_target_platform}/usr-dist/common/share/Macaulay2/Core/factory -%patch8 -p1 -b .gtest -%patch9 -p1 -b .givaro -%patch10 -p1 -b .pari -%patch11 -p1 -b .pthreads -%patch12 -p1 -b .endian +%autopatch -p1 + +%conf # repeatable builds: inject a node name sed -i 's,`uname -n`,build.fedoraproject.org,' configure.ac -# fix a typo in the 1.9.2 configure script -sed -i 's/\(\$FFLAS_FFPACK_CPPFLAGS\)=/\1/' configure.ac - -# the 128 bit type needed by givaro is only defined in GNU extension mode -sed -i 's/-std=c++11/-std=gnu++11/' Macaulay2/{d,e}/Makefile.in -sed -i 's/-std=c++0x/-std=gnu++11/' Macaulay2/e/{f4,unit-tests}/Makefile.in - # gdb is used during the build; let it autoload some files if [ "$HOME" = "/builddir" ]; then echo "set auto-load safe-path /" > /builddir/.gdbinit fi -# fix executable bits -chmod a-x Macaulay2/packages/NumericalAlgebraicGeometry/hom4ps2_in_out +# Use, but don't build, cddlib, fflas-ffpack, and gc. Use the static versions +# of libfplll and givaro. Link with flexiblas instead of the reference blas +# and lapack. Fix typos. +sed -e 's/BUILD_cddlib=yes/BUILD_cddlib=no/' \ + -e 's/BUILD_gc=yes/BUILD_gc=no/' \ + -e 's/BUILD_fflas_ffpack=yes/BUILD_fflas_ffpack=no/' \ + -e 's,-lfplll,%{_libdir}/libfplll.a -lqd,' \ + -e 's,`\$PKG_CONFIG --libs givaro`,%{_libdir}/libgivaro.a,' \ + -e 's,-lgivaro,%{_libdir}/libgivaro.a,' \ + -e 's,-lrefblas,-lflexiblas,' \ + -e 's,-llapack,-lflexiblas,' \ + -e 's,\$added_fclibs != yes,"$added_fclibs" != yes,' \ + -i configure.ac -# autofoo config love, since we're not using %%configure (yet) -# see also http://bugzilla.redhat.com/926110 -for i in $(find . -name config.guess -o -name config.sub) ; do - [ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; -done +# Do not try to download tarballs +sed -i '/^fetch: download-enabled/d' libraries/Makefile.library.in + +# Do not try to fetch sources with git +sed -i 's/^\(fetch:\) update-submodule/\1/' libraries/Makefile.library.in + +# All examples should produce expected results on x86_64. Other platforms +# sometimes encounter problems; e.g., due to differences in rounding error of +# floating point numbers. +%ifnarch %{x86_64} +sed -e '/^IgnoreExampleErrors/s/false/true/' \ + -e '/^CheckDocumentation/s/true/false/' \ + -i Macaulay2/packages/Makefile.in +%endif # (re)generate configure -[ -f configure -a -f include/config.h ] || make +autoreconf -fi . %build +# Let the configure script find lrslib utilities +module load lrslib-%{_arch} + ## configure macro currently broken, due to some odd prefix-checks. probably fixable -- Rex mkdir -p BUILD/%{_target_platform} -pushd BUILD/%{_target_platform} -CPPFLAGS="-I%{_includedir}/frobby" \ -CFLAGS="%{optflags} -fsigned-char" \ -CXXFLAGS="%{optflags} -fsigned-char" \ -LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS -L%{_libdir}/atlas" \ -LIBS="-lsatlas" \ +cd BUILD/%{_target_platform} +CPPFLAGS="$CPPFLAGS -I%{_includedir}/cddlib -I%{_includedir}/frobby" \ +CFLAGS='%{build_cflags} -fsigned-char' \ +CXXFLAGS='%{build_cflags} -fsigned-char' \ +LIBS="-lflexiblas" \ ../../configure \ --build=%{_build} \ --host=%{_host} \ --with-issue=%{ISSUE} \ --prefix=%{_prefix} \ - --disable-dumpdata \ --enable-shared \ - --disable-fc-lib-ldflags \ --disable-strip \ - --with-unbuilt-programs="cddplus nauty" -popd + --enable-linbox \ + --with-blas=flexiblas \ + --with-lapack=flexiblas \ + --with-system-libs \ + --with-unbuilt-programs="cddplus nauty" \ + --enable-build-libraries="mpfr flint factory lapack fplll givaro linbox" + # The list of libraries and submodules above should include only those that: + # 1. We bundle (mpfr, flint, factory, and linbox) + # 2. We sneakily substitute one library for another (lapack -> flexiblas) + # 3. Have to be linked with the static library (fplll and givaro) +cd - # link with static libraries when global constructors run prior to GC # initialization. Otherwise, unloading the shared object causes a crash. @@ -349,98 +505,76 @@ for fil in $(grep -Erl -e '-lfplll|-lgivaro' .); do rm -f $fil.orig done -make -C BUILD/%{_target_platform} Verbose=true IgnoreExampleErrors=true +# Do not try to checkout submodules with git +mkdir -p BUILD/%{_target_platform}/libraries/{flint,givaro} +touch BUILD/%{_target_platform}/libraries/{flint,givaro}/.submodule-updated + +# Build +make -C BUILD/%{_target_platform} VERBOSE=true Verbose=true IgnoreExampleErrors=true # log errors find BUILD/%{_target_platform}/ -name *.errors -execdir echo {} \; -execdir cat {} \; %install -make install -C BUILD/%{_target_platform} DESTDIR=%{buildroot} IgnoreExampleErrors=true +%make_install -C BUILD/%{_target_platform} IgnoreExampleErrors=true -# link, don't copy, the normaliz binary -normaliz_bin=$(ls -1 %{buildroot}%{_libexecdir}/Macaulay2/*Linux*/normaliz) -rm -f $normaliz_bin -ln -s %{_bindir}/normaliz $normaliz_bin +# link, don't copy, the binaries +mbindir=%{buildroot}%{_libexecdir}/Macaulay2/bin +for fil in checkregularity chiro2circuits chiro2cocircuits cohomcalg csdp lrs \ + normaliz points2allfinetriangs points2alltriangs points2chiro \ + points2finetriang points2finetriangs points2flips points2nallfinetriangs \ + points2nalltriangs points2nfinetriangs points2nflips points2ntriangs \ + points2triangs points2volume; do + rm -f $mbindir/$fil + ln -s %{_bindir}/$fil $mbindir/$fil +done + +# unbundle factory-gftables +rm -fr %{buildroot}%{_datadir}/Macaulay2/Core/factory +ln -s ../../factory %{buildroot}%{_datadir}/Macaulay2/Core # app img -install -p -m644 -D %{SOURCE10} \ - %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/Macaulay2.png +for sz in 64 72 96 128 192 256 512; do + sz2=${sz}x${sz} + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/$sz2/apps + install -p -m644 icons/NinePlanets-${sz2}.png \ + %{buildroot}%{_datadir}/icons/hicolor/$sz2/apps/%{name}.png +done desktop-file-install --vendor="" \ --dir=%{buildroot}%{_datadir}/applications \ %{SOURCE11} -# Byte compile the (X)Emacs files, and move the documentation -mkdir -p %{buildroot}%{_xemacs_sitelispdir} -cp -p %{buildroot}%{_emacs_sitelispdir}/*.el %{buildroot}%{_xemacs_sitelispdir} -pushd %{buildroot}%{_emacs_sitelispdir} -mv M2-emacs* M2-README %{buildroot}%{_pkgdocdir} +mkdir -p %{buildroot}%{_metainfodir} +install -pm 644 %{SOURCE12} %{buildroot}%{_metainfodir} +# Still required by guidelines for now +# (https://pagure.io/packaging-committee/issue/1053): +appstream-util validate-relax --nonet \ + %{buildroot}%{_metainfodir}/com.macaulay2.macaulay2.metainfo.xml +# Matches what gnome-software and others use: +appstreamcli validate --no-net --explain \ + %{buildroot}%{_metainfodir}/com.macaulay2.macaulay2.metainfo.xml + +# Byte compile the Emacs files, and move the documentation +cd %{buildroot}%{_emacs_sitelispdir}/macaulay2 +mv M2-emacs* %{buildroot}%{_pkgdocdir} +mv README.md %{buildroot}%{_pkgdocdir}/README-emacs.md %{_emacs_bytecompile} *.el -cd %{buildroot}%{_xemacs_sitelispdir} -%{_xemacs_bytecompile} *.el -popd +cd - ## unpackaged files # info dir rm -fv %{buildroot}%{_infodir}/dir -# Empty files - indicating test passes -rm -fv %{buildroot}%{_datadir}/%{name}/Macaulay2Doc/basictests/*.okay - -# Help the debuginfo generator -mkdir -p BUILD/%{_target_platform}/Macaulay2/src/kernel/none -ln -s %{_includedir}/pari/mpinl.h \ - BUILD/%{_target_platform}/Macaulay2/src/kernel/none/level1.h %check -CFLAGS="%{optflags}" \ -CXXFLAGS="%{optflags}" \ -LDFLAGS="$RPM_LD_FLAGS" \ -time make -k check -C BUILD/%{_target_platform} Verbose=true ||: +# The test suite has grown to the point where it takes many hours to run. +# Just run the most basic tests. +make check -C BUILD/%{_target_platform}/Macaulay2/e +make check -C BUILD/%{_target_platform}/Macaulay2/bin -# This script deals with accidental replacement of the factory symlink with -# a directory. Once F26 has reached EOL, this can be removed. -%pretrans -p -path = "%{_datadir}/Macaulay2/Core/factory" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - -%post -touch --no-create %{_datadir}/icons/hicolor ||: -for info_file in %{INFO_FILES} -do - /sbin/install-info --quiet %{_infodir}/${info_file}.info %{_infodir}/dir ||: -done - -%preun -if [ $1 -eq 0 ]; then - for info_file in %{INFO_FILES} - do - /sbin/install-info --delete --quiet %{_infodir}/${info_file}.info %{_infodir}/dir 2> /dev/null ||: - done -fi - -%postun -if [ $1 -eq 0 ] ; then -touch --no-create %{_datadir}/icons/hicolor ||: -gtk-update-icon-cache -q %{_datadir}/icons/hicolor > /dev/null 2>&1 ||: -fi - -%posttrans -gtk-update-icon-cache -q %{_datadir}/icons/hicolor > /dev/null 2>&1 ||: - %files %{_bindir}/M2 %{_bindir}/M2-binary @@ -451,447 +585,14 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor > /dev/null 2>&1 ||: %files common %endif %{_datadir}/Macaulay2/ -%{_datadir}/applications/*Macaulay2.desktop +%{_datadir}/applications/com.macaulay2.macaulay2.desktop %{_datadir}/icons/hicolor/*/*/* +%{_metainfodir}/com.macaulay2.macaulay2.metainfo.xml %{_docdir}/Macaulay2/ %{_infodir}/*.info* %{_mandir}/man1/* -%{_emacs_sitelispdir}/* -%{_xemacs_sitelispdir}/* +%{_emacs_sitelispdir}/macaulay2/ %changelog -* Wed Oct 11 2017 Jerry James - 1.9.2-5 -- Link rather than copy the normaliz binary -- Fix accidental replacement of factory symlink with a directory - -* Sat Sep 30 2017 Jerry James - 1.9.2-4 -- Rebuild for ntl 10.5.0 - -* Wed Aug 02 2017 Fedora Release Engineering - 1.9.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Apr 5 2017 Jerry James - 1.9.2-1 -- Macaulay2-1.9.2 -- Drop upstreamed patches: -disable_broken_debug_functions, -gc, -rpath, - -rh_configure_hack -- Add patches: -givaro, -gtest, -pari -- Create fake library and submodule tarballs to fool the build system into - building in support for system libraries -- Bundle mpfr, flint, and factory to avoid garbage collector crashes -- Replace the (X)Emacs triggers with (x)emacs-filesystem dependencies -- New URLs - -* Fri Feb 10 2017 Fedora Release Engineering - 1.6-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Jan 12 2017 Igor Gnatenko - 1.6-33 -- Rebuild for readline 7.x - -* Thu Oct 20 2016 Jerry James - 1.6-32 -- Rebuild for ntl 10.1.0 - -* Mon Sep 5 2016 Jerry James - 1.6-31 -- Rebuild for ntl 9.11.0 - -* Fri Aug 12 2016 Jerry James - 1.6-30 -- Rebuild for fflas-ffpack 2.2.2, givaro 4.0.2, and linbox 1.4.2 - -* Mon Jul 25 2016 Jerry James - 1.6-29 -- Rebuild for ntl 9.10.0 - -* Thu Jun 2 2016 Jerry James - 1.6-28 -- Rebuild for ntl 9.9.1 - -* Fri Apr 29 2016 Jerry James - 1.6-27 -- Rebuild for ntl 9.8.0 -- Nauty is now available -- Drop -gcc-template-bug patch; gcc bug has been fixed - -* Sat Mar 19 2016 Jerry James - 1.6-26 -- Rebuild for ntl 9.7.0 - -* Sat Feb 20 2016 Jerry James - 1.6-25 -- Rebuild for ntl 9.6.4 -- Add -gcc-template-bug patch to work around gcc bug (bz 1307282) - -* Wed Feb 03 2016 Fedora Release Engineering - 1.6-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 14 2016 Jonathan Wakely - 1.6-23 -- Rebuilt for Boost 1.60 - -* Fri Dec 4 2015 Jerry James - 1.6-22 -- Rebuild for ntl 9.6.2 -- Add python2 BR for the tests - -* Sat Oct 17 2015 Kalev Lember - 1.6-21 -- Rebuilt for libntl soname bump - -* Fri Oct 16 2015 Jerry James - 1.6-20 -- Rebuild for ntl 9.4.0 - -* Tue Sep 29 2015 Rex Dieter 1.6-19 -- refresh config.guess/config.sub hack, fix FTBFS on aarch64 - -* Sat Sep 19 2015 Jerry James - 1.6-18 -- Rebuild for flint 2.5.2 and ntl 9.3.0 - -* Thu Aug 27 2015 Jonathan Wakely - 1.6-17 -- Rebuilt for Boost 1.59 - -* Wed Jul 29 2015 Fedora Release Engineering - 1.6-16 -- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 - -* Wed Jul 22 2015 David Tardon - 1.6-15 -- rebuild for Boost 1.58 - -* Tue Jun 16 2015 Fedora Release Engineering - 1.6-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon May 18 2015 Jerry James - 1.6-13 -- Rebuild for ntl 9.1.1 and cddlib-094h - -* Fri May 15 2015 Jerry James - 1.6-12 -- Bump and rebuild - -* Sat May 9 2015 Jerry James - 1.6-11 -- Rebuild for ntl 9.1.0 - -* Mon Feb 2 2015 Jerry James - 1.6-10 -- Rebuild for ntl 8.1.2 - -* Mon Jan 26 2015 Petr Machata - 1.6-9 -- Rebuild for boost 1.57.0 - -* Thu Jan 15 2015 Jerry James - 1.6-8 -- Rebuild for ntl 8.1.0 -- Fix the desktop file name - -* Wed Oct 29 2014 Jerry James - 1.6-7 -- Rebuild for ntl 6.2.1 -- Revert Apr 8 HTML creation timeout, now handled upstream -- Revert use of -common subpkg; various arches timeout differently - -* Wed Sep 24 2014 Rex Dieter 1.6-6 -- enable -common subpkg (to be more compatible with upstream packaging) - -* Fri Aug 15 2014 Fedora Release Engineering - 1.6-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Jun 25 2014 Rex Dieter 1.6-4 -- restore --build/--host configure options lost in 1.6 update, should help arm - -* Fri Jun 06 2014 Fedora Release Engineering - 1.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri May 23 2014 Petr Machata - 1.6-2 -- Rebuild for boost 1.55.0 - -* Mon May 19 2014 Rex Dieter 1.6-1 -- Macaulay2-1.6 (#1074594) -- ExcludeArch: %%arm (#1099598) - -* Wed May 14 2014 Rex Dieter 1.5-8 -- rebuild (gc) - -* Tue Apr 8 2014 Jerry James - 1.5-7 -- Build for all arches -- Increase HTML creation timeouts for slower processors, such as ARM -- Add --build and --host invocations to configure to fix mismatched ARM names - -* Wed Apr 2 2014 Jerry James - 1.5-6 -- Rebuild for ntl 6.1.0 - -* Fri Mar 21 2014 Jerry James - 1.5-5 -- The normaliz patch was used; bring it back -- Complete the removal of the system_normaliz variable -- Link with RPM_LD_FLAGS -- Due to use of a static library, explicitly link with -lflint - -* Fri Jan 24 2014 Rex Dieter - 1.5-5 -- drop unused patches (4ti2, normalize) - -* Tue Jan 21 2014 Rex Dieter - 1.5-4 -- utilize %%_libexecdir/Macaulay2/... for helper/system binaries -- libdir: %%_libdir => %%_prefix/lib -- -common subpkg option (not used yet) - -* Tue Jan 14 2014 Jerry James - 1.5-3 -- Update normaliz interface for normaliz 2.8 and later - -* Tue Jul 30 2013 Petr Machata - 1.5-2 -- Rebuild for boost 1.54.0 - -* Thu May 23 2013 Rex Dieter 1.5-1 -- Release: 1 (using non-snapshot release tarball now) - -* Tue May 21 2013 Rex Dieter - 1.5-0.7.20130401 -- update to 20130401 r15955 snapshot release -- (Build)Requires: factory-gftables (see bug #965655) -- refresh INFO_FILES content - -* Mon May 6 2013 Jerry James - 1.5-0.6.20130214 -- Rebuild for m4ri 20130416 - -* Fri Feb 15 2013 Rex Dieter 1.5-0.5.20130214 -- r15838 (20130214 snapshot) - -* Wed Feb 13 2013 Rex Dieter 1.5-0.4.20120807 -- BR: doxygen-latex - -* Wed Feb 13 2013 Fedora Release Engineering - 1.5-0.3.20120807 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Aug 07 2012 Rex Dieter 1.5-0.2.20120807 -- 1.5 20120807 r15022 snapshot - -* Thu Jul 19 2012 Rex Dieter 1.4-9 -- rebuild against (Singular's) libfac/factory 3.1.3 - -* Wed Jul 18 2012 Fedora Release Engineering - 1.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Jul 03 2012 Rex Dieter 1.4-7 -- rebuild (pari) - -* Sun Jul 1 2012 pcpa - 1.4-6 -- Link to gmp not mpir. -- Rebuild with pari 2.5. - -* Wed May 30 2012 Rex Dieter -- 1.4-5 -- License: GPLv2 or GPLv3 (#821036) -- pkgconfig-style deps - -* Tue Feb 28 2012 Fedora Release Engineering - 1.4-4 -- Rebuilt for c++ ABI breakage - -* Thu Jan 12 2012 Fedora Release Engineering - 1.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Fri Sep 30 2011 Rex Dieter 1.4-2 -- rebuild (gdbm) - -* Thu May 26 2011 Rex Dieter 1.4-1 -- 1.4 - -* Thu May 26 2011 Rex Dieter 1.3.1-9 -- Typo in INFO_FILES (#708086) - -* Mon Feb 07 2011 Fedora Release Engineering - 1.3.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Jun 30 2010 Rex Dieter - 1.3.1-7 -- BR: cddlib-static (#609698) - -* Tue Mar 16 2010 Rex Dieter - 1.3.1-6 -- rebuild (factory/libfac) - -* Tue Mar 16 2010 Mark Chappell - 1.3.1-5 -- Run install-info on all of the .info files we installed -- Re-enable the now functional ppc64 build - -* Wed Mar 10 2010 Mark Chappell - 1.3.1-4 -- Add in missing Requires runtime dependancies - -* Wed Mar 10 2010 Mark Chappell - 1.3.1-3 -- GPLv3/GPLv2 conflict, use compat-readline5 - bz#511299 - -* Tue Mar 09 2010 Mark Chappell - 1.3.1-2 -- Replace DSO patch with one accepted upstream -- Completely disable static linking - -* Wed Feb 24 2010 Mark Chappell - 1.3.1-1 -- Upstream version increment -- Remove unused patch -- Remove patch applied upstream -- Ensure consistent use of buildroot macro instead of RPM_BUILD_ROOT -- Fix implicit linking DSO failure -- Don't package empty .okay files which simply indicate test passes - -* Tue Dec 8 2009 Michael Schwendt - 1.2-7 -- Explicitly BR factory-static and libfac-static in accordance with the - Packaging Guidelines (factory-devel/libfac-devel are still static-only). - -* Tue Sep 22 2009 Rex Dieter - 1.2-6 -- fixup/optimize scriplets - -* Fri Jul 24 2009 Fedora Release Engineering - 1.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Fri Apr 17 2009 Rex Dieter - 1.2-4 -- rebuild for ntl-devel (shared) - -* Wed Feb 25 2009 Rex Dieter - 1.2-3 -- BR: libfac-devel,factory-devel >= 3.1 -- restore ExcludeArch: ppc64 (#253847) - -* Mon Feb 23 2009 Fedora Release Engineering - 1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Feb 13 2009 Rex Dieter 1.2-1 -- Macaulay-1.2 - -* Thu Oct 02 2008 Rex Dieter 1.1-2 -- respin (factory/libfac) - -* Tue Mar 11 2008 Rex Dieter 1.1-1 -- Macaulay2-1.1 -- Obsoletes/Provides: Macaulay2-common (upstream compatibility) -- re-enable ppc64 (#253847) -- IgnoreExampleErrors=true - -* Tue Feb 19 2008 Fedora Release Engineering - 0.9.95-10 -- Autorebuild for GCC 4.3 - -* Tue Dec 18 2007 Rex Dieter 0.9.95-9 -- Provides: macaulay2 -- respin against new(er) factory,libfac,ntl - -* Wed Aug 22 2007 Rex Dieter 0.9.95-8 -- ExcludeArch: ppc64 (#253847) - -* Tue Aug 21 2007 Rex Dieter 0.9.95-7 -- BR: gawk - -* Tue Aug 21 2007 Rex Dieter 0.9.95-6 -- gc-7.0 patches - -* Sat Aug 11 2007 Rex Dieter 0.9.95-5 -- License: GPLv2 - -* Mon Jan 15 2007 Rex Dieter 0.9.95-4 -- Ob/Pr: Macaulay2-doc, not -docs (#222609) - -* Sat Jan 06 2007 Rex Dieter 0.9.95-3 -- re-enable ppc build (#201739) - -* Tue Jan 02 2007 Rex Dieter 0.9.95-2 -- ./configure --disable-strip, for usable -debuginfo (#220893) - -* Mon Dec 18 2006 Rex Dieter 0.9.95-1 -- Macaulay2-0.9.95 - -* Wed Nov 22 2006 Rex Dieter 0.9.20-0.5.20060808svn -- .desktop Categories: -Application,Scientific,X-Fedora +ConsoleOnly - -* Tue Aug 29 2006 Rex Dieter 0.9.20-0.4.20060808svn -- fc6 respin - -* Tue Aug 08 2006 Rex Dieter 0.9.20-0.3.20060808svn -- ExcludeArch: ppc (bug #201739) -- %ghost (x)emacs site-lisp bits (using hints from fedora-rpmdevtools) - -* Tue Aug 08 2006 Rex Dieter 0.9.20-0.2.20060808svn -- 20060808 snapshot - -* Mon Jul 24 2006 Rex Dieter 0.9.20-0.1.20060724svn -- 2006-07-15-0.9.20 - -* Wed Jul 12 2006 Rex Dieter 0.9.10-0.6.20060710svn -- 0.9.10 - --* Mon Jul 10 2006 Rex Dieter 0.9.8-0.6.cvs20060327 -- BR: ncurses-devel - -* Fri May 05 2006 Rex Dieter 0.9.8-0.4.cvs20060327 -- 64bit patch (#188709) - -* Wed Apr 12 2006 Rex Dieter 0.9.8-0.3.cvs20060327 -- omit x86_64, for now (#188709) - -* Tue Apr 11 2006 Rex Dieter 0.9.8-0.2.cvs20060327 -- 0.9.8 (cvs, no tarball yet) -- drop -doc subpkg (in main now) - -* Mon Apr 10 2006 Rex Dieter 0.9.2-22 -- fix icon location (#188384) - -* Thu Mar 30 2006 Rex Dieter 0.9.2-21 -- really disable %%check (fails on fc5+ anyway) - -* Fri Jan 20 2006 Rex Dieter 0.9.2-20 -- .desktop: drop Category=Development -- app icon: follow icon spec -- drop -emacs subpkg (in main now) - -* Fri Sep 16 2005 Rex Dieter - 0.9.2-19 -- disable 'make check' (fc5/buildsystem error), besides, we get a - good consistency check when M2 builds all the doc examples. - -* Wed Sep 14 2005 Rex Dieter - 0.9.2-18 -- rebuild against gc-6.6 - -* Thu May 26 2005 Michael Schwendt - 0.9.2-17 -- rebuild (build system x86_64 repository access failed for 0.9.2-16) -- fix build for GCC 4 (#156223) - -* Thu Apr 7 2005 Michael Schwendt - 0.9.2-15 -- rebuilt - -* Mon Feb 21 2005 Rex Dieter 0:0.9.2-14 -- x86_64 issues (%%_libdir -> %%_prefix/lib ) -- remove desktop_file macro usage - -* Sat Oct 23 2004 Rex Dieter 0:0.9.2-0.fdr.13 -- BR: time (again) -- omit m2_dir/setup (not needed/wanted) - -* Mon Oct 18 2004 Rex Dieter 0:0.9.2-0.fdr.12 -- actually *apply* gcc34 patch this time. - -* Mon Oct 18 2004 Rex Dieter 0:0.9.2-0.fdr.11 -- gcc34 patch - -* Fri Oct 1 2004 Rex Dieter 0:0.9.2-0.fdr.10 -- explicit BR versions for gc-devel, libfac-devel, factory-devel - -* Tue Aug 10 2004 Rex Dieter 0:0.9.2-0.fdr.9 -- BR: time - -* Thu Jun 03 2004 Rex Dieter 0:0.9.2-0.fdr.8 -- .desktop: remove Terminaloptions to be desktop agnostic -- .desktop: Categories += Education;Math;Development (Devel only - added so it shows *somewhere* in gnome menus) - -* Tue Jun 01 2004 Rex Dieter 0:0.9.2-0.fdr.7 -- disable default 'make check' (util/screen fails on fc2) - -* Tue Mar 30 2004 Rex Dieter 0:0.9.2-0.fdr.6 -- desktop-file is now on by default -- use separate (not inline) .desktop file - -* Mon Jan 05 2004 Rex Dieter 0:0.9.2-0.fdr.5 -- fix BuildRequires: desktop-file-utils to satisfy rpmlint. -- put emacs files in emacs subdir too (to follow supplied docs) -- *really* nuke .cvsignore files -- fix desktop-file-install --add-cateagories usage - -* Tue Dec 23 2003 Rex Dieter 0:0.9.2-0.fdr.4 -- -emacs: use %%defattr -- -emacs: fix M2-init.el - -* Mon Nov 17 2003 Rex Dieter 0:0.9.2-0.fdr.3 -- update/simplify macros -- desktop_file support. -- emacs subpkg. -- relax Req's on subpkgs to just: Requires: %%name = %%epoch:%%version -- use non-versioned BuildRequires -- remove redundant BuildRequires: gmp-devel -- remove gc patch, no longer needed. -- delete/not-package a bunch of unuseful files. -- use --disable-strip when debug_package is in use. - -* Thu Nov 13 2003 Rex Dieter 0:0.9.2-0.fdr.2 -- no longer explictly Requires: emacs - -* Wed Nov 05 2003 Rex Dieter 0:0.9.2-0.fdr.1 -- missing Epoch: 0 - -* Fri Sep 12 2003 Rex Dieter 0.9.2-0.fdr.0 -- fedora'ize - +%autochangelog diff --git a/README.md b/README.md new file mode 100644 index 0000000..7d3e139 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Macaulay2 + +[Macaulay2](http://macaulay2.com/) is a system for computing in commutative +algebra, algebraic geometry and related fields. The system was originally +written by Dan Grayson and Mike Stillman. David Eisenbud joined the project a +number of years ago, and many users are writing packages for the system, and +some are contributing source code. diff --git a/changelog b/changelog new file mode 100644 index 0000000..f52a894 --- /dev/null +++ b/changelog @@ -0,0 +1,682 @@ +* Mon Oct 13 2025 Jerry James - 1.25.06-4 +- Drop unused atomic_ops dependency + +* Wed Oct 08 2025 Terje Rosten - 1.25.06-4 +- Move to C++17 for gtest 1.17.0 + +* Sat Aug 23 2025 Benjamin A. Beasley - 1.25.06-3 +- Rebuilt for tinyxml2 11.0.0 + +* Wed Aug 20 2025 Jerry James - 1.25.06-2 +- Rebuild for tbb 2022.2.0 + +* Fri Aug 08 2025 Jerry James - 1.25.06-1 +- Version 1.25.06 + +* Wed Jul 23 2025 Fedora Release Engineering - 1.25.05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jun 13 2025 Jerry James - 1.25.05-4 +- Unbundle factory-gftables (bz 2372455) + +* Wed Jun 11 2025 Jerry James - 1.25.05-3 +- Rebuild for normaliz 3.10.5 + +* Tue Jun 03 2025 Python Maint - 1.25.05-2 +- Rebuilt for Python 3.14 + +* Thu May 29 2025 Jerry James - 1.25.05-1 +- Version 1.25.05 +- Drop upstreamed patches: no_gftables, fplll, codim-option, rightarrow +- Add patch to avoid the deprecated strstream C++ header +- Unbundle memtailor, mathic, and mathicgb + +* Thu Feb 20 2025 Jerry James - 1.24.11-1 +- Version 1.24.11 +- Drop upstreamed vector overrun patch +- Add patch to fix mismatched options to codim +- BR e-antic-devel +- BR and Recommend msolve +- Move configuration steps to %%conf +- Remove pessimization on s390x + +* Thu Jan 16 2025 Fedora Release Engineering - 1.24.05-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Nov 22 2024 Benjamin A. Beasley - 1.24.05-5 +- Rebuild for libfplll 5.5.0 + +* Mon Sep 23 2024 Jerry James - 1.24.05-4 +- Rebuild for nauty 2.8.9 + +* Sat Aug 24 2024 Jerry James - 1.24.05-3 +- Rebuild for Singular 4.4.0p4 + +* Wed Jul 17 2024 Fedora Release Engineering - 1.24.05-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 19 2024 Jerry James - 1.24.05-1 +- Version 1.24.05 + +* Fri Feb 23 2024 Jerry James - 1.22-6 +- Build the polymake and scip examples +- Recommend scip +- Disable ppc64le build until segfaults can be diagnosed + +* Mon Jan 22 2024 Fedora Release Engineering - 1.22-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.22-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Jonathan Wakely - 1.22-3 +- Rebuilt for Boost 1.83 + +* Fri Nov 10 2023 Benjamin A. Beasley - 1.22-2 +- Correct appstreamcli invocation (--nonet no longer works) +- Ask appstreamcli to explain validation findings +- Also validate AppStream XML with appstream-util, required by guidelines + +* Thu Oct 26 2023 Jerry James - 1.22-1 +- Version 1.22 +- Drop upstreamed Macaulay2-configure-c99.patch +- Build against mariadb-connector-c instead of the server package + +* Wed Jul 19 2023 Fedora Release Engineering - 1.21-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Apr 15 2023 Florian Weimer - 1.21-5 +- Port configure script to C99 + +* Mon Feb 20 2023 Jonathan Wakely - 1.21-4 +- Rebuilt for Boost 1.81 + +* Wed Jan 18 2023 Fedora Release Engineering - 1.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jan 12 2023 Jerry James - 1.21-2 +- Rebuild for libfplll 5.4.4 + +* Thu Dec 22 2022 Jerry James - 1.21-1 +- Version 1.21 +- Drop upstreamed patch for crash when building documentation +- Use rdns names for the desktop and metainfo files + +* Tue Dec 20 2022 Jerry James - 1.20-2 +- Convert License tag to SPDX + +* Sun Sep 25 2022 Rich Mattes - 1.20-2 +- Rebuild for tinyxml2-9.0.0 + +* Thu Aug 4 2022 Jerry James - 1.20-1 +- Version 1.20 + +* Wed Jul 20 2022 Fedora Release Engineering - 1.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed May 04 2022 Thomas Rodgers - 1.19.1-2 +- Rebuilt for Boost 1.78 + +* Mon Feb 21 2022 Jerry James - 1.19.1-1 +- Version 1.19.1 +- Disable LTO to work around segfaults + +* Wed Jan 19 2022 Fedora Release Engineering - 1.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Nov 24 2021 Jerry James - 1.19-1 +- Version 1.19 + +* Fri Aug 06 2021 Jonathan Wakely - 1.18-4 +- Rebuilt for Boost 1.76 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 29 2021 Jerry James - 1.18-2 +- Rebuild for ntl 11.5.1 + +* Thu Jun 17 2021 Jerry James - 1.18-1 +- Version 1.18 + +* Thu Feb 18 2021 Jerry James - 1.17-2 +- Reduce optimization level on s390x to work around FTBFS +- Install metainfo +- Add -mathic patch to silence GCC warnings +- Add -lto patch to silence LTO warnings + +* Mon Jan 25 2021 Fedora Release Engineering - 1.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 16 2021 Jerry James - 1.17-1 +- Version 1.17 +- Drop upstreamed patches: -nauty-paths, -format +- Merge -gcc11 patch into mathicgb-1.0.patch + +* Thu Oct 15 2020 Jeff Law - 1.16-2 +- Add missing #includes for gcc-11 + +* Mon Aug 31 2020 Jerry James - 1.16-1 +- Version 1.16 +- Drop upstreamed patch: -xdg_open +- Add -ulimit patch for the slower builders +- Add -format and -rightarrow patches +- Bundle packages due to garbage collector crashes: linbox, memtailor, mathic +- Drop the XEmacs subpackage; XEmacs support no longer works + +* Sun Aug 16 2020 Iñaki Úcar - 1.15.1.0-5 +- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager + +* Sat Aug 01 2020 Fedora Release Engineering - 1.15.1.0-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.15.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 1 2020 Jeff Law - 1.15.1.0-2 +- Disable LTO + +* Wed Jun 3 2020 Jerry James - 1.15.1.0-1 +- Version 1.15.1.0 +- Drop upstreamed patches: -no_Werror, -mpir, -pthreads, -fflas-ffpack, + -fno-common, -gtest, -pthreads + +* Tue Feb 11 2020 Jerry James - 1.14.0.1-4 +- Add -fno-common patch to fix FTBFS with GCC 10 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.14.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 10 2020 Jerry James - 1.14.0.1-3 +- Rebuild for ntl 11.4.3 + +* Fri Nov 1 2019 Jerry James - 1.14.0.1-2 +- Rebuild for givaro 4.1.1, fflas-ffpack 2.4.3, and linbox 1.6.3 + +* Thu Sep 26 2019 Jerry James - 1.14.0.1-1 +- Macaulay2-1.14.0.1 +- Drop upstreamed -format and -exception patches +- Also bundle libmpc since it is linked with mpfr +- Drop fix for F26 symlink-file snafu +- Build with python 3 instead of python 2 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.12.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 17 2019 Igor Gnatenko - 1.12.0.1-5 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.12.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Nov 20 2018 Jerry James - 1.12.0.1-3 +- Rebuild for lrslib 070 + +* Wed Oct 10 2018 Jerry James - 1.12.0.1-2 +- Rebuild for ntl 11.3.0 +- Build with openblas instead of atlas (bz 1618938) + +* Fri Aug 10 2018 Jerry James - 1.12.0.1-1 +- Macaulay2-1.12.0.1 +- Replace tiny icon of unknown origin with various sizes of upstream's icon +- Remove deprecated entries from the desktop file +- Add upstream mpfr 3.1.6 patches + +* Thu Jul 12 2018 Fedora Release Engineering - 1.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 3 2018 Jerry James - 1.11-2 +- Rebuild for ntl 11.1.0 +- Remove scriptlets that call install-info +- Do not byte compile python files in the examples + +* Sat Jun 2 2018 Jerry James - 1.11-1 +- Macaulay2-1.11 +- Drop upstreamed patches: -verbose_build, -givaro, -pari, -endian +- New patches: -fflas-ffpack, -format, -exception, -fplll, -configure +- Update bundled software +- Refresh INFO_FILES list + +* Fri Feb 09 2018 Igor Gnatenko - 1.9.2-8 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 1.9.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 18 2018 Igor Gnatenko - 1.9.2-6 +- Remove obsolete scriptlets + +* Wed Oct 11 2017 Jerry James - 1.9.2-5 +- Link rather than copy the normaliz binary +- Fix accidental replacement of factory symlink with a directory + +* Sat Sep 30 2017 Jerry James - 1.9.2-4 +- Rebuild for ntl 10.5.0 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Apr 5 2017 Jerry James - 1.9.2-1 +- Macaulay2-1.9.2 +- Drop upstreamed patches: -disable_broken_debug_functions, -gc, -rpath, + -rh_configure_hack +- Add patches: -givaro, -gtest, -pari +- Create fake library and submodule tarballs to fool the build system into + building in support for system libraries +- Bundle mpfr, flint, and factory to avoid garbage collector crashes +- Replace the (X)Emacs triggers with (x)emacs-filesystem dependencies +- New URLs + +* Fri Feb 10 2017 Fedora Release Engineering - 1.6-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 1.6-33 +- Rebuild for readline 7.x + +* Thu Oct 20 2016 Jerry James - 1.6-32 +- Rebuild for ntl 10.1.0 + +* Mon Sep 5 2016 Jerry James - 1.6-31 +- Rebuild for ntl 9.11.0 + +* Fri Aug 12 2016 Jerry James - 1.6-30 +- Rebuild for fflas-ffpack 2.2.2, givaro 4.0.2, and linbox 1.4.2 + +* Mon Jul 25 2016 Jerry James - 1.6-29 +- Rebuild for ntl 9.10.0 + +* Thu Jun 2 2016 Jerry James - 1.6-28 +- Rebuild for ntl 9.9.1 + +* Fri Apr 29 2016 Jerry James - 1.6-27 +- Rebuild for ntl 9.8.0 +- Nauty is now available +- Drop -gcc-template-bug patch; gcc bug has been fixed + +* Sat Mar 19 2016 Jerry James - 1.6-26 +- Rebuild for ntl 9.7.0 + +* Sat Feb 20 2016 Jerry James - 1.6-25 +- Rebuild for ntl 9.6.4 +- Add -gcc-template-bug patch to work around gcc bug (bz 1307282) + +* Wed Feb 03 2016 Fedora Release Engineering - 1.6-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 14 2016 Jonathan Wakely - 1.6-23 +- Rebuilt for Boost 1.60 + +* Fri Dec 4 2015 Jerry James - 1.6-22 +- Rebuild for ntl 9.6.2 +- Add python2 BR for the tests + +* Sat Oct 17 2015 Kalev Lember - 1.6-21 +- Rebuilt for libntl soname bump + +* Fri Oct 16 2015 Jerry James - 1.6-20 +- Rebuild for ntl 9.4.0 + +* Tue Sep 29 2015 Rex Dieter 1.6-19 +- refresh config.guess/config.sub hack, fix FTBFS on aarch64 + +* Sat Sep 19 2015 Jerry James - 1.6-18 +- Rebuild for flint 2.5.2 and ntl 9.3.0 + +* Thu Aug 27 2015 Jonathan Wakely - 1.6-17 +- Rebuilt for Boost 1.59 + +* Wed Jul 29 2015 Fedora Release Engineering - 1.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon - 1.6-15 +- rebuild for Boost 1.58 + +* Tue Jun 16 2015 Fedora Release Engineering - 1.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon May 18 2015 Jerry James - 1.6-13 +- Rebuild for ntl 9.1.1 and cddlib-094h + +* Fri May 15 2015 Jerry James - 1.6-12 +- Bump and rebuild + +* Sat May 9 2015 Jerry James - 1.6-11 +- Rebuild for ntl 9.1.0 + +* Mon Feb 2 2015 Jerry James - 1.6-10 +- Rebuild for ntl 8.1.2 + +* Mon Jan 26 2015 Petr Machata - 1.6-9 +- Rebuild for boost 1.57.0 + +* Thu Jan 15 2015 Jerry James - 1.6-8 +- Rebuild for ntl 8.1.0 +- Fix the desktop file name + +* Wed Oct 29 2014 Jerry James - 1.6-7 +- Rebuild for ntl 6.2.1 +- Revert Apr 8 HTML creation timeout, now handled upstream +- Revert use of -common subpkg; various arches timeout differently + +* Wed Sep 24 2014 Rex Dieter 1.6-6 +- enable -common subpkg (to be more compatible with upstream packaging) + +* Fri Aug 15 2014 Fedora Release Engineering - 1.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jun 25 2014 Rex Dieter 1.6-4 +- restore --build/--host configure options lost in 1.6 update, should help arm + +* Fri Jun 06 2014 Fedora Release Engineering - 1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Petr Machata - 1.6-2 +- Rebuild for boost 1.55.0 + +* Mon May 19 2014 Rex Dieter 1.6-1 +- Macaulay2-1.6 (#1074594) +- ExcludeArch: %%arm (#1099598) + +* Wed May 14 2014 Rex Dieter 1.5-8 +- rebuild (gc) + +* Tue Apr 8 2014 Jerry James - 1.5-7 +- Build for all arches +- Increase HTML creation timeouts for slower processors, such as ARM +- Add --build and --host invocations to configure to fix mismatched ARM names + +* Wed Apr 2 2014 Jerry James - 1.5-6 +- Rebuild for ntl 6.1.0 + +* Fri Mar 21 2014 Jerry James - 1.5-5 +- The normaliz patch was used; bring it back +- Complete the removal of the system_normaliz variable +- Link with RPM_LD_FLAGS +- Due to use of a static library, explicitly link with -lflint + +* Fri Jan 24 2014 Rex Dieter - 1.5-5 +- drop unused patches (4ti2, normalize) + +* Tue Jan 21 2014 Rex Dieter - 1.5-4 +- utilize %%_libexecdir/Macaulay2/... for helper/system binaries +- libdir: %%_libdir => %%_prefix/lib +- -common subpkg option (not used yet) + +* Tue Jan 14 2014 Jerry James - 1.5-3 +- Update normaliz interface for normaliz 2.8 and later + +* Tue Jul 30 2013 Petr Machata - 1.5-2 +- Rebuild for boost 1.54.0 + +* Thu May 23 2013 Rex Dieter 1.5-1 +- Release: 1 (using non-snapshot release tarball now) + +* Tue May 21 2013 Rex Dieter - 1.5-0.7.20130401 +- update to 20130401 r15955 snapshot release +- (Build)Requires: factory-gftables (see bug #965655) +- refresh INFO_FILES content + +* Mon May 6 2013 Jerry James - 1.5-0.6.20130214 +- Rebuild for m4ri 20130416 + +* Fri Feb 15 2013 Rex Dieter 1.5-0.5.20130214 +- r15838 (20130214 snapshot) + +* Wed Feb 13 2013 Rex Dieter 1.5-0.4.20120807 +- BR: doxygen-latex + +* Wed Feb 13 2013 Fedora Release Engineering - 1.5-0.3.20120807 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Aug 07 2012 Rex Dieter 1.5-0.2.20120807 +- 1.5 20120807 r15022 snapshot + +* Thu Jul 19 2012 Rex Dieter 1.4-9 +- rebuild against (Singular's) libfac/factory 3.1.3 + +* Wed Jul 18 2012 Fedora Release Engineering - 1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 03 2012 Rex Dieter 1.4-7 +- rebuild (pari) + +* Sun Jul 1 2012 pcpa - 1.4-6 +- Link to gmp not mpir. +- Rebuild with pari 2.5. + +* Wed May 30 2012 Rex Dieter +- 1.4-5 +- License: GPLv2 or GPLv3 (#821036) +- pkgconfig-style deps + +* Tue Feb 28 2012 Fedora Release Engineering - 1.4-4 +- Rebuilt for c++ ABI breakage + +* Thu Jan 12 2012 Fedora Release Engineering - 1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Sep 30 2011 Rex Dieter 1.4-2 +- rebuild (gdbm) + +* Thu May 26 2011 Rex Dieter 1.4-1 +- 1.4 + +* Thu May 26 2011 Rex Dieter 1.3.1-9 +- Typo in INFO_FILES (#708086) + +* Mon Feb 07 2011 Fedora Release Engineering - 1.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jun 30 2010 Rex Dieter - 1.3.1-7 +- BR: cddlib-static (#609698) + +* Tue Mar 16 2010 Rex Dieter - 1.3.1-6 +- rebuild (factory/libfac) + +* Tue Mar 16 2010 Mark Chappell - 1.3.1-5 +- Run install-info on all of the .info files we installed +- Re-enable the now functional ppc64 build + +* Wed Mar 10 2010 Mark Chappell - 1.3.1-4 +- Add in missing Requires runtime dependancies + +* Wed Mar 10 2010 Mark Chappell - 1.3.1-3 +- GPLv3/GPLv2 conflict, use compat-readline5 - bz#511299 + +* Tue Mar 09 2010 Mark Chappell - 1.3.1-2 +- Replace DSO patch with one accepted upstream +- Completely disable static linking + +* Wed Feb 24 2010 Mark Chappell - 1.3.1-1 +- Upstream version increment +- Remove unused patch +- Remove patch applied upstream +- Ensure consistent use of buildroot macro instead of RPM_BUILD_ROOT +- Fix implicit linking DSO failure +- Don't package empty .okay files which simply indicate test passes + +* Tue Dec 8 2009 Michael Schwendt - 1.2-7 +- Explicitly BR factory-static and libfac-static in accordance with the + Packaging Guidelines (factory-devel/libfac-devel are still static-only). + +* Tue Sep 22 2009 Rex Dieter - 1.2-6 +- fixup/optimize scriplets + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 17 2009 Rex Dieter - 1.2-4 +- rebuild for ntl-devel (shared) + +* Wed Feb 25 2009 Rex Dieter - 1.2-3 +- BR: libfac-devel,factory-devel >= 3.1 +- restore ExcludeArch: ppc64 (#253847) + +* Mon Feb 23 2009 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 13 2009 Rex Dieter 1.2-1 +- Macaulay-1.2 + +* Thu Oct 02 2008 Rex Dieter 1.1-2 +- respin (factory/libfac) + +* Tue Mar 11 2008 Rex Dieter 1.1-1 +- Macaulay2-1.1 +- Obsoletes/Provides: Macaulay2-common (upstream compatibility) +- re-enable ppc64 (#253847) +- IgnoreExampleErrors=true + +* Tue Feb 19 2008 Fedora Release Engineering - 0.9.95-10 +- Autorebuild for GCC 4.3 + +* Tue Dec 18 2007 Rex Dieter 0.9.95-9 +- Provides: macaulay2 +- respin against new(er) factory,libfac,ntl + +* Wed Aug 22 2007 Rex Dieter 0.9.95-8 +- ExcludeArch: ppc64 (#253847) + +* Tue Aug 21 2007 Rex Dieter 0.9.95-7 +- BR: gawk + +* Tue Aug 21 2007 Rex Dieter 0.9.95-6 +- gc-7.0 patches + +* Sat Aug 11 2007 Rex Dieter 0.9.95-5 +- License: GPLv2 + +* Mon Jan 15 2007 Rex Dieter 0.9.95-4 +- Ob/Pr: Macaulay2-doc, not -docs (#222609) + +* Sat Jan 06 2007 Rex Dieter 0.9.95-3 +- re-enable ppc build (#201739) + +* Tue Jan 02 2007 Rex Dieter 0.9.95-2 +- ./configure --disable-strip, for usable -debuginfo (#220893) + +* Mon Dec 18 2006 Rex Dieter 0.9.95-1 +- Macaulay2-0.9.95 + +* Wed Nov 22 2006 Rex Dieter 0.9.20-0.5.20060808svn +- .desktop Categories: -Application,Scientific,X-Fedora +ConsoleOnly + +* Tue Aug 29 2006 Rex Dieter 0.9.20-0.4.20060808svn +- fc6 respin + +* Tue Aug 08 2006 Rex Dieter 0.9.20-0.3.20060808svn +- ExcludeArch: ppc (bug #201739) +- %%ghost (x)emacs site-lisp bits (using hints from fedora-rpmdevtools) + +* Tue Aug 08 2006 Rex Dieter 0.9.20-0.2.20060808svn +- 20060808 snapshot + +* Mon Jul 24 2006 Rex Dieter 0.9.20-0.1.20060724svn +- 2006-07-15-0.9.20 + +* Wed Jul 12 2006 Rex Dieter 0.9.10-0.6.20060710svn +- 0.9.10 + +-* Mon Jul 10 2006 Rex Dieter 0.9.8-0.6.cvs20060327 +- BR: ncurses-devel + +* Fri May 05 2006 Rex Dieter 0.9.8-0.4.cvs20060327 +- 64bit patch (#188709) + +* Wed Apr 12 2006 Rex Dieter 0.9.8-0.3.cvs20060327 +- omit x86_64, for now (#188709) + +* Tue Apr 11 2006 Rex Dieter 0.9.8-0.2.cvs20060327 +- 0.9.8 (cvs, no tarball yet) +- drop -doc subpkg (in main now) + +* Mon Apr 10 2006 Rex Dieter 0.9.2-22 +- fix icon location (#188384) + +* Thu Mar 30 2006 Rex Dieter 0.9.2-21 +- really disable %%check (fails on fc5+ anyway) + +* Fri Jan 20 2006 Rex Dieter 0.9.2-20 +- .desktop: drop Category=Development +- app icon: follow icon spec +- drop -emacs subpkg (in main now) + +* Fri Sep 16 2005 Rex Dieter - 0.9.2-19 +- disable 'make check' (fc5/buildsystem error), besides, we get a + good consistency check when M2 builds all the doc examples. + +* Wed Sep 14 2005 Rex Dieter - 0.9.2-18 +- rebuild against gc-6.6 + +* Thu May 26 2005 Michael Schwendt - 0.9.2-17 +- rebuild (build system x86_64 repository access failed for 0.9.2-16) +- fix build for GCC 4 (#156223) + +* Thu Apr 7 2005 Michael Schwendt - 0.9.2-15 +- rebuilt + +* Mon Feb 21 2005 Rex Dieter 0:0.9.2-14 +- x86_64 issues (%%_libdir -> %%_prefix/lib ) +- remove desktop_file macro usage + +* Sat Oct 23 2004 Rex Dieter 0:0.9.2-0.fdr.13 +- BR: time (again) +- omit m2_dir/setup (not needed/wanted) + +* Mon Oct 18 2004 Rex Dieter 0:0.9.2-0.fdr.12 +- actually *apply* gcc34 patch this time. + +* Mon Oct 18 2004 Rex Dieter 0:0.9.2-0.fdr.11 +- gcc34 patch + +* Fri Oct 1 2004 Rex Dieter 0:0.9.2-0.fdr.10 +- explicit BR versions for gc-devel, libfac-devel, factory-devel + +* Tue Aug 10 2004 Rex Dieter 0:0.9.2-0.fdr.9 +- BR: time + +* Thu Jun 03 2004 Rex Dieter 0:0.9.2-0.fdr.8 +- .desktop: remove Terminaloptions to be desktop agnostic +- .desktop: Categories += Education;Math;Development (Devel only + added so it shows *somewhere* in gnome menus) + +* Tue Jun 01 2004 Rex Dieter 0:0.9.2-0.fdr.7 +- disable default 'make check' (util/screen fails on fc2) + +* Tue Mar 30 2004 Rex Dieter 0:0.9.2-0.fdr.6 +- desktop-file is now on by default +- use separate (not inline) .desktop file + +* Mon Jan 05 2004 Rex Dieter 0:0.9.2-0.fdr.5 +- fix BuildRequires: desktop-file-utils to satisfy rpmlint. +- put emacs files in emacs subdir too (to follow supplied docs) +- *really* nuke .cvsignore files +- fix desktop-file-install --add-cateagories usage + +* Tue Dec 23 2003 Rex Dieter 0:0.9.2-0.fdr.4 +- -emacs: use %%defattr +- -emacs: fix M2-init.el + +* Mon Nov 17 2003 Rex Dieter 0:0.9.2-0.fdr.3 +- update/simplify macros +- desktop_file support. +- emacs subpkg. +- relax Req's on subpkgs to just: Requires: %%name = %%epoch:%%version +- use non-versioned BuildRequires +- remove redundant BuildRequires: gmp-devel +- remove gc patch, no longer needed. +- delete/not-package a bunch of unuseful files. +- use --disable-strip when debug_package is in use. + +* Thu Nov 13 2003 Rex Dieter 0:0.9.2-0.fdr.2 +- no longer explictly Requires: emacs + +* Wed Nov 05 2003 Rex Dieter 0:0.9.2-0.fdr.1 +- missing Epoch: 0 + +* Fri Sep 12 2003 Rex Dieter 0.9.2-0.fdr.0 +- fedora'ize diff --git a/Macaulay2.desktop b/com.macaulay2.macaulay2.desktop similarity index 76% rename from Macaulay2.desktop rename to com.macaulay2.macaulay2.desktop index 7b71bda..3bbebc5 100644 --- a/Macaulay2.desktop +++ b/com.macaulay2.macaulay2.desktop @@ -2,8 +2,6 @@ Name=Macaulay2 Exec=M2 Icon=Macaulay2 -SwallowTitle=Macaulay2 Terminal=true Type=Application Categories=ConsoleOnly;Education;Math; -Encoding=UTF-8 diff --git a/com.macaulay2.macaulay2.metainfo.xml b/com.macaulay2.macaulay2.metainfo.xml new file mode 100644 index 0000000..0de35f5 --- /dev/null +++ b/com.macaulay2.macaulay2.metainfo.xml @@ -0,0 +1,35 @@ + + + com.macaulay2.macaulay2 + 0BSD + GPL-2.0-only OR GPL-3.0-only + Macaulay2 + System for algebraic geometry and commutative algebra + +

+ Macaulay 2 is a software system devoted to supporting research in + algebraic geometry and commutative algebra written by Daniel R. Grayson + and Michael E. Stillman. +

+
+ com.macaulay2.macaulay2.desktop + + + https://faculty.math.illinois.edu/Macaulay2/Screenshots/texmacs.png + Macaulay2 with TeXmacs + + + https://faculty.math.illinois.edu/Macaulay2/Screenshots/emacs-M2-c.png + Macaulay2 with Emacs + + + Macaulay2-maintainers@fedoraproject.org + https://macaulay2.com/ + https://github.com/Macaulay2/M2/issues + https://groups.google.com/g/macaulay2 + + + M2 + M2-binary + +
diff --git a/factory-4.0.2.patch b/factory-4.0.2.patch deleted file mode 100644 index c246d92..0000000 --- a/factory-4.0.2.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- factory-4.0.2/cfCharSetsUtil.h.orig 2014-09-12 06:11:42.000000000 -0600 -+++ factory-4.0.2/cfCharSetsUtil.h 2017-03-10 10:58:17.580526322 -0700 -@@ -69,9 +69,13 @@ sortListCFList (ListCFList& list); - void - sortCFListByLevel (CFList& list); - -+/*BEGINPUBLIC*/ -+ - CanonicalForm - Prem (const CanonicalForm& F, const CanonicalForm& G); - -+/*ENDPUBLIC*/ -+ - CanonicalForm - Premb (const CanonicalForm &f, const CFList &L); - ---- factory-4.0.2/ftmpl_inst.cc.orig 2014-09-12 06:11:42.000000000 -0600 -+++ factory-4.0.2/ftmpl_inst.cc 2017-03-10 10:57:30.892849026 -0700 -@@ -74,7 +74,7 @@ template List Difference ( con - // NTL 6 - #ifdef HAVE_NTL - #include --#if NTL_MAJOR_VERSION == 6 -+#if NTL_MAJOR_VERSION >= 6 - - #include - #include ---- factory-4.0.2/NTLconvert.cc.orig 2015-03-17 15:26:03.000000000 -0600 -+++ factory-4.0.2/NTLconvert.cc 2017-03-10 11:45:48.565676426 -0700 -@@ -505,8 +505,10 @@ convertZZ2CF (const ZZ & a) - const long * rep = - #if NTL_MAJOR_VERSION <= 6 - static_cast( a.rep ); --#else -+#elif NTL_MAJOR_VERSION <=9 - static_cast( a.rep.rep ); // what about NTL7? -+#else -+ (long*)( a.rep.rep ); - #endif - long sizeofrep= rep[1]; - bool lessZero= false; diff --git a/flint-2.5.2.patch b/flint-2.5.2.patch deleted file mode 100644 index 036bafe..0000000 --- a/flint-2.5.2.patch +++ /dev/null @@ -1,290 +0,0 @@ ---- flint-2.5.2/configure.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/configure 2017-03-10 10:38:00.397968044 -0700 -@@ -281,7 +281,7 @@ if [ "$WANT_BLAS" = "1" ]; then - fi - EXTRA_INC_DIRS="${EXTRA_INC_DIRS} ${BLAS_INC_DIR}" - EXTRA_LIB_DIRS="${EXTRA_LIB_DIRS} ${BLAS_LIB_DIR}" -- EXTRA_LIBS="${EXTRA_LIBS} openblas" -+ EXTRA_LIBS="${EXTRA_LIBS} satlas" - fi - CONFIG_BLAS="#define HAVE_BLAS ${WANT_BLAS}" - -@@ -434,16 +434,16 @@ if [ -z "$FLINT_LIB" ]; then - Darwin) - FLINT_LIBNAME="libflint.dylib" - FLINT_LIB="libflint-$FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH.dylib" -- EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$FLINT_LIB -compatibility_version $FLINT_MAJOR.$FLINT_MINOR -current_version $FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR";; -+ EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$FLINT_LIB -compatibility_version $FLINT_MAJOR.$FLINT_MINOR -current_version $FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH";; - CYGWIN* | MINGW*) - FLINT_LIBNAME="libflint.dll" - FLINT_LIB="libflint-$FLINT_MAJOR.dll" -- EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,libflint-$FLINT_MAJOR.dll.$FLINT_MINOR.$FLINT_PATCH -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR" -+ EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,libflint-$FLINT_MAJOR.dll.$FLINT_MINOR.$FLINT_PATCH" - FLINT_DLL=1;; - *) - FLINT_LIBNAME="libflint.so" - FLINT_LIB="libflint.so.$FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH" -- EXTRA_SHARED_FLAGS="-Wl,-soname,libflint.so.$FLINT_MAJOR -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR" -+ EXTRA_SHARED_FLAGS="-Wl,-soname,libflint.so.$FLINT_MAJOR" - FLINT_SOLIB=1 - esac - fi ---- flint-2.5.2/d_mat/gso.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/d_mat/gso.c 2015-09-23 21:24:08.367946615 -0600 -@@ -84,7 +84,9 @@ d_mat_gso(d_mat_t B, const d_mat_t A) - flag = 0; - if (s < t) - { -- if (s * D_EPS == 0) -+ double u = s * D_EPS; -+ -+ if (u > -1.0e-308 && u < 1.0e-308) - s = 0; - else - flag = 1; ---- flint-2.5.2/d_mat/qr.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/d_mat/qr.c 2015-09-23 21:24:16.687286447 -0600 -@@ -92,8 +92,10 @@ d_mat_qr(d_mat_t Q, d_mat_t R, const d_m - flag = 0; - if (s < t) - { -+ double u = s * D_EPS; -+ - orig = 0; -- if (s * D_EPS == 0) -+ if (u > -1.0e-308 && u < 1.0e-308) - s = 0; - else - flag = 1; ---- flint-2.5.2/fmpz/get_d_2exp.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/fmpz/get_d_2exp.c 2017-03-10 10:36:40.122534392 -0700 -@@ -52,9 +52,14 @@ fmpz_get_d_2exp(slong *exp, const fmpz_t - return __gmpn_get_d((mp_limb_t *) &d, WORD(1), WORD(1), -*exp); - } - else -+ { - #if defined(__MPIR_VERSION) - return mpz_get_d_2exp(exp, COEFF_TO_PTR(d)); - #else -- return mpz_get_d_2exp((long *) exp, COEFF_TO_PTR(d)); -+ long exp2; -+ double m = mpz_get_d_2exp(&exp2, COEFF_TO_PTR(d)); -+ *exp = exp2; -+ return m; - #endif -+ } - } ---- flint-2.5.2/fmpz_mod_poly_factor/inlines.c.orig 2017-03-10 10:36:40.137534286 -0700 -+++ flint-2.5.2/fmpz_mod_poly_factor/inlines.c 2017-03-10 10:36:40.137534286 -0700 -@@ -0,0 +1,41 @@ -+/*============================================================================= -+ -+ This file is part of FLINT. -+ -+ FLINT is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ FLINT is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with FLINT; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+=============================================================================*/ -+/****************************************************************************** -+ -+ Copyright (C) 2015 Tommy Hofmann -+ -+******************************************************************************/ -+ -+#define FMPZ_MOD_POLY_FACTOR_INLINES_C -+ -+#define ulong ulongxx /* interferes with system includes */ -+#include -+#include -+#undef ulong -+#include -+#include "flint.h" -+#include "ulong_extras.h" -+#include "fmpz_mod_poly.h" -+ -+void fmpz_mod_poly_factor_get_fmpz_mod_poly(fmpz_mod_poly_t z, fmpz_mod_poly_factor_t fac, slong i) -+{ -+ fmpz_mod_poly_set(z, fac->poly + i); -+} -+ ---- flint-2.5.2/fmpz_poly/pseudo_divrem_basecase.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/fmpz_poly/pseudo_divrem_basecase.c 2017-03-10 10:36:40.137534286 -0700 -@@ -49,7 +49,7 @@ _fmpz_poly_pseudo_divrem_basecase(fmpz * - - while (iR >= lenB - 1) - { -- if (inv) -+ if (inv != NULL) - fmpz_fdiv_qr_preinvn(Q + iQ, rem, R + iR, leadB, inv); - else - fmpz_fdiv_qr(Q + iQ, rem, R + iR, leadB); ---- flint-2.5.2/fmpz/popcnt.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/fmpz/popcnt.c 2016-04-23 14:50:25.442091489 -0600 -@@ -25,6 +25,54 @@ static __inline__ mp_bitcnt_t shortCount - } - #endif - -+#ifdef __x86_64__ -+#include -+ -+static mp_bitcnt_t slow_fmpz_popcnt(const fmpz_t c) -+{ -+ fmpz c1; -+ c1 = *c; -+ if(!COEFF_IS_MPZ(c1)) -+ { -+ if(*c < 0) return 0; -+ else return __builtin_popcountl(*c); -+ } else -+ { -+ __mpz_struct *t = COEFF_TO_PTR(c1); -+ if(flint_mpz_cmp_si(t,0) < 0) return 0; -+ else return mpz_popcount(t); -+ } -+} -+ -+static mp_bitcnt_t __attribute__((target ("popcnt"))) -+fast_fmpz_popcnt(const fmpz_t c) -+{ -+ fmpz c1; -+ c1 = *c; -+ if(!COEFF_IS_MPZ(c1)) -+ { -+ if(*c < 0) return 0; -+ else return __builtin_popcountl(*c); -+ } else -+ { -+ __mpz_struct *t = COEFF_TO_PTR(c1); -+ if(flint_mpz_cmp_si(t,0) < 0) return 0; -+ else return mpz_popcount(t); -+ } -+} -+ -+static void __attribute__((optimize ("O0"))) -+(*resolve_fmpz_popcnt (void))(void) { -+ unsigned int eax, ebx, ecx, edx; -+ return (__get_cpuid(1, &eax, &ebx, &ecx, &edx) && -+ (ecx & bit_POPCNT) != 0) -+ ? (void (*)(void))&fast_fmpz_popcnt -+ : (void (*)(void))&slow_fmpz_popcnt; -+} -+ -+mp_bitcnt_t __attribute__((ifunc ("resolve_fmpz_popcnt"))) -+fmpz_popcnt(const fmpz_t c); -+#else - mp_bitcnt_t fmpz_popcnt(const fmpz_t c) - { - fmpz c1; -@@ -40,3 +88,4 @@ mp_bitcnt_t fmpz_popcnt(const fmpz_t c) - else return mpz_popcount(t); - } - } -+#endif ---- flint-2.5.2/fq_poly_templates/get_str_pretty.c.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/fq_poly_templates/get_str_pretty.c 2017-03-10 10:36:40.138534279 -0700 -@@ -87,16 +87,16 @@ char *_TEMPLATE(T, poly_get_str_pretty) - continue; - if (!TEMPLATE(T, is_one) (poly + i, ctx)) - { -- off += flint_sprintf(str + off, "+(%s)", coeffstrs[i]); -+ off += flint_sprintf(str + off, "+(%s)*", coeffstrs[i]); - } - else - { - off += flint_sprintf(str + off, "+"); - } - if (i > 1) -- off += flint_sprintf(str + off, "*%s^%wd", x, i); -+ off += flint_sprintf(str + off, "%s^%wd", x, i); - else -- off += flint_sprintf(str + off, "*%s", x); -+ off += flint_sprintf(str + off, "%s", x); - } - - if (!TEMPLATE(T, is_zero) (poly + i, ctx)) ---- flint-2.5.2/Makefile.in.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/Makefile.in 2017-03-10 10:38:48.091631580 -0700 -@@ -86,7 +86,7 @@ dist: - profile: library $(PROF_SOURCES) $(EXT_PROF_SOURCES) build/profiler.o - mkdir -p build/profile - ifndef MOD -- $(AT)$(foreach prog, $(PROFS), $(CC) $(CFLAGS) -std=gnu99 $(INCS) $(prog).c build/profiler.o -o build/$(prog) $(LIBS) || exit $$?;) -+ $(AT)$(foreach prog, $(PROFS), $(CC) $(CFLAGS) -std=gnu99 $(INCS) $(prog).c build/profiler.o -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;) - $(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/profile; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) profile || exit $$?;) - $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(filter-out %templates, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h))), mkdir -p build/$(dir)/profile; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) profile || exit $$?;)) - else -@@ -95,14 +95,14 @@ endif - - tune: library $(TUNE_SOURCES) $(EXT_TUNE_SOURCES) - mkdir -p build/tune -- $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;) -+ $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;) - $(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/tune; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) tune || exit $$?;) - $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/tune; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) tune || exit $$?;)) - - examples: library $(EXMP_SOURCES) $(EXT_EXMP_SOURCES) $(EXT_HEADERS) - mkdir -p build/examples -- $(AT)$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;) -- $(AT)$(foreach ext, $(EXTENSIONS), $(foreach prog, $(patsubst $(ext)/examples/%.c, %, $(wildcard $(ext)/examples/*.c)), $(CC) $(CFLAGS) $(INCS) $(ext)/examples/$(prog).c -o build/examples/$(prog) $(LIBS) || exit $$?;)) -+ $(AT)$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;) -+ $(AT)$(foreach ext, $(EXTENSIONS), $(foreach prog, $(patsubst $(ext)/examples/%.c, %, $(wildcard $(ext)/examples/*.c)), $(CC) $(CFLAGS) $(INCS) $(ext)/examples/$(prog).c -o build/examples/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;)) - - $(FLINT_LIB): $(LOBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces - $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(filter-out %templates, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h))), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) shared || exit $$?;)) -@@ -227,7 +227,7 @@ build/%.o: %.c $(HEADERS) | build - $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@; - - build/test/%$(EXEEXT): test/%.c $(HEADERS) | build/test -- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LIBS) -+ $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LDFLAGS) $(LIBS) - - build/test: - mkdir -p build/test -@@ -242,7 +242,7 @@ build/interfaces/NTL-interface.o: interf - $(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) -c $< -o $@ - - build/interfaces/test/t-NTL-interface$(EXEEXT): interfaces/test/t-NTL-interface.cpp build/interfaces/NTL-interface.o -- $(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) $< build/interfaces/NTL-interface.o -o $@ $(LIBS) -+ $(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) $< build/interfaces/NTL-interface.o -o $@ $(LDFLAGS) $(LIBS) - - print-%: - @echo '$*=$($*)' ---- flint-2.5.2/Makefile.subdirs.orig 2015-08-13 10:16:22.000000000 -0600 -+++ flint-2.5.2/Makefile.subdirs 2017-03-10 10:38:48.092631573 -0700 -@@ -48,10 +48,10 @@ profile: $(PROFS) - -include $(patsubst %, %.d, $(PROFS)) - - $(BUILD_DIR)/profile/%$(EXEEXT): profile/%.c $(BUILD_DIR)/../profiler.o -- $(QUIET_CC) $(CC) $(CFLAGS) -std=gnu99 $(INCS) $< $(BUILD_DIR)/../profiler.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" -+ $(QUIET_CC) $(CC) $(CFLAGS) -std=gnu99 $(INCS) $< $(BUILD_DIR)/../profiler.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" - - tune: $(TUNE_SOURCES) $(HEADERS) -- $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) || exit $$?;) -+ $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;) - - -include $(OBJS:.o=.d) - -@@ -82,10 +82,10 @@ $(BUILD_DIR)/test/%$(EXEEXT): $(BUILD_DI - endif - - $(BUILD_DIR)/test/%$(EXEEXT): test/%.c $(BUILD_DIR)/../../test_helpers.o -- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" -+ $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" - - $(BUILD_DIR)/test/%$(EXEEXT): test/%.cpp $(BUILD_DIR)/../../test_helpers.o -- $(QUIET_CC) $(CXX) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" -+ $(QUIET_CC) $(CXX) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d" - - %_RUN: % - @$< diff --git a/sources b/sources index ed5b7ee..96f74cc 100644 --- a/sources +++ b/sources @@ -1,14 +1,21 @@ -SHA512 (Macaulay2.png) = 88fcdfa155f7ebe3f6545890249fae1e1f2de1288230eb0eeff8761fa8ec2d64abbe7cf72bf7eb96674d289ac3305057dd9379fe1b0e8614fda21c84f95cee9c -SHA512 (version-1.9.2.tar.gz) = e9c8aa691543ebee75a987aee59bc1572572894fd8182d053f89233d385a8a63f2f5f12dd32646e8531914b02364a8f0aae3b1e84e1e1ac89ee39f0f4a9922ca -SHA512 (4ti2-1.6.7.tar.gz) = da6630e39b62672cfc11531832cf8e43bb6c824d67fd211fd93daa3fc02b014c745497b4be11b2dc147c8dd57a0041c9ee370e0414dd08b3f4cb360c46741b0a -SHA512 (factory-4.0.2.tar.gz) = 3a45e3666f2787e40e413c0da50fcd73c8d4eb89d5e758ab003fd67cbf89a4ed753a9c81d4c2b62404652165ccd879831b4569c8ff954e54fd1a158ec4fbb6f3 -SHA512 (flint-2.5.2.tar.gz) = cce36947b558aabecaf780171b4bbc0e1330c3b1a7e3580717584be5cab4991d33b190531c7995b224a3a440e28c4a610d6f781901e29f48ced12a9c5ba960a2 -SHA512 (frobby_v0.9.0.tar.gz) = be8b5664bf2da5b3945caa8f9f61668b3325eca88ed42cacb97c3ec890010680a874d9385e2ba752f0811850a2d72e54954744d24f0c0074f1acda477ead1a18 -SHA512 (gfan0.5.tar.gz) = 3d16dad0f28a1e13cd8a72172b84f8ab22270bb97636339f74fb3c84f7c4b4e30f77c5f7bd01e4fe506cba382f4f5eddbb8d6ee483d0aceb744951c27a461fb7 -SHA512 (gtest-1.7.0.tar.gz) = 08067dc9be3b40dfe1f3878ccca704807c4d1816376448002b69ce7b08e29f44babec913eb15316b4d8e14aa096d3f017e34af78a041d6e11832b054d3fb155e -SHA512 (lapack-3.6.0.tgz) = de2845f4185f70392e365bf33cbc53635d8990e9f453c8b69124d8941fbec4c9c74284a297fbb6ddfae0be0e5da08469f776c4b5d03e38395966dcb1d0013670 -SHA512 (mathic.tar.xz) = 44ee3ecd262799b658a541d9c795187b9c4f7273a6dfd97db948d5a7aa11911681bd5d8fd7ec2939ec1a30909e1bedd50ecbaa6feef9106df28f70c921e1fda7 -SHA512 (mathicgb.tar.xz) = a0ac39b24f738f6b867d1ff1047632524579539e4b24fed494608d9026ac38a5dbbf1ecd56908e964c2d2a7888aefe130996ad47d2eb9bc442ec2a5bd352c6e7 -SHA512 (memtailor.tar.xz) = f507300a74cdf266e8d6750f50feed60793b0a7cfed402fea8da4eda72f1aad96af41b31af847906c0bf113fb857e2b16d349c0cfea7b9bf5b4e4dc9bc3d9bf7 -SHA512 (mpfr-3.1.5.tar.xz) = 3643469b9099b31e41d6ec9158196cd1c30894030c8864ee5b1b1e91b488bccbf7c263c951b03fe9f4ae6f9d29279e157a7dfed0885467d875f107a3d964f032 -SHA512 (Normaliz3.1.1Source.zip) = 0bc28a3a6c53131f79035da5d271d5441481992bf2df2ac408cbac52955106a1d5d0265265ae9ff69aac81296074ef405d11a74b4d2c4471d35ce4b08d8bb078 +SHA512 (Macaulay2-icons.tar.xz) = 069aa0ad70a0253583b00091c094da9b79d2a2f0f2d38aa97f543081f5df5fd3b5a9e1463febd6947c3151cf01844133174c7372f57e158c2d3faba6baed5d1d +SHA512 (Macaulay2-1.25.11.tar.gz) = 7ae9ced76fa17e37715165976348b0e93793a6fc9d6f6f46af4f54513e2e81be648d3f462d403af373dd7cc62a675a2f3c946b70668f9cabbe7b379e3b42adff +SHA512 (4ti2-1.6.13.tar.gz) = 3e6335e5e539594d121e8b38972e6d4e3aec51f8b6b617ae308200142c8f79407d5b64e7ef246aa47ee2b7cf4006647a860ea7e2fd498ca34d001470ec06b2f8 +SHA512 (cddlib-094m.tar.gz) = d140d57391b1c963d68ca2e344fbda723a5077004bace322a18362fdc1fff8b50fdc4b598ca8cdf131158e07afc96c5d9aafd7abde082a9e241701e403310b9f +SHA512 (cohomCalg-0.32.tar.gz) = b76d8de00b13a8fe8881222178247c5e99c15075c46290830f6c3afffb9dfc18af0d57f738ac5a0d7c00044db81b4465d1e0563c95f7f656a2440be5765c6818 +SHA512 (Csdp-6.2.0.tgz) = 6f6c44abcb7b0e277f5a42a1e31acbd41c8fbdce0c1641982a48199fe1d922b28d86433d1a98ac71ae521bea04188a830c441db1e9d8eebf174debf501430e82 +SHA512 (factory-4.4.1.tar.gz) = a6ebed7cc0dea06a40c596f8845194633b6175670119afc11cb93269940ff6866a270549b9796929c1cc216645d01386ddea455a07d9ea033ce937baa4a05dfe +SHA512 (flint-3.3.1.tar.gz) = c426655868fd104c7c9fb95ba1ed199f63168cfda6f2379ba7f249344fee32660a095f20ecf11666f47ee0c59e350213e16706ce13eb6c3cb41967f1eec81166 +SHA512 (fplll-5.5.0.tar.gz) = ffeeeb55c2e4dccb9c7fd2753e49fa3514ae0c88a119131fa6281b213566813c481f95befe0acde344c8c032d8341ef1ec074cd66b130de4f8b8f6eb20f40613 +SHA512 (frobby_v0.9.5.tar.gz) = 321da2c83ddd1e1364a2e97cdf69c9b7bc6d2a59583aeab93526030151222049bb7b7e32287e7575cab4d0d22593a92a1f926092b1ed8f9da6b4d68118371bdb +SHA512 (gfan0.6.2.tar.gz) = 08a9cc543967771af959a506b79db5b55e0e4942e4170dad8691db35ef7d381d878e1ea6534a3cacc0f5d30ec31564ec94cc20b46792d06f18a3a8a3c0aac91d +SHA512 (givaro-4.2.1.tar.gz) = 9ab55e19d6c205832ddb8f712691b79ea7ae796848fb2cb73ff8fcd2fd3ce06ec0d2b86c3e1ba4a0b9992156777524b26e754615d7b9809daeab9ff284be5885 +SHA512 (glpk-5.0.tar.gz) = 36bcba534ed69b0f5328f4626018359efe07f802322c0821db75c7d1935f760af8cb907189d7d7c5b2f134a8b6214ae747ca004acc4c5ceccf157f6fc311523d +SHA512 (linbox-1.7.1.tar.gz) = f13f607c4e7c4b6eb569d03007b96bc6ab4d57f520cfa557fda71c62eec43e23c24260c7495dbed9c39ddff18674c22eb72e43cff43fe7d0396f848f19df7595 +SHA512 (lrslib-073.tar.gz) = f5d283c3c9bcc8ea83c1f6a0ce184202ccd0818987caaa7cf32fe8287cf8277802587f5001dc44878658c962c48fe6ae1250e9a522bb2bf0fa1d0ca8b84e1b9a +SHA512 (M2-emacs-5249684.tar.gz) = 11c59430232e206b70042f0d365174a80f613ac528c18275cafaf28db32c06be7afe535ee61b10810caa7b5a21023abb0bd0ce30ee2e31fcf56565c20551d8df +SHA512 (mpfr-4.2.2.tar.gz) = 373c5ce2c9636e45685dfa94f45bc4f8f6c2c0512d634b9e065ec33cb29da727b3ea13cf23aff307c1da765a40064f0fd4a347a3849ebd97252984fc85a0a400 +SHA512 (mpsolve-3.2.3.tar.gz) = 27f3966f9ba6d96fd19551f574c4e917258f45f0f25c183b714a8a64a7fa9e4764c2466770dc78240ec431a745f3659c2acbff68ff1a9c89a81106eb25eb51fc +SHA512 (TOPCOM-1.1.2.tar.gz) = 8f0d6dcfe5d83b260f671d4fd231a8e5a902668d2bf02d0977fbfa6a1d49e0ba3f1f51f2305267a4cbc0591c183c07642ef3d9613aae8f27f1832fe96ca90abb +SHA512 (v0.9.2.tar.gz) = 2d205f1b74c445059f3b4ad6af45b10fc2eff2a0d41b373f71199965237dea200342702d0a0b5027f0d7e323d89d3317a89ef9ebe9f00a7f6341c37b436360bb +SHA512 (v3.12.1.tar.gz) = eedfbae0447a965da66fea6dcd1a561717faede85e0f2e19a794d3947f6b8b4649b3415786ceba65914755766fafc0c2ff4ba80dfd309230145f879e6b900284