Skip to content

Commit 049f01d

Browse files
committed
Merge remote-tracking branch 'upstream/development' into Permutations
2 parents 48f01e5 + 759b2d3 commit 049f01d

File tree

764 files changed

+39394
-31826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

764 files changed

+39394
-31826
lines changed

.github/workflows/test_build.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
brew config
6767
brew tap macaulay2/tap
6868
brew install --overwrite python
69-
brew install automake boost tbb ccache ctags texinfo llvm make ninja yasm libffi msolve
69+
brew install automake boost tbb ccache ctags texinfo llvm make ninja yasm libffi msolve googletest
7070
brew install --only-dependencies macaulay2/tap/M2
7171
brew link factory --force
7272
@@ -155,11 +155,12 @@ jobs:
155155
if: matrix.build-system == 'autotools'
156156
run: |
157157
../../autogen.sh
158-
export PYVERSION=`python3 -c "from sys import version_info; \
159-
print(f'{version_info.major}.{version_info.minor}')"`
160-
export CPPFLAGS="-I`brew --prefix`/include -I`brew --prefix libomp`/include"
161-
export LDFLAGS="-L`brew --prefix`/lib -L`brew --prefix libomp`/lib \
162-
-L/Library/Frameworks/Python.framework/Versions/${PYVERSION}/lib"
158+
export CPPFLAGS="-I`brew --prefix`/include \
159+
-I`brew --prefix libomp`/include \
160+
-I`brew --prefix readline`/include"
161+
export LDFLAGS="-L`brew --prefix`/lib \
162+
-L`brew --prefix libomp`/lib \
163+
-L`brew --prefix readline`/lib"
163164
export F77=gfortran-14
164165
../../configure --enable-download --with-system-gc
165166
@@ -205,7 +206,7 @@ jobs:
205206
make validate-html
206207
else
207208
# otherwise, just validate HTML docs for packages that have been updated
208-
PACKAGES=$(git diff --stat origin/development HEAD -- ../../Macaulay2/packages/ | grep -Po "(?<=Macaulay2/packages/)[^/\.]*(?=\.m2|/)" | uniq | xargs)
209+
PACKAGES=$(git diff --stat origin/development HEAD -- ../../Macaulay2/packages/ | grep -Po "(?<=Macaulay2/packages/)[^/\.]*(?=\.m2|/)" | uniq | sed 's/undistributed-packages//g' | xargs)
209210
make validate-html PACKAGES="$PACKAGES"
210211
fi
211212
else

.gitmodules

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,40 @@
11
[submodule "M2/submodules/memtailor"]
22
path = M2/submodules/memtailor
33
url = https://github.com/Macaulay2/memtailor
4+
ignore = all
45
[submodule "M2/submodules/mathic"]
56
path = M2/submodules/mathic
67
url = https://github.com/Macaulay2/mathic
8+
ignore = all
79
[submodule "M2/submodules/mathicgb"]
810
path = M2/submodules/mathicgb
911
url = https://github.com/Macaulay2/mathicgb
12+
ignore = all
1013
[submodule "M2/submodules/bdwgc"]
1114
path = M2/submodules/bdwgc
1215
url = https://github.com/Macaulay2/bdwgc.git
16+
ignore = all
1317
[submodule "M2/submodules/flint"]
1418
path = M2/submodules/flint
15-
url = https://github.com/Macaulay2/flint2.git
19+
url = https://github.com/flintlib/flint
20+
ignore = all
1621
[submodule "M2/submodules/frobby"]
1722
path = M2/submodules/frobby
1823
url = https://github.com/Macaulay2/frobby.git
24+
ignore = all
1925
[submodule "M2/submodules/fflas-ffpack"]
2026
path = M2/submodules/fflas_ffpack
2127
url = https://github.com/Macaulay2/fflas-ffpack.git
28+
ignore = all
2229
[submodule "M2/submodules/givaro"]
2330
path = M2/submodules/givaro
2431
url = https://github.com/linbox-team/givaro
32+
ignore = all
2533
[submodule "M2/submodules/googletest"]
2634
path = M2/submodules/googletest
2735
url = https://github.com/google/googletest.git
36+
ignore = all
2837
[submodule "M2/Macaulay2/editors/emacs"]
2938
path = M2/Macaulay2/editors/emacs
3039
url = https://github.com/Macaulay2/M2-emacs.git
40+
ignore = all

M2/BUILD/docker/fedora/Dockerfile

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,33 @@
22
# Net usage: 54+124+
33
# Disk usage: ??
44

5-
FROM registry.fedoraproject.org/fedora-minimal:32
5+
ARG RELEASE=latest
6+
7+
FROM quay.io/fedora/fedora-minimal:$RELEASE
68

79
# Programs we require to build
810
# kernel-devel rpm-build rpm-sign rpmdevtools
9-
RUN microdnf install autoconf bison ccache cmake curl diffutils file gcc-c++ git \
10-
gnupg libtool make ninja-build patch yasm rpm-build rpmlint which
11+
RUN microdnf install -y autoconf bison ccache cmake curl diffutils file \
12+
gcc-c++ git gnupg libtool make ninja-build patch yasm rpm-build rpmlint \
13+
which flex gcc-gfortran
1114

1215
# Libraries we require
13-
RUN microdnf install openblas-devel libxml2-devel readline-devel gdbm-devel \
14-
boost-devel libomp-dev libtbb-dev
16+
RUN microdnf install -y openblas-devel libxml2-devel readline-devel gdbm-devel \
17+
boost-devel libomp-devel tbb-devel python3-devel libffi-devel
1518

1619
# Libraries we can build (factory not available on ubuntu)
17-
RUN microdnf install eigen3-devel glpk-devel gmp-devel mpfr-devel ntl-devel \
18-
libnauty-devel libnormaliz-devel libfrobby-devel gc-devel
20+
RUN microdnf install -y eigen3-devel glpk-devel gmp-devel mpfr-devel ntl-devel \
21+
libnauty-devel libnormaliz-devel libfrobby-devel gc-devel mpfi-devel \
22+
factory-devel mpsolve-devel fflas-ffpack-devel memtailor-devel \
23+
mathic-devel mathicgb-devel
1924

2025
# Programs we can build
21-
# TODO: cohomcalg available soon. Polymake requires firefox???
22-
#RUN microdnf install libcdd-devel 4ti2 gfan normaliz coinor-csdp nauty lrslib
26+
# TODO: Polymake requires firefox???
27+
RUN microdnf install -y cddlib-devel 4ti2 gfan normaliz csdp-tools nauty \
28+
lrslib-utils cohomCalg msolve
2329

2430
# Optional packages
25-
RUN microdnf install mlocate bash-completion
31+
RUN microdnf install -y plocate bash-completion R
2632

2733
# Add non-root user for building and running Macaulay2
2834
RUN useradd -G wheel -g root -u 1000 -m macaulay && echo "macaulay ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

M2/BUILD/docker/fedora/Makefile

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,33 @@
11
include ../ubuntu/Makefile
22

33
## Parameters
4-
TAG = m2-fedora-build
4+
RELEASE = latest
5+
BUILD_ARGS = --build-arg RELEASE=$(RELEASE)
6+
TAG = m2-fedora-$(RELEASE)-build
57
BUILD_DIR = M2/BUILD/build-docker
68
BUILD_OPT = -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
79

810
rpm:; docker run $(VOLUME) -it --entrypoint "" $(TAG) bash -c "cd M2/$(BUILD_DIR); cpack -G RPM"
911

1012
rpmlint:; docker run $(VOLUME) -it --entrypoint "" $(TAG) bash -c "rpmlint M2/$(BUILD_DIR)/Macaulay2-*.rpm"
13+
14+
## autotools build
15+
## TODO: generalize this to other distros, move to toplevel Makefile
16+
17+
CONFIG_OPT = --with-system-gc --with-system-memtailor --with-system-mathic \
18+
--with-system-mathicgb --enable-download --enable-rpm --prefix=/usr
19+
20+
define M2_BUILD_SCRIPT_autotools
21+
set -xe
22+
23+
mkdir -p M2/$(BUILD_DIR)
24+
cd M2/$(BUILD_DIR)
25+
$(M2_HOME)/M2/M2/autogen.sh
26+
$(M2_HOME)/M2/M2/configure $(CONFIG_OPT)
27+
make
28+
endef
29+
export M2_BUILD_SCRIPT_autotools
30+
31+
build-autotools: build-image
32+
docker run $(VOLUME) -it --entrypoint="" $(TAG) \
33+
bash -c "$$M2_BUILD_SCRIPT_autotools"

M2/BUILD/docker/testbot/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
# Time usage: <5min
22
# Net usage: <200MB
3-
# Disk usage: <700MB
3+
# Disk usage: <800MB
44

55
FROM debian:bookworm
66

7+
LABEL org.opencontainers.image.source=https://github.com/Macaulay2/M2
8+
79
# Setup the system
810
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates debian-keyring git && apt-get clean
911

1012
# Install Macaulay2
11-
RUN echo "deb [signed-by=/usr/share/keyrings/debian-keyring.gpg] https://people.debian.org/~dtorrance/debian bookworm/" >> /etc/apt/sources.list && apt-get update && apt-get install -y --no-install-recommends macaulay2 4ti2 cohomcalg coinor-csdp gfan nauty normaliz topcom && apt-get clean
13+
RUN echo "deb [signed-by=/usr/share/keyrings/debian-keyring.gpg] https://people.debian.org/~dtorrance/debian bookworm/" >> /etc/apt/sources.list && apt-get update && apt-get install -y --no-install-recommends macaulay2 4ti2 cohomcalg coinor-csdp gfan nauty normaliz topcom msolve && apt-get clean
1214

1315
# Add non-root user for using Macaulay2
1416
RUN useradd -G sudo -g root -u 1000 -m macaulay && echo "macaulay ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

M2/BUILD/docker/testbot/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
steps:
3838
- name: Checkout the project repository
39-
uses: actions/checkout@v2
39+
uses: actions/checkout@v4
4040

4141
- name: Run testbot on project branch
4242
run: |

M2/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ file(STRINGS VERSION VERSION)
5858
project(Macaulay2
5959
VERSION ${VERSION}
6060
DESCRIPTION "A software system for algebraic geometry research"
61-
HOMEPAGE_URL http://macaulay2.com # contact: [email protected]
61+
HOMEPAGE_URL https://macaulay2.com # contact: [email protected]
6262
LANGUAGES C CXX)
6363

6464
###############################################################################

M2/LICENSING-NOTES

Lines changed: 0 additions & 71 deletions
This file was deleted.

M2/Macaulay2/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
###############################################################################
1010
## Some miscellaneous instructions
1111

12-
# Generate README and copy the copyright license in usr-dist
13-
configure_file(README.in ${M2_DIST_PREFIX}/${M2_INSTALL_DOCDIR}/README @ONLY)
12+
# Copy the copyright license in usr-dist
1413
file(COPY LAYOUT COPYING-GPL-2 COPYING-GPL-3 DESTINATION ${M2_DIST_PREFIX}/${M2_INSTALL_DOCDIR})
1514

1615
# eg: Style Macaulay2Doc ...

M2/Macaulay2/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# we want to ignore the --datarootdir setting, whatever that means, so here we we mention it: @datarootdir@
33
VPATH = @srcdir@
44
include ../include/config.Makefile
5-
all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/README @pre_docdir@/LAYOUT
5+
all: @pre_docdir@/COPYING-GPL-2 @pre_docdir@/COPYING-GPL-3 @pre_docdir@/LAYOUT
66
SUBDIRS = util c d e system bin m2 man packages editors \
77
$(if $(filter html, @DOCUMENTATION@), html-check-links) tests
88

0 commit comments

Comments
 (0)