Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
29723: Merge tag '9.2.beta2' into #29723
Browse files Browse the repository at this point in the history
SageMath version 9.2.beta2, Release Date: 2020-06-26
  • Loading branch information
mwageringel committed Jun 27, 2020
2 parents 85d94d2 + 69d2b2d commit 7216bac
Show file tree
Hide file tree
Showing 908 changed files with 25,036 additions and 15,478 deletions.
3 changes: 3 additions & 0 deletions .ci/build-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ rsync html_/ html/ -a --copy-links

# Build the release image without build artifacts.
docker_build --target sagemath --tag "$DOCKER_IMAGE_CLI" .
# Tag the sagemath:$DOCKER_TAG image that CI has just built as
# sagemath:$COMMIT_HASH so we can refer to it uniquely later.
docker tag "$DOCKER_IMAGE_CLI" "$DOCKER_IMAGE_BINDER"
# Display the layers of this image
docker history "$DOCKER_IMAGE_CLI"
# Build the developer image with the build artifacts intact.
Expand Down
2 changes: 2 additions & 0 deletions .ci/update-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ fi
export DOCKER_IMAGE_CLI=${DOCKER_NAMESPACE:-sagemath}/sagemath:$DOCKER_TAG
export DOCKER_IMAGE_DEV=${DOCKER_NAMESPACE:-sagemath}/sagemath-dev:$DOCKER_TAG

export DOCKER_IMAGE_BINDER="${DOCKER_NAMESPACE:-sagemath}/sagemath:${CI_COMMIT_SHA}"

# Seed the build cache with this image (set to source-clean to build from
# scratch.)
export ARTIFACT_BASE=${ARTIFACT_BASE:-$DEFAULT_ARTIFACT_BASE}
950 changes: 0 additions & 950 deletions .github/workflows/ci-cygwin-standard-python2.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/tox-gcc_spkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
fail-fast: false
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, centos-7, centos-8, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg, standard-python2-gcc_spkg]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down Expand Up @@ -101,7 +101,7 @@ jobs:
fail-fast: false
matrix:
tox_system_factor: [conda-forge-ubuntu]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg, standard-python2-gcc_spkg]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg]
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tox-optional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ jobs:
fail-fast: false
max-parallel: 3
matrix:
tox_system_factor: [homebrew-macos-python2, homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, conda-forge-macos]
tox_system_factor: [homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, conda-forge-macos]
tox_packages_factor: [maximal]
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
max-parallel: 20
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, centos-7, centos-8, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_packages_factor: [minimal, standard, standard-python2]
tox_packages_factor: [minimal, standard]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
tox_system_factor: [homebrew-macos-python2, homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, homebrew-macos-python3_xcode-gcc_spkg, conda-forge-macos]
tox_system_factor: [homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, homebrew-macos-python3_xcode-gcc_spkg, conda-forge-macos]
tox_packages_factor: [minimal, standard]
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down Expand Up @@ -147,7 +147,7 @@ jobs:
max-parallel: 1
matrix:
tox_system_factor: [conda-forge-ubuntu]
tox_packages_factor: [minimal, standard, standard-python2]
tox_packages_factor: [minimal, standard]
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down
5 changes: 3 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
# If you want to provide your own runners, make sure to tag them as follows:
# * "big" (60GB of disk space are available) to make build-from-clean pass.

image: docker:latest
image: docker:stable

stages:
- build
Expand Down Expand Up @@ -77,7 +77,7 @@ before_script:
# better isolation. If you expect many builds to run simultaneously on a host,
# conflicting tags can cause issues with a mounted DOCKER_HOST.
services:
- docker:18.05.0-ce-dind
- docker:stable-dind

# Build Sage and its documentation.
# The build starts from the build artifacts of DEFAULT_ARTIFACT_BASE which is
Expand All @@ -100,6 +100,7 @@ build-from-latest:
- .ci/build-docker.sh | tee gitlab-build-docker.log | .ci/head-tail.sh 1048576
- .ci/push-gitlab.sh sagemath-dev
- .ci/push-gitlab.sh sagemath
- DOCKER_TAG=$CI_COMMIT_SHA .ci/push-gitlab.sh sagemath
except:
- master
- develop
Expand Down
11 changes: 9 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ build/make/Makefile: configure $(SPKG_COLLECT_FILES) $(CONFIG_FILES:%=%.in)
@if [ -x config.status ]; then \
./config.status --recheck && ./config.status; \
else \
./configure $$PREREQ_OPTIONS; \
echo >&2 '****************************************************************************'; \
echo >&2 'error: Sage source tree is unconfigured. Please run "./configure" first.'; \
echo >&2 'note: Type "./configure --help" to see the available configuration options.'; \
echo >&2 '****************************************************************************'; \
exit 1; \
fi

# This is used to monitor progress towards Python 3 and prevent
Expand Down Expand Up @@ -105,14 +109,17 @@ distclean: build-clean
bootstrap-clean:
rm -rf config configure build/make/Makefile-auto.in
rm -f src/doc/en/installation/*.txt
rm -rf src/doc/en/reference/spkg/*.rst

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
rm -rf upstream

# Remove everything that is not necessary to run Sage and pass all its
# doctests.
micro_release: sagelib-clean misc-clean
micro_release:
$(MAKE) sagelib-clean
$(MAKE) misc-clean
@echo "Stripping binaries ..."
LC_ALL=C find local/lib local/bin -type f -exec strip '{}' ';' 2>&1 | grep -v "File format not recognized" | grep -v "File truncated" || true
@echo "Removing sphinx artifacts..."
Expand Down
11 changes: 3 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -424,12 +424,6 @@ The latter `build/make/Makefile` *is* generated by an autoconf-generated
includes rules for building the Sage library itself (`make sagelib`), and for
building and installing each of Sage's dependencies (e.g. `make python2`).

Although it's possible to manually run Sage's `configure` script if one wants
to provide some customizations (e.g. it is possible to select which BLAS
implementation to use), the top-level `Makefile` will run `configure` for you,
in order to build `build/make/Makefile` since it's a prerequisite for most of
Sage's make targets.

The `configure` script itself, if it is not already built, can be generated by
running the `bootstrap` script (the latter requires _GNU autotools_ being installed).
The top-level `Makefile` also takes care of this automatically.
Expand All @@ -438,8 +432,9 @@ To summarize, running a command like `make python3` at the top-level of the
source tree goes something like this:

1. `make python3`
2. run `./bootstrap` if `configure` does not exist
3. run `./configure` if `build/make/Makefile` does not exist
2. run `./bootstrap` if `configure` needs updating
3. run `./configure` with any previously configured options if `build/make/Makefile`
needs updating
4. `cd` into `build/make` and run the `install` script--this is little more
than a front-end to running `make -f build/make/Makefile python3`, which
sets some necessary environment variables and logs some information
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SageMath version 9.2.beta0, Release Date: 2020-05-28
SageMath version 9.2.beta2, Release Date: 2020-06-26
2 changes: 1 addition & 1 deletion bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ save () {
# Create configure tarball
echo "Creating $NEWCONFBALL..."
mkdir -p upstream
tar zcf "$NEWCONFBALL" configure config/* build/make/Makefile-auto.in src/doc/en/installation/*.txt
tar zcf "$NEWCONFBALL" configure config/* build/make/Makefile-auto.in src/doc/en/installation/*.txt src/doc/en/reference/spkg/*.rst

# Update version
echo "$NEWCONFVERSION" >$PKG/package-version.txt
Expand Down
51 changes: 4 additions & 47 deletions build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@
#*****************************************************************************

# Avoid surprises with character ranges [a-z] in regular expressions
export LC_ALL=C
# See Trac #15791; some locales can produce different results for
# character ranges (use C.UTF-8 to ensure UTF-8 default encoding in Python)
export LC_ALL=C.UTF-8

usage()
{
Expand Down Expand Up @@ -361,52 +363,7 @@ EOF
fi

if [ $INFO -ne 0 -a "$USE_LOCAL_SCRIPTS" = yes ]; then
cat "$PKG_SCRIPTS/SPKG.txt"
if [ -r "$PKG_SCRIPTS/type" ] ; then
echo
echo "== Type =="
echo
cat "$PKG_SCRIPTS/type"
echo
fi
echo "== Equivalent System Packages =="
echo
PKG_DISTROS="$PKG_SCRIPTS"/distros
for system_package_file in "$PKG_DISTROS"/*.txt; do
if [ -f "$system_package_file" ]; then
system=$(basename "$system_package_file" .txt)
system_packages="$(echo $(sed 's/#.*//;' $system_package_file))"
case $system in
debian)
# Generic
echo "Debian/Ubuntu:"
;;
fedora)
# Generic
echo "Fedora/Redhat/CentOS:"
;;
*)
echo "$system:"
;;
esac
echo -n " "
sage-print-system-package-command $system --prompt --sudo install $system_packages
fi
done
if [ -z "$system" ]; then
echo "(none known)"
else
echo
if [ -f "$PKG_SCRIPTS"/spkg-configure.m4 ]; then
echo "If the system package is installed, ./configure will check whether it can be used."
else
echo "However, these system packages will not be used for building Sage"
echo "because spkg-configure.m4 has not been written for this package;"
echo "see https://trac.sagemath.org/ticket/27330"
fi
fi
echo
exit 0
exec sage-spkg-info $PKG_BASE
fi

# If we haven't found the package yet, we must download it
Expand Down
59 changes: 59 additions & 0 deletions build/bin/sage-spkg-info
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/env bash
#
# sage-spkg-info SPKG
# Format information about a Sage package
#
# Assumes SAGE_ROOT is set
PKG_BASE=$1
PKG_SCRIPTS="$SAGE_ROOT/build/pkgs/$PKG_BASE"
for ext in rst txt; do
SPKG_FILE="$PKG_SCRIPTS/SPKG.$ext"
if [ -f "$SPKG_FILE" ]; then
cat "$SPKG_FILE"
break
fi
done
if [ -r "$PKG_SCRIPTS/type" ] ; then
echo
echo "== Type =="
echo
cat "$PKG_SCRIPTS/type"
echo
fi
echo "== Equivalent System Packages =="
echo
PKG_DISTROS="$PKG_SCRIPTS"/distros
for system_package_file in "$PKG_DISTROS"/*.txt; do
if [ -f "$system_package_file" ]; then
system=$(basename "$system_package_file" .txt)
system_packages="$(echo $(sed 's/#.*//;' $system_package_file))"
case $system in
debian)
# Generic
echo "Debian/Ubuntu:"
;;
fedora)
# Generic
echo "Fedora/Redhat/CentOS:"
;;
*)
echo "$system:"
;;
esac
echo -n " "
sage-print-system-package-command $system --prompt --sudo install $system_packages
fi
done
if [ -z "$system" ]; then
echo "(none known)"
else
echo
if [ -f "$PKG_SCRIPTS"/spkg-configure.m4 ]; then
echo "If the system package is installed, ./configure will check whether it can be used."
else
echo "However, these system packages will not be used for building Sage"
echo "because spkg-configure.m4 has not been written for this package;"
echo "see https://trac.sagemath.org/ticket/27330"
fi
fi
echo
16 changes: 7 additions & 9 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,12 @@ STANDARD_PACKAGE_INSTS = \
$(foreach pkgname,$(STANDARD_PACKAGES),$(inst_$(pkgname)))

# All optional installed packages (triggers the auto-update)
OPTIONAL_INSTALLED_PACKAGES = \
@SAGE_OPTIONAL_INSTALLED_PACKAGES@
OPTIONAL_INSTALLED_PACKAGES = @SAGE_OPTIONAL_INSTALLED_PACKAGES@
OPTIONAL_INSTALLED_PACKAGE_INSTS = \
$(foreach pkgname,$(OPTIONAL_INSTALLED_PACKAGES),$(inst_$(pkgname)))

# All previously installed optional packages that are to be uninstalled
OPTIONAL_CLEANED_PACKAGES = \
@SAGE_OPTIONAL_CLEANED_PACKAGES@
OPTIONAL_CLEANED_PACKAGES = @SAGE_OPTIONAL_CLEANED_PACKAGES@
OPTIONAL_CLEANED_PACKAGES_CLEANS = $(OPTIONAL_CLEANED_PACKAGES:%=%-clean)

# All packages which should be downloaded
Expand Down Expand Up @@ -337,7 +335,7 @@ sagelib-build-deps: \

sagelib: sagelib-build-deps
$(AM_V_at)if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
cd $(SAGE_SRC) && source bin/sage-env && source $(SAGE_ROOT)/build/bin/sage-build-env-config && \
cd $(SAGE_SRC) && . bin/sage-env && . $(SAGE_ROOT)/build/bin/sage-build-env-config && \
sage-logger -p 'time $(MAKE) sage' '$(SAGE_LOGS)/sagelib-$(SAGE_VERSION).log'; \
fi

Expand Down Expand Up @@ -560,14 +558,14 @@ endif
#
# $(INST)/<pkgname>-<pkgvers>: <dependencies>
# $(AM_V_at)cd '$SAGE_ROOT' && \\
# source '$SAGE_ROOT/src/bin/sage-env' && \\
# . '$SAGE_ROOT/src/bin/sage-env' && \\
# sage-logger -p '$SAGE_ROOT/build/pkgs/<pkgname>/spkg-install' '$(SAGE_LOGS)/<pkgname>.log'
#
# <pkgname>: $(INST)/<pkgname>-<pkgvers>
#
# <pkgname>-clean:
# -$(AM_V_at)cd '$SAGE_ROOT' && \\
# source '$SAGE_ROOT/src/bin/sage-env' && \\
# . '$SAGE_ROOT/src/bin/sage-env' && \\
# '$SAGE_ROOT/build/pkgs/$PKG_NAME/spkg-uninstall'

# Positional arguments:
Expand All @@ -577,15 +575,15 @@ endif
define SCRIPT_PACKAGE_templ
$$(INST)/$(1)-$(2): $(3)
$(AM_V_at)cd '$$(SAGE_ROOT)' && \
source '$$(SAGE_ROOT)/src/bin/sage-env' && source '$$(SAGE_ROOT)/build/bin/sage-build-env-config' && \
. '$$(SAGE_ROOT)/src/bin/sage-env' && . '$$(SAGE_ROOT)/build/bin/sage-build-env-config' && \
sage-logger -p '$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1).log'
touch "$$@"

$(1): $$(INST)/$(1)-$(2)

$(1)-clean:
-$(AM_V_at)cd '$$(SAGE_ROOT)' && \
source '$$(SAGE_ROOT)/src/bin/sage-env' && source '$$(SAGE_ROOT)/build/bin/sage-build-env-config' && \
. '$$(SAGE_ROOT)/src/bin/sage-env' && . '$$(SAGE_ROOT)/build/bin/sage-build-env-config' && \
'$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-uninstall'
-rm -f "$$(INST)/$(1)-$(2)"

Expand Down
25 changes: 25 additions & 0 deletions build/pkgs/4ti2/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
4ti2
====

Description
-----------

A software package for algebraic, geometric and combinatorial problems
on linear spaces. Available at www.4ti2.de.

License
-------

4ti2 is released under a GPL v2 license.


Upstream Contact
----------------

- Raymond Hemmecke, TU Munich, Germany
- Matthias Köppe, UC Davis, CA, USA

Dependencies
------------

GLPK, GMP.
17 changes: 0 additions & 17 deletions build/pkgs/4ti2/SPKG.txt

This file was deleted.

Loading

0 comments on commit 7216bac

Please sign in to comment.