The package rpms/Macaulay2.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/Macaulay2.git/commit/?id=d4d2e5d33e2....
Change: +%ifnarch %{x86_64}
Thanks.
Full change: ============
commit d4d2e5d33e2a6d0c9a83df275f1950cbd28f43e5 Author: Jerry James loganjerry@gmail.com Date: Thu May 29 09:21:26 2025 -0600
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
diff --git a/Macaulay2-1.15-fplll.patch b/Macaulay2-1.15-fplll.patch deleted file mode 100644 index c216db9..0000000 --- a/Macaulay2-1.15-fplll.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- 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 <stddef.h> --#include <fplll.h> - #endif -+#include <fplll/fplll.h> -+ -+#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<int>(M->n_rows()); - int nrows = static_cast<int>(M->n_cols()); - -- ZZ_mat<mpz_t> mat(nrows, ncols); -+ fplll::ZZ_mat<mpz_t> 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 deleted file mode 100644 index d27c278..0000000 --- a/Macaulay2-1.15-optflags.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- 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 deleted file mode 100644 index 1c4abd5..0000000 --- a/Macaulay2-1.16-rightarrow.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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.18-no_gftables.patch b/Macaulay2-1.18-no_gftables.patch deleted file mode 100644 index 624b4bf..0000000 --- a/Macaulay2-1.18-no_gftables.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- M2/configure.ac.orig 2025-02-18 20:23:14.170473648 -0700 -+++ M2/configure.ac 2025-02-18 20:25:03.857046789 -0700 -@@ -615,7 +615,7 @@ AC_SUBST(BUILTLIBS) - AC_SUBST(LIBLIST, " gc gdbm gmp mpfr mpfi normaliz readline ntl flint factory lapack mpsolve frobby glpk cddlib fplll givaro fflas_ffpack linbox gtest tbb memtailor mathic mathicgb eigen ") - # The list LIBLIST is the list of libraries that might be used and linked into M2. - --AC_SUBST(PROGLIST, "4ti2 gfan csdp nauty cddplus lrslib gftables topcom cohomcalg msolve") -+AC_SUBST(PROGLIST, "4ti2 gfan csdp nauty cddplus lrslib topcom cohomcalg msolve") - # 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.24-codim-option.patch b/Macaulay2-1.24-codim-option.patch deleted file mode 100644 index 2e4b980..0000000 --- a/Macaulay2-1.24-codim-option.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fixes these errors: - - -- ___Ignore__Primes.errors - -- ************************ - -- o4 : List - -- - -- i5 : L2 = topMinimalPrimesIP(I, IgnorePrimes=>L1) - -- - -- o5 = {monomialIdeal (x, y, w, v)} - -- - -- o5 : List - -- - -- i6 : minimalPrimes I - -- stdio:6:13:(3): error: encountered an unknown key or option: Generic - -- - -- _top__Minimal__Primes__I__P.errors - -- ********************************** - -- i1 : R = QQ[x,y,z,w,v]; - -- - -- i2 : I = monomialIdeal(y^12, x*y^3, z*w^3, z*v*y^10, z*x^10, v*z^10, w*v^10, y*v*x*z*w); - -- - -- o2 : MonomialIdeal of R - -- - -- i3 : ScipPrintLevel = 0; - -- - -- i4 : minimalPrimes(I) - -- stdio:4:13:(3): error: encountered an unknown key or option: Generic - -- - -- _minimal__Primes__I__P.errors - -- ***************************** - -- i5 : minimalPrimesIP I - -- - -- o5 = {monomialIdeal (y, z, w), monomialIdeal (y, z, v), monomialIdeal (x, y, - -- ------------------------------------------------------------------------ - -- w, v)} - -- - -- o5 : List - -- - -- i6 : minimalPrimes I - -- stdio:6:13:(3): error: encountered an unknown key or option: Generic - ---- M2/Macaulay2/packages/MonomialIntegerPrograms.m2.orig 2024-11-01 04:33:00.000000000 -0600 -+++ M2/Macaulay2/packages/MonomialIntegerPrograms.m2 2025-02-19 19:09:27.203480082 -0700 -@@ -135,7 +135,7 @@ oldCodim = lookup(codim, MonomialIdeal); - oldDegree = lookup(degree, MonomialIdeal); - loadSCIPCodimAndDegree = method(); - installMethod(loadSCIPCodimAndDegree,() -> ( -- codim MonomialIdeal := {} >> opts -> m -> ((cacheValue symbol codim) codimensionIP) m; -+ codim MonomialIdeal := options oldCodim >> opts -> m -> ((cacheValue symbol codim) codimensionIP) m; - degree MonomialIdeal := m -> ((cacheValue symbol degree) degreeIP) m; - )); - loadBuiltinCodimAndDegree = method(); diff --git a/Macaulay2-1.17-default_make_targets.patch b/Macaulay2-1.25-default_make_targets.patch similarity index 69% rename from Macaulay2-1.17-default_make_targets.patch rename to Macaulay2-1.25-default_make_targets.patch index fb6da94..3f97dc6 100644 --- a/Macaulay2-1.17-default_make_targets.patch +++ b/Macaulay2-1.25-default_make_targets.patch @@ -1,9 +1,9 @@ ---- M2/Macaulay2/Makefile.in.orig 2022-05-23 06:34:31.896886749 -0600 -+++ M2/Macaulay2/Makefile.in 2022-05-23 06:35:19.380825646 -0600 +--- M2/Macaulay2/Makefile.in.orig 2025-05-15 13:11:03.000000000 -0600 ++++ M2/Macaulay2/Makefile.in 2025-05-27 07:06:53.335036043 -0600 @@ -3,8 +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 + all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/LAYOUT -SUBDIRS = util c d e system bin m2 man packages editors \ - $(if $(filter html, @DOCUMENTATION@), html-check-links) tests +SUBDIRS = util c d e system bin m2 man packages editors tests diff --git a/Macaulay2-1.25-optflags.patch b/Macaulay2-1.25-optflags.patch new file mode 100644 index 0000000..1210bda --- /dev/null +++ b/Macaulay2-1.25-optflags.patch @@ -0,0 +1,42 @@ +--- M2/configure.ac.orig 2025-05-15 13:11:03.000000000 -0600 ++++ M2/configure.ac 2025-05-27 10:03:26.646029450 -0600 +@@ -314,12 +314,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-05-15 13:11:03.000000000 -0600 ++++ M2/libraries/factory/Makefile.in 2025-05-27 10:06:05.923689632 -0600 +@@ -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-05-15 13:11:03.000000000 -0600 ++++ M2/libraries/mpfr/Makefile.in 2025-05-28 10:00:08.231129391 -0600 +@@ -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.25-strstream.patch b/Macaulay2-1.25-strstream.patch new file mode 100644 index 0000000..a451e15 --- /dev/null +++ b/Macaulay2-1.25-strstream.patch @@ -0,0 +1,10 @@ +--- M2/Macaulay2/e/f4/f4.cpp.orig 2025-05-15 13:11:03.000000000 -0600 ++++ M2/Macaulay2/e/f4/f4.cpp 2025-05-27 14:07:27.737228269 -0600 +@@ -26,7 +26,6 @@ + #include <algorithm> // for stable_sort + #include <vector> // for swap, vector + #include <atomic> // for atomic ints in gauss_reduce +-#include <strstream> + #include <iostream> + + class RingElement; diff --git a/Macaulay2.spec b/Macaulay2.spec index 19fdc5f..5ea7a8a 100644 --- a/Macaulay2.spec +++ b/Macaulay2.spec @@ -2,15 +2,12 @@ # 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. 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. +# bundle these packages to avoid random GC-related crashes. # # We have to use the static versions of the libfplll and givaro libraries. # They have global objects whose constructors run before GC is initialized. @@ -21,7 +18,7 @@ # We have to bundle the linbox package. It has global constructors that cause # the same problem as libfplll.
-%global emacscommit f0bb736dff7bbf30d143ecc68700ee747263a35d +%global emacscommit 6d0db52505c524d02c2270059767644aea360fd0 %global emacsurl https://github.com/Macaulay2/M2-emacs %global emacsshort %(cut -b -7 <<< %{emacscommit}) %global m2url https://github.com/Macaulay2/M2 @@ -50,7 +47,7 @@
Summary: System for algebraic geometry and commutative algebra Name: Macaulay2 -Version: 1.24.11 +Version: 1.25.05 Release: 1%{?dist}
# GPL-2.0-only OR GPL-3.0-only: @@ -64,7 +61,6 @@ Release: 1%{?dist} # - Macaulay2/packages/QuillenSuslin.m2 # - Macaulay2/packages/Visualize.m2 # GPL-2.0-or-later: -# - mathicgb (bundled) # - Macaulay2/e/bibasis # - Macaulay2/m2/computations.m2 # - Macaulay2/packages/AlgebraicSplines.m2 @@ -135,14 +131,11 @@ Release: 1%{?dist} # LGPL-2.0-or-later: # - flint (bundled) # - linbox (bundled) -# - mathic (bundled) # LGPL-3.0-or-later: # - mpfr (bundled) # Apache-2.0: # - Macaulay2/packages/OpenMath.m2 # - Macaulay2/packages/SCSCP.m2 -# BSD-3-Clause: -# - memtailor (bundled) # MIT: # - Macaulay2/packages/Visualize/css # - Macaulay2/packages/Visualize/js @@ -160,7 +153,7 @@ Release: 1%{?dist} # - 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 BSD-3-Clause AND MIT AND OFL-1.1-RFN AND LicenseRef-Fedora-Public-Domain +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} @@ -186,87 +179,57 @@ Provides: bundled(normaliz) = %{normalizver} %endif
# MPFR is bundled because it must be built with different threading options -%global mpfrver 4.2.1 +%global mpfrver 4.2.2 Source101: https://www.mpfr.org/mpfr-%%7Bmpfrver%7D/mpfr-%%7Bmpfrver%7D.tar.gz Provides: bundled(mpfr) = %{mpfrver}
# FLINT is bundled because it must be linked with the specially-built MPFR -%global flintver 3.1.3 -Source102: https://flintlib.org/download/flint-%%7Bflintver%7D.tar.gz +%global flintver 3.2.2 +Source102: https://github.com/flintlib/flint/archive/v%%7Bflintver%7D/flint-%%7Bflintve... Provides: bundled(flint) = %{flintver}
# FACTORY is bundled because it must be built with special options -%global factoryver 4.4.0 +%global factoryver 4.4.1 Source103: https://www.singular.uni-kl.de/ftp/pub/Math/Factory/factory-%%7Bfactoryver%7... Provides: bundled(factory) = %{factoryver}
-# MATHICGB is bundled because it must be built with different threading options -%global mathicgbver 1.0 -%global mathicgbcommit 4cd2bd1357107cf0c83661fdda66c94987de4608 -Source104: https://github.com/Macaulay2/mathicgb/tarball/%%7Bmathicgbcommit%7D/mathicgb... -Provides: bundled(mathicgb) = %{mathicgbver} - -# GTEST is bundled because MATHICGB refuses to build otherwise -%global gtestver 1.11.0 -Source105: https://github.com/google/googletest/archive/release-%%7Bgtestver%7D/gtest-%... - -# MEMTAILOR is bundled because it causes garbage collector crashes otherwise -%global memtailorver 1.0 -%global memtailorcommit f785005b92a54463dbd5377ab80855a3d2a5f92d -Source106: https://github.com/Macaulay2/memtailor/tarball/%%7Bmemtailorcommit%7D/memtai... -Provides: bundled(memtailor) = %{memtailorver} - -# MATHIC is bundled because it causes garbage collector crashes otherwise -%global mathicver 1.0 -%global mathiccommit 07e8df4ded6b586c0ce9eec0f9096690379749cb -Source107: https://github.com/Macaulay2/mathic/tarball/%%7Bmathiccommit%7D/mathic-%%7Bm... -Provides: bundled(mathic) = %{mathicver} - # LINBOX is bundled because it introduces static global objects %global linboxver 1.7.0 -Source108: https://github.com/linbox-team/linbox/releases/download/v%%7Blinboxver%7D/li... +Source104: https://github.com/linbox-team/linbox/releases/download/v%%7Blinboxver%7D/li... Provides: bundled(linbox) = %{linboxver}
## PATCHES FOR BUNDLED code # This is a conglomeration of all current patches for the Fedora linbox package Source200: linbox-1.7.0.patch -# Fix a header bug in flint -Source201: flint-3.1.3.patch
## FAKE library tarballs that convince Macaulay2 to use the system versions Source300: frobby_v0.9.5.tar.gz Source301: cddlib-094m.tar.gz -Source302: lapack-3.9.0.tgz +# lapack +Source302: v3.12.1.tar.gz Source303: 4ti2-1.6.10.tar.gz -Source304: libfplll-5.2.0.tar.gz +Source304: fplll-5.5.0.tar.gz Source305: gfan0.6.2.tar.gz Source306: givaro-4.2.0.tar.gz -Source307: lrslib-071a.tar.gz -Source308: TOPCOM-0.17.8.tar.gz +Source307: lrslib-073.tar.gz +Source308: TOPCOM-1.1.2.tar.gz Source309: cohomCalg-0.32.tar.gz -Source310: glpk-4.59.tar.gz +Source310: glpk-5.0.tar.gz Source311: Csdp-6.2.0.tgz Source312: mpsolve-3.2.1.tar.gz
# let Fedora optflags override the defaults -Patch0: %{name}-1.15-optflags.patch +Patch: %{name}-1.25-optflags.patch # give the build a little more time and space than upstream permits -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 +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 -Patch5: %{name}-1.17-configure.patch -# Fix "error: in conversion to html, unknown TeX control sequence(s): \rightarrow" -Patch6: %{name}-1.16-rightarrow.patch +Patch: %{name}-1.17-configure.patch # Fix LTO warnings about mismatched declarations and definitions -Patch7: %{name}-1.18-lto.patch -# Fix a build error due to mismatched options to codim -# https://github.com/Macaulay2/M2/pull/3651 -Patch8: %{name}-1.24-codim-option.patch +Patch: %{name}-1.18-lto.patch +# Avoid use of the deprecated strstream C++ header +Patch: %{name}-1.25-strstream.patch
BuildRequires: 4ti2 BuildRequires: appstream @@ -275,6 +238,7 @@ BuildRequires: autoconf-archive BuildRequires: bison BuildRequires: boost-devel BuildRequires: chrpath +BuildRequires: cmake BuildRequires: cohomCalg BuildRequires: csdp-tools BuildRequires: desktop-file-utils @@ -303,6 +267,7 @@ BuildRequires: glpk-devel BuildRequires: iml-devel BuildRequires: info BuildRequires: libappstream-glib +BuildRequires: libatomic BuildRequires: libfplll-static BuildRequires: libfrobby-devel BuildRequires: libgfan-devel @@ -333,6 +298,9 @@ 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(qd) @@ -341,6 +309,7 @@ BuildRequires: pkgconfig(tbb) BuildRequires: pkgconfig(tinyxml2) BuildRequires: polymake BuildRequires: python3-devel +BuildRequires: R BuildRequires: scip BuildRequires: texinfo BuildRequires: time @@ -382,12 +351,11 @@ Provides: Macaulay2-emacs = %{version}-%{release}
Provides: macaulay2 = %{version}-%{release}
-# Macaulay2 no longer builds successfully on 32-bit platforms -# https://bugzilla.redhat.com/show_bug.cgi?id=1874318 -# -# Macaulay2 started segfaulting during the build on ppc64le just prior to -# F40 Beta Freeze. Disable it for now until we can diagnose the problem. -ExcludeArch: %{ix86} ppc64le +# 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* @@ -417,25 +385,20 @@ install -p -m755 %{SOURCE20} ./etags %if ! %system_normaliz install -p -m644 %{SOURCE100} BUILD/tarfiles/ %endif -install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE105} \ - BUILD/tarfiles/ -install -p -m644 %{SOURCE108} BUILD/tarfiles/v%{linboxver}.tar.gz +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 -tar -C submodules/mathicgb -xf %{SOURCE104} --strip-components=1 -tar -C submodules/memtailor -xf %{SOURCE106} --strip-components=1 -tar -C submodules/mathic -xf %{SOURCE107} --strip-components=1
## patches for bundled code -sed -e 's,--with-blas,&=%{_includedir}/flexiblas --with-ntl,' \ - -e 's/3.0.0/%{flintver}/' \ +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/flint/patch-%{flintver} -sed -i 's/^# (PATCHFILE)/\1/' libraries/flint/Makefile.in cp -p %{SOURCE200} libraries/linbox/patch-%{linboxver} sed -i 's/^#(PATCHFILE)/\1/' libraries/linbox/Makefile.in
@@ -444,7 +407,6 @@ install -p -m644 %{SOURCE300} %{SOURCE301} %{SOURCE302} %{SOURCE303} \ %{SOURCE304} %{SOURCE305} %{SOURCE306} %{SOURCE307} %{SOURCE308} \ %{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 @@ -454,26 +416,8 @@ tar -C submodules/givaro --strip-components=1 -xzf %{SOURCE306}
## flint submodule tar -C submodules/flint --strip-components=1 -xzf %{SOURCE102} -cd submodules/flint -patch -p1 < %{SOURCE201} -cd -
-## gtest submodule -tar -C submodules/googletest --strip-components=1 -xzf %{SOURCE105} - -%patch -P0 -p1 -b .optflags -%patch -P1 -p1 -b .ulimit -%patch -P2 -p1 -b .default_make_targets -%patch -P3 -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 -%patch -P4 -p1 -b .fplll -%patch -P5 -p1 -b .configure -%patch -P6 -p1 -b .rightarrow -%patch -P7 -p1 -b .lto -%patch -P8 -p1 -b .codim +%autopatch -p1
%conf @@ -510,6 +454,15 @@ 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 autoreconf -fi .
@@ -532,12 +485,12 @@ LIBS="-lflexiblas" \ --prefix=%{_prefix} \ --enable-shared \ --disable-strip \ - --enable-fplll \ --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 gtest" + --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) @@ -609,9 +562,6 @@ cd - # info dir rm -fv %{buildroot}%{_infodir}/dir
-# Delete misinstalled memtailor, mathic, and mathicgb libraries -rm -fr %{buildroot}/builddir -
%check # The test suite has grown to the point where it takes many hours to run. @@ -640,6 +590,12 @@ make check -C BUILD/%{_target_platform}/Macaulay2/bin
%changelog +* Thu May 29 2025 Jerry James loganjerry@gmail.com - 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 loganjerry@gmail.com - 1.24.11-1 - Version 1.24.11 - Drop upstreamed vector overrun patch diff --git a/sources b/sources index 9f65891..afd777f 100644 --- a/sources +++ b/sources @@ -1,24 +1,20 @@ SHA512 (Macaulay2-icons.tar.xz) = 069aa0ad70a0253583b00091c094da9b79d2a2f0f2d38aa97f543081f5df5fd3b5a9e1463febd6947c3151cf01844133174c7372f57e158c2d3faba6baed5d1d -SHA512 (Macaulay2-1.24.11.tar.gz) = 22af8b04877f2e88ebfd548a6f4aad7e873d2d638e3c1fbe51dfc2ffae1ad71551dfc018542ea64750a3ffb18c6825ac047c088c00543f2f282a939aad953f9f +SHA512 (Macaulay2-1.25.05.tar.gz) = 00bc29fb15f01b354f94ff8088f362375e34d3d5c83f8a08365bcbd69156ae3c1fcd3104f788c759a6ad5e06faa24f7f01f9d628b01497fb031ad6e2454765b8 SHA512 (4ti2-1.6.10.tar.gz) = 0bdf73a8885fe03258a903f0bfb45b8271dcf755d8033b57b8d5620daba7fc25b51031ffb2c8609e40bc19508e07ba028de035d8c193caeffe6400457fc0e3e1 SHA512 (cddlib-094m.tar.gz) = d140d57391b1c963d68ca2e344fbda723a5077004bace322a18362fdc1fff8b50fdc4b598ca8cdf131158e07afc96c5d9aafd7abde082a9e241701e403310b9f SHA512 (cohomCalg-0.32.tar.gz) = b76d8de00b13a8fe8881222178247c5e99c15075c46290830f6c3afffb9dfc18af0d57f738ac5a0d7c00044db81b4465d1e0563c95f7f656a2440be5765c6818 SHA512 (Csdp-6.2.0.tgz) = 6f6c44abcb7b0e277f5a42a1e31acbd41c8fbdce0c1641982a48199fe1d922b28d86433d1a98ac71ae521bea04188a830c441db1e9d8eebf174debf501430e82 -SHA512 (factory-4.4.0.tar.gz) = 790f2de716a953933cd678d9cf972e0f141c4bae958c36ffd28a8dc9d2f61c49f40f475ffe88931b159c38f19b144b99434138c8dd9ef701aefcce76c96530e5 -SHA512 (flint-3.1.3.tar.gz) = 01a26a39424b2b9f6c5a6e91f2257332dbabf821a96bd0485eb5a6665d82a8b3ebb759da039104f7da3011bd91f5694a3554f34f08368fb635ceb8cadd9a0997 +SHA512 (factory-4.4.1.tar.gz) = a6ebed7cc0dea06a40c596f8845194633b6175670119afc11cb93269940ff6866a270549b9796929c1cc216645d01386ddea455a07d9ea033ce937baa4a05dfe +SHA512 (flint-3.2.2.tar.gz) = 6856e617efb0369a3b90c8d3a7eb734cfad263c1450f1c2d92236d61294dd8e9c3da3769d10e28aa42d4340c979ad01ee665deef68c0666c7ef48d831e308c8b +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.0.tar.gz) = 8258507f4ac2643ab39d1802ec79cf24051e7a70e167fcee1362c1a8ac12f924e831ce24450055cea96a8824f34fa83ad344d240a55571f7d522787db16afdfc -SHA512 (glpk-4.59.tar.gz) = ca05bd085880143acf4a440cf7efd2392d4dde89bed53a0e5726526cb210eee004bfcd434aeb8ca8abb1dc89ff93e72054489911e5e2c843e0ed631d50c55f56 -SHA512 (gtest-1.11.0.tar.gz) = 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28 -SHA512 (lapack-3.9.0.tgz) = afa4eb05f2b1dc2f9588ec58bd32f90b78c01185f328e71f2baf6adec6622f557c332f09e7eb46f71e5e3f2e852f25a640bde2bf9f4be7205cecf01cb07b6bc8 -SHA512 (libfplll-5.2.0.tar.gz) = 67d1a8deb92d3f9245983b09b7593b19c5d43c8fe77cfea893ea9dfb744bcb77b7239d73e4f619450cc6960f4c48fb1c6ba46268208b0f31f855cf1af6bfaa29 +SHA512 (glpk-5.0.tar.gz) = 36bcba534ed69b0f5328f4626018359efe07f802322c0821db75c7d1935f760af8cb907189d7d7c5b2f134a8b6214ae747ca004acc4c5ceccf157f6fc311523d SHA512 (linbox-1.7.0.tar.gz) = cb4e848186d1f6357f498d1e3bda6484b4c789c02440f9614a227a2ae206a31fb20b32be40bda74da3f2f8f981bbd58d80fc97c95499b5151bb06eafb867ef9e -SHA512 (lrslib-071a.tar.gz) = f33639c593769722a37262d6a90073076a4a8a7453ed81d948ebed6f0a5ee826b80c9211e5a601ca177b776c5388aa4e46efd55e8b219f1b6ce633232aa6b001 -SHA512 (M2-emacs-f0bb736.tar.gz) = eefef21cb613e6ad6e8e73b0cec08aab95e948323472e585d69421c2ec23d05e03730dc231ed262cc86b705081fad0329b2e298455dc73f28425f30cb3f9c670 -SHA512 (mathic-1.0.tar.gz) = 9eb2fe94d266ffda4624c89021e08526e073286635dd5439042e744f07ba053534bc9476ab81d37f7622d62d8ce40c3eedbc5f7013cd529584f46d3685f15d3a -SHA512 (mathicgb-1.0.tar.gz) = aea24832681c40c92cad012211ed647ed4e8287964481f36a62d6f0fb0d053fb07c17c49385b4782b380576a92aa387f67fa2843437a0e7b315c74288e65d5a8 -SHA512 (memtailor-1.0.tar.gz) = 147ef22f322a82d5336c004ba9cce055ee94eb7ad93d4271524cbee4713f94b258342f4e31569abac2e29472fdd25df2fad94000496ce46e469b7e074af3c86e -SHA512 (mpfr-4.2.1.tar.gz) = 858b7c2c3018e4099a7cd6d9d38eca7c46af90fa2c307d9417518027f07b6c43c51152c60b56359a53e7101a5d0629753f3eb5c54e17574742c374830832fcfe +SHA512 (lrslib-073.tar.gz) = f5d283c3c9bcc8ea83c1f6a0ce184202ccd0818987caaa7cf32fe8287cf8277802587f5001dc44878658c962c48fe6ae1250e9a522bb2bf0fa1d0ca8b84e1b9a +SHA512 (M2-emacs-6d0db52.tar.gz) = e0bc13093ad931c19673c1ea6adb279d6b7934cc38caf3d5359c6241e349b2d22695db6c35a9c7e12c943863f8923da25c9d4b4f35e0b7bffc52a9bdd376e402 +SHA512 (mpfr-4.2.2.tar.gz) = 373c5ce2c9636e45685dfa94f45bc4f8f6c2c0512d634b9e065ec33cb29da727b3ea13cf23aff307c1da765a40064f0fd4a347a3849ebd97252984fc85a0a400 SHA512 (mpsolve-3.2.1.tar.gz) = 8f0cb1be303767bf5a68c150df01c98f7f5e17bfaee685ea4cb9300c0dbf740069c774d647f141a4a1eb46fa54f23d9e75a800ce195cd522527c72e3c6aeed0f -SHA512 (TOPCOM-0.17.8.tar.gz) = 8611e8bd36eda00646fb40794435f23e6af81ecbee93c40e8fe5f73905e673e6244cb0f8cc1fe5c29050e40c7d53a44c615c60cbbecc8452b3c85f1d8a816d7a +SHA512 (TOPCOM-1.1.2.tar.gz) = 8f0d6dcfe5d83b260f671d4fd231a8e5a902668d2bf02d0977fbfa6a1d49e0ba3f1f51f2305267a4cbc0591c183c07642ef3d9613aae8f27f1832fe96ca90abb +SHA512 (v3.12.1.tar.gz) = eedfbae0447a965da66fea6dcd1a561717faede85e0f2e19a794d3947f6b8b4649b3415786ceba65914755766fafc0c2ff4ba80dfd309230145f879e6b900284
arch-excludes@lists.fedoraproject.org