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

Commit

Permalink
Merge tag '9.3.beta9' into t/30383/new_package_type__optional_enabled…
Browse files Browse the repository at this point in the history
…_by_default

SageMath version 9.3.beta9, Release Date: 2021-03-14
  • Loading branch information
mkoeppe committed Mar 15, 2021
2 parents c3e4093 + 5cb72aa commit 4916415
Show file tree
Hide file tree
Showing 801 changed files with 11,730 additions and 10,228 deletions.
572 changes: 326 additions & 246 deletions .github/workflows/ci-cygwin-minimal.yml

Large diffs are not rendered by default.

572 changes: 326 additions & 246 deletions .github/workflows/ci-cygwin-standard.yml

Large diffs are not rendered by default.

15 changes: 8 additions & 7 deletions .github/workflows/extract-sage-local.sh
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
#!/usr/bin/env bash
# to be run from $SAGE_ROOT, with arguments sage-local-${{ env.PREVIOUS_STAGES }}.tar

if [ -z "$SAGE_LOCAL" ]; then
SAGE_LOCAL=$(pwd)/local
fi

# Show all tar files
ls -l $*

# We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows.
for a in $*; do
echo Extracting $a
tar xf $a
(cd / && tar xf -) < $a
rm -f $a
done

# Also get rid of the stages that were not extracted
rm -f sage-local-*.tar

# We set the installation records to the same mtime so that no rebuilds due to dependencies
# among these packages are triggered.
(cd local/var/lib/sage/installed/ && touch .dummy && touch --reference=.dummy *)
(cd "$SAGE_LOCAL"/var/lib/sage/installed/ && touch .dummy && touch --reference=.dummy *)

# Show what has been built already.
ls -l local local/var/lib/sage/installed/
ls -l "$SAGE_LOCAL" "$SAGE_LOCAL"/var/lib/sage/installed/
df -h

# Rebase!
src/bin/sage-rebase.sh local
src/bin/sage-rebase.sh "$SAGE_LOCAL"
2 changes: 1 addition & 1 deletion .github/workflows/tox-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Try to login to docker.pkg.github.com
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tox-gcc_spkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Try to login to docker.pkg.github.com
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
run: |
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Build and test with tox
# We use a high parallelization on purpose in order to catch possible parallelization bugs in the build scripts.
# For doctesting, we use a lower parallelization to avoid timeouts.
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 @@ -64,7 +64,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Try to login to docker.pkg.github.com
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
run: |
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Try to login to docker.pkg.github.com
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
run: |
Expand Down Expand Up @@ -107,7 +107,16 @@ jobs:
os: [ macos-10.15, macos-11.0 ]
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]
xcode_version_factor: [11.7, default, 12.3]
xcode_version_factor: [11.7, 12.2, default, 12.4]
include:
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment
xcode_version_factor: default
os: macos-11.0
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment-optional
xcode_version_factor: default
os: macos-11.0
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 }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
Expand Down Expand Up @@ -154,7 +163,7 @@ jobs:
max-parallel: 1
matrix:
tox_system_factor: [conda-forge-ubuntu]
tox_packages_factor: [minimal, standard]
tox_packages_factor: [minimal, standard, environment, environment-optional]
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 All @@ -163,7 +172,7 @@ jobs:
- name: Install test prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install python-tox
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
- name: Build and test with tox
# We use a high parallelization on purpose in order to catch possible parallelization bugs in the build scripts.
# For doctesting, we use a lower parallelization to avoid timeouts.
Expand Down Expand Up @@ -196,7 +205,7 @@ jobs:
- name: Install bootstrap prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install $(sed "s/#.*//;" build/pkgs/debian-bootstrap.txt)
sudo DEBIAN_FRONTEND=noninteractive apt-get install $(build/bin/sage-get-system-packages debian _bootstrap)
- name: Bootstrap with sage-update-version
# We set SAGE_ROOT and SAGE_SRC by hand
# because 'sage -sh' does not work with an unconfigured tree,
Expand Down Expand Up @@ -225,7 +234,7 @@ jobs:
os: [ macos-10.15, macos-11.0 ]
tox_system_factor: [macos-nobootstrap, macos-nobootstrap-python3_pythonorg]
tox_packages_factor: [minimal]
xcode_version_factor: [default, 12]
xcode_version_factor: [11.7, 12.2, default, 12.4]
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 }}-xcode_${{ matrix.xcode_version_factor }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ src/sage/modular/arithgroup/farey_symbol.h
!src/sage/cpython/debugimpl.c
!src/sage/graphs/base/boost_interface.cpp
!src/sage/graphs/cliquer/cl.c
!src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp
!src/sage/graphs/graph_decompositions/sage_tdlib.cpp
!src/sage/libs/eclib/wrap.cpp
!src/sage/misc/inherit_comparison_impl.c
!src/sage/modular/arithgroup/farey.cpp
Expand All @@ -118,6 +118,7 @@ src/sage/modular/arithgroup/farey_symbol.h
!src/sage/stats/distributions/dgs_bern.c
!src/sage/stats/distributions/dgs_gauss_dp.c
!src/sage/stats/distributions/dgs_gauss_mp.c
/src/cython_debug

# Temporary build files
build/temp.*/
Expand Down
2 changes: 1 addition & 1 deletion .homebrew-build-env
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export PKG_CONFIG_PATH
LIBRARY_PATH="$HOMEBREW/lib$LIBRARY_PATH"
[ -z "$CPATH" ] || CPATH=":${CPATH}"
CPATH="$HOMEBREW/include$CPATH"
for l in readline bzip2; do
for l in readline bzip2 ntl; do
if [ -d "$HOMEBREW/opt/$l/lib" ]; then
LIBRARY_PATH="$HOMEBREW/opt/$l/lib:$LIBRARY_PATH"
fi
Expand Down
8 changes: 4 additions & 4 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"description": "Mirror of the Sage https://sagemath.org/ source tree",
"license": "other-open",
"title": "sagemath/sage: 9.3.beta7",
"version": "9.3.beta7",
"title": "sagemath/sage: 9.3.beta9",
"version": "9.3.beta9",
"upload_type": "software",
"publication_date": "2021-02-07",
"publication_date": "2021-03-14",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta7",
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta9",
"relation": "isSupplementTo"
},
{
Expand Down
1 change: 0 additions & 1 deletion COPYING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ symmetrica MIT-like License (see below)
sympow Modified BSD
sympy Modified BSD
tachyon Modified BSD
termcap GPLv2+
threejs MIT License
tornado Apache License
zlib Custom (Modified BSD)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,9 @@ Guide](https://doc.sagemath.org/html/en/installation).
* Build tools: GNU `make`, GNU `m4`, `perl` (including
``ExtUtils::MakeMaker``), `ranlib`, `git`, `tar`, `bc`

* Any version of `python` (full installation including `urllib`),
but ideally version 3.7.x or 3.8.x, which will avoid having to build Sage's
own copy of Python 3.
* Python 3.4 or later, or Python 2.7, a full installation including
`urllib`; but ideally version 3.7.x, 3.8.x, or 3.9.x, which will
avoid having to build Sage's own copy of Python 3.

We have collected lists of system packages that provide these build
prerequisites. See [build/pkgs/arch.txt](build/pkgs/arch.txt),
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.3.beta7, Release Date: 2021-02-07
SageMath version 9.3.beta9, Release Date: 2021-03-14
5 changes: 4 additions & 1 deletion build/bin/sage-bootstrap-python
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ fi
# So it needs to find a python that has the urllib module.
# For example, on Debian buster, the python3-minimal package does NOT provide it.
#
# Also, Trac #20023 removed the vendored argparse library from sage_bootstrap,
# so we test that python is new enough (>= 2.7) to run it.
#
# See https://trac.sagemath.org/ticket/29090

# Trac #29890: Our first choice is "python", not "python3". This is to avoid
Expand All @@ -41,7 +44,7 @@ PYTHONS="python python3 python3.8 python3.7 python2.7 python3.6 python2"
for PY in $PYTHONS; do
PYTHON="$(PATH="$SAGE_ORIG_PATH" command -v $PY)"
if [ -n "$PYTHON" ]; then
if "$PYTHON" -c "import urllib; from hashlib import sha1; from os import listdir; listdir(\"$(pwd)\");" 2>/dev/null; then
if "$PYTHON" -c "import argparse; import urllib; from hashlib import sha1; from os import listdir; listdir(\"$(pwd)\");" 2>/dev/null; then
exec "$PYTHON" "$@"
fi
fi
Expand Down
20 changes: 10 additions & 10 deletions build/bin/sage-build-env
Original file line number Diff line number Diff line change
Expand Up @@ -24,34 +24,34 @@
# The compiler flags are set in order of priority by
# 1) environment variables
# 2) flags set at configuration time
if [ "x$CFLAGS" == "x" ]; then
if [ "x$CFLAGS" = "x" ]; then
export ORIGINAL_CFLAGS="$CONFIGURED_CFLAGS"
else
export ORIGINAL_CFLAGS="$CFLAGS"
fi
if [ "x$CXXFLAGS" == "x" ]; then
if [ "x$CXXFLAGS" = "x" ]; then
export ORIGINAL_CXXFLAGS="$CONFIGURED_CXXFLAGS"
else
export ORIGINAL_CXXFLAGS="$CXXFLAGS"
fi
if [ "x$FCFLAGS" == "x" ]; then
if [ "x$FCFLAGS" = "x" ]; then
export ORIGINAL_FCFLAGS="$CONFIGURED_FCFLAGS"
else
export ORIGINAL_FCFLAGS="$FCFLAGS"
fi
if [ "x$F77FLAGS" == "x" ]; then
if [ "x$F77FLAGS" = "x" ]; then
export ORIGINAL_F77FLAGS="$CONFIGURED_F77FLAGS"
else
export ORIGINAL_F77FLAGS="$F77FLAGS"
fi

# We optimize according to $SAGE_DEBUG.
if [ "x$ORIGINAL_CFLAGS" == "x" ]; then
if [ "x$ORIGINAL_CFLAGS" = "x" ]; then
# Evaluate SAGE_DEBUG:
if [ "x$SAGE_DEBUG" == "xyes" ]; then
if [ "x$SAGE_DEBUG" = "xyes" ]; then
export CFLAGS_NON_NATIVE="-Og -g"
export CFLAGS_O3_NON_NATIVE="-Og -g"
elif [ "x$SAGE_DEBUG" == "xno" ]; then
elif [ "x$SAGE_DEBUG" = "xno" ]; then
export CFLAGS_NON_NATIVE="-O2"
export CFLAGS_O3_NON_NATIVE="-O3"
else
Expand All @@ -69,7 +69,7 @@ else
fi

# Copy to CXXFLAGS if this is not set.
if [ "x$ORIGINAL_CXXFLAGS" == "x" ]; then
if [ "x$ORIGINAL_CXXFLAGS" = "x" ]; then
export CXXFLAGS="$CFLAGS"
export CXXFLAGS_O3="$CFLAGS_O3"
export CXXFLAGS_NON_NATIVE="$CFLAGS_NON_NATIVE"
Expand All @@ -82,7 +82,7 @@ else
fi

# Copy CFLAGS to FCFLAGS if this is not set.
if [ "x$ORIGINAL_FCFLAGS" == "x" ]; then
if [ "x$ORIGINAL_FCFLAGS" = "x" ]; then
export FCFLAGS="$CFLAGS"
export FCFLAGS_O3="$CFLAGS_O3"
export FCFLAGS_NON_NATIVE="$CFLAGS_NON_NATIVE"
Expand All @@ -95,7 +95,7 @@ else
fi

# Copy FCFLAGS to F77FLAGS if this is not set.
if [ "x$ORIGINAL_F77FLAGS" == "x" ]; then
if [ "x$ORIGINAL_F77FLAGS" = "x" ]; then
export F77FLAGS="$FCFLAGS"
export F77FLAGS_O3="$FCFLAGS_O3"
export F77FLAGS_NON_NATIVE="$FCFLAGS_NON_NATIVE"
Expand Down
4 changes: 3 additions & 1 deletion build/bin/sage-build-env-config.in
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export SAGE_FAT_BINARY="@SAGE_FAT_BINARY@"

# Export SAGE_DEBUG if this was enabled during configure,
# but be respectful of the current settings.
if [ "x$SAGE_DEBUG" == "x" ]; then
if [ "x$SAGE_DEBUG" = "x" ]; then
export SAGE_DEBUG="@SAGE_DEBUG@"
fi

Expand Down Expand Up @@ -106,3 +106,5 @@ export SAGE_FREETYPE_PREFIX="@SAGE_FREETYPE_PREFIX@"
export SAGE_SUITESPARSE_PREFIX="@SAGE_SUITESPARSE_PREFIX@"

export SAGE_CONFIGURE_FFLAS_FFPACK="@SAGE_CONFIGURE_FFLAS_FFPACK@"

export SAGE_EDITABLE="@SAGE_EDITABLE@"
24 changes: 17 additions & 7 deletions build/bin/sage-dist-helpers
Original file line number Diff line number Diff line change
Expand Up @@ -227,17 +227,14 @@ sdh_pip_install() {
sdh_store_and_pip_install_wheel .
}

sdh_store_and_pip_install_wheel() {
sdh_store_wheel() {
if [ -n "$SAGE_DESTDIR" ]; then
local sudo=""
# --no-warn-script-location: Suppress a warning caused by --root
local root="--root=$SAGE_DESTDIR --no-warn-script-location"
else
local sudo="$SAGE_SUDO"
local root=""
fi
if [ "$*" != "." ]; then
sdh_die "Error: sdh_store_and_pip_install_wheel requires . as only argument"
sdh_die "Error: sdh_store_wheel requires . as only argument"
fi
wheel=""
for w in dist/*.whl; do
Expand All @@ -252,11 +249,24 @@ sdh_store_and_pip_install_wheel() {
sdh_die "Error: no wheel found after building"
fi

$sudo sage-pip-install $root "$wheel" || \
sdh_die "Error installing $wheel"
mkdir -p "${SAGE_DESTDIR}${SAGE_SPKG_WHEELS}" && \
$sudo mv "$wheel" "${SAGE_DESTDIR}${SAGE_SPKG_WHEELS}/" || \
sdh_die "Error storing $wheel"
wheel="${SAGE_DESTDIR}${SAGE_SPKG_WHEELS}/${wheel##*/}"
}

sdh_store_and_pip_install_wheel() {
sdh_store_wheel "$@"
if [ -n "$SAGE_DESTDIR" ]; then
local sudo=""
# --no-warn-script-location: Suppress a warning caused by --root
local root="--root=$SAGE_DESTDIR --no-warn-script-location"
else
local sudo="$SAGE_SUDO"
local root=""
fi
$sudo sage-pip-install $root "$wheel" || \
sdh_die "Error installing ${wheel##*/}"
}

sdh_cmake() {
Expand Down
Loading

0 comments on commit 4916415

Please sign in to comment.