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

Commit 8b8b9f9

Browse files
author
Matthias Koeppe
committed
Merge tag '9.3.beta3' into t/30913/sagelib__add_setup_cfg__install_requires_
SageMath version 9.3.beta3, Release Date: 2020-12-06
2 parents 99b56f5 + ca088c9 commit 8b8b9f9

File tree

1,203 files changed

+3686
-2613
lines changed

Some content is hidden

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

1,203 files changed

+3686
-2613
lines changed

.github/workflows/ci-wsl.yml

+14-18
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
name: Build & Test WSL
22

3-
on: [push, pull_request]
3+
on:
4+
pull_request:
5+
types: [opened, synchronize]
6+
push:
7+
tags:
8+
- '*'
9+
branches:
10+
- 'public/build/**wsl**'
11+
workflow_dispatch:
412

513
jobs:
614
windows:
715
runs-on: windows-latest
8-
name: Windows (using WSL)
16+
name: Ubuntu 20.04
917
# Following https://trac.sagemath.org/ticket/25206#comment:63
1018
steps:
1119
- name: Configure git
@@ -18,22 +26,10 @@ jobs:
1826
Ubuntu\ubuntu2004.exe install --root
1927
- name: Install dependencies
2028
run: |
21-
Function ExtractPackages
22-
{
23-
param($path)
24-
@(Get-Content $path | Where-Object { !$_.StartsWith("#") })
25-
}
26-
$packages = Get-ChildItem build/pkgs -recurse -Include debian.txt, debian-bootstrap.txt | foreach-object { ExtractPackages $_.FullName } | sort -Unique
27-
# Add tox which is use to build
28-
$packages += 'tox'
29-
echo "Install the following packages:" @packages
30-
# Add deadsnakes so that libpython3.7-dev is found
31-
& wsl sudo add-apt-repository ppa:deadsnakes/ppa
32-
# Install
33-
& wsl sudo apt-get update -y
34-
& wsl sudo apt-get install -y @packages
29+
wsl sudo apt-get update -y
30+
wsl sudo apt-get install -y tox
3531
- name: Build
36-
run: wsl tox -e local -- SAGE_NUM_THREADS=4 build
32+
run: wsl tox -e local-sudo-ubuntu-standard -- SAGE_NUM_THREADS=4 build
3733
env:
3834
# WSL runs everything as root, so we have to enable build as root user
3935
EXTRA_CONFIGURE_ARGS: "--enable-build-as-root"
@@ -42,7 +38,7 @@ jobs:
4238
MAKE: "make -j2"
4339
WSLENV: EXTRA_CONFIGURE_ARGS:MAKE
4440
- name: Test
45-
run: wsl tox -e local -- SAGE_NUM_THREADS=4 ptest
41+
run: wsl tox -e local-sudo-ubuntu-standard -- SAGE_NUM_THREADS=4 ptest
4642
- name: Prepare logs artifact
4743
run: mkdir -p "artifacts/logs"; cp -r .tox/*/log "artifacts/logs"
4844
shell: bash

.github/workflows/tox-experimental.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -99,20 +99,25 @@ jobs:
9999

100100
local-macos:
101101

102-
runs-on: macos-latest
102+
runs-on: ${{ matrix.os }}
103103
strategy:
104104
fail-fast: false
105105
max-parallel: 3
106106
matrix:
107+
os: [ macos-10.15, macos-11.0 ]
107108
tox_system_factor: [homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, conda-forge-macos]
108109
tox_packages_factor: [maximal]
109110
targets_pattern: [0-g, h-o, p, q-z]
111+
xcode_version_factor: [11.7, default, 12.3]
110112
env:
111113
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
112-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
114+
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
113115
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 }}]' ) )"
114116
steps:
115117
- uses: actions/checkout@v2
118+
- name: Select Xcode version
119+
run: |
120+
if [ ${{ matrix.xcode_version_factor }} != default ]; then sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version_factor }}.app; fi
116121
- name: Install test prerequisites
117122
run: |
118123
brew install tox

.github/workflows/tox-optional.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -101,22 +101,27 @@ jobs:
101101

102102
local-macos:
103103

104-
runs-on: macos-latest
104+
runs-on: ${{ matrix.os }}
105105
strategy:
106106
fail-fast: false
107107
max-parallel: 3
108108
matrix:
109+
os: [ macos-10.15, macos-11.0 ]
109110
tox_system_factor: [homebrew-macos, homebrew-macos-python3_xcode, homebrew-macos-python3_xcode-nokegonly, homebrew-macos-python3_pythonorg, conda-forge-macos]
110111
tox_packages_factor: [maximal]
111112
targets_pattern: [0-g, h-o, p, q-z]
113+
xcode_version_factor: [11.7, default, 12.3]
112114
env:
113115
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
114-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
116+
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
115117
# Test all optional packages, but do not test huge packages
116118
# and do not test packages that require external software
117119
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 }}]' ) )"
118120
steps:
119121
- uses: actions/checkout@v2
122+
- name: Select Xcode version
123+
run: |
124+
if [ ${{ matrix.xcode_version_factor }} != default ]; then sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version_factor }}.app; fi
120125
- name: Install test prerequisites
121126
run: |
122127
brew install tox

.github/workflows/tox.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,18 @@ jobs:
9797

9898
local-macos:
9999

100-
runs-on: macos-latest
100+
runs-on: ${{ matrix.os }}
101101
strategy:
102102
fail-fast: false
103103
max-parallel: 4
104104
matrix:
105+
os: [ macos-10.15, macos-11.0 ]
105106
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]
106107
tox_packages_factor: [minimal, standard]
107-
xcode_version_factor: [default, 12]
108+
xcode_version_factor: [11.7, default, 12.3]
108109
env:
109110
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
110-
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-xcode_${{ matrix.xcode_version_factor }}
111+
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
111112
steps:
112113
- uses: actions/checkout@v2
113114
- name: Select Xcode version
@@ -214,11 +215,12 @@ jobs:
214215

215216
needs: [dist]
216217

217-
runs-on: macos-latest
218+
runs-on: ${{ matrix.os }}
218219
strategy:
219220
fail-fast: false
220221
max-parallel: 4
221222
matrix:
223+
os: [ macos-10.15, macos-11.0 ]
222224
tox_system_factor: [macos-nobootstrap, macos-nobootstrap-python3_pythonorg]
223225
tox_packages_factor: [minimal]
224226
xcode_version_factor: [default, 12]

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
# no longer generated, but may still be in user worktrees
1919
/src/lib/pkgconfig
2020

21+
/environment.yml
22+
/environment-optional.yml
23+
/src/environment.yml
24+
/src/environment-optional.yml
25+
2126
# Various editors
2227
*~
2328

.zenodo.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"description": "Mirror of the Sage https://sagemath.org/ source tree",
33
"license": "other-open",
4-
"title": "sagemath/sage: 9.3.beta2",
5-
"version": "9.3.beta2",
4+
"title": "sagemath/sage: 9.3.beta3",
5+
"version": "9.3.beta3",
66
"upload_type": "software",
7-
"publication_date": "2020-11-24",
7+
"publication_date": "2020-12-06",
88
"creators": [
99
{
1010
"affiliation": "SageMath.org",
@@ -15,7 +15,7 @@
1515
"related_identifiers": [
1616
{
1717
"scheme": "url",
18-
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta2",
18+
"identifier": "https://github.com/sagemath/sage/tree/9.3.beta3",
1919
"relation": "isSupplementTo"
2020
},
2121
{

Makefile

+12-8
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ build/make/Makefile: configure $(SPKG_COLLECT_FILES) $(CONFIG_FILES:%=%.in)
6464
buildbot-python3:
6565
$(MAKE)
6666

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

7373
dist: build/make/Makefile
7474
./sage --sdist
@@ -111,6 +111,10 @@ bootstrap-clean:
111111
rm -f src/doc/en/installation/*.txt
112112
rm -rf src/doc/en/reference/spkg/*.rst
113113
rm -f src/doc/en/reference/repl/*.txt
114+
rm -f environment.yml
115+
rm -f src/environment.yml
116+
rm -f environment-optional.yml
117+
rm -f src/environment-optional.yml
114118

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

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

160164
TESTALL = ./sage -t --all
161165
PTESTALL = ./sage -t -p --all

VERSION.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 9.3.beta2, Release Date: 2020-11-24
1+
SageMath version 9.3.beta3, Release Date: 2020-12-06

bootstrap

+5-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,11 @@ save () {
193193
build/make/Makefile-auto.in \
194194
src/doc/en/installation/*.txt \
195195
src/doc/en/reference/spkg/*.rst \
196-
src/doc/en/reference/repl/*.txt
196+
src/doc/en/reference/repl/*.txt \
197+
environment.yml \
198+
src/environment.yml \
199+
environment-optional.yml \
200+
src/environment-optional.yml
197201

198202
# Update version
199203
echo "$NEWCONFVERSION" >$PKG/package-version.txt

build/bin/sage-build-num-threads

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env sage-system-python
1+
#!/usr/bin/env sage-bootstrap-python
22
#
33
# Determine the number of threads to be used by Sage.
44
#

build/bin/sage-print-system-package-command

+13-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@ shift
55
IF_VERBOSE=:
66
SUDO=
77
PROMPT=
8+
COMMENT="# "
89
while :
910
do
1011
case "$1" in
12+
--verbose=*)
13+
IF_VERBOSE=
14+
COMMENT="${1#--verbose=}"
15+
;;
1116
--verbose)
1217
IF_VERBOSE=
1318
;;
@@ -16,7 +21,7 @@ do
1621
SUDO="sudo "
1722
;;
1823
--prompt=*)
19-
PROMPT=${1#--prompt=}
24+
PROMPT="${1#--prompt=}"
2025
;;
2126
--prompt)
2227
PROMPT=' $ '
@@ -47,11 +52,15 @@ options=
4752
shopt -s extglob
4853
case $system:$command in
4954
homebrew*:setup-build-env)
50-
$IF_VERBOSE echo "# To automatically take care of homebrew messages regarding "
51-
$IF_VERBOSE echo "# keg-only packages for the current shell session:"
55+
$IF_VERBOSE echo "${COMMENT}"
56+
$IF_VERBOSE echo "${COMMENT}Homebrew can issue suggestions regarding keg-only packages."
57+
$IF_VERBOSE echo "${COMMENT}The following command is to automatically apply these suggestions"
58+
$IF_VERBOSE echo "${COMMENT}for packages relevant for Sage to make them available for the build."
59+
$IF_VERBOSE echo "${COMMENT}Run it once to apply the suggestions for the current session."
60+
$IF_VERBOSE echo "${COMMENT}Add it to your shell profile to apply them for all future sessions."
61+
$IF_VERBOSE echo "${COMMENT}"
5262
[ -n "$SAGE_ROOT" ] || SAGE_ROOT=.
5363
echo "${PROMPT}source $SAGE_ROOT/.homebrew-build-env"
54-
$IF_VERBOSE echo "# Add this to your shell profile if you want it to persist between shell sessions."
5564
;;
5665
*:setup-build-env)
5766
# Nothing needed

build/bin/write-dockerfile.sh

+12-18
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,26 @@
55
set -e
66
SYSTEM="${1:-debian}"
77
shopt -s extglob
8-
TYPE_PATTERN="${2:-standard}"
8+
SAGE_PACKAGE_LIST_ARGS="${2:- --has-file=spkg-configure.m4 :standard:}"
99
WITH_SYSTEM_SPKG="${3:-yes}"
1010
IGNORE_MISSING_SYSTEM_PACKAGES="${4:-no}"
1111
#
1212
STRIP_COMMENTS="sed s/#.*//;"
1313
SAGE_ROOT=.
14-
SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SAGE_ROOT/build/pkgs/$SYSTEM{,-bootstrap}.txt))
14+
export PATH="$SAGE_ROOT"/build/bin:$PATH
15+
SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} "$SAGE_ROOT"/build/pkgs/$SYSTEM{,-bootstrap}.txt))
1516
CONFIGURE_ARGS="--enable-option-checking "
16-
for PKG_SCRIPTS in build/pkgs/*; do
17+
for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS); do
18+
PKG_SCRIPTS="$SAGE_ROOT"/build/pkgs/$PKG_BASE
1719
if [ -d $PKG_SCRIPTS ]; then
18-
PKG_BASE=$(basename $PKG_SCRIPTS)
19-
SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt
20-
if [ -f $PKG_SCRIPTS/type -a -f $SYSTEM_PACKAGES_FILE -a -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
21-
PKG_TYPE=$(cat $PKG_SCRIPTS/type)
22-
PKG_SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE))
23-
if [ -n "PKG_SYSTEM_PACKAGES" ]; then
24-
case "$PKG_TYPE" in
25-
$TYPE_PATTERN)
26-
SYSTEM_PACKAGES+=" $PKG_SYSTEM_PACKAGES"
27-
if [ -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
28-
CONFIGURE_ARGS+="--with-system-$PKG_BASE=${WITH_SYSTEM_SPKG} "
29-
fi
30-
;;
31-
esac
20+
SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt
21+
PKG_SYSTEM_PACKAGES=$(echo $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE))
22+
if [ -n "PKG_SYSTEM_PACKAGES" ]; then
23+
SYSTEM_PACKAGES+=" $PKG_SYSTEM_PACKAGES"
24+
if [ -f $PKG_SCRIPTS/spkg-configure.m4 ]; then
25+
CONFIGURE_ARGS+="--with-system-$PKG_BASE=${WITH_SYSTEM_SPKG} "
3226
fi
33-
fi
27+
fi
3428
fi
3529
done
3630
echo "# Automatically generated by SAGE_ROOT/build/bin/write-dockerfile.sh"

build/pkgs/4ti2/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
4ti2

build/pkgs/_recommended/distros/debian.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# From https://wiki.sagemath.org/prerequisitesUbuntu
22

33
# to generate pdf documentation
4-
texlive-generic-extra
4+
texlive-latex-extra
55
# to convert Jupyter notebooks to pdf
66
texlive-xetex
77
# to generate pdf documentation
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
alabaster

build/pkgs/arb/distros/homebrew.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
## This package depends on ntl, the homebrew package of which we cannot use
2-
## because it is built with NTL_THREADS. See https://trac.sagemath.org/ticket/29339
3-
# sagemath/science/arb
1+
arb

build/pkgs/attrs/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
attrs

build/pkgs/babel/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
babel

build/pkgs/backcall/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
backcall
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
beautifulsoup4
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
biopython

build/pkgs/bleach/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bleach

build/pkgs/ccache/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ccache

build/pkgs/cddlib/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cddlib

build/pkgs/certifi/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
certifi

build/pkgs/cffi/distros/conda.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cffi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sagemath-db-combinatorial-designs

build/pkgs/conda.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ compilers
22
make
33
m4
44
perl
5-
"python<3.9"
5+
python
66
tar
77
bc
88
pkg-config

build/pkgs/configure/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=a36c047f3e1d88350f54389386cbcbfac78afc68
3-
md5=63b3ba8b5d0fe6ea15e1b40395d50d47
4-
cksum=2980357555
2+
sha1=9630148997eadc90f50a99bc8902d9759cd63d4d
3+
md5=c73af26d82eac1af9725ca780e650ebb
4+
cksum=78369567

0 commit comments

Comments
 (0)