diff --git a/Macaulay2-1.15-fplll.patch b/Macaulay2-1.15-fplll.patch
new file mode 100644
index 0000000..c216db9
--- /dev/null
+++ b/Macaulay2-1.15-fplll.patch
@@ -0,0 +1,73 @@
+--- M2/Macaulay2/e/fplll-interface.cpp.orig 2020-05-22 08:58:09.000000000 -0600
++++ M2/Macaulay2/e/fplll-interface.cpp 2020-05-31 20:25:06.775601853 -0600
+@@ -1,10 +1,10 @@
+-#include "fplll-interface.hpp"
+-#include "mutablemat.hpp"
+-
+ #ifdef HAVE_FPLLL
+ #include
+-#include
+ #endif
++#include
++
++#include "fplll-interface.hpp"
++#include "mutablemat.hpp"
+
+ bool fp_LLL(MutableMatrix *M, MutableMatrix *U, int strategy)
+ {
+@@ -15,15 +15,15 @@ bool fp_LLL(MutableMatrix *M, MutableMat
+ assert(U == NULL);
+ double delta = 0.99;
+ double eta = 0.51;
+- LLLMethod method = LM_WRAPPER;
+- FloatType floatType = FT_DEFAULT;
++ fplll::LLLMethod method = fplll::LM_WRAPPER;
++ fplll::FloatType floatType = fplll::FT_DEFAULT;
+ int precision = 0;
+- int flags = LLL_DEFAULT;
++ int flags = fplll::LLL_DEFAULT;
+
+ int ncols = static_cast(M->n_rows());
+ int nrows = static_cast(M->n_cols());
+
+- ZZ_mat mat(nrows, ncols);
++ fplll::ZZ_mat mat(nrows, ncols);
+
+ for (int i = 0; i < nrows; i++)
+ for (int j = 0; j < ncols; j++)
+@@ -31,21 +31,21 @@ bool fp_LLL(MutableMatrix *M, MutableMat
+ ring_elem a;
+ if (M->get_entry(j, i, a))
+ {
+- mpz_set(mat[i][j].getData(), a.get_mpz());
++ mpz_set(mat[i][j].get_data(), a.get_mpz());
+ }
+ }
+
+ int result =
+- lllReduction(mat, delta, eta, method, floatType, precision, flags);
++ lll_reduction(mat, delta, eta, method, floatType, precision, flags);
+
+ switch (result)
+ {
+- case RED_SUCCESS:
++ case fplll::RED_SUCCESS:
+ break;
+- case RED_BABAI_FAILURE:
++ case fplll::RED_BABAI_FAILURE:
+ ERROR("Error in fpLLL");
+ return 0;
+- case RED_LLL_FAILURE:
++ case fplll::RED_LLL_FAILURE:
+ ERROR("infinite loop in LLL");
+ return 0;
+ default:
+@@ -60,7 +60,7 @@ bool fp_LLL(MutableMatrix *M, MutableMat
+ for (int j = 0; j < ncols; j++)
+ for (int i = 0; i < nrows; i++)
+ {
+- mpz_set(a, mat[i][j].getData());
++ mpz_set(a, mat[i][j].get_data());
+ ring_elem b = globalZZ->from_int(a);
+ M->set_entry(j, i, b);
+ }
diff --git a/Macaulay2-1.15-optflags.patch b/Macaulay2-1.15-optflags.patch
new file mode 100644
index 0000000..d27c278
--- /dev/null
+++ b/Macaulay2-1.15-optflags.patch
@@ -0,0 +1,21 @@
+--- M2/configure.ac.orig 2020-05-22 08:58:09.000000000 -0600
++++ M2/configure.ac 2020-05-28 19:59:37.838647299 -0600
+@@ -308,12 +308,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.16-rightarrow.patch b/Macaulay2-1.16-rightarrow.patch
new file mode 100644
index 0000000..1c4abd5
--- /dev/null
+++ b/Macaulay2-1.16-rightarrow.patch
@@ -0,0 +1,11 @@
+--- M2/Macaulay2/packages/Macaulay2Doc/overview_modules.m2.orig 2020-07-11 05:04:29.000000000 -0600
++++ M2/Macaulay2/packages/Macaulay2Doc/overview_modules.m2 2020-07-12 19:27:28.520963206 -0600
+@@ -347,7 +347,7 @@ document {
+ },
+ TEX "Macaulay2 represents each module (at least conceptually) as a subquotient module, that is, a submodule of
+ a quotient of an ambient free module. A subquotient module is determined by two
+- matrices $f : R^m \\rightarrow{} R^n$ and $g : R^p \\rightarrow{} R^n$.
++ matrices $f : R^m \\rightarrow R^n$ and $g : R^p \\rightarrow R^n$.
+ The {\\em subquotient module} with generators $f$ and relations $g$ is by definition the module
+ $M = ((image f) + (image g))/(image g)$.",
+ PARA{},
diff --git a/Macaulay2-1.16-ulimit.patch b/Macaulay2-1.16-ulimit.patch
index ad15955..9d25e39 100644
--- a/Macaulay2-1.16-ulimit.patch
+++ b/Macaulay2-1.16-ulimit.patch
@@ -1,9 +1,20 @@
---- 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
+--- M2/GNUmakefile.in.orig 2021-11-17 15:21:40.000000000 -0700
++++ M2/GNUmakefile.in 2021-11-24 16:10:22.499027509 -0700
+@@ -136,7 +136,7 @@ build-in-$1: submodules/$1/Makefile
+ $(MAKE) -C submodules/$1 all
+ check-in-$1: run-configure-in-$1
+ ifeq ($(no-check-$1),)
+- ulimit -v 1000000 && $(MAKE) -C submodules/$1 check
++ ulimit -v 2000000 && $(MAKE) -C submodules/$1 check
endif
+ install-in-$1: build-in-$1; + $(MAKE) -C submodules/$1 install
+--- M2/libraries/Makefile.library.in.orig 2021-11-17 15:21:40.000000000 -0700
++++ M2/libraries/Makefile.library.in 2021-11-24 16:10:22.499027509 -0700
+@@ -238,10 +238,10 @@ distclean: package-distclean
+ clean::; rm -rf .patched* .untarred* $(LIBNAME)* .checked* .compiled* .configured* .installed* .untarred2* diffs tmp $(UNTARDIR) $(OLDUNTARDIR)
+ distclean: clean ; rm -rf Makefile
+
-SLIMIT ?= 8192
-TLIMIT ?= 100
-MLIMIT ?= 400000
@@ -15,8 +26,8 @@
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
+--- M2/Macaulay2/m2/basictests/Makefile.in.orig 2021-11-17 15:21:40.000000000 -0700
++++ M2/Macaulay2/m2/basictests/Makefile.in 2021-11-24 16:10:22.499027509 -0700
@@ -22,17 +22,17 @@ $(TESTRESULTS) : @pre_exec_prefix@/bin/M
ARGS := --silent -q --stop --no-core -e 'srcdir = "@srcdir@/"'
@@ -42,8 +53,8 @@
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
+--- M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in.orig 2021-11-17 15:21:40.000000000 -0700
++++ M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in 2021-11-24 16:10:22.500027511 -0700
@@ -15,16 +15,16 @@ diff:
LIMIT :=
@@ -65,8 +76,8 @@
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
+--- M2/Macaulay2/tests/Makefile.test.in.orig 2021-11-17 15:21:40.000000000 -0700
++++ M2/Macaulay2/tests/Makefile.test.in 2021-11-24 16:10:22.500027511 -0700
@@ -6,18 +6,18 @@ DEFERRED ?= no
DOTS ?= ../..
diff --git a/Macaulay2-1.17-default_make_targets.patch b/Macaulay2-1.17-default_make_targets.patch
new file mode 100644
index 0000000..96be906
--- /dev/null
+++ b/Macaulay2-1.17-default_make_targets.patch
@@ -0,0 +1,11 @@
+--- M2/Macaulay2/Makefile.in.orig 2021-01-12 14:18:59.570080654 -0700
++++ M2/Macaulay2/Makefile.in 2021-01-12 14:19:19.802046768 -0700
+@@ -3,7 +3,7 @@
+ VPATH = @srcdir@
+ include ../include/config.Makefile
+ all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/README @pre_docdir@/LAYOUT
+-SUBDIRS = util c d e system bin m2 man packages editors html-check-links tests
++SUBDIRS = util c d e system bin m2 man packages editors
+
+ define do-in-subdirs
+ $(foreach d,$(SUBDIRS),
diff --git a/Macaulay2-1.18-no_gftables.patch b/Macaulay2-1.18-no_gftables.patch
new file mode 100644
index 0000000..17ebc01
--- /dev/null
+++ b/Macaulay2-1.18-no_gftables.patch
@@ -0,0 +1,11 @@
+--- M2/configure.ac.orig 2021-06-13 14:28:15.330215045 -0600
++++ M2/configure.ac 2021-06-13 14:28:49.449246006 -0600
+@@ -667,7 +667,7 @@ AC_SUBST(BUILTLIBS)
+ AC_SUBST(LIBLIST, " atomic_ops gc gdbm gmp mpir mpfr mpfi readline ntl flint factory lapack mpsolve frobby glpk cddlib fplll linbox gtest ")
+ # The list LIBLIST is the list of libraries that might be used and linked into M2.
+
+-AC_SUBST(PROGLIST, "4ti2 gfan normaliz csdp nauty cddplus lrslib gftables topcom cohomcalg")
++AC_SUBST(PROGLIST, "4ti2 gfan normaliz csdp nauty cddplus lrslib topcom cohomcalg")
+ # The list PROGLIST is the list of programs and libraries for them that are distributed with M2.
+ # Initially, we offer no option for not compiling some of them.
+
diff --git a/Macaulay2-1.25-default_make_targets.patch b/Macaulay2-1.25-default_make_targets.patch
deleted file mode 100644
index 3daf8c7..0000000
--- a/Macaulay2-1.25-default_make_targets.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- 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
deleted file mode 100644
index 5c93b1c..0000000
--- a/Macaulay2-1.25-optflags.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- 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/com.macaulay2.macaulay2.desktop b/Macaulay2.desktop
similarity index 100%
rename from com.macaulay2.macaulay2.desktop
rename to Macaulay2.desktop
diff --git a/com.macaulay2.macaulay2.metainfo.xml b/Macaulay2.metainfo.xml
similarity index 75%
rename from com.macaulay2.macaulay2.metainfo.xml
rename to Macaulay2.metainfo.xml
index 0de35f5..5d7bd15 100644
--- a/com.macaulay2.macaulay2.metainfo.xml
+++ b/Macaulay2.metainfo.xml
@@ -1,8 +1,8 @@
- com.macaulay2.macaulay2
- 0BSD
- GPL-2.0-only OR GPL-3.0-only
+ Macaulay2
+ CC0-1.0
+ GPL-2.0 or GPL-3.0
Macaulay2
System for algebraic geometry and commutative algebra
@@ -12,7 +12,7 @@
and Michael E. Stillman.
- com.macaulay2.macaulay2.desktop
+ Macaulay2.desktop
https://faculty.math.illinois.edu/Macaulay2/Screenshots/texmacs.png
@@ -23,8 +23,8 @@
Macaulay2 with Emacs
- Macaulay2-maintainers@fedoraproject.org
- https://macaulay2.com/
+ loganjerry@gmail.com
+ http://macaulay2.com/
https://github.com/Macaulay2/M2/issues
https://groups.google.com/g/macaulay2
diff --git a/Macaulay2.spec b/Macaulay2.spec
index 5d65215..aafe8f4 100644
--- a/Macaulay2.spec
+++ b/Macaulay2.spec
@@ -2,26 +2,30 @@
# Macaulay2's memory management scheme requires close cooperation with libgc,
# and some of the supporting libraries must be compiled with special options to
# accomplish this. In particular, Macaulay2 needs:
+# - mathicgb configured --without-tbb
# - mpfr configured with --disable-thread-safe
# - flint linked with the GC-enabled mpfr
# - factory (from Singular) configured with --disable-omalloc --enable-streamio
# and linked with the flint that is linked with the GC-enabled mpfr
# Since the main Fedora packages are not built in this way, we are forced to
-# bundle these packages to avoid random GC-related crashes.
+# bundle these packages to avoid random GC-related crashes. The packages
+# memtailor and mathic, which sit underneath mathicgb, must also be bundled or
+# we get random GC-related crashes for an as yet undiagnosed reason.
#
-# 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 use the static version of the libfplll and givaro library. 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 m2url https://github.com/Macaulay2/M2
+
+%global emacscommit 01af405c5c92f90e4009ff580a1b1dcefe43a714
%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.
@@ -33,129 +37,21 @@
# 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}
# 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.25.11
-Release: %autorelease
+Version: 1.19
+Release: 1%{?dist}
-# 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
+License: GPLv2 or GPLv3
+URL: http://macaulay2.com/
%if 0%{?snap:1}
Source0: %{name}-%{version}-%{snap}.tar.xz
%else
@@ -166,94 +62,123 @@ Source1: %{emacsurl}/tarball/%{emacscommit}/M2-emacs-%{emacsshort}.tar.gz
# 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
+Source11: Macaulay2.desktop
+Source12: Macaulay2.metainfo.xml
Source20: etags.sh
## BUNDLED code
# Normaliz must sometimes be bundled due to version differences
-%if ! %system_normaliz
-%global normalizver 3.11.0
+%global normalizver 3.7.2
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 4.2.2
-Source101: https://www.mpfr.org/mpfr-%{mpfrver}/mpfr-%{mpfrver}.tar.gz
+%global mpfrver 4.1.0
+Source101: http://www.mpfr.org/mpfr-%{mpfrver}/mpfr-%{mpfrver}.tar.xz
Provides: bundled(mpfr) = %{mpfrver}
# FLINT is bundled because it must be linked with the specially-built MPFR
-%global flintver 3.3.1
-Source102: https://github.com/flintlib/flint/archive/v%{flintver}/flint-%{flintver}.tar.gz
+%global flintver 2.8.3
+Source102: http://www.flintlib.org/flint-%{flintver}.tar.gz
Provides: bundled(flint) = %{flintver}
# FACTORY is bundled because it must be built with special options
-%global factoryver 4.4.1
-Source103: https://www.singular.uni-kl.de/ftp/pub/Math/Factory/factory-%{factoryver}.tar.gz
+%global factoryver 4.2.1
+Source103: http://faculty.math.illinois.edu/Macaulay2/Downloads/OtherSourceCode/factory-%{factoryver}.tar.gz
Provides: bundled(factory) = %{factoryver}
+# MATHICGB is bundled because it must be built with different threading options
+%global mathicgbver 1.0
+%global mathicgbcommit 9ed59d9afe69253ea1d1ddeeaf5eb300d45ed9e1
+Source104: https://github.com/Macaulay2/mathicgb/tarball/%{mathicgbcommit}/mathicgb-%{mathicgbver}.tar.gz
+Provides: bundled(mathicgb) = %{mathicgbver}
+
+# GTEST is bundled because MATHICGB refuses to build otherwise
+%global gtestver 1.10.0
+Source105: https://faculty.math.illinois.edu/Macaulay2/Downloads/OtherSourceCode/gtest-%{gtestver}.tar.gz
+
+# MEMTAILOR is bundled because it causes garbage collector crashes otherwise
+%global memtailorver 1.0
+%global memtailorcommit 123afe02b7a458faa4be8ec3a85d6a362a5e7c89
+Source106: https://github.com/Macaulay2/memtailor/tarball/%{memtailorcommit}/memtailor-%{memtailorver}.tar.gz
+Provides: bundled(memtailor) = %{memtailorver}
+
+# MATHIC is bundled because it causes garbage collector crashes otherwise
+%global mathicver 1.0
+%global mathiccommit 68da8d452dcafeb07fc8749839c566662a2f9b03
+Source107: https://github.com/Macaulay2/mathic/tarball/%{mathiccommit}/mathic-%{mathicver}.tar.gz
+Provides: bundled(mathic) = %{mathicver}
+
# 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
+%global linboxver 1.6.3
+Source108: https://github.com/linbox-team/linbox/releases/download/v%{linboxver}/linbox-%{linboxver}.tar.gz
Provides: bundled(linbox) = %{linboxver}
## PATCHES FOR BUNDLED code
-# No patches
+# Work around an ambiguous overload on 32-bit platforms
+Source200: linbox-1.6.3.patch
+# MPFR bug fixes from mpfr upstream.
+Source201: mpfr-4.1.0.patch
+# Fix mathicgb build on big endian machines and with gcc 11
+Source202: mathicgb-1.0.patch
+# Silence GCC warnings about mathic code
+Source203: mathic-1.0.patch
## FAKE library tarballs that convince Macaulay2 to use the system versions
-Source300: frobby_v0.9.5.tar.gz
+Source300: frobby_v0.9.0.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
+Source302: lapack-3.9.0.tgz
+Source303: 4ti2-1.6.9.tar.gz
+Source304: libfplll-5.2.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
+Source306: givaro-4.1.1.tar.gz
+Source307: lrslib-071a.tar.gz
+Source308: TOPCOM-0.17.8.tar.gz
Source309: cohomCalg-0.32.tar.gz
-Source310: glpk-5.0.tar.gz
+Source310: glpk-4.59.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
+Source312: mpsolve-3.2.1.tar.gz
# let Fedora optflags override the defaults
-Patch: %{name}-1.25-optflags.patch
+Patch0: %{name}-1.15-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
+Patch1: %{name}-1.16-ulimit.patch
+# drop 'tests' from default make target
+Patch2: %{name}-1.17-default_make_targets.patch
+# disable check for gftables
+Patch3: %{name}-1.18-no_gftables.patch
+# adapt to libfplll 5.2.1
+Patch4: %{name}-1.15-fplll.patch
# do not override the debug level
-Patch: %{name}-1.17-configure.patch
+Patch5: %{name}-1.17-configure.patch
+# Fix "error: in conversion to html, unknown TeX control sequence(s): \rightarrow"
+Patch6: %{name}-1.16-rightarrow.patch
# Fix LTO warnings about mismatched declarations and definitions
-Patch: %{name}-1.18-lto.patch
+Patch7: %{name}-1.18-lto.patch
BuildRequires: 4ti2
-BuildRequires: appstream
BuildRequires: autoconf
BuildRequires: autoconf-archive
BuildRequires: bison
BuildRequires: boost-devel
+BuildRequires: cddlib-devel
BuildRequires: chrpath
-BuildRequires: cmake
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: expat-devel
BuildRequires: factory-gftables
+BuildRequires: fflas-ffpack-devel
BuildRequires: flex
+BuildRequires: flexiblas-devel
BuildRequires: gawk
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
@@ -264,59 +189,48 @@ 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: libappstream-glib
-BuildRequires: libatomic
+BuildRequires: libgfan-devel
+BuildRequires: libtool
+BuildRequires: libatomic_ops-devel
BuildRequires: libfplll-static
BuildRequires: libfrobby-devel
-BuildRequires: libgfan-devel
-BuildRequires: libnormaliz-devel >= 3.10.4
+BuildRequires: libnauty-devel
+BuildRequires: libnormaliz-devel >= 3.6.3
BuildRequires: libtool
BuildRequires: lrslib-devel
BuildRequires: lrslib-utils
+BuildRequires: m4ri-devel
+BuildRequires: m4rie-devel
BuildRequires: make
+BuildRequires: mariadb-devel
+BuildRequires: mpfi-devel
BuildRequires: mpsolve-devel
-BuildRequires: msolve
-BuildRequires: msolve-devel
BuildRequires: nauty
BuildRequires: normaliz
-BuildRequires: ocl-icd-devel
-BuildRequires: pari-devel
-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: ntl-devel
+BuildRequires: pkgconfig(bdw-gc) >= 7.6.2
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: python3-devel
-BuildRequires: R
-BuildRequires: scip
+BuildRequires: qd-devel
+BuildRequires: readline-devel
+BuildRequires: tbb-devel
BuildRequires: texinfo
BuildRequires: time
+BuildRequires: tinyxml2-devel
BuildRequires: TOPCOM
BuildRequires: transfig
-%ifarch %{valgrind_arches}
BuildRequires: valgrind
-%endif
Requires: 4ti2
Requires: cohomCalg
@@ -334,8 +248,6 @@ Requires: TOPCOM
Requires: xdg-utils
Recommends: mathicgb
-Recommends: msolve
-Recommends: scip
%if 0%{?common}
Requires: %{name}-common = %{version}-%{release}
@@ -350,11 +262,9 @@ Provides: Macaulay2-emacs = %{version}-%{release}
Provides: macaulay2 = %{version}-%{release}
-# 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}
+# Macaulay2 no longer builds successfully on 32-bit platforms
+# https://bugzilla.redhat.com/show_bug.cgi?id=1874318
+ExcludeArch: %{ix86} %{arm}
# Do not advertise the bundled mpfr
%global __provides_exclude libmpfr.so*
@@ -362,8 +272,8 @@ ExcludeArch: %{ix86} %{power64}
%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}
@@ -380,34 +290,36 @@ 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 ! %system_normaliz
install -p -m644 %{SOURCE100} BUILD/tarfiles/
-%endif
-install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} BUILD/tarfiles/
-install -p -m644 %{SOURCE104} BUILD/tarfiles/v%{linboxver}.tar.gz
+install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE105} \
+ %{SOURCE108} BUILD/tarfiles/
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",' \
+ -e 's/^#\(PATCHFILE\)/\1/' \
+ -e 's,--with-gmp.*,GIVARO_CFLAGS=-I$(LIBRARIESDIR) GIVARO_LIBS="%{_libdir}/libgivaro.a",' \
-i libraries/linbox/Makefile.in
+tar -C submodules/mathicgb -xf %{SOURCE104} --strip-components=1
+patch -d submodules/mathicgb -p0 < %{SOURCE202}
+tar -C submodules/memtailor -xf %{SOURCE106} --strip-components=1
+tar -C submodules/mathic -xf %{SOURCE107} --strip-components=1
+patch -d submodules/mathic -p0 < %{SOURCE203}
## patches for bundled code
-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," \
+sed -e 's,--with-blas,&=%{_includedir}/flexiblas --with-ntl,' \
+ -e 's,2\.6\.0,%{flintver},' \
-i libraries/flint/Makefile.in
+cp -p %{SOURCE200} libraries/linbox/patch-%{linboxver}
+sed -e '/^TARFILE =/iPATCHFILE = @abs_srcdir@/patch-$(VERSION)' \
+ -i libraries/mpfr/Makefile.in
+cp -p %{SOURCE201} libraries/mpfr/patch-%{mpfrver}
## fake library tarballs
install -p -m644 %{SOURCE300} %{SOURCE301} %{SOURCE302} %{SOURCE303} \
%{SOURCE304} %{SOURCE305} %{SOURCE306} %{SOURCE307} %{SOURCE308} \
- %{SOURCE309} %{SOURCE310} %{SOURCE311} %{SOURCE312} %{SOURCE313} \
- BUILD/tarfiles/
+ %{SOURCE309} %{SOURCE310} %{SOURCE311} %{SOURCE312} BUILD/tarfiles/
sed -i '/PRECONFIGURE/d' libraries/{4ti2,cddlib,givaro,normaliz,topcom}/Makefile.in
+sed -i 's/VERSION = 4\.0\.4/VERSION = 5.2.0/;/PATCHFILE/d' libraries/fplll/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
@@ -415,13 +327,19 @@ sed -i 's,install \(lib.*\.a\),ln -s %{_libdir}/\1,' libraries/lapack/Makefile.i
## fake givaro submodule
tar -C submodules/givaro --strip-components=1 -xzf %{SOURCE306}
-## flint submodule
-tar -C submodules/flint --strip-components=1 -xzf %{SOURCE102}
+%patch0 -p1 -b .optflags
+%patch1 -p1 -b .ulimit
+%patch2 -p1 -b .default_make_targets
+%patch3 -p1 -b .no_gftables
+# 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
+%patch4 -p1 -b .fplll
+%patch5 -p1 -b .configure
+%patch6 -p1 -b .rightarrow
+%patch7 -p1 -b .lto
-%autopatch -p1
-
-
-%conf
# repeatable builds: inject a node name
sed -i 's,`uname -n`,build.fedoraproject.org,' configure.ac
@@ -439,59 +357,69 @@ sed -e 's/BUILD_cddlib=yes/BUILD_cddlib=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,-llapack -lrefblas,-lflexiblas,' \
-e 's,\$added_fclibs != yes,"$added_fclibs" != yes,' \
-i configure.ac
-# Do not try to download tarballs
-sed -i '/^fetch: download-enabled/d' libraries/Makefile.library.in
+# We call it flint. Upstream calls it flint2.
+sed -i 's/\(LIBNAME = flint\)2/\1/' libraries/flint/Makefile.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
+# Cannot do git submodule operations on a koji builder
+sed -i 's/git-checkout-in-memtailor.*//' GNUmakefile.in
# (re)generate configure
autoreconf -fi .
%build
-# Let the configure script find lrslib utilities
-module load lrslib-%{_arch}
+%ifarch s390x
+# For as yet unknown reasons, when this package is built with optimization
+# level -O2 on s390x, the mathicgb code accesses out-of-bounds array elements.
+# In addition, valgrind shows accesses to uninitialized elements of arrays
+# that should not have any uninitialized elements. The code eventually
+# segfaults. When built with -O1 and LTO, the linker segfaults. Until we can
+# diagnose and fix these issues, we build with -O1 and without LTO on s390x.
+%define _lto_cflags %{nil}
+optflags=$(sed 's/-O2/-O/g' <<< "%{optflags}")
+%else
+optflags="%{optflags}"
+%endif
+
+# Possible bug in Macaulay2 1.19: the memtailor, mathic, and mathicgb headers
+# cannot be found. We work around this here. See if the problem has been fixed
+# in later versions.
+CPPFLAGS="-I$PWD/submodules/memtailor/src -I$PWD/submodules/mathic/src -I$PWD/submodules/mathicgb/src"
## configure macro currently broken, due to some odd prefix-checks. probably fixable -- Rex
mkdir -p BUILD/%{_target_platform}
-cd BUILD/%{_target_platform}
+pushd BUILD/%{_target_platform}
CPPFLAGS="$CPPFLAGS -I%{_includedir}/cddlib -I%{_includedir}/frobby" \
-CFLAGS='%{build_cflags} -fsigned-char' \
-CXXFLAGS='%{build_cflags} -fsigned-char' \
+CFLAGS="${optflags} -fsigned-char" \
+CXXFLAGS="${optflags} -fsigned-char" \
LIBS="-lflexiblas" \
../../configure \
--build=%{_build} \
--host=%{_host} \
--with-issue=%{ISSUE} \
--prefix=%{_prefix} \
+ --disable-dumpdata \
--enable-shared \
+ --disable-fc-lib-ldflags \
--disable-strip \
+ --enable-fplll \
--enable-linbox \
- --with-blas=flexiblas \
- --with-lapack=flexiblas \
- --with-system-libs \
+%if 0%{?gmp}
+ --with-integer-package=gmp \
+%else
+ --with-integer-package=mpir \
+%endif
--with-unbuilt-programs="cddplus nauty" \
- --enable-build-libraries="mpfr flint factory lapack fplll givaro linbox"
+ --enable-build-libraries="mpfr flint factory lapack fplll givaro linbox gtest"
# 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 -
+popd
# link with static libraries when global constructors run prior to GC
# initialization. Otherwise, unloading the shared object causes a crash.
@@ -505,11 +433,6 @@ for fil in $(grep -Erl -e '-lfplll|-lgivaro' .); do
rm -f $fil.orig
done
-# 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
@@ -530,10 +453,6 @@ for fil in checkregularity chiro2circuits chiro2cocircuits cohomcalg csdp lrs \
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
for sz in 64 72 96 128 192 256 512; do
sz2=${sz}x${sz}
@@ -547,28 +466,30 @@ desktop-file-install --vendor="" \
%{SOURCE11}
mkdir -p %{buildroot}%{_metainfodir}
-install -pm 644 %{SOURCE12} %{buildroot}%{_metainfodir}
-# Still required by guidelines for now
-# (https://pagure.io/packaging-committee/issue/1053):
+install -pm 644 %{SOURCE12} %{buildroot}%{_metainfodir}/%{name}.metainfo.xml
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
+ %{buildroot}%{_metainfodir}/%{name}.metainfo.xml
# Byte compile the Emacs files, and move the documentation
-cd %{buildroot}%{_emacs_sitelispdir}/macaulay2
+pushd %{buildroot}%{_emacs_sitelispdir}/macaulay2
mv M2-emacs* %{buildroot}%{_pkgdocdir}
mv README.md %{buildroot}%{_pkgdocdir}/README-emacs.md
%{_emacs_bytecompile} *.el
-cd -
+popd
## unpackaged files
# info dir
rm -fv %{buildroot}%{_infodir}/dir
+# Delete misinstalled memtailor, mathic, and mathicgb libraries
+rm -fr %{buildroot}/builddir
+
%check
+CFLAGS="%{build_cflags}" \
+CXXFLAGS="%{build_cxxflags}" \
+LDFLAGS="%{build_ldflags}" \
+
# 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
@@ -585,9 +506,9 @@ make check -C BUILD/%{_target_platform}/Macaulay2/bin
%files common
%endif
%{_datadir}/Macaulay2/
-%{_datadir}/applications/com.macaulay2.macaulay2.desktop
+%{_datadir}/applications/*Macaulay2.desktop
%{_datadir}/icons/hicolor/*/*/*
-%{_metainfodir}/com.macaulay2.macaulay2.metainfo.xml
+%{_metainfodir}/%{name}.metainfo.xml
%{_docdir}/Macaulay2/
%{_infodir}/*.info*
%{_mandir}/man1/*
@@ -595,4 +516,560 @@ make check -C BUILD/%{_target_platform}/Macaulay2/bin
%changelog
-%autochangelog
+* 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/changelog b/changelog
deleted file mode 100644
index f52a894..0000000
--- a/changelog
+++ /dev/null
@@ -1,682 +0,0 @@
-* 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