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.beta3' into t/29850/install_sage_env_config_with_sage_…
Browse files Browse the repository at this point in the history
…conf

SageMath version 9.3.beta3, Release Date: 2020-12-06
  • Loading branch information
Matthias Koeppe committed Dec 8, 2020
2 parents 5f11e24 + ca088c9 commit 0773001
Show file tree
Hide file tree
Showing 1,203 changed files with 3,686 additions and 2,613 deletions.
32 changes: 14 additions & 18 deletions .github/workflows/ci-wsl.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
name: Build & Test WSL

on: [push, pull_request]
on:
pull_request:
types: [opened, synchronize]
push:
tags:
- '*'
branches:
- 'public/build/**wsl**'
workflow_dispatch:

jobs:
windows:
runs-on: windows-latest
name: Windows (using WSL)
name: Ubuntu 20.04
# Following https://trac.sagemath.org/ticket/25206#comment:63
steps:
- name: Configure git
Expand All @@ -18,22 +26,10 @@ jobs:
Ubuntu\ubuntu2004.exe install --root
- name: Install dependencies
run: |
Function ExtractPackages
{
param($path)
@(Get-Content $path | Where-Object { !$_.StartsWith("#") })
}
$packages = Get-ChildItem build/pkgs -recurse -Include debian.txt, debian-bootstrap.txt | foreach-object { ExtractPackages $_.FullName } | sort -Unique
# Add tox which is use to build
$packages += 'tox'
echo "Install the following packages:" @packages
# Add deadsnakes so that libpython3.7-dev is found
& wsl sudo add-apt-repository ppa:deadsnakes/ppa
# Install
& wsl sudo apt-get update -y
& wsl sudo apt-get install -y @packages
wsl sudo apt-get update -y
wsl sudo apt-get install -y tox
- name: Build
run: wsl tox -e local -- SAGE_NUM_THREADS=4 build
run: wsl tox -e local-sudo-ubuntu-standard -- SAGE_NUM_THREADS=4 build
env:
# WSL runs everything as root, so we have to enable build as root user
EXTRA_CONFIGURE_ARGS: "--enable-build-as-root"
Expand All @@ -42,7 +38,7 @@ jobs:
MAKE: "make -j2"
WSLENV: EXTRA_CONFIGURE_ARGS:MAKE
- name: Test
run: wsl tox -e local -- SAGE_NUM_THREADS=4 ptest
run: wsl tox -e local-sudo-ubuntu-standard -- SAGE_NUM_THREADS=4 ptest
- name: Prepare logs artifact
run: mkdir -p "artifacts/logs"; cp -r .tox/*/log "artifacts/logs"
shell: bash
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/tox-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,20 +99,25 @@ jobs:

local-macos:

runs-on: macos-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 3
matrix:
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, conda-forge-macos]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
xcode_version_factor: [11.7, default, 12.3]
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 }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :experimental: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
- name: Select Xcode version
run: |
if [ ${{ matrix.xcode_version_factor }} != default ]; then sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version_factor }}.app; fi
- name: Install test prerequisites
run: |
brew install tox
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/tox-optional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,22 +101,27 @@ jobs:

local-macos:

runs-on: macos-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 3
matrix:
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, conda-forge-macos]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
xcode_version_factor: [11.7, default, 12.3]
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 }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
# Test all optional packages, but do not test huge packages
# and do not test packages that require external software
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :optional: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
- name: Select Xcode version
run: |
if [ ${{ matrix.xcode_version_factor }} != default ]; then sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version_factor }}.app; fi
- name: Install test prerequisites
run: |
brew install tox
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,17 +97,18 @@ jobs:

local-macos:

runs-on: macos-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
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: [default, 12]
xcode_version_factor: [11.7, default, 12.3]
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 }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
steps:
- uses: actions/checkout@v2
- name: Select Xcode version
Expand Down Expand Up @@ -214,11 +215,12 @@ jobs:

needs: [dist]

runs-on: macos-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
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]
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@
# no longer generated, but may still be in user worktrees
/src/lib/pkgconfig

/environment.yml
/environment-optional.yml
/src/environment.yml
/src/environment-optional.yml

# Various editors
*~

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.beta2",
"version": "9.3.beta2",
"title": "sagemath/sage: 9.3.beta3",
"version": "9.3.beta3",
"upload_type": "software",
"publication_date": "2020-11-24",
"publication_date": "2020-12-06",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta2",
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta3",
"relation": "isSupplementTo"
},
{
Expand Down
20 changes: 12 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ build/make/Makefile: configure $(SPKG_COLLECT_FILES) $(CONFIG_FILES:%=%.in)
buildbot-python3:
$(MAKE)

# Preemptively download all standard upstream source tarballs.
# Preemptively download all source tarballs of normal packages.
download:
export SAGE_ROOT=$$(pwd) && \
export PATH=$$SAGE_ROOT/src/bin:$$PATH && \
./src/bin/sage-download-upstream
export PATH=$$SAGE_ROOT/build/bin:$$PATH && \
sage-package download :all:

dist: build/make/Makefile
./sage --sdist
Expand Down Expand Up @@ -111,6 +111,10 @@ bootstrap-clean:
rm -f src/doc/en/installation/*.txt
rm -rf src/doc/en/reference/spkg/*.rst
rm -f src/doc/en/reference/repl/*.txt
rm -f environment.yml
rm -f src/environment.yml
rm -f environment-optional.yml
rm -f src/environment-optional.yml

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
Expand Down Expand Up @@ -147,15 +151,15 @@ micro_release:

# Leaves everything that is needed to make the next "make" fast but removes
# all the cheap build artifacts that can be quickly regenerated.
# Trac #30960: We no longer uninstall sagelib.
fast-rebuild-clean: misc-clean
rm -rf upstream/
rm -rf src/build/temp.*
# Without site-packages/sage sage does not start but copying/compiling
# them from src/build is very fast.
rm -rf local/lib/python*/site-packages/sage
rm -rf build/pkgs/sagelib/src/build/temp.*
# The .py files in src/build are restored from src/sage without their
# mtimes changed.
find src/build -name '*.py' -exec rm \{\} \;
-find build/pkgs/sagelib/src/build -name '*.py' -exec rm \{\} \;
# Remove leftovers from ancient branches
rm -rf src/build

TESTALL = ./sage -t --all
PTESTALL = ./sage -t -p --all
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.beta2, Release Date: 2020-11-24
SageMath version 9.3.beta3, Release Date: 2020-12-06
6 changes: 5 additions & 1 deletion bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,11 @@ save () {
build/make/Makefile-auto.in \
src/doc/en/installation/*.txt \
src/doc/en/reference/spkg/*.rst \
src/doc/en/reference/repl/*.txt
src/doc/en/reference/repl/*.txt \
environment.yml \
src/environment.yml \
environment-optional.yml \
src/environment-optional.yml

# Update version
echo "$NEWCONFVERSION" >$PKG/package-version.txt
Expand Down
2 changes: 1 addition & 1 deletion build/bin/sage-build-num-threads
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env sage-system-python
#!/usr/bin/env sage-bootstrap-python
#
# Determine the number of threads to be used by Sage.
#
Expand Down
17 changes: 13 additions & 4 deletions build/bin/sage-print-system-package-command
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,14 @@ shift
IF_VERBOSE=:
SUDO=
PROMPT=
COMMENT="# "
while :
do
case "$1" in
--verbose=*)
IF_VERBOSE=
COMMENT="${1#--verbose=}"
;;
--verbose)
IF_VERBOSE=
;;
Expand All @@ -16,7 +21,7 @@ do
SUDO="sudo "
;;
--prompt=*)
PROMPT=${1#--prompt=}
PROMPT="${1#--prompt=}"
;;
--prompt)
PROMPT=' $ '
Expand Down Expand Up @@ -47,11 +52,15 @@ options=
shopt -s extglob
case $system:$command in
homebrew*:setup-build-env)
$IF_VERBOSE echo "# To automatically take care of homebrew messages regarding "
$IF_VERBOSE echo "# keg-only packages for the current shell session:"
$IF_VERBOSE echo "${COMMENT}"
$IF_VERBOSE echo "${COMMENT}Homebrew can issue suggestions regarding keg-only packages."
$IF_VERBOSE echo "${COMMENT}The following command is to automatically apply these suggestions"
$IF_VERBOSE echo "${COMMENT}for packages relevant for Sage to make them available for the build."
$IF_VERBOSE echo "${COMMENT}Run it once to apply the suggestions for the current session."
$IF_VERBOSE echo "${COMMENT}Add it to your shell profile to apply them for all future sessions."
$IF_VERBOSE echo "${COMMENT}"
[ -n "$SAGE_ROOT" ] || SAGE_ROOT=.
echo "${PROMPT}source $SAGE_ROOT/.homebrew-build-env"
$IF_VERBOSE echo "# Add this to your shell profile if you want it to persist between shell sessions."
;;
*:setup-build-env)
# Nothing needed
Expand Down
30 changes: 12 additions & 18 deletions build/bin/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,26 @@
set -e
SYSTEM="${1:-debian}"
shopt -s extglob
TYPE_PATTERN="${2:-standard}"
SAGE_PACKAGE_LIST_ARGS="${2:- --has-file=spkg-configure.m4 :standard:}"
WITH_SYSTEM_SPKG="${3:-yes}"
IGNORE_MISSING_SYSTEM_PACKAGES="${4:-no}"
#
STRIP_COMMENTS="sed s/#.*//;"
SAGE_ROOT=.
SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SAGE_ROOT/build/pkgs/$SYSTEM{,-bootstrap}.txt))
export PATH="$SAGE_ROOT"/build/bin:$PATH
SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} "$SAGE_ROOT"/build/pkgs/$SYSTEM{,-bootstrap}.txt))
CONFIGURE_ARGS="--enable-option-checking "
for PKG_SCRIPTS in build/pkgs/*; do
for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS); do
PKG_SCRIPTS="$SAGE_ROOT"/build/pkgs/$PKG_BASE
if [ -d $PKG_SCRIPTS ]; then
PKG_BASE=$(basename $PKG_SCRIPTS)
SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt
if [ -f $PKG_SCRIPTS/type -a -f $SYSTEM_PACKAGES_FILE -a -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
PKG_TYPE=$(cat $PKG_SCRIPTS/type)
PKG_SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE))
if [ -n "PKG_SYSTEM_PACKAGES" ]; then
case "$PKG_TYPE" in
$TYPE_PATTERN)
SYSTEM_PACKAGES+=" $PKG_SYSTEM_PACKAGES"
if [ -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
CONFIGURE_ARGS+="--with-system-$PKG_BASE=${WITH_SYSTEM_SPKG} "
fi
;;
esac
SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt
PKG_SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE))
if [ -n "PKG_SYSTEM_PACKAGES" ]; then
SYSTEM_PACKAGES+=" $PKG_SYSTEM_PACKAGES"
if [ -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
CONFIGURE_ARGS+="--with-system-$PKG_BASE=${WITH_SYSTEM_SPKG} "
fi
fi
fi
fi
done
echo "# Automatically generated by SAGE_ROOT/build/bin/write-dockerfile.sh"
Expand Down
1 change: 1 addition & 0 deletions build/pkgs/4ti2/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4ti2
2 changes: 1 addition & 1 deletion build/pkgs/_recommended/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# From https://wiki.sagemath.org/prerequisitesUbuntu

# to generate pdf documentation
texlive-generic-extra
texlive-latex-extra
# to convert Jupyter notebooks to pdf
texlive-xetex
# to generate pdf documentation
Expand Down
1 change: 1 addition & 0 deletions build/pkgs/alabaster/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alabaster
4 changes: 1 addition & 3 deletions build/pkgs/arb/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
## This package depends on ntl, the homebrew package of which we cannot use
## because it is built with NTL_THREADS. See https://trac.sagemath.org/ticket/29339
# sagemath/science/arb
arb
1 change: 1 addition & 0 deletions build/pkgs/attrs/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
attrs
1 change: 1 addition & 0 deletions build/pkgs/babel/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
babel
1 change: 1 addition & 0 deletions build/pkgs/backcall/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
backcall
1 change: 1 addition & 0 deletions build/pkgs/beautifulsoup4/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
beautifulsoup4
1 change: 1 addition & 0 deletions build/pkgs/biopython/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
biopython
1 change: 1 addition & 0 deletions build/pkgs/bleach/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bleach
1 change: 1 addition & 0 deletions build/pkgs/ccache/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ccache
1 change: 1 addition & 0 deletions build/pkgs/cddlib/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cddlib
1 change: 1 addition & 0 deletions build/pkgs/certifi/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
certifi
1 change: 1 addition & 0 deletions build/pkgs/cffi/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cffi
1 change: 1 addition & 0 deletions build/pkgs/combinatorial_designs/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-db-combinatorial-designs
2 changes: 1 addition & 1 deletion build/pkgs/conda.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ compilers
make
m4
perl
"python<3.9"
python
tar
bc
pkg-config
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=a36c047f3e1d88350f54389386cbcbfac78afc68
md5=63b3ba8b5d0fe6ea15e1b40395d50d47
cksum=2980357555
sha1=9630148997eadc90f50a99bc8902d9759cd63d4d
md5=c73af26d82eac1af9725ca780e650ebb
cksum=78369567
Loading

0 comments on commit 0773001

Please sign in to comment.