Compare commits

...
Sign in to create a new pull request.

70 commits

Author SHA1 Message Date
Fedora Release Engineering
9add745d4e Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 02:36:51 +00:00
Jonathan Wakely
49c93575db Rebuilt for Boost 1.90 2026-01-15 02:03:22 +00:00
Jerry James
8dcde7a520 Reflow the description text 2026-01-13 21:35:44 -07:00
Jerry James
fb8c264465 Version 1.25.11
- Add msolve support
2025-11-19 20:54:05 -07:00
Jerry James
39960738e3 Convert to %autorelease and %autochangelog
[skip changelog]
2025-11-14 12:09:39 -07:00
Jerry James
f8f7eed549 Drop unused atomic_ops dependency 2025-10-13 16:47:42 -06:00
Terje Røsten
c0e21ea5f6 Move to C++17 for gtest 1.17.0 2025-10-08 13:37:01 +02:00
Benjamin A. Beasley
b201a8d33f Rebuilt for tinyxml2 11.0.0 2025-08-23 06:54:31 -04:00
Jerry James
80d72d3d57 Rebuild for tbb 2022.2.0 2025-08-20 06:34:04 -06:00
Jerry James
e36d37b56d Version 1.25.06 2025-08-08 13:54:08 -06:00
Fedora Release Engineering
03495424bf Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 15:51:02 +00:00
Jerry James
2347c2ca2e Unbundle factory-gftables (bz 2372455) 2025-06-13 08:01:32 -06:00
Jerry James
59b47bf61f Rebuild for normaliz 3.10.5 2025-06-11 20:54:55 -06:00
Python Maint
e03e7aac23 Rebuilt for Python 3.14 2025-06-03 15:32:49 +02:00
Jerry James
d4d2e5d33e 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
2025-05-29 09:21:26 -06:00
Jerry James
2de5ad26e6 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
2025-02-20 14:07:03 -07:00
Fedora Release Engineering
e7178e0213 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 08:43:25 +00:00
Benjamin A. Beasley
a62e57f082 libfplll 5.5.0 2024-11-22 14:15:25 -05:00
Jerry James
ceb5661546 Rebuild for nauty 2.8.9 2024-09-24 21:41:39 -06:00
Jerry James
e45bdc76df Rebuild for Singular 4.4.0p4 2024-08-24 06:52:53 -06:00
Fedora Release Engineering
c84c864c7b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 14:59:12 +00:00
Jerry James
7cd564a535 Version 1.24.05 2024-06-20 06:47:20 -06:00
Jerry James
0a0ed4abf7 Disable ppc64le build until segfaults can be diagnosed 2024-02-24 11:36:16 -07:00
Jerry James
15c2dabd0d Build the polymake and scip examples
- Recommend scip
2024-02-23 19:54:52 -07:00
Fedora Release Engineering
a06875216c Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 21:03:51 +00:00
Fedora Release Engineering
ae8d0d9bc2 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 09:59:00 +00:00
Jonathan Wakely
a4414e91a5 Rebuilt for Boost 1.83 2024-01-17 22:58:51 +00:00
Benjamin A. Beasley
0023a59935 Also validate AppStream XML with appstream-util, required by guidelines 2023-11-09 19:58:19 -05:00
Benjamin A. Beasley
5cd5a8ed12 Ask appstreamcli to explain validation findings 2023-11-09 19:56:15 -05:00
Benjamin A. Beasley
bbe0816b0e Correct appstreamcli invocation (--nonet no longer works) 2023-11-09 19:56:15 -05:00
Jerry James
d2d3d3bb3c Version 1.22
Drop upstreamed Macaulay2-configure-c99.patch
2023-10-26 12:44:35 -06:00
17aeaa02c0 Build against the 'mariadb-connector-c-devel' package
https://bugzilla.redhat.com/show_bug.cgi?id=2241091
2023-09-28 12:23:08 +02:00
Fedora Release Engineering
0b7c120492 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 11:14:58 +00:00
Florian Weimer
3ce3ab2bc5 Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-04-15 22:01:55 +02:00
Jonathan Wakely
38e2779d16 Rebuilt for Boost 1.81 2023-02-20 22:07:26 +00:00
Fedora Release Engineering
c4f6999343 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 19:53:54 +00:00
Jerry James
0a34ae3e3b Rebuild for libfplll 5.4.4 2023-01-12 21:55:22 -07:00
Jerry James
2bd041957d Version 1.21
- Drop upstreamed patch for crash when building documentation
- Use rdns names for the desktop and metainfo files
2022-12-22 19:02:18 -07:00
Jerry James
5f575ce036 Convert License tag to SPDX 2022-12-20 15:38:58 -07:00
Rich Mattes
9880d23979 Rebuild for tinyxml2-9.0.0 2022-09-25 14:42:42 -04:00
Jerry James
3e37e1a7c6 Restore s390x optimization reduction, apparently still needed. 2022-08-08 06:10:18 -06:00
Jerry James
320b6a93ad Version 1.20. 2022-08-05 16:36:32 -06:00
Fedora Release Engineering
dcbf68be2b Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 18:46:48 +00:00
Thomas Rodgers
673ab051de Rebuilt for Boost 1.78 2022-05-04 11:40:13 +02:00
Jerry James
0c8f194844 Version 1.19.1. Disable LTO to work around segfaults. 2022-02-21 09:25:53 -07:00
Fedora Release Engineering
a2ad9ab678 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 19:28:35 +00:00
Jerry James
782f9fde14 Version 1.19. 2021-11-25 20:43:36 -07:00
Jonathan Wakely
78c38cc9b1 Rebuilt for Boost 1.76 2021-08-06 22:00:49 +01:00
Fedora Release Engineering
b480014616 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 15:53:37 +00:00
Fedora Release Engineering
89e532a3e7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 10:59:02 +00:00
Jerry James
f141288b80 Rebuild for ntl 11.5.1. 2021-06-29 14:38:09 -06:00
Jerry James
a261612139 Version 1.18. 2021-06-18 08:53:16 -06:00
Jerry James
dae8e82f0e 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.
2021-02-18 10:21:33 -07:00
Fedora Release Engineering
73e779d851 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-25 22:30:24 +00:00
Jerry James
808cc8ca97 Version 1.17
- Drop upstreamed patches: -nauty-paths, -format
- Merge -gcc11 patch into mathicgb-1.0.patch
2021-01-16 09:28:39 -07:00
Jerry James
77c821002f Explicitly BR make. Drop unused pari dependency. 2020-11-11 11:21:16 -07:00
Jeff Law
94c421004b Add missing #includes for gcc-11 2020-10-15 07:05:47 -06:00
Jerry James
1690102d4b 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.
2020-08-31 21:19:59 -06:00
Iñaki Úcar
2c54347bc4 https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager 2020-08-17 01:38:57 +02:00
Fedora Release Engineering
31dbcc740f - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 04:22:37 +00:00
Fedora Release Engineering
555ee6d107 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 10:27:55 +00:00
Jeff Law
8be572e1a5 Disable LTO 2020-07-01 12:55:44 -06:00
Jerry James
87226fd8ee Version 1.15.1.0.
- Drop upstreamed patches: -no_Werror, -mpir, -pthreads, -fflas-ffpack,
  -fno-common, -gtest, -pthreads.
2020-06-03 09:00:44 -06:00
Jerry James
db498402a8 Add -fno-common patch to fix FTBFS with GCC 10. 2020-02-11 09:24:41 -07:00
Fedora Release Engineering
3e2d3865f1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 09:31:19 +00:00
Jerry James
9547d588fa Rebuild for ntl 11.4.3. 2020-01-10 08:20:14 -07:00
Jerry James
4c636f474a Actually remove the exception and format patches. 2019-11-01 22:28:40 -06:00
Jerry James
d5ae2fbd0b Rebuild for givaro 4.1.1, fflas-ffpack 2.4.3, and linbox 1.6.3. 2019-11-01 10:07:21 -06:00
Jerry James
3f9c68d7f4 Macaulay2-1.14.0.1.
Also:
- 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.
2019-09-26 09:53:07 -06:00
Fedora Release Engineering
3b37206a0c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 15:57:25 +00:00
28 changed files with 1292 additions and 3448 deletions

View file

@ -1,11 +0,0 @@
--- M2/Macaulay2/e/aring-gf-givaro.cpp.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/e/aring-gf-givaro.cpp 2018-05-03 19:05:32.916321453 -0600
@@ -409,7 +409,7 @@ void ARingGFGivaro::getGenerator(Element
bool ARingGFGivaro::is_unit(const ElementType f) const
{
- return givaroField.isunit(f);
+ return givaroField.isUnit(f);
}
bool ARingGFGivaro::is_zero(const ElementType f) const

View file

@ -1,74 +0,0 @@
--- M2/Macaulay2/e/fplll-interface.cpp.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/e/fplll-interface.cpp 2018-05-15 09:24:10.586961150 -0600
@@ -1,11 +1,9 @@
-#include "fplll-interface.hpp"
-#include "mutablemat.hpp"
-
-#ifdef HAVE_FPLLL
#include <stddef.h>
#include <gmp.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)
{
@@ -16,15 +14,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++)
@@ -32,21 +30,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:
@@ -61,7 +59,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);
}

View file

@ -1,22 +0,0 @@
--- M2/Macaulay2/e/unit-tests/gtest-include.cpp.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/e/unit-tests/gtest-include.cpp 2018-04-22 15:01:04.870644118 -0600
@@ -5,7 +5,7 @@
// the compiler flags are the same, which is the whole point of the
// recommendation to build gtest for each program.
-#include "src/gtest-all.cc"
+#include <gtest/gtest.h>
// Local Variables:
// compile-command: "make -C $M2BUILDDIR/Macaulay2/e/unit-tests check "
--- M2/Macaulay2/e/unit-tests/Makefile.in.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/e/unit-tests/Makefile.in 2018-04-22 15:01:04.870644118 -0600
@@ -25,7 +25,7 @@ LOADLIBES += @BUILTLIBS@ @LIBS@ -lmathic
# do not link with gtest -- it's supposed to get compiled in via #include:
# LDFLAGS += -L$(GTEST_DIR)/lib/.libs
-# LOADLIBES += -lgtest
+LOADLIBES += -lgtest
.PHONY: place_into_lib runtests

View file

@ -1,13 +0,0 @@
--- M2/configure.ac.orig 2018-04-22 14:59:03.284992098 -0600
+++ M2/configure.ac 2018-04-22 15:00:26.272754584 -0600
@@ -869,8 +869,8 @@ dnl make some programs optional:
BUILD_cddplus=no
BUILD_gftables=no
-BUILD_mpir=yes
-BUILD_ALWAYS="mpir $BUILD_ALWAYS"
+BUILD_mpir=no
+#BUILD_ALWAYS="mpir $BUILD_ALWAYS"
# We always build mpir so we can patch the routine mp_set_memory_functions() in
# it so it does nothing; that prevents libraries such as pari from telling it
# what memory allocation functions to use. But we should instead set

View file

@ -1,46 +0,0 @@
--- M2/Macaulay2/packages/NautyGraphs.m2.orig 2016-08-15 12:38:31.000000000 -0600
+++ M2/Macaulay2/packages/NautyGraphs.m2 2017-02-27 21:49:22.976044001 -0700
@@ -30,9 +30,9 @@ newPackage select((
-------------------
-- Check the ~/.Macaulay2/init-NautyGraphs.m2 file for the absolute path.
--- If it's not there, then use the M2-Programs directory.
+-- If it's not there, then use the system binary directory.
nauty'path = (options NautyGraphs).Configuration#"path";
-if nauty'path == "" then nauty'path = prefixDirectory | currentLayout#"programs";
+if nauty'path == "" then nauty'path = "/usr/bin/";
-------------------
-- Exports
@@ -420,7 +420,7 @@ callNauty (String, List) := List => opts
scan(graphToString \ dataList, d -> o << d << endl);
close o;
-- try to harvest the lines
- r := lines try get openIn ("!" | nauty'path | cmdStr | " <" | infn | " 2>" | erfn)
+ r := lines try get openIn ("!" | nauty'path | "nauty-" | cmdStr | " <" | infn | " 2>" | erfn)
else (
-- nauty errored, harvest the error
e := last separate(":", first lines get openIn erfn);
--- M2/Macaulay2/packages/Nauty.m2.orig 2016-08-15 12:38:31.000000000 -0600
+++ M2/Macaulay2/packages/Nauty.m2 2017-02-27 21:49:22.977043998 -0700
@@ -37,9 +37,9 @@ newPackage select((
-------------------
-- Check the ~/.Macaulay2/init-Nauty.m2 file for the absolute path.
--- If it's not there, then use the M2-Programs directory.
+-- If it's not there, then use the system binary directory.
nauty'path = (options Nauty).Configuration#"path";
-if nauty'path == "" then nauty'path = prefixDirectory | currentLayout#"programs";
+if nauty'path == "" then nauty'path = "/usr/bin/";
-------------------
-- Exports
@@ -472,7 +472,7 @@ callNauty (String, List) := List => opts
scan(graphToString \ dataList, d -> o << d << endl);
close o;
-- try to harvest the lines
- r := lines try get openIn ("!" | nauty'path | cmdStr | " <" | infn | " 2>" | erfn)
+ r := lines try get openIn ("!" | nauty'path | "nauty-" | cmdStr | " <" | infn | " 2>" | erfn)
else (
-- nauty errored, harvest the error
e := last separate(":", first lines get openIn erfn);

View file

@ -1,11 +0,0 @@
--- M2/Macaulay2/c/Makefile.in.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/c/Makefile.in 2018-04-22 14:56:59.444346532 -0600
@@ -32,7 +32,7 @@ SRCFILES := $(HFILES) $(CNAMES) grammar.
CPPFLAGS := -I../../include -I/include -I@srcdir@/../../include -I@srcdir@ $(CPPFLAGS)
# we include -Wno-unknown-attributes because libgc incorrectly assumes that clang 6 accepts __attribute__((__alloc_size__(1))):
-CFLAGS += -Wall -Wno-unknown-attributes -Werror
+CFLAGS += -Wall -Wno-unknown-attributes
ifeq "@__INTEL_COMPILER@" "no"
CFLAGS += -Wimplicit-function-declaration
endif

View file

@ -1,11 +0,0 @@
--- M2/configure.ac.orig 2018-04-22 14:55:07.462673573 -0600
+++ M2/configure.ac 2018-04-22 14:56:08.521492276 -0600
@@ -840,7 +840,7 @@ AC_SUBST(BUILTLIBS,)
# mpack depends on gmp (which mpir provides) mpfr mpc qd
# flint depends on gmp or mpir and mpfr
# pari uses gmp, so if we build gmp, we should build pari
-AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib gftables topcom cohomcalg")
+AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib topcom cohomcalg")
AC_SUBST(LIBLIST, " atomic_ops gc gdbm mpir mpfr pari readline ntl flint factory lapack frobby glpk cddlib fplll givaro linbox boost mpc qd mpack gtest ")
AC_SUBST(SUBLIST, " memtailor mathic mathicgb fflas_ffpack ")

View file

@ -1,21 +0,0 @@
--- M2/configure.ac.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/configure.ac 2018-04-22 14:46:43.486215685 -0600
@@ -292,12 +292,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,)

View file

@ -1,9 +0,0 @@
--- M2/Macaulay2/system/pthread-methods.hpp.orig 2016-08-15 12:38:31.000000000 -0600
+++ M2/Macaulay2/system/pthread-methods.hpp 2017-04-07 16:47:50.027572916 -0600
@@ -5,5 +5,5 @@
static inline int operator!=(pthread_t t, pthread_t u) { return t.p != u.p || t.x != u.x; }
static inline int operator< (pthread_t t, pthread_t u) { return t.p < u.p || t.p == u.p && t.x < u.x; }
#else
- #define clearThread(t) t = NULL
+ #define clearThread(t) t = 0
#endif

View file

@ -1,20 +0,0 @@
--- M2/Macaulay2/m2/html.m2.orig 2018-03-07 10:43:35.000000000 -0700
+++ M2/Macaulay2/m2/html.m2 2018-04-22 14:48:26.637899340 -0600
@@ -1263,6 +1263,7 @@ chk := ret -> if ret != 0 then (
error "external command failed"
)
browserMethods := hashTable {
+ "xdg open" => url -> {"xdg-open", url},
"firefox" => url -> {"firefox", url},
"open" => url -> {"open", url},
"cygstart" => url -> {"cygstart", url},
@@ -1278,7 +1279,8 @@ show URL := x -> (
else
if version#"issue" === "Cygwin" then browser = "cygstart";
if browser === "" then (
- if runnable "firefox" then browser = "firefox"
+ if runnable "xdg-open" then browser = "xdg-open"
+ else if runnable "firefox" then browser = "firefox"
else if runnable "netscape" then browser = "netscape"
else error "no browser found, and none specified in $WWWBROWSER"
);

View file

@ -1,11 +0,0 @@
--- M2/Macaulay2/Makefile.in.orig 2018-08-06 14:14:27.212770531 -0600
+++ M2/Macaulay2/Makefile.in 2018-08-06 14:15:10.889237052 -0600
@@ -7,7 +7,7 @@ SUBDIRS = compat util probe regex c
ifeq "@DUMPDATA@" "yes"
SUBDIRS += dumpdata
endif
-SUBDIRS += e-includes d e system kernel bin m2 man packages emacs html-check-links tests
+SUBDIRS += e-includes d e system kernel bin m2 man packages emacs
SUBDIRS += book
SUBDIRS += packages/Macaulay2Doc/test

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
--- M2/Macaulay2/e/f4/monhashtable.cpp.orig 2018-08-06 14:17:15.131719510 -0600
+++ M2/Macaulay2/e/f4/monhashtable.cpp 2018-08-06 14:18:07.327081977 -0600
@@ -206,7 +206,7 @@ void MonomialHashTable<ValueType>::show(
fprintf(stderr, "-- %ld zero elements --\n", nzeros);
nzeros = 0;
}
- fprintf(stderr, "hash %ld monomial ", M->hash_value(m));
+ fprintf(stderr, "hash %ld monomial ", (long)M->hash_value(m));
M->show(m);
fprintf(stderr, "\n");
}

View file

@ -0,0 +1,95 @@
--- M2/libraries/Makefile.library.in.orig 2024-11-01 04:33:00.000000000 -0600
+++ M2/libraries/Makefile.library.in 2025-02-18 20:23:38.667139158 -0700
@@ -254,10 +254,10 @@ ifneq (@DOWNLOAD@,yes)
@ false
endif
-SLIMIT ?= 8192
-TLIMIT ?= 100
-MLIMIT ?= 400000
-VLIMIT ?= 400000
+SLIMIT ?= 16384
+TLIMIT ?= 200
+MLIMIT ?= 800000
+VLIMIT ?= 800000
LIMIT := :
ifeq (@ULIMIT_T@,yes)
LIMIT += ; ulimit -t $(TLIMIT)
--- M2/Macaulay2/m2/basictests/Makefile.in.orig 2024-11-01 04:33:00.000000000 -0600
+++ M2/Macaulay2/m2/basictests/Makefile.in 2025-02-18 20:23:38.667139158 -0700
@@ -22,17 +22,17 @@ $(TESTRESULTS) : @pre_exec_prefix@/bin/M
ARGS := --silent -q --stop --no-core -e 'srcdir = "@srcdir@/"'
ifeq "@DEBUG@" "no"
-TLIMIT ?= 20
-MLIMIT ?= 600000
-VLIMIT ?= 600000
+TLIMIT ?= 40
+MLIMIT ?= 1200000
+VLIMIT ?= 1200000
else
-TLIMIT ?= 60
-MLIMIT ?= 700000
-VLIMIT ?= 700000
+TLIMIT ?= 120
+MLIMIT ?= 1400000
+VLIMIT ?= 1400000
endif
# make the stack limit always the same as it would be under MacOS
-SLIMIT ?= 8192
+SLIMIT ?= 16384
LIMIT :=
ifeq (@ULIMIT_T@,yes)
--- M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in.orig 2024-11-01 04:33:00.000000000 -0600
+++ M2/Macaulay2/tests/ComputationsBook/Makefile.chapter.in 2025-02-18 20:23:38.667139158 -0700
@@ -15,16 +15,16 @@ diff:
LIMIT :=
ifeq (@ULIMIT_T@,yes)
-LIMIT += ulimit -t 1200 ;
+LIMIT += ulimit -t 2400 ;
endif
ifeq (@ULIMIT_V@,yes)
-LIMIT += ulimit -v 1600000 ;
+LIMIT += ulimit -v 3200000 ;
endif
ifeq (@ULIMIT_M@,yes)
-LIMIT += ulimit -m 800000 ;
+LIMIT += ulimit -m 1600000 ;
endif
ifeq (@ULIMIT_S@,yes)
-LIMIT += ulimit -s 8192 ;
+LIMIT += ulimit -s 16384 ;
endif
--- M2/Macaulay2/tests/Makefile.test.in.orig 2024-11-01 04:33:00.000000000 -0600
+++ M2/Macaulay2/tests/Makefile.test.in 2025-02-18 20:23:38.667139158 -0700
@@ -6,18 +6,18 @@ DEFERRED ?= no
DOTS ?= ../..
ifeq "@DEBUG@" "no"
-TLIMIT ?= 90
+TLIMIT ?= 180
# one test doesn't work with only 150MB RAM, ext-total.m2, on a 64 bit intel machine:
-MLIMIT ?= 800000
-VLIMIT ?= 2000000
+MLIMIT ?= 1600000
+VLIMIT ?= 4000000
else
# give the debug version more time and space
-TLIMIT ?= 140
-MLIMIT ?= 1200000
-VLIMIT ?= 2000000
+TLIMIT ?= 280
+MLIMIT ?= 2400000
+VLIMIT ?= 4000000
endif
# make the stack limit always the same as it would be under MacOS
-SLIMIT ?= 8192
+SLIMIT ?= 16384
LIMIT :=
ifeq (@ULIMIT_T@,yes)

View file

@ -1,17 +1,15 @@
--- M2/configure.ac.orig 2018-08-06 14:16:21.725371828 -0600
+++ M2/configure.ac 2018-08-06 14:22:27.632902514 -0600
@@ -266,10 +266,10 @@ AC_MSG_NOTICE([checking for C compiler f
--- M2/configure.ac.orig 2021-01-12 14:20:55.509886490 -0700
+++ M2/configure.ac 2021-01-12 14:21:55.866785423 -0700
@@ -252,9 +252,9 @@ AC_MSG_NOTICE([checking for C compiler f
dnl always compile with "-g", so we can debug even optimized versions
if test "$GCC" = yes
-then CFLAGS="$CFLAGS -g3"
- CXXFLAGS="$CXXFLAGS -g3"
- LDFLAGS="$LDFLAGS -g3"
- LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -g3"
+then CFLAGS="$CFLAGS -g"
+ CXXFLAGS="$CXXFLAGS -g"
+ LDFLAGS="$LDFLAGS -g"
+ LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -g"
else CFLAGS="$CFLAGS -g"
CXXFLAGS="$CXXFLAGS -g"
LDFLAGS="$LDFLAGS -g"

35
Macaulay2-1.18-lto.patch Normal file
View file

@ -0,0 +1,35 @@
--- M2/Macaulay2/c/compat.h.orig 2021-06-13 14:30:17.341325747 -0600
+++ M2/Macaulay2/c/compat.h 2021-06-14 06:52:52.648631798 -0600
@@ -2,7 +2,7 @@
#ifndef __cplusplus
#undef bool
-typedef char bool;
+typedef _Bool bool;
#endif
extern char posfmt[];
--- M2/Macaulay2/d/types.h.orig 2021-06-04 17:33:04.000000000 -0600
+++ M2/Macaulay2/d/types.h 2021-06-13 14:30:27.804335244 -0600
@@ -37,6 +37,10 @@
# define LONGJUMP(env) longjmp(env, 1)
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct ArgCell
{
int argc, envc;
@@ -50,6 +54,10 @@ struct JumpCell
bool is_set;
};
+#ifdef __cplusplus
+}
+#endif
+
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif

View file

@ -0,0 +1,12 @@
--- M2/Macaulay2/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700
+++ M2/Macaulay2/Makefile.in 2025-11-14 13:59:26.630241856 -0700
@@ -3,8 +3,7 @@
VPATH = @srcdir@
include ../include/config.Makefile
all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/LAYOUT
-SUBDIRS = c d e system bin m2 man packages editors \
- $(if $(filter html, @DOCUMENTATION@), html-check-links) tests
+SUBDIRS = c d e system bin m2 man packages editors tests
define do-in-subdirs
$(foreach d,$(SUBDIRS),

View file

@ -0,0 +1,42 @@
--- M2/configure.ac.orig 2025-11-14 04:03:48.000000000 -0700
+++ M2/configure.ac 2025-11-14 13:57:06.905244494 -0700
@@ -318,12 +318,12 @@ fi
]
if test "$OPTIMIZE" = yes
-then CFLAGS="$CFLAGS -O2"
- CXXFLAGS="$CXXFLAGS -O2"
- FCFLAGS="$FCFLAGS -O2"
-else CFLAGS="$CFLAGS -O0"
- CXXFLAGS="$CXXFLAGS -O0"
- FCFLAGS="$FCFLAGS -O0"
+then CFLAGS="-O2 $CFLAGS"
+ CXXFLAGS="-O2 $CXXFLAGS"
+ FCFLAGS="-O2 $FCFLAGS"
+else CFLAGS="-O0 $CFLAGS"
+ CXXFLAGS="-O0 $CXXFLAGS"
+ FCFLAGS="-O0 $FCFLAGS"
fi
AC_SUBST(GCCVERSION)
--- M2/libraries/factory/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700
+++ M2/libraries/factory/Makefile.in 2025-11-14 13:57:56.926954878 -0700
@@ -7,7 +7,7 @@
URL = https://macaulay2.com/Downloads/OtherSourceCode
VERSION = 4.4.1
PATCHFILE = @abs_srcdir@/patch-$(VERSION)
-PRECONFIGURE = autoreconf -vif
+PRECONFIGURE = sed -i 's/-g0 -O3 //' m4/flags.m4 && autoreconf -vif
BUILDTARGET = all ftmpl_inst.o
LIBRARIES = ftmpl_inst.o
--- M2/libraries/mpfr/Makefile.in.orig 2025-11-14 04:03:48.000000000 -0700
+++ M2/libraries/mpfr/Makefile.in 2025-11-14 13:57:06.905816340 -0700
@@ -36,6 +36,7 @@ CONFIGOPTIONS += --disable-shared
# endif
# PRECONFIGURE = autoreconf -i
+PRECONFIGURE = sed -i '/LDFLAGS/s/ -Wl,--disable-new-dtags//g' configure
include ../Makefile.library
BUILDOPTIONS += CPPFLAGS="$(CPPFLAGS)"

23
Macaulay2.rpmlintrc Normal file
View file

@ -0,0 +1,23 @@
# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
# Dangling symlinks; we ensure, through Requires, that they do not dangle
addFilter(r'dangling-symlink')
# This file is included on purpose due to containing license information
addFilter(r'devel-file-in-non-devel-package .*flint\.h')
# Test files also included on purpose
addFilter(r'devel-file-in-non-devel-package .*test/engine/factor')
# Hidden files generated by and for the Macaulay2 documentation system
addFilter(r'hidden-file-or-dir .*\.(Certification|Headline)')
# No man page for the target of the shell script
addFilter(r'no-manual-page-for-binary M2-binary')
# Words not in the dictionary
addFilter(r'spelling-error .* (Grayson|Stillman)')
# Binary file not understood by rpmlint
addFilter(r'wrong-file-end-of-line-encoding .*_cohom__Calg_lp__Normal__Toric__Variety_rp\.out')

File diff suppressed because it is too large Load diff

7
README.md Normal file
View file

@ -0,0 +1,7 @@
# Macaulay2
[Macaulay2](http://macaulay2.com/) is a system for computing in commutative
algebra, algebraic geometry and related fields. The system was originally
written by Dan Grayson and Mike Stillman. David Eisenbud joined the project a
number of years ago, and many users are writing packages for the system, and
some are contributing source code.

682
changelog Normal file
View file

@ -0,0 +1,682 @@
* Mon Oct 13 2025 Jerry James <loganjerry@gmail.com> - 1.25.06-4
- Drop unused atomic_ops dependency
* Wed Oct 08 2025 Terje Rosten <terjeros@gmail.com> - 1.25.06-4
- Move to C++17 for gtest 1.17.0
* Sat Aug 23 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 1.25.06-3
- Rebuilt for tinyxml2 11.0.0
* Wed Aug 20 2025 Jerry James <loganjerry@gmail.com> - 1.25.06-2
- Rebuild for tbb 2022.2.0
* Fri Aug 08 2025 Jerry James <loganjerry@gmail.com> - 1.25.06-1
- Version 1.25.06
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.05-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 13 2025 Jerry James <loganjerry@gmail.com> - 1.25.05-4
- Unbundle factory-gftables (bz 2372455)
* Wed Jun 11 2025 Jerry James <loganjerry@gmail.com> - 1.25.05-3
- Rebuild for normaliz 3.10.5
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1.25.05-2
- Rebuilt for Python 3.14
* 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
- 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 <releng@fedoraproject.org> - 1.24.05-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Nov 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 1.24.05-5
- Rebuild for libfplll 5.5.0
* Mon Sep 23 2024 Jerry James <loganjerry@gmail.com> - 1.24.05-4
- Rebuild for nauty 2.8.9
* Sat Aug 24 2024 Jerry James <loganjerry@gmail.com> - 1.24.05-3
- Rebuild for Singular 4.4.0p4
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.05-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Jerry James <loganjerry@gmail.com> - 1.24.05-1
- Version 1.24.05
* Fri Feb 23 2024 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.22-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 17 2024 Jonathan Wakely <jwakely@redhat.com> - 1.22-3
- Rebuilt for Boost 1.83
* Fri Nov 10 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 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 <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.21-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Apr 15 2023 Florian Weimer <fweimer@redhat.com> - 1.21-5
- Port configure script to C99
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 1.21-4
- Rebuilt for Boost 1.81
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 12 2023 Jerry James <loganjerry@gmail.com> - 1.21-2
- Rebuild for libfplll 5.4.4
* Thu Dec 22 2022 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.20-2
- Convert License tag to SPDX
* Sun Sep 25 2022 Rich Mattes <richmattes@gmail.com> - 1.20-2
- Rebuild for tinyxml2-9.0.0
* Thu Aug 4 2022 Jerry James <loganjerry@gmail.com> - 1.20-1
- Version 1.20
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 1.19.1-2
- Rebuilt for Boost 1.78
* Mon Feb 21 2022 Jerry James <loganjerry@gmail.com> - 1.19.1-1
- Version 1.19.1
- Disable LTO to work around segfaults
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Nov 24 2021 Jerry James <loganjerry@gmail.com> - 1.19-1
- Version 1.19
* Fri Aug 06 2021 Jonathan Wakely <jwakely@redhat.com> - 1.18-4
- Rebuilt for Boost 1.76
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 29 2021 Jerry James <loganjerry@gmail.com> - 1.18-2
- Rebuild for ntl 11.5.1
* Thu Jun 17 2021 Jerry James <loganjerry@gmail.com> - 1.18-1
- Version 1.18
* Thu Feb 18 2021 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Jan 16 2021 Jerry James <loganjerry@gmail.com> - 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 <law@redhat.com> - 1.16-2
- Add missing #includes for gcc-11
* Mon Aug 31 2020 Jerry James <loganjerry@gmail.com> - 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 <iucar@fedoraproject.org> - 1.15.1.0-5
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.1.0-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 1.15.1.0-2
- Disable LTO
* Wed Jun 3 2020 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.14.0.1-4
- Add -fno-common patch to fix FTBFS with GCC 10
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.0.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 10 2020 Jerry James <loganjerry@gmail.com> - 1.14.0.1-3
- Rebuild for ntl 11.4.3
* Fri Nov 1 2019 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.12.0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.12.0.1-5
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 20 2018 Jerry James <loganjerry@gmail.com> - 1.12.0.1-3
- Rebuild for lrslib 070
* Wed Oct 10 2018 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 3 2018 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 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 <ignatenkobrain@fedoraproject.org> - 1.9.2-8
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.2-6
- Remove obsolete scriptlets
* Wed Oct 11 2017 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.9.2-4
- Rebuild for ntl 10.5.0
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Apr 5 2017 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.6-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.6-33
- Rebuild for readline 7.x
* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> - 1.6-32
- Rebuild for ntl 10.1.0
* Mon Sep 5 2016 Jerry James <loganjerry@gmail.com> - 1.6-31
- Rebuild for ntl 9.11.0
* Fri Aug 12 2016 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.6-29
- Rebuild for ntl 9.10.0
* Thu Jun 2 2016 Jerry James <loganjerry@gmail.com> - 1.6-28
- Rebuild for ntl 9.9.1
* Fri Apr 29 2016 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.6-26
- Rebuild for ntl 9.7.0
* Sat Feb 20 2016 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 1.6-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jan 14 2016 Jonathan Wakely <jwakely@redhat.com> - 1.6-23
- Rebuilt for Boost 1.60
* Fri Dec 4 2015 Jerry James <loganjerry@gmail.com> - 1.6-22
- Rebuild for ntl 9.6.2
- Add python2 BR for the tests
* Sat Oct 17 2015 Kalev Lember <klember@redhat.com> - 1.6-21
- Rebuilt for libntl soname bump
* Fri Oct 16 2015 Jerry James <loganjerry@gmail.com> - 1.6-20
- Rebuild for ntl 9.4.0
* Tue Sep 29 2015 Rex Dieter <rdieter@fedoraproject.org> 1.6-19
- refresh config.guess/config.sub hack, fix FTBFS on aarch64
* Sat Sep 19 2015 Jerry James <loganjerry@gmail.com> - 1.6-18
- Rebuild for flint 2.5.2 and ntl 9.3.0
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 1.6-17
- Rebuilt for Boost 1.59
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-16
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 1.6-15
- rebuild for Boost 1.58
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 18 2015 Jerry James <loganjerry@gmail.com> - 1.6-13
- Rebuild for ntl 9.1.1 and cddlib-094h
* Fri May 15 2015 Jerry James <loganjerry@gmail.com> - 1.6-12
- Bump and rebuild
* Sat May 9 2015 Jerry James <loganjerry@gmail.com> - 1.6-11
- Rebuild for ntl 9.1.0
* Mon Feb 2 2015 Jerry James <loganjerry@gmail.com> - 1.6-10
- Rebuild for ntl 8.1.2
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 1.6-9
- Rebuild for boost 1.57.0
* Thu Jan 15 2015 Jerry James <loganjerry@gmail.com> - 1.6-8
- Rebuild for ntl 8.1.0
- Fix the desktop file name
* Wed Oct 29 2014 Jerry James <loganjerry@gmail.com> - 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 <rdieter@fedoraproject.org> 1.6-6
- enable -common subpkg (to be more compatible with upstream packaging)
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Wed Jun 25 2014 Rex Dieter <rdieter@fedoraproject.org> 1.6-4
- restore --build/--host configure options lost in 1.6 update, should help arm
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 1.6-2
- Rebuild for boost 1.55.0
* Mon May 19 2014 Rex Dieter <rdieter@fedoraproject.org> 1.6-1
- Macaulay2-1.6 (#1074594)
- ExcludeArch: %%arm (#1099598)
* Wed May 14 2014 Rex Dieter <rdieter@fedoraproject.org> 1.5-8
- rebuild (gc)
* Tue Apr 8 2014 Jerry James <loganjerry@gmail.com> - 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 <loganjerry@gmail.com> - 1.5-6
- Rebuild for ntl 6.1.0
* Fri Mar 21 2014 Jerry James <loganjerry@gmail.com> - 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 <rdieter@fedoraproject.org> - 1.5-5
- drop unused patches (4ti2, normalize)
* Tue Jan 21 2014 Rex Dieter <rdieter@fedoraproject.org> - 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 <loganjerry@gmail.com> - 1.5-3
- Update normaliz interface for normaliz 2.8 and later
* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 1.5-2
- Rebuild for boost 1.54.0
* Thu May 23 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-1
- Release: 1 (using non-snapshot release tarball now)
* Tue May 21 2013 Rex Dieter <rdieter@fedoraproject.org> - 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 <loganjerry@gmail.com> - 1.5-0.6.20130214
- Rebuild for m4ri 20130416
* Fri Feb 15 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.5.20130214
- r15838 (20130214 snapshot)
* Wed Feb 13 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.4.20120807
- BR: doxygen-latex
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-0.3.20120807
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Aug 07 2012 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.2.20120807
- 1.5 20120807 r15022 snapshot
* Thu Jul 19 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4-9
- rebuild against (Singular's) libfac/factory 3.1.3
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Jul 03 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4-7
- rebuild (pari)
* Sun Jul 1 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.4-6
- Link to gmp not mpir.
- Rebuild with pari 2.5.
* Wed May 30 2012 Rex Dieter <rdieter@fedoraproject.org>
- 1.4-5
- License: GPLv2 or GPLv3 (#821036)
- pkgconfig-style deps
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-4
- Rebuilt for c++ ABI breakage
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Sep 30 2011 Rex Dieter <rdieter@fedoraproject.org> 1.4-2
- rebuild (gdbm)
* Thu May 26 2011 Rex Dieter <rdieter@fedoraproject.org> 1.4-1
- 1.4
* Thu May 26 2011 Rex Dieter <rdieter@fedoraproject.org> 1.3.1-9
- Typo in INFO_FILES (#708086)
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jun 30 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-7
- BR: cddlib-static (#609698)
* Tue Mar 16 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-6
- rebuild (factory/libfac)
* Tue Mar 16 2010 Mark Chappell <tremble@fedoraproject.org> - 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 <tremble@fedoraproject.org> - 1.3.1-4
- Add in missing Requires runtime dependancies
* Wed Mar 10 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-3
- GPLv3/GPLv2 conflict, use compat-readline5 - bz#511299
* Tue Mar 09 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-2
- Replace DSO patch with one accepted upstream
- Completely disable static linking
* Wed Feb 24 2010 Mark Chappell <tremble@fedoraproject.org> - 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 <mschwendt@fedoraproject.org> - 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 <rdieter@fedoraproject.org> - 1.2-6
- fixup/optimize scriplets
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Apr 17 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-4
- rebuild for ntl-devel (shared)
* Wed Feb 25 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-3
- BR: libfac-devel,factory-devel >= 3.1
- restore ExcludeArch: ppc64 (#253847)
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Feb 13 2009 Rex Dieter <rdieter@fedoraproject.org> 1.2-1
- Macaulay-1.2
* Thu Oct 02 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1-2
- respin (factory/libfac)
* Tue Mar 11 2008 Rex Dieter <rdieter@fedoraproject.org> 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 <rel-eng@fedoraproject.org> - 0.9.95-10
- Autorebuild for GCC 4.3
* Tue Dec 18 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-9
- Provides: macaulay2
- respin against new(er) factory,libfac,ntl
* Wed Aug 22 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-8
- ExcludeArch: ppc64 (#253847)
* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-7
- BR: gawk
* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-6
- gc-7.0 patches
* Sat Aug 11 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-5
- License: GPLv2
* Mon Jan 15 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-4
- Ob/Pr: Macaulay2-doc, not -docs (#222609)
* Sat Jan 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-3
- re-enable ppc build (#201739)
* Tue Jan 02 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-2
- ./configure --disable-strip, for usable -debuginfo (#220893)
* Mon Dec 18 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.95-1
- Macaulay2-0.9.95
* Wed Nov 22 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.5.20060808svn
- .desktop Categories: -Application,Scientific,X-Fedora +ConsoleOnly
* Tue Aug 29 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.4.20060808svn
- fc6 respin
* Tue Aug 08 2006 Rex Dieter <rexdieter[AT]users.sf.net> 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 <rexdieter[AT]users.sf.net> 0.9.20-0.2.20060808svn
- 20060808 snapshot
* Mon Jul 24 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.1.20060724svn
- 2006-07-15-0.9.20
* Wed Jul 12 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.10-0.6.20060710svn
- 0.9.10
-* Mon Jul 10 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.6.cvs20060327
- BR: ncurses-devel
* Fri May 05 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.4.cvs20060327
- 64bit patch (#188709)
* Wed Apr 12 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.3.cvs20060327
- omit x86_64, for now (#188709)
* Tue Apr 11 2006 Rex Dieter <rexdieter[AT]users.sf.net> 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 <rexdieter[AT]users.sf.net> 0.9.2-22
- fix icon location (#188384)
* Thu Mar 30 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.2-21
- really disable %%check (fails on fc5+ anyway)
* Fri Jan 20 2006 Rex Dieter <rexdieter[AT]users.sf.net> 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 <rexdieter[AT]users.sf.net> - 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 <rexdieter[AT]users.sf.net> - 0.9.2-18
- rebuild against gc-6.6
* Thu May 26 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 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 <mschwendt[AT]users.sf.net> - 0.9.2-15
- rebuilt
* Mon Feb 21 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0:0.9.2-14
- x86_64 issues (%%_libdir -> %%_prefix/lib )
- remove desktop_file macro usage
* Sat Oct 23 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.13
- BR: time (again)
- omit m2_dir/setup (not needed/wanted)
* Mon Oct 18 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.12
- actually *apply* gcc34 patch this time.
* Mon Oct 18 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.11
- gcc34 patch
* Fri Oct 1 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.10
- explicit BR versions for gc-devel, libfac-devel, factory-devel
* Tue Aug 10 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.9
- BR: time
* Thu Jun 03 2004 Rex Dieter <rexdieter at sf.net> 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 <rexdieter at sf.net> 0:0.9.2-0.fdr.7
- disable default 'make check' (util/screen fails on fc2)
* Tue Mar 30 2004 Rex Dieter <rexdieter at sf.net> 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 <rexdieter at sf.net> 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 <rexdieter at sf.net> 0:0.9.2-0.fdr.4
- -emacs: use %%defattr
- -emacs: fix M2-init.el
* Mon Nov 17 2003 Rex Dieter <rexdieter at sf.net> 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 <rexdieter at sf.net> 0:0.9.2-0.fdr.2
- no longer explictly Requires: emacs
* Wed Nov 05 2003 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.1
- missing Epoch: 0
* Fri Sep 12 2003 Rex Dieter <rexdieter at sf.net> 0.9.2-0.fdr.0
- fedora'ize

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.macaulay2.macaulay2</id>
<metadata_license>0BSD</metadata_license>
<project_license>GPL-2.0-only OR GPL-3.0-only</project_license>
<name>Macaulay2</name>
<summary>System for algebraic geometry and commutative algebra</summary>
<description>
<p>
Macaulay 2 is a software system devoted to supporting research in
algebraic geometry and commutative algebra written by Daniel R. Grayson
and Michael E. Stillman.
</p>
</description>
<launchable type="desktop-id">com.macaulay2.macaulay2.desktop</launchable>
<screenshots>
<screenshot type="default">
<image>https://faculty.math.illinois.edu/Macaulay2/Screenshots/texmacs.png</image>
<caption>Macaulay2 with TeXmacs</caption>
</screenshot>
<screenshot>
<image>https://faculty.math.illinois.edu/Macaulay2/Screenshots/emacs-M2-c.png</image>
<caption>Macaulay2 with Emacs</caption>
</screenshot>
</screenshots>
<update_contact>Macaulay2-maintainers@fedoraproject.org</update_contact>
<url type="homepage">https://macaulay2.com/</url>
<url type="bugtracker">https://github.com/Macaulay2/M2/issues</url>
<url type="contact">https://groups.google.com/g/macaulay2</url>
<content_rating type="oars-1.0"></content_rating>
<provides>
<binary>M2</binary>
<binary>M2-binary</binary>
</provides>
</component>

View file

@ -1,43 +0,0 @@
--- factory-4.1.1/cf_factory.h.orig 2017-12-06 10:37:14.000000000 -0700
+++ factory-4.1.1/cf_factory.h 2018-02-17 14:34:52.000000000 -0700
@@ -15,7 +15,7 @@
#include "variable.h"
#include "factory/cf_gmp.h"
-#include "factory/cf_assert.h"
+#include "cf_assert.h"
class InternalCF;
class CanonicalForm;
--- factory-4.1.1/cf_switches.cc 2017-12-06 12:37:11.000000000 -0500
+++ factory-4.1.1/cf_switches.cc 2018-06-26 11:07:29.000000000 -0400
@@ -31,6 +31,7 @@
// and set the default (recommended) On-values:
#ifdef HAVE_NTL
On(SW_USE_CHINREM_GCD);
+ On(SW_USE_EZGCD_P); // provided to me by Hans Schoenemann
//Off(SW_USE_NTL_SORT);
#endif
On(SW_USE_EZGCD);
--- factory-4.1.1/configure.orig 2018-02-09 07:29:54.000000000 -0700
+++ factory-4.1.1/configure 2018-05-15 12:28:52.454714806 -0600
@@ -5827,7 +5827,7 @@ done
## for clang: -Wunneeded-internal-declaration
if test "x${ENABLE_OPTIMIZATION}" != xno; then
- OPTFLAGS="-g0 -O3 -Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wunknown-pragmas -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space -funroll-loops -fno-delete-null-pointer-checks"
+ OPTFLAGS="-Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wunknown-pragmas -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space -funroll-loops -fno-delete-null-pointer-checks"
# -O3 - crashes gcc???!!!
# -fpermissive
ac_ext=c
--- factory-4.1.1/ftmpl_inst.cc.orig 2017-12-06 10:37:12.000000000 -0700
+++ factory-4.1.1/ftmpl_inst.cc 2018-05-15 12:28:00.560409016 -0600
@@ -73,7 +73,7 @@ template List<Variable> Difference ( con
// NTL 6
#ifdef HAVE_NTL
#include<NTL/version.h>
-#if NTL_MAJOR_VERSION == 6
+#if NTL_MAJOR_VERSION >= 6
#include<NTL/tools.h>
#include<NTL/lzz_pE.h>

View file

@ -1,280 +0,0 @@
--- flint-2.5.2/configure.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/configure 2017-03-10 10:38:00.397968044 -0700
@@ -434,16 +434,16 @@ if [ -z "$FLINT_LIB" ]; then
Darwin)
FLINT_LIBNAME="libflint.dylib"
FLINT_LIB="libflint-$FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH.dylib"
- EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$FLINT_LIB -compatibility_version $FLINT_MAJOR.$FLINT_MINOR -current_version $FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR";;
+ EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$FLINT_LIB -compatibility_version $FLINT_MAJOR.$FLINT_MINOR -current_version $FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH";;
CYGWIN* | MINGW*)
FLINT_LIBNAME="libflint.dll"
FLINT_LIB="libflint-$FLINT_MAJOR.dll"
- EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,libflint-$FLINT_MAJOR.dll.$FLINT_MINOR.$FLINT_PATCH -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR"
+ EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,libflint-$FLINT_MAJOR.dll.$FLINT_MINOR.$FLINT_PATCH"
FLINT_DLL=1;;
*)
FLINT_LIBNAME="libflint.so"
FLINT_LIB="libflint.so.$FLINT_MAJOR.$FLINT_MINOR.$FLINT_PATCH"
- EXTRA_SHARED_FLAGS="-Wl,-soname,libflint.so.$FLINT_MAJOR -Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR"
+ EXTRA_SHARED_FLAGS="-Wl,-soname,libflint.so.$FLINT_MAJOR"
FLINT_SOLIB=1
esac
fi
--- flint-2.5.2/d_mat/gso.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/d_mat/gso.c 2015-09-23 21:24:08.367946615 -0600
@@ -84,7 +84,9 @@ d_mat_gso(d_mat_t B, const d_mat_t A)
flag = 0;
if (s < t)
{
- if (s * D_EPS == 0)
+ double u = s * D_EPS;
+
+ if (u > -1.0e-308 && u < 1.0e-308)
s = 0;
else
flag = 1;
--- flint-2.5.2/d_mat/qr.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/d_mat/qr.c 2015-09-23 21:24:16.687286447 -0600
@@ -92,8 +92,10 @@ d_mat_qr(d_mat_t Q, d_mat_t R, const d_m
flag = 0;
if (s < t)
{
+ double u = s * D_EPS;
+
orig = 0;
- if (s * D_EPS == 0)
+ if (u > -1.0e-308 && u < 1.0e-308)
s = 0;
else
flag = 1;
--- flint-2.5.2/fmpz/get_d_2exp.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/fmpz/get_d_2exp.c 2017-03-10 10:36:40.122534392 -0700
@@ -52,9 +52,14 @@ fmpz_get_d_2exp(slong *exp, const fmpz_t
return __gmpn_get_d((mp_limb_t *) &d, WORD(1), WORD(1), -*exp);
}
else
+ {
#if defined(__MPIR_VERSION)
return mpz_get_d_2exp(exp, COEFF_TO_PTR(d));
#else
- return mpz_get_d_2exp((long *) exp, COEFF_TO_PTR(d));
+ long exp2;
+ double m = mpz_get_d_2exp(&exp2, COEFF_TO_PTR(d));
+ *exp = exp2;
+ return m;
#endif
+ }
}
--- flint-2.5.2/fmpz_mod_poly_factor/inlines.c.orig 2017-03-10 10:36:40.137534286 -0700
+++ flint-2.5.2/fmpz_mod_poly_factor/inlines.c 2017-03-10 10:36:40.137534286 -0700
@@ -0,0 +1,41 @@
+/*=============================================================================
+
+ This file is part of FLINT.
+
+ FLINT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FLINT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FLINT; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+=============================================================================*/
+/******************************************************************************
+
+ Copyright (C) 2015 Tommy Hofmann
+
+******************************************************************************/
+
+#define FMPZ_MOD_POLY_FACTOR_INLINES_C
+
+#define ulong ulongxx /* interferes with system includes */
+#include <stdlib.h>
+#include <stdio.h>
+#undef ulong
+#include <gmp.h>
+#include "flint.h"
+#include "ulong_extras.h"
+#include "fmpz_mod_poly.h"
+
+void fmpz_mod_poly_factor_get_fmpz_mod_poly(fmpz_mod_poly_t z, fmpz_mod_poly_factor_t fac, slong i)
+{
+ fmpz_mod_poly_set(z, fac->poly + i);
+}
+
--- flint-2.5.2/fmpz_poly/pseudo_divrem_basecase.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/fmpz_poly/pseudo_divrem_basecase.c 2017-03-10 10:36:40.137534286 -0700
@@ -49,7 +49,7 @@ _fmpz_poly_pseudo_divrem_basecase(fmpz *
while (iR >= lenB - 1)
{
- if (inv)
+ if (inv != NULL)
fmpz_fdiv_qr_preinvn(Q + iQ, rem, R + iR, leadB, inv);
else
fmpz_fdiv_qr(Q + iQ, rem, R + iR, leadB);
--- flint-2.5.2/fmpz/popcnt.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/fmpz/popcnt.c 2018-05-01 21:07:11.375129225 -0600
@@ -25,6 +25,53 @@ static __inline__ mp_bitcnt_t shortCount
}
#endif
+#ifdef __x86_64__
+#include <cpuid.h>
+
+static mp_bitcnt_t slow_fmpz_popcnt(const fmpz_t c)
+{
+ fmpz c1;
+ c1 = *c;
+ if(!COEFF_IS_MPZ(c1))
+ {
+ if(*c < 0) return 0;
+ else return __builtin_popcountl(*c);
+ } else
+ {
+ __mpz_struct *t = COEFF_TO_PTR(c1);
+ if(flint_mpz_cmp_si(t,0) < 0) return 0;
+ else return mpz_popcount(t);
+ }
+}
+
+static mp_bitcnt_t __attribute__((target ("popcnt")))
+fast_fmpz_popcnt(const fmpz_t c)
+{
+ fmpz c1;
+ c1 = *c;
+ if(!COEFF_IS_MPZ(c1))
+ {
+ if(*c < 0) return 0;
+ else return __builtin_popcountl(*c);
+ } else
+ {
+ __mpz_struct *t = COEFF_TO_PTR(c1);
+ if(flint_mpz_cmp_si(t,0) < 0) return 0;
+ else return mpz_popcount(t);
+ }
+}
+
+static mp_bitcnt_t (*resolve_fmpz_popcnt(void))(const fmpz_t c) {
+ unsigned int eax, ebx, ecx, edx;
+ return (__get_cpuid(1, &eax, &ebx, &ecx, &edx) &&
+ (ecx & bit_POPCNT) != 0)
+ ? &fast_fmpz_popcnt
+ : &slow_fmpz_popcnt;
+}
+
+mp_bitcnt_t __attribute__((ifunc ("resolve_fmpz_popcnt")))
+fmpz_popcnt(const fmpz_t c);
+#else
mp_bitcnt_t fmpz_popcnt(const fmpz_t c)
{
fmpz c1;
@@ -40,3 +87,4 @@ mp_bitcnt_t fmpz_popcnt(const fmpz_t c)
else return mpz_popcount(t);
}
}
+#endif
--- flint-2.5.2/fq_poly_templates/get_str_pretty.c.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/fq_poly_templates/get_str_pretty.c 2017-03-10 10:36:40.138534279 -0700
@@ -87,16 +87,16 @@ char *_TEMPLATE(T, poly_get_str_pretty)
continue;
if (!TEMPLATE(T, is_one) (poly + i, ctx))
{
- off += flint_sprintf(str + off, "+(%s)", coeffstrs[i]);
+ off += flint_sprintf(str + off, "+(%s)*", coeffstrs[i]);
}
else
{
off += flint_sprintf(str + off, "+");
}
if (i > 1)
- off += flint_sprintf(str + off, "*%s^%wd", x, i);
+ off += flint_sprintf(str + off, "%s^%wd", x, i);
else
- off += flint_sprintf(str + off, "*%s", x);
+ off += flint_sprintf(str + off, "%s", x);
}
if (!TEMPLATE(T, is_zero) (poly + i, ctx))
--- flint-2.5.2/Makefile.in.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/Makefile.in 2017-03-10 10:38:48.091631580 -0700
@@ -86,7 +86,7 @@ dist:
profile: library $(PROF_SOURCES) $(EXT_PROF_SOURCES) build/profiler.o
mkdir -p build/profile
ifndef MOD
- $(AT)$(foreach prog, $(PROFS), $(CC) $(CFLAGS) -std=gnu99 $(INCS) $(prog).c build/profiler.o -o build/$(prog) $(LIBS) || exit $$?;)
+ $(AT)$(foreach prog, $(PROFS), $(CC) $(CFLAGS) -std=gnu99 $(INCS) $(prog).c build/profiler.o -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;)
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/profile; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) profile || exit $$?;)
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(filter-out %templates, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h))), mkdir -p build/$(dir)/profile; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) profile || exit $$?;))
else
@@ -95,14 +95,14 @@ endif
tune: library $(TUNE_SOURCES) $(EXT_TUNE_SOURCES)
mkdir -p build/tune
- $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;)
+ $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;)
$(AT)$(foreach dir, $(BUILD_DIRS), mkdir -p build/$(dir)/tune; BUILD_DIR=../build/$(dir); export BUILD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) tune || exit $$?;)
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir)/tune; BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) tune || exit $$?;))
examples: library $(EXMP_SOURCES) $(EXT_EXMP_SOURCES) $(EXT_HEADERS)
mkdir -p build/examples
- $(AT)$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LIBS) || exit $$?;)
- $(AT)$(foreach ext, $(EXTENSIONS), $(foreach prog, $(patsubst $(ext)/examples/%.c, %, $(wildcard $(ext)/examples/*.c)), $(CC) $(CFLAGS) $(INCS) $(ext)/examples/$(prog).c -o build/examples/$(prog) $(LIBS) || exit $$?;))
+ $(AT)$(foreach prog, $(EXMPS), $(CC) $(CFLAGS) $(INCS) $(prog).c -o build/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;)
+ $(AT)$(foreach ext, $(EXTENSIONS), $(foreach prog, $(patsubst $(ext)/examples/%.c, %, $(wildcard $(ext)/examples/*.c)), $(CC) $(CFLAGS) $(INCS) $(ext)/examples/$(prog).c -o build/examples/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;))
$(FLINT_LIB): $(LOBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(filter-out %templates, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h))), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) shared || exit $$?;))
@@ -227,7 +227,7 @@ build/%.o: %.c $(HEADERS) | build
$(QUIET_CC) $(CC) $(CFLAGS) $(INCS) -c $< -o $@;
build/test/%$(EXEEXT): test/%.c $(HEADERS) | build/test
- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LIBS)
+ $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< -o $@ $(LDFLAGS) $(LIBS)
build/test:
mkdir -p build/test
@@ -242,7 +242,7 @@ build/interfaces/NTL-interface.o: interf
$(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) -c $< -o $@
build/interfaces/test/t-NTL-interface$(EXEEXT): interfaces/test/t-NTL-interface.cpp build/interfaces/NTL-interface.o
- $(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) $< build/interfaces/NTL-interface.o -o $@ $(LIBS)
+ $(QUIET_CXX) $(CXX) $(CXXFLAGS) $(INCS) $< build/interfaces/NTL-interface.o -o $@ $(LDFLAGS) $(LIBS)
print-%:
@echo '$*=$($*)'
--- flint-2.5.2/Makefile.subdirs.orig 2015-08-13 10:16:22.000000000 -0600
+++ flint-2.5.2/Makefile.subdirs 2017-03-10 10:38:48.092631573 -0700
@@ -48,10 +48,10 @@ profile: $(PROFS)
-include $(patsubst %, %.d, $(PROFS))
$(BUILD_DIR)/profile/%$(EXEEXT): profile/%.c $(BUILD_DIR)/../profiler.o
- $(QUIET_CC) $(CC) $(CFLAGS) -std=gnu99 $(INCS) $< $(BUILD_DIR)/../profiler.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
+ $(QUIET_CC) $(CC) $(CFLAGS) -std=gnu99 $(INCS) $< $(BUILD_DIR)/../profiler.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
tune: $(TUNE_SOURCES) $(HEADERS)
- $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LIBS) || exit $$?;)
+ $(AT)$(foreach prog, $(TUNE), $(CC) $(CFLAGS) $(INCS) $(prog).c -o $(BUILD_DIR)/$(prog) $(LDFLAGS) $(LIBS) || exit $$?;)
-include $(OBJS:.o=.d)
@@ -82,10 +82,10 @@ $(BUILD_DIR)/test/%$(EXEEXT): $(BUILD_DI
endif
$(BUILD_DIR)/test/%$(EXEEXT): test/%.c $(BUILD_DIR)/../../test_helpers.o
- $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
+ $(QUIET_CC) $(CC) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
$(BUILD_DIR)/test/%$(EXEEXT): test/%.cpp $(BUILD_DIR)/../../test_helpers.o
- $(QUIET_CC) $(CXX) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
+ $(QUIET_CC) $(CXX) $(CFLAGS) $(INCS) $< $(BUILD_DIR)/../../test_helpers.o -o $@ $(LDFLAGS) $(LIBS) -MMD -MP -MF $@.d -MT "$@" -MT "$@.d"
%_RUN: %
@$<

View file

@ -1,399 +0,0 @@
Upstream mpfr 3.1.6 patches, fetched on 7-Aug-2018 from
http://www.mpfr.org/mpfr-3.1.6/allpatches, then modified slightly because the
Macaulay2 library makefile applies patches with -p0.
diff -Naurd mpfr-3.1.6.orig/PATCHES mpfr-3.1.6/PATCHES
--- mpfr-3.1.6.orig/PATCHES 2017-10-26 13:55:51.168013439 +0000
+++ mpfr-3.1.6/PATCHES 2017-10-26 13:55:51.236013121 +0000
@@ -0,0 +1 @@
+mpfr_get
diff -Naurd mpfr-3.1.6.orig/VERSION mpfr-3.1.6/VERSION
--- mpfr-3.1.6.orig/VERSION 2017-09-07 11:36:44.000000000 +0000
+++ mpfr-3.1.6/VERSION 2017-10-26 13:55:51.236013121 +0000
@@ -1 +1 @@
-3.1.6
+3.1.6-p1
diff -Naurd mpfr-3.1.6.orig/src/get_ld.c mpfr-3.1.6/src/get_ld.c
--- mpfr-3.1.6.orig/src/get_ld.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_ld.c 2017-10-26 13:55:51.208013252 +0000
@@ -41,6 +41,9 @@
mpfr_exp_t sh; /* exponent shift, so that x/2^sh is in the double range */
mpfr_t y, z;
int sign;
+ MPFR_SAVE_EXPO_DECL (expo);
+
+ MPFR_SAVE_EXPO_MARK (expo);
/* first round x to the target long double precision, so that
all subsequent operations are exact (this avoids double rounding
@@ -103,6 +106,7 @@
}
if (sign < 0)
r = -r;
+ MPFR_SAVE_EXPO_FREE (expo);
return r;
}
}
diff -Naurd mpfr-3.1.6.orig/src/get_si.c mpfr-3.1.6/src/get_si.c
--- mpfr-3.1.6.orig/src/get_si.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_si.c 2017-10-26 13:55:51.208013252 +0000
@@ -28,6 +28,7 @@
mpfr_prec_t prec;
long s;
mpfr_t x;
+ MPFR_SAVE_EXPO_DECL (expo);
if (MPFR_UNLIKELY (!mpfr_fits_slong_p (f, rnd)))
{
@@ -39,14 +40,22 @@
if (MPFR_IS_ZERO (f))
return (long) 0;
- /* determine prec of long */
- for (s = LONG_MIN, prec = 0; s != 0; s /= 2, prec++)
+ /* Determine the precision of long. |LONG_MIN| may have one more bit
+ as an integer, but in this case, this is a power of 2, thus fits
+ in a precision-prec floating-point number. */
+ for (s = LONG_MAX, prec = 0; s != 0; s /= 2, prec++)
{ }
+ MPFR_SAVE_EXPO_MARK (expo);
+
/* first round to prec bits */
mpfr_init2 (x, prec);
mpfr_rint (x, f, rnd);
+ /* The flags from mpfr_rint are the wanted ones. In particular,
+ it sets the inexact flag when necessary. */
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+
/* warning: if x=0, taking its exponent is illegal */
if (MPFR_UNLIKELY (MPFR_IS_ZERO(x)))
s = 0;
@@ -65,5 +74,7 @@
mpfr_clear (x);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return s;
}
diff -Naurd mpfr-3.1.6.orig/src/get_sj.c mpfr-3.1.6/src/get_sj.c
--- mpfr-3.1.6.orig/src/get_sj.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_sj.c 2017-10-26 13:55:51.208013252 +0000
@@ -35,6 +35,7 @@
intmax_t r;
mpfr_prec_t prec;
mpfr_t x;
+ MPFR_SAVE_EXPO_DECL (expo);
if (MPFR_UNLIKELY (!mpfr_fits_intmax_p (f, rnd)))
{
@@ -46,20 +47,24 @@
if (MPFR_IS_ZERO (f))
return (intmax_t) 0;
- /* determine the precision of intmax_t */
- for (r = MPFR_INTMAX_MIN, prec = 0; r != 0; r /= 2, prec++)
+ /* Determine the precision of intmax_t. |INTMAX_MIN| may have one
+ more bit as an integer, but in this case, this is a power of 2,
+ thus fits in a precision-prec floating-point number. */
+ for (r = MPFR_INTMAX_MAX, prec = 0; r != 0; r /= 2, prec++)
{ }
- /* Note: though INTMAX_MAX would have been sufficient for the conversion,
- we chose INTMAX_MIN so that INTMAX_MIN - 1 is always representable in
- precision prec; this is useful to detect overflows in MPFR_RNDZ (will
- be needed later). */
- /* Now, r = 0. */
+ MPFR_ASSERTD (r == 0);
+
+ MPFR_SAVE_EXPO_MARK (expo);
mpfr_init2 (x, prec);
mpfr_rint (x, f, rnd);
MPFR_ASSERTN (MPFR_IS_FP (x));
+ /* The flags from mpfr_rint are the wanted ones. In particular,
+ it sets the inexact flag when necessary. */
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+
if (MPFR_NOTZERO (x))
{
mp_limb_t *xp;
@@ -67,15 +72,15 @@
xp = MPFR_MANT (x);
sh = MPFR_GET_EXP (x);
- MPFR_ASSERTN ((mpfr_prec_t) sh <= prec);
+ MPFR_ASSERTN ((mpfr_prec_t) sh <= prec + 1);
if (MPFR_INTMAX_MIN + MPFR_INTMAX_MAX != 0
- && MPFR_UNLIKELY ((mpfr_prec_t) sh == prec))
+ && MPFR_UNLIKELY ((mpfr_prec_t) sh > prec))
{
/* 2's complement and x <= INTMAX_MIN: in the case mp_limb_t
has the same size as intmax_t, we cannot use the code in
the for loop since the operations would be performed in
unsigned arithmetic. */
- MPFR_ASSERTN (MPFR_IS_NEG (x) && (mpfr_powerof2_raw (x)));
+ MPFR_ASSERTN (MPFR_IS_NEG (x) && mpfr_powerof2_raw (x));
r = MPFR_INTMAX_MIN;
}
else if (MPFR_IS_POS (x))
@@ -117,6 +122,8 @@
mpfr_clear (x);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return r;
}
diff -Naurd mpfr-3.1.6.orig/src/get_ui.c mpfr-3.1.6/src/get_ui.c
--- mpfr-3.1.6.orig/src/get_ui.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_ui.c 2017-10-26 13:55:51.208013252 +0000
@@ -30,6 +30,7 @@
mpfr_t x;
mp_size_t n;
mpfr_exp_t exp;
+ MPFR_SAVE_EXPO_DECL (expo);
if (MPFR_UNLIKELY (!mpfr_fits_ulong_p (f, rnd)))
{
@@ -44,10 +45,16 @@
for (s = ULONG_MAX, prec = 0; s != 0; s /= 2, prec ++)
{ }
+ MPFR_SAVE_EXPO_MARK (expo);
+
/* first round to prec bits */
mpfr_init2 (x, prec);
mpfr_rint (x, f, rnd);
+ /* The flags from mpfr_rint are the wanted ones. In particular,
+ it sets the inexact flag when necessary. */
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+
/* warning: if x=0, taking its exponent is illegal */
if (MPFR_IS_ZERO(x))
s = 0;
@@ -61,5 +68,7 @@
mpfr_clear (x);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return s;
}
diff -Naurd mpfr-3.1.6.orig/src/get_uj.c mpfr-3.1.6/src/get_uj.c
--- mpfr-3.1.6.orig/src/get_uj.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_uj.c 2017-10-26 13:55:51.208013252 +0000
@@ -35,6 +35,7 @@
uintmax_t r;
mpfr_prec_t prec;
mpfr_t x;
+ MPFR_SAVE_EXPO_DECL (expo);
if (MPFR_UNLIKELY (!mpfr_fits_uintmax_p (f, rnd)))
{
@@ -50,12 +51,18 @@
for (r = MPFR_UINTMAX_MAX, prec = 0; r != 0; r /= 2, prec++)
{ }
- /* Now, r = 0. */
+ MPFR_ASSERTD (r == 0);
+
+ MPFR_SAVE_EXPO_MARK (expo);
mpfr_init2 (x, prec);
mpfr_rint (x, f, rnd);
MPFR_ASSERTN (MPFR_IS_FP (x));
+ /* The flags from mpfr_rint are the wanted ones. In particular,
+ it sets the inexact flag when necessary. */
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+
if (MPFR_NOTZERO (x))
{
mp_limb_t *xp;
@@ -76,6 +83,8 @@
mpfr_clear (x);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return r;
}
diff -Naurd mpfr-3.1.6.orig/src/get_z.c mpfr-3.1.6/src/get_z.c
--- mpfr-3.1.6.orig/src/get_z.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/get_z.c 2017-10-26 13:55:51.208013252 +0000
@@ -29,6 +29,7 @@
int inex;
mpfr_t r;
mpfr_exp_t exp;
+ MPFR_SAVE_EXPO_DECL (expo);
if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
{
@@ -41,6 +42,8 @@
return 0;
}
+ MPFR_SAVE_EXPO_MARK (expo);
+
exp = MPFR_GET_EXP (f);
/* if exp <= 0, then |f|<1, thus |o(f)|<=1 */
MPFR_ASSERTN (exp < 0 || exp <= MPFR_PREC_MAX);
@@ -50,6 +53,11 @@
MPFR_ASSERTN (inex != 1 && inex != -1); /* integral part of f is
representable in r */
MPFR_ASSERTN (MPFR_IS_FP (r));
+
+ /* The flags from mpfr_rint are the wanted ones. In particular,
+ it sets the inexact flag when necessary. */
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+
exp = mpfr_get_z_2exp (z, r);
if (exp >= 0)
mpz_mul_2exp (z, z, exp);
@@ -57,5 +65,7 @@
mpz_fdiv_q_2exp (z, z, -exp);
mpfr_clear (r);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return inex;
}
diff -Naurd mpfr-3.1.6.orig/src/mpfr.h mpfr-3.1.6/src/mpfr.h
--- mpfr-3.1.6.orig/src/mpfr.h 2017-09-07 11:36:44.000000000 +0000
+++ mpfr-3.1.6/src/mpfr.h 2017-10-26 13:55:51.232013138 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 6
-#define MPFR_VERSION_STRING "3.1.6"
+#define MPFR_VERSION_STRING "3.1.6-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.6.orig/src/version.c mpfr-3.1.6/src/version.c
--- mpfr-3.1.6.orig/src/version.c 2017-09-07 11:36:44.000000000 +0000
+++ mpfr-3.1.6/src/version.c 2017-10-26 13:55:51.232013138 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.6";
+ return "3.1.6-p1";
}
diff -Naurd mpfr-3.1.6.orig/PATCHES mpfr-3.1.6/PATCHES
--- mpfr-3.1.6.orig/PATCHES 2017-12-15 12:37:44.074256548 +0000
+++ mpfr-3.1.6/PATCHES 2017-12-15 12:37:44.146256304 +0000
@@ -0,0 +1 @@
+root
diff -Naurd mpfr-3.1.6.orig/VERSION mpfr-3.1.6/VERSION
--- mpfr-3.1.6.orig/VERSION 2017-10-26 13:55:51.236013121 +0000
+++ mpfr-3.1.6/VERSION 2017-12-15 12:37:44.142256319 +0000
@@ -1 +1 @@
-3.1.6-p1
+3.1.6-p2
diff -Naurd mpfr-3.1.6.orig/src/mpfr.h mpfr-3.1.6/src/mpfr.h
--- mpfr-3.1.6.orig/src/mpfr.h 2017-10-26 13:55:51.232013138 +0000
+++ mpfr-3.1.6/src/mpfr.h 2017-12-15 12:37:44.142256319 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 6
-#define MPFR_VERSION_STRING "3.1.6-p1"
+#define MPFR_VERSION_STRING "3.1.6-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.6.orig/src/root.c mpfr-3.1.6/src/root.c
--- mpfr-3.1.6.orig/src/root.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/src/root.c 2017-12-15 12:37:44.118256398 +0000
@@ -107,6 +107,11 @@
MPFR_RET_NAN;
}
+ /* Special case |x| = 1. Note that if x = -1, then k is odd
+ (NaN results have already been filtered), so that y = -1. */
+ if (mpfr_cmpabs (x, __gmpfr_one) == 0)
+ return mpfr_set (y, x, rnd_mode);
+
/* General case */
/* For large k, use exp(log(x)/k). The threshold of 100 seems to be quite
@@ -188,6 +193,14 @@
Assume all special cases have been eliminated before.
In the extended exponent range, overflows/underflows are not possible.
Assume x > 0, or x < 0 and k odd.
+ Also assume |x| <> 1 because log(1) = 0, which does not have an exponent
+ and would yield a failure in the error bound computation. A priori, this
+ constraint is quite artificial because if |x| is close enough to 1, then
+ the exponent of log|x| does not need to be used (in the code, err would
+ be 1 in such a domain). So this constraint |x| <> 1 could be avoided in
+ the code. However, this is an exact case easy to detect, so that such a
+ change would be useless. Values very close to 1 are not an issue, since
+ an underflow is not possible before the MPFR_GET_EXP.
*/
static int
mpfr_root_aux (mpfr_ptr y, mpfr_srcptr x, unsigned long k, mpfr_rnd_t rnd_mode)
@@ -219,7 +232,8 @@
mpfr_log (t, absx, MPFR_RNDN);
/* t = log|x| * (1 + theta) with |theta| <= 2^(-w) */
mpfr_div_ui (t, t, k, MPFR_RNDN);
- expt = MPFR_GET_EXP (t);
+ /* No possible underflow in mpfr_log and mpfr_div_ui. */
+ expt = MPFR_GET_EXP (t); /* assumes t <> 0 */
/* t = log|x|/k * (1 + theta) + eps with |theta| <= 2^(-w)
and |eps| <= 1/2 ulp(t), thus the total error is bounded
by 1.5 * 2^(expt - w) */
diff -Naurd mpfr-3.1.6.orig/src/version.c mpfr-3.1.6/src/version.c
--- mpfr-3.1.6.orig/src/version.c 2017-10-26 13:55:51.232013138 +0000
+++ mpfr-3.1.6/src/version.c 2017-12-15 12:37:44.142256319 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.6-p1";
+ return "3.1.6-p2";
}
diff -Naurd mpfr-3.1.6.orig/tests/troot.c mpfr-3.1.6/tests/troot.c
--- mpfr-3.1.6.orig/tests/troot.c 2017-01-01 01:39:09.000000000 +0000
+++ mpfr-3.1.6/tests/troot.c 2017-12-15 12:37:44.118256398 +0000
@@ -405,6 +405,26 @@
mpfr_clears (x, y1, y2, (mpfr_ptr) 0);
}
+static void
+bug20171214 (void)
+{
+ mpfr_t x, y;
+ int inex;
+
+ mpfr_init2 (x, 805);
+ mpfr_init2 (y, 837);
+ mpfr_set_ui (x, 1, MPFR_RNDN);
+ inex = mpfr_root (y, x, 120, MPFR_RNDN);
+ MPFR_ASSERTN (inex == 0);
+ MPFR_ASSERTN (mpfr_cmp_ui (y, 1) == 0);
+ mpfr_set_si (x, -1, MPFR_RNDN);
+ inex = mpfr_root (y, x, 121, MPFR_RNDN);
+ MPFR_ASSERTN (inex == 0);
+ MPFR_ASSERTN (mpfr_cmp_si (y, -1) == 0);
+ mpfr_clear (x);
+ mpfr_clear (y);
+}
+
int
main (void)
{
@@ -415,6 +435,7 @@
tests_start_mpfr ();
+ bug20171214 ();
exact_powers (3, 1000);
special ();
bigint ();

32
sources
View file

@ -1,15 +1,21 @@
SHA512 (Macaulay2-icons.tar.xz) = 069aa0ad70a0253583b00091c094da9b79d2a2f0f2d38aa97f543081f5df5fd3b5a9e1463febd6947c3151cf01844133174c7372f57e158c2d3faba6baed5d1d
SHA512 (version-1.12.0.1.tar.gz) = 7cf03d749b6f2ef054f6cdfb298b28addc98fbed199b61f48b69bc18fba6155016f6be988372650d1d3e737e77c161f6952593c6589d29b8df4e01990c5a2f8a
SHA512 (4ti2-1.6.7.tar.gz) = da6630e39b62672cfc11531832cf8e43bb6c824d67fd211fd93daa3fc02b014c745497b4be11b2dc147c8dd57a0041c9ee370e0414dd08b3f4cb360c46741b0a
SHA512 (cohomCalg-031b.zip) = 20c362e2a5485b3e102b87c6c12779d60516af1dd71a3893fbdd891ad703dcb6e69d120558d54b9bb8fec635f92bd8e51baf0b564afbb2a09a4934779395070d
SHA512 (factory-4.1.1.tar.gz) = f08d74cb860145c07b9f1cc0a3fe44cb6fb2fc158a9b992f0db55eeef9e93d280cf66a5c8822236389e54b8084d2a37c174b32864e4dc12b8ee3c4760e9fe2bf
SHA512 (flint-2.5.2.tar.gz) = cce36947b558aabecaf780171b4bbc0e1330c3b1a7e3580717584be5cab4991d33b190531c7995b224a3a440e28c4a610d6f781901e29f48ced12a9c5ba960a2
SHA512 (Macaulay2-1.25.11.tar.gz) = 7ae9ced76fa17e37715165976348b0e93793a6fc9d6f6f46af4f54513e2e81be648d3f462d403af373dd7cc62a675a2f3c946b70668f9cabbe7b379e3b42adff
SHA512 (4ti2-1.6.13.tar.gz) = 3e6335e5e539594d121e8b38972e6d4e3aec51f8b6b617ae308200142c8f79407d5b64e7ef246aa47ee2b7cf4006647a860ea7e2fd498ca34d001470ec06b2f8
SHA512 (cddlib-094m.tar.gz) = d140d57391b1c963d68ca2e344fbda723a5077004bace322a18362fdc1fff8b50fdc4b598ca8cdf131158e07afc96c5d9aafd7abde082a9e241701e403310b9f
SHA512 (cohomCalg-0.32.tar.gz) = b76d8de00b13a8fe8881222178247c5e99c15075c46290830f6c3afffb9dfc18af0d57f738ac5a0d7c00044db81b4465d1e0563c95f7f656a2440be5765c6818
SHA512 (Csdp-6.2.0.tgz) = 6f6c44abcb7b0e277f5a42a1e31acbd41c8fbdce0c1641982a48199fe1d922b28d86433d1a98ac71ae521bea04188a830c441db1e9d8eebf174debf501430e82
SHA512 (factory-4.4.1.tar.gz) = a6ebed7cc0dea06a40c596f8845194633b6175670119afc11cb93269940ff6866a270549b9796929c1cc216645d01386ddea455a07d9ea033ce937baa4a05dfe
SHA512 (flint-3.3.1.tar.gz) = c426655868fd104c7c9fb95ba1ed199f63168cfda6f2379ba7f249344fee32660a095f20ecf11666f47ee0c59e350213e16706ce13eb6c3cb41967f1eec81166
SHA512 (fplll-5.5.0.tar.gz) = ffeeeb55c2e4dccb9c7fd2753e49fa3514ae0c88a119131fa6281b213566813c481f95befe0acde344c8c032d8341ef1ec074cd66b130de4f8b8f6eb20f40613
SHA512 (frobby_v0.9.5.tar.gz) = 321da2c83ddd1e1364a2e97cdf69c9b7bc6d2a59583aeab93526030151222049bb7b7e32287e7575cab4d0d22593a92a1f926092b1ed8f9da6b4d68118371bdb
SHA512 (gfan0.6.2.tar.gz) = 08a9cc543967771af959a506b79db5b55e0e4942e4170dad8691db35ef7d381d878e1ea6534a3cacc0f5d30ec31564ec94cc20b46792d06f18a3a8a3c0aac91d
SHA512 (givaro-4.0.2.tar.gz) = 8338a8e348c04be08e59fe9744febd918d4913a831ff0b7dba0577fd639dbfde802f15e90f10d42ddf6c544117f4d256bdc8c51996afbbee6c314c1537d165f6
SHA512 (gtest-1.8.0.tar.gz) = 54da3f3884685f0ff17fb12236063f32eeb78a4305883b1b2010818ec19c8e8221f2ee62fda21ba1b9d4c9d07cc5ac9eba688e4bcad30782897d5ba2417a19c3
SHA512 (lapack-3.6.0.tgz) = de2845f4185f70392e365bf33cbc53635d8990e9f453c8b69124d8941fbec4c9c74284a297fbb6ddfae0be0e5da08469f776c4b5d03e38395966dcb1d0013670
SHA512 (libfplll-5.2.0.tar.gz) = 67d1a8deb92d3f9245983b09b7593b19c5d43c8fe77cfea893ea9dfb744bcb77b7239d73e4f619450cc6960f4c48fb1c6ba46268208b0f31f855cf1af6bfaa29
SHA512 (lrslib-062.tar.gz) = 78fa6d470b2dd9cb06d1d15023debd8fafc27ed4df93cd90ef746071755f6b1fe9ee2c6a24659030b9a8851bd3ee3a699407586d320f3760c3d8a3a1c79d7116
SHA512 (mpfr-3.1.6.tar.xz) = 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054
SHA512 (normaliz-3.3.0.tar.gz) = 6a65e240a482f037cc3d5751e5cec017b4f6b88fdeac0a4535a7b43b23118fa077252013ab76fda38781babbc04daddd967656ea07908643e2886e7446d28711
SHA512 (TOPCOM-0.17.8.tar.gz) = 8611e8bd36eda00646fb40794435f23e6af81ecbee93c40e8fe5f73905e673e6244cb0f8cc1fe5c29050e40c7d53a44c615c60cbbecc8452b3c85f1d8a816d7a
SHA512 (givaro-4.2.1.tar.gz) = 9ab55e19d6c205832ddb8f712691b79ea7ae796848fb2cb73ff8fcd2fd3ce06ec0d2b86c3e1ba4a0b9992156777524b26e754615d7b9809daeab9ff284be5885
SHA512 (glpk-5.0.tar.gz) = 36bcba534ed69b0f5328f4626018359efe07f802322c0821db75c7d1935f760af8cb907189d7d7c5b2f134a8b6214ae747ca004acc4c5ceccf157f6fc311523d
SHA512 (linbox-1.7.1.tar.gz) = f13f607c4e7c4b6eb569d03007b96bc6ab4d57f520cfa557fda71c62eec43e23c24260c7495dbed9c39ddff18674c22eb72e43cff43fe7d0396f848f19df7595
SHA512 (lrslib-073.tar.gz) = f5d283c3c9bcc8ea83c1f6a0ce184202ccd0818987caaa7cf32fe8287cf8277802587f5001dc44878658c962c48fe6ae1250e9a522bb2bf0fa1d0ca8b84e1b9a
SHA512 (M2-emacs-5249684.tar.gz) = 11c59430232e206b70042f0d365174a80f613ac528c18275cafaf28db32c06be7afe535ee61b10810caa7b5a21023abb0bd0ce30ee2e31fcf56565c20551d8df
SHA512 (mpfr-4.2.2.tar.gz) = 373c5ce2c9636e45685dfa94f45bc4f8f6c2c0512d634b9e065ec33cb29da727b3ea13cf23aff307c1da765a40064f0fd4a347a3849ebd97252984fc85a0a400
SHA512 (mpsolve-3.2.3.tar.gz) = 27f3966f9ba6d96fd19551f574c4e917258f45f0f25c183b714a8a64a7fa9e4764c2466770dc78240ec431a745f3659c2acbff68ff1a9c89a81106eb25eb51fc
SHA512 (TOPCOM-1.1.2.tar.gz) = 8f0d6dcfe5d83b260f671d4fd231a8e5a902668d2bf02d0977fbfa6a1d49e0ba3f1f51f2305267a4cbc0591c183c07642ef3d9613aae8f27f1832fe96ca90abb
SHA512 (v0.9.2.tar.gz) = 2d205f1b74c445059f3b4ad6af45b10fc2eff2a0d41b373f71199965237dea200342702d0a0b5027f0d7e323d89d3317a89ef9ebe9f00a7f6341c37b436360bb
SHA512 (v3.12.1.tar.gz) = eedfbae0447a965da66fea6dcd1a561717faede85e0f2e19a794d3947f6b8b4649b3415786ceba65914755766fafc0c2ff4ba80dfd309230145f879e6b900284