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

Commit 184ae6d

Browse files
author
Matthias Koeppe
committed
Merge tag '9.3.beta3' into t/30947/src_doc_bootstrap__simplify_by_using_new_options_of__sage__package_list_
SageMath version 9.3.beta3, Release Date: 2020-12-06
2 parents 5e9366d + ca088c9 commit 184ae6d

File tree

1,041 files changed

+3345
-2532
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,041 files changed

+3345
-2532
lines changed

.github/workflows/ci-wsl.yml

Lines changed: 14 additions & 18 deletions
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

Lines changed: 7 additions & 2 deletions
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

Lines changed: 7 additions & 2 deletions
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

Lines changed: 6 additions & 4 deletions
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]

.zenodo.json

Lines changed: 4 additions & 4 deletions
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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,15 +151,15 @@ micro_release:
151151

152152
# Leaves everything that is needed to make the next "make" fast but removes
153153
# all the cheap build artifacts that can be quickly regenerated.
154+
# Trac #30960: We no longer uninstall sagelib.
154155
fast-rebuild-clean: misc-clean
155156
rm -rf upstream/
156-
rm -rf src/build/temp.*
157-
# Without site-packages/sage sage does not start but copying/compiling
158-
# them from src/build is very fast.
159-
rm -rf local/lib/python*/site-packages/sage
157+
rm -rf build/pkgs/sagelib/src/build/temp.*
160158
# The .py files in src/build are restored from src/sage without their
161159
# mtimes changed.
162-
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
163163

164164
TESTALL = ./sage -t --all
165165
PTESTALL = ./sage -t -p --all

VERSION.txt

Lines changed: 1 addition & 1 deletion
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

build/bin/sage-build-num-threads

Lines changed: 1 addition & 1 deletion
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

Lines changed: 13 additions & 4 deletions
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

Lines changed: 12 additions & 18 deletions
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"

0 commit comments

Comments
 (0)