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=d2d3d3bb....
Change:
+%ifarch %{valgrind_arches}
Thanks.
Full change:
============
commit d2d3d3bb3cf63e8a3855a6c675fdcf99943e193d
Author: Jerry James <loganjerry(a)gmail.com>
Date: Thu Oct 26 12:44:35 2023 -0600
Version 1.22
Drop upstreamed Macaulay2-configure-c99.patch
diff --git a/Macaulay2-configure-c99.patch b/Macaulay2-configure-c99.patch
deleted file mode 100644
index 2cdc1c6..0000000
--- a/Macaulay2-configure-c99.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Avoid an implicit int, which was removed from the C99 revision of the
-C language. This prevents altering the outcome of the check with
-future compilers.
-
-Submitted upstream: <
https://github.com/Macaulay2/M2/pull/2814>
-
-diff -ur M2-release-1.21.orig/M2/configure.ac M2-release-1.21/M2/configure.ac
---- M2-release-1.21.orig/M2/configure.ac 2023-04-15 19:52:33.823153026 +0200
-+++ M2-release-1.21/M2/configure.ac 2023-04-15 20:00:57.701024623 +0200
-@@ -1719,7 +1719,7 @@
- #ifdef HAVE_NETDB_H
- #include <netdb.h>
- #endif
-- main() {
-+ int main(void) {
- struct addrinfo *addr;
- return 0 != getaddrinfo("1.2.3.4", "80", 0, &addr) ? 99 :
0 ;
- }
diff --git a/Macaulay2.spec b/Macaulay2.spec
index 40eea01..a98c4cb 100644
--- a/Macaulay2.spec
+++ b/Macaulay2.spec
@@ -23,7 +23,7 @@
%global m2url
https://github.com/Macaulay2/M2
-%global emacscommit 86150290208bd9e468511b4b69a187ce870f303e
+%global emacscommit 2bac85883e2edd479f606ef8eedbbf2869770200
%global emacsurl
https://github.com/Macaulay2/M2-emacs
%global emacsshort %(cut -b -7 <<< %{emacscommit})
@@ -51,8 +51,8 @@
Summary: System for algebraic geometry and commutative algebra
Name: Macaulay2
-Version: 1.21
-Release: 6%{?dist}
+Version: 1.22
+Release: 1%{?dist}
# GPL-2.0-only OR GPL-3.0-only:
# - the project as a whole
@@ -202,7 +202,7 @@ Provides: bundled(factory) = %{factoryver}
# MATHICGB is bundled because it must be built with different threading options
%global mathicgbver 1.0
-%global mathicgbcommit f3a05da1494843b5e4e7baa18e644cc6f32baeca
+%global mathicgbcommit de9cc70d7f6d72fe35fc832d7ab478f5debbc90f
Source104:
https://github.com/Macaulay2/mathicgb/tarball/%{mathicgbcommit}/mathicgb-...
Provides: bundled(mathicgb) = %{mathicgbver}
@@ -212,24 +212,25 @@ Source105:
https://faculty.math.illinois.edu/Macaulay2/Downloads/OtherSourceCode
# MEMTAILOR is bundled because it causes garbage collector crashes otherwise
%global memtailorver 1.0
-%global memtailorcommit 95dbac776c475f4b1c2b08a8e8c6def14c8aaf9a
+%global memtailorcommit f785005b92a54463dbd5377ab80855a3d2a5f92d
Source106:
https://github.com/Macaulay2/memtailor/tarball/%{memtailorcommit}/memtail...
Provides: bundled(memtailor) = %{memtailorver}
# MATHIC is bundled because it causes garbage collector crashes otherwise
%global mathicver 1.0
-%global mathiccommit 18ff8de1f5b5102ef291e450522c4930cf9eb7f2
+%global mathiccommit 07e8df4ded6b586c0ce9eec0f9096690379749cb
Source107:
https://github.com/Macaulay2/mathic/tarball/%{mathiccommit}/mathic-%{math...
Provides: bundled(mathic) = %{mathicver}
# LINBOX is bundled because it introduces static global objects
-%global linboxver 1.6.3
+%global linboxver 1.7.0
Source108:
https://github.com/linbox-team/linbox/releases/download/v%{linboxver}/lin...
Provides: bundled(linbox) = %{linboxver}
## PATCHES FOR BUNDLED code
-# Work around an ambiguous overload on 32-bit platforms
-Source200: linbox-1.6.3.patch
+# Fix a buffer overflow
+#
https://github.com/linbox-team/linbox/pull/307
+Source200: linbox-1.7.0.patch
# MPFR bug fixes from mpfr upstream.
Source201: mpfr-4.1.0.patch
@@ -264,7 +265,6 @@ Patch5: %{name}-1.17-configure.patch
Patch6: %{name}-1.16-rightarrow.patch
# Fix LTO warnings about mismatched declarations and definitions
Patch7: %{name}-1.18-lto.patch
-Patch8: Macaulay2-configure-c99.patch
BuildRequires: 4ti2
BuildRequires: appstream
@@ -307,9 +307,11 @@ BuildRequires: lrslib-devel
BuildRequires: lrslib-utils
BuildRequires: make
BuildRequires: mpsolve-devel
+BuildRequires: msolve-devel
BuildRequires: nauty
BuildRequires: normaliz
BuildRequires: ntl-devel
+BuildRequires: ocl-icd-devel
BuildRequires: pari-devel
BuildRequires: pkgconfig(atomic_ops)
BuildRequires: pkgconfig(bdw-gc) >= 8.0.4
@@ -320,10 +322,10 @@ BuildRequires: pkgconfig(flexiblas)
BuildRequires: pkgconfig(gmp)
BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(libffi)
+BuildRequires: pkgconfig(libmariadb)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(m4ri)
BuildRequires: pkgconfig(m4rie)
-BuildRequires: pkgconfig(libmariadb)
BuildRequires: pkgconfig(mpfi)
BuildRequires: pkgconfig(nauty)
BuildRequires: pkgconfig(ncurses)
@@ -331,13 +333,16 @@ BuildRequires: pkgconfig(qd)
BuildRequires: pkgconfig(readline)
BuildRequires: pkgconfig(tbb)
BuildRequires: pkgconfig(tinyxml2)
-BuildRequires: polymake
+# Polymake is currently uninstallable
+#BuildRequires: polymake
BuildRequires: python3-devel
BuildRequires: texinfo
BuildRequires: time
BuildRequires: TOPCOM
BuildRequires: transfig
+%ifarch %{valgrind_arches}
BuildRequires: valgrind
+%endif
Requires: 4ti2
Requires: cohomCalg
@@ -402,11 +407,11 @@ install -p -m755 %{SOURCE20} ./etags
install -p -m644 %{SOURCE100} BUILD/tarfiles/
%endif
install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE105} \
- %{SOURCE108} BUILD/tarfiles/
+ BUILD/tarfiles/
+install -p -m644 %{SOURCE108} BUILD/tarfiles/v%{linboxver}.tar.gz
sed -i 's/\(VERSION = \).*/\1%{mpfrver}/' libraries/mpfr/Makefile.in
sed -e 's/\(VERSION = \).*/\1%{linboxver}/' \
- -e 's/^#\(PATCHFILE\)/\1/' \
- -e 's,--with-gmp.*,GIVARO_CFLAGS=-I$(LIBRARIESDIR)
GIVARO_LIBS="%{_libdir}/libgivaro.a",' \
+ -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
@@ -414,7 +419,6 @@ tar -C submodules/mathic -xf %{SOURCE107} --strip-components=1
## patches for bundled code
sed -e 's,--with-blas,&=%{_includedir}/flexiblas --with-ntl,' \
- -e 's,2\.6\.0,%{flintver},' \
-i libraries/flint/Makefile.in
cp -p %{SOURCE200} libraries/linbox/patch-%{linboxver}
sed -e '/^TARFILE =/iPATCHFILE = @abs_srcdir@/patch-$(VERSION)' \
@@ -434,19 +438,18 @@ sed -i 's,install \(lib.*\.a\),ln -s %{_libdir}/\1,'
libraries/lapack/Makefile.i
## fake givaro submodule
tar -C submodules/givaro --strip-components=1 -xzf %{SOURCE306}
-%patch0 -p1 -b .optflags
-%patch1 -p1 -b .ulimit
-%patch2 -p1 -b .default_make_targets
-%patch3 -p1 -b .no_gftables
+%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
-%patch4 -p1 -b .fplll
-%patch5 -p1 -b .configure
-%patch6 -p1 -b .rightarrow
-%patch7 -p1 -b .lto
-%patch8 -p2 -b .configure-c99
+%patch -P4 -p1 -b .fplll
+%patch -P5 -p1 -b .configure
+%patch -P6 -p1 -b .rightarrow
+%patch -P7 -p1 -b .lto
# repeatable builds: inject a node name
sed -i 's,`uname -n`,build.fedoraproject.org,' configure.ac
@@ -475,6 +478,11 @@ sed -i 's/\(LIBNAME = flint\)2/\1/'
libraries/flint/Makefile.in
# Cannot do git submodule operations on a koji builder
sed -i 's/git-checkout-in-\$1, git-checkout-warning-for-\$1//' GNUmakefile.in
+# Avoid obsolescence warnings
+sed -i 's/egrep/grep -E/g' GNUmakefile.in Makefile Macaulay2/bin/Makefile.in \
+ Macaulay2/tests/Makefile{,.test}.in libraries/Makefile.library.in
+sed -i 's/fgrep/grep -F/g' Macaulay2/util/linkexec-alternative
+
# (re)generate configure
autoreconf -fi .
@@ -485,19 +493,12 @@ autoreconf -fi .
# level -O2 on s390x, the mathicgb code accesses out-of-bounds array elements.
# In addition, valgrind shows accesses to uninitialized elements of arrays
# that should not have any uninitialized elements. The code eventually
-# segfaults. When built with -O1 and LTO, the linker segfaults. Until we can
-# diagnose and fix these issues, we build with -O1 and without LTO on s390x.
-%define _lto_cflags %{nil}
+# segfaults.
optflags=$(sed 's/-O2/-O/g' <<< "%{build_cflags}")
%else
optflags="%{build_cflags}"
%endif
-# Possible bug in Macaulay2 1.19: the memtailor, mathic, and mathicgb headers
-# cannot be found. We work around this here. See if the problem has been fixed
-# in later versions.
-CPPFLAGS="-I$PWD/submodules/memtailor/src -I$PWD/submodules/mathic/src
-I$PWD/submodules/mathicgb/src"
-
## configure macro currently broken, due to some odd prefix-checks. probably fixable --
Rex
mkdir -p BUILD/%{_target_platform}
pushd BUILD/%{_target_platform}
@@ -615,6 +616,11 @@ make check -C BUILD/%{_target_platform}/Macaulay2/bin
%changelog
+* Thu Oct 26 2023 Jerry James <loganjerry(a)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(a)fedoraproject.org> - 1.21-6
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
@@ -627,7 +633,7 @@ make check -C BUILD/%{_target_platform}/Macaulay2/bin
* Wed Jan 18 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.21-3
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-* Thu Jan 12 2022 Jerry James <loganjerry(a)gmail.com> - 1.21-2
+* Thu Jan 12 2023 Jerry James <loganjerry(a)gmail.com> - 1.21-2
- Rebuild for libfplll 5.4.4
* Thu Dec 22 2022 Jerry James <loganjerry(a)gmail.com> - 1.21-1
diff --git a/com.macaulay2.macaulay2.metainfo.xml b/com.macaulay2.macaulay2.metainfo.xml
index 2ae837e..0de35f5 100644
--- a/com.macaulay2.macaulay2.metainfo.xml
+++ b/com.macaulay2.macaulay2.metainfo.xml
@@ -23,7 +23,7 @@
<caption>Macaulay2 with Emacs</caption>
</screenshot>
</screenshots>
- <update_contact>loganjerry(a)gmail.com</update_contact>
+ <update_contact>Macaulay2-maintainers(a)fedoraproject.org</update_contact>
<url
type="homepage">https://macaulay2.com/</url>
<url
type="bugtracker">https://github.com/Macaulay2/M2/issues<...
<url
type="contact">https://groups.google.com/g/macaulay2</url...
diff --git a/linbox-1.6.3.patch b/linbox-1.6.3.patch
deleted file mode 100644
index f2481c0..0000000
--- a/linbox-1.6.3.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- linbox-1.6.3/configure.ac.orig 2019-06-07 07:22:08.000000000 -0600
-+++ linbox-1.6.3/configure.ac 2020-06-05 12:24:32.920910975 -0600
-@@ -65,9 +65,8 @@ AC_PROG_CXX
-
- AC_COMPILER_NAME
-
--STDFLAG=${CXXFLAGS}
-+STDFLAG=""
-
--CXXFLAGS=""
-
- # We need a C++11 compiler now - AB 2014-12-12
- # clang-3.8 does not support __float128 without explicitly passing it -std=c++11
-@@ -187,10 +186,6 @@ echo "----------------------------------
- echo " START LINBOX CONFIG "
- echo "-----------------------------------------------"
-
--# Checks which SIMD optimization flags to use and set SIMD_CFLAGS accordingly
--INSTR_SET
--AC_SUBST(SIMD_FLAGS)
--
- dnl gcc-4.9.2 bug See
https://trac.sagemath.org/ticket/17635#comment:178
- AS_IF([ test "x$CCNAM" = "xgcc492" ],[CXXFLAGS="${CXXFLAGS}
-fpermissive"],[])
-
---- linbox-1.6.3/linbox/algorithms/gauss/gauss-solve-gf2.inl.orig 2019-06-07
07:22:08.000000000 -0600
-+++ linbox-1.6.3/linbox/algorithms/gauss/gauss-solve-gf2.inl 2020-02-01
16:19:20.692143829 -0700
-@@ -72,7 +72,7 @@ namespace LinBox
-
- Vector1 w(F2, A.coldim());
-
-- for(typename Vector1::iterator it=w.begin()+(ptrdiff_t)Rank;it!=w.end();++it)
-+ for(typename Vector1::iterator it=w.begin()+(long)Rank;it!=w.end();++it)
- F2.assign(*it,F2.zero);
-
- return this->solve(x, w, Rank, Q, L, A, P, b);
diff --git a/linbox-1.7.0.patch b/linbox-1.7.0.patch
new file mode 100644
index 0000000..70edb8c
--- /dev/null
+++ b/linbox-1.7.0.patch
@@ -0,0 +1,15 @@
+--- linbox-1.7.0/linbox/blackbox/apply.h.orig 2021-12-13 13:01:21.000000000 -0700
++++ linbox-1.7.0/linbox/blackbox/apply.h 2023-10-20 13:30:15.295959186 -0600
+@@ -593,8 +593,10 @@ namespace LinBox
+ */
+ int rclen = (int)num_chunks*2 + 5;
+
+- unsigned char* combined = new unsigned char[(size_t)rc*_n*(size_t)rclen];
+- memset(combined, 0, (size_t)rc*_n*(size_t)rclen);
++ //
https://github.com/linbox-team/linbox/issues/304#issuecomment-1766621021
++ size_t combined_size = (size_t)rc*_n*(size_t)rclen + 1;
++ unsigned char* combined = new unsigned char[combined_size];
++ memset(combined, 0, combined_size);
+
+ //order from major index to minor: combining index, component of sol'n, byte
+ //compute a product (chunk times x) for each chunk
diff --git a/sources b/sources
index b8c7c11..4bf407c 100644
--- a/sources
+++ b/sources
@@ -1,5 +1,5 @@
SHA512 (Macaulay2-icons.tar.xz) =
069aa0ad70a0253583b00091c094da9b79d2a2f0f2d38aa97f543081f5df5fd3b5a9e1463febd6947c3151cf01844133174c7372f57e158c2d3faba6baed5d1d
-SHA512 (Macaulay2-1.21.tar.gz) =
79760d1b6362ba2b89966b5ebcdf3ae9f40579db2fa3fbdde146b178a6b802b1bca546d78f12c5a67d14d8b8a8fb70553fb0903d6b91490f366d114e54a5ce0e
+SHA512 (Macaulay2-1.22.tar.gz) =
c66e29ea0cbc824dc2310d7ffca22858719526388ccd1914e11e37e231192e3c96310a4819ed951f9df59f50058dd7a7c041b792ecbf352110659ed1e02ebe49
SHA512 (4ti2-1.6.9.tar.gz) =
f02b61ba04d7512e86d9574574669ec764d053fc5d01744dc6b521518d4165b41355ae12344923f1549b323406130c6562a4d9272b1b88de2ecc2c20d3d892d5
SHA512 (cddlib-094m.tar.gz) =
d140d57391b1c963d68ca2e344fbda723a5077004bace322a18362fdc1fff8b50fdc4b598ca8cdf131158e07afc96c5d9aafd7abde082a9e241701e403310b9f
SHA512 (cohomCalg-0.32.tar.gz) =
b76d8de00b13a8fe8881222178247c5e99c15075c46290830f6c3afffb9dfc18af0d57f738ac5a0d7c00044db81b4465d1e0563c95f7f656a2440be5765c6818
@@ -13,12 +13,12 @@ SHA512 (glpk-4.59.tar.gz) =
ca05bd085880143acf4a440cf7efd2392d4dde89bed53a0e5726
SHA512 (gtest-1.10.0.tar.gz) =
bd52abe938c3722adc2347afad52ea3a17ecc76730d8d16b065e165bc7477d762bce0997a427131866a89f1001e3f3315198204ffa5d643a9355f1f4d0d7b1a9
SHA512 (lapack-3.9.0.tgz) =
afa4eb05f2b1dc2f9588ec58bd32f90b78c01185f328e71f2baf6adec6622f557c332f09e7eb46f71e5e3f2e852f25a640bde2bf9f4be7205cecf01cb07b6bc8
SHA512 (libfplll-5.2.0.tar.gz) =
67d1a8deb92d3f9245983b09b7593b19c5d43c8fe77cfea893ea9dfb744bcb77b7239d73e4f619450cc6960f4c48fb1c6ba46268208b0f31f855cf1af6bfaa29
-SHA512 (linbox-1.6.3.tar.gz) =
7585f51b46b65a90328b4ff82f7c74eb59510c912a0bb0ce49263f4c7c1e777c0f9961e4672fa36be6fb84035a019b8e212615c363fd62d632e37c327d6ed3c0
+SHA512 (linbox-1.7.0.tar.gz) =
cb4e848186d1f6357f498d1e3bda6484b4c789c02440f9614a227a2ae206a31fb20b32be40bda74da3f2f8f981bbd58d80fc97c95499b5151bb06eafb867ef9e
SHA512 (lrslib-071a.tar.gz) =
f33639c593769722a37262d6a90073076a4a8a7453ed81d948ebed6f0a5ee826b80c9211e5a601ca177b776c5388aa4e46efd55e8b219f1b6ce633232aa6b001
-SHA512 (M2-emacs-8615029.tar.gz) =
557343ae4e2200583533954336ccfa4e3907138cf953cd4d44eadc1b52865ef080ddec775450cec0da1e720765cba6d106b8c5216cf8a9668219f4a9efada7f5
-SHA512 (mathic-1.0.tar.gz) =
e95c2397cdea3bbff1c8cd52273277183535f07443c222e38659861c25d392b09cbfb33c9cc2a482f8dc9c1b6bc1754e86934fe5a833f8f19ef0edf0cd2e7165
-SHA512 (mathicgb-1.0.tar.gz) =
e3b05385f67c42302fba22b9a7d391eb1fca5a56c0eec02ab3e37a28e1d4de6d734b803d5d5701acac8663bbe391afd6ffc40ab5c5e6f11e8fff22fd5f07a2ea
-SHA512 (memtailor-1.0.tar.gz) =
50eded674dc33d3c55f5ec0f250586106f7e16995baa4e46f21684016066cb41e02ace7d82b38305029b947f474835598a972c39dcb0ead6679566b53549a0df
+SHA512 (M2-emacs-2bac858.tar.gz) =
3b44dab7e54e323a3b7f69fa8fe42890d91c9855680af4c10b771446701c268501fcf6362d0b1ba2da6f409f91ff589ad465c2c88ec852c86763d4e6a7a40ab9
+SHA512 (mathic-1.0.tar.gz) =
9eb2fe94d266ffda4624c89021e08526e073286635dd5439042e744f07ba053534bc9476ab81d37f7622d62d8ce40c3eedbc5f7013cd529584f46d3685f15d3a
+SHA512 (mathicgb-1.0.tar.gz) =
aea24832681c40c92cad012211ed647ed4e8287964481f36a62d6f0fb0d053fb07c17c49385b4782b380576a92aa387f67fa2843437a0e7b315c74288e65d5a8
+SHA512 (memtailor-1.0.tar.gz) =
147ef22f322a82d5336c004ba9cce055ee94eb7ad93d4271524cbee4713f94b258342f4e31569abac2e29472fdd25df2fad94000496ce46e469b7e074af3c86e
SHA512 (mpfr-4.1.0.tar.xz) =
1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273
SHA512 (mpsolve-3.2.1.tar.gz) =
8f0cb1be303767bf5a68c150df01c98f7f5e17bfaee685ea4cb9300c0dbf740069c774d647f141a4a1eb46fa54f23d9e75a800ce195cd522527c72e3c6aeed0f
SHA512 (TOPCOM-0.17.8.tar.gz) =
8611e8bd36eda00646fb40794435f23e6af81ecbee93c40e8fe5f73905e673e6244cb0f8cc1fe5c29050e40c7d53a44c615c60cbbecc8452b3c85f1d8a816d7a
commit 17aeaa02c07216881023b0faf7f3792c35b3d185
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Sep 28 12:23:08 2023 +0200
Build against the 'mariadb-connector-c-devel' package
https://bugzilla.redhat.com/show_bug.cgi?id=2241091
diff --git a/Macaulay2.spec b/Macaulay2.spec
index ef26d79..40eea01 100644
--- a/Macaulay2.spec
+++ b/Macaulay2.spec
@@ -323,7 +323,7 @@ BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(m4ri)
BuildRequires: pkgconfig(m4rie)
-BuildRequires: pkgconfig(mariadb)
+BuildRequires: pkgconfig(libmariadb)
BuildRequires: pkgconfig(mpfi)
BuildRequires: pkgconfig(nauty)
BuildRequires: pkgconfig(ncurses)