Skip to content

Commit 43b7629

Browse files
authored
Merge branch 'develop' into try_ruff_in_posets
2 parents 9a9bb58 + b7c1c8f commit 43b7629

File tree

233 files changed

+1590
-1255
lines changed

Some content is hidden

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

233 files changed

+1590
-1255
lines changed

.devcontainer/onCreate-conda.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e
44
# Create conda environment
55
./bootstrap-conda
66
conda install mamba -n base -c conda-forge -y
7-
mamba env create --file src/environment-dev.yml || mamba env update --file src/environment-dev.yml
7+
mamba env create --file src/environment-dev-3.11.yml || mamba env update --file src/environment-dev-3.11.yml
88
conda init bash
99

1010
# Build sage

.github/workflows/ci-conda.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
with:
6060
path: ~/conda_pkgs_dir
6161
key:
62-
${{ runner.os }}-conda-${{ hashFiles('src/environment.yml') }}
62+
${{ runner.os }}-conda-${{ hashFiles('src/environment-3.11.yml') }}
6363

6464
- name: Setup Conda
6565
uses: conda-incubator/setup-miniconda@v2
@@ -68,8 +68,8 @@ jobs:
6868
mamba-version: "*"
6969
channels: conda-forge,defaults
7070
channel-priority: true
71-
activate-environment: sage-build
72-
environment-file: src/${{ matrix.conda-env }}.yml
71+
activate-environment: sage
72+
environment-file: src/${{ matrix.conda-env }}-${{ matrix.python }}.yml
7373

7474
- name: Print Conda environment
7575
shell: bash -l {0}
@@ -83,7 +83,7 @@ jobs:
8383
run: |
8484
./bootstrap
8585
echo "::add-matcher::.github/workflows/configure-systempackage-problem-matcher.json"
86-
./configure --enable-build-as-root --with-python=$CONDA_PREFIX/bin/python --prefix=$CONDA_PREFIX $(for pkg in $(./sage -package list :standard: --has-file spkg-configure.m4 --has-file distros/conda.txt --exclude rpy2); do echo --with-system-$pkg=force; done)
86+
./configure --enable-build-as-root --with-python=$CONDA_PREFIX/bin/python --prefix=$CONDA_PREFIX --enable-system-site-packages $(for pkg in $(./sage -package list :standard: --has-file spkg-configure.m4 --has-file distros/conda.txt --exclude rpy2); do echo --with-system-$pkg=force; done)
8787
echo "::remove-matcher owner=configure-system-package-warning::"
8888
echo "::remove-matcher owner=configure-system-package-error::"
8989

.github/workflows/docker.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,24 +144,23 @@ jobs:
144144
EXTRA_CONFIGURE_ARGS: --enable-fat-binary
145145
EXTRA_SAGE_PACKAGES: ${{ inputs.extra_sage_packages }}
146146
steps:
147+
- name: Maximize build disk space
148+
uses: easimon/maximize-build-space@v8
149+
with:
150+
# need space in /var for Docker images
151+
root-reserve-mb: 40000
152+
remove-dotnet: true
153+
remove-android: true
154+
remove-haskell: true
155+
remove-codeql: true
156+
remove-docker-images: true
157+
if: inputs.free_disk_space
147158
- name: Check out SageMath
148159
uses: actions/checkout@v4
149160
with:
150161
repository: ${{ inputs.sage_repo }}
151162
ref: ${{ inputs.sage_ref }}
152163
fetch-depth: 10000
153-
- name: free disk space
154-
run: |
155-
df -h
156-
sudo swapoff -a
157-
sudo rm -f /swapfile
158-
sudo apt-get clean
159-
docker rmi $(docker image ls -aq)
160-
echo "Largest packages:"
161-
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 50
162-
sudo apt-get --fix-broken --yes remove $(dpkg-query -f '${Package}\n' -W | grep -E '^(ghc-|google-cloud-sdk|google-chrome|firefox|mysql-server|dotnet-sdk|hhvm|mono)') || echo "(error ignored)"
163-
df -h
164-
if: inputs.free_disk_space
165164
- name: Download upstream artifact
166165
uses: actions/download-artifact@v3
167166
with:
@@ -216,7 +215,10 @@ jobs:
216215
.ci/merge-fixes.sh
217216
env:
218217
GH_TOKEN: ${{ github.token }}
219-
218+
- name: Show disk space
219+
run: |
220+
df -h
221+
if: inputs.free_disk_space
220222
- name: Configure and build Sage distribution within a Docker container
221223
run: |
222224
set -o pipefail; EXTRA_DOCKER_BUILD_ARGS="--build-arg NUMPROC=4 --build-arg USE_MAKEFLAGS=\"-k V=0 SAGE_NUM_THREADS=3\"" tox -e $TOX_ENV -- $TARGETS 2>&1 | sed "/^configure: notice:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: warning:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: error:/s|^|::error file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;"

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,29 @@
2727
# no longer generated, but may still be in user worktrees
2828
/src/lib/pkgconfig
2929

30+
# Environment files generated by bootstrap-conda.
31+
# The files without Python version are no longer generated
32+
# but may still be in users' directories.
3033
/environment.yml
34+
/environment-3.9.yml
35+
/environment-3.10.yml
36+
/environment-3.11.yml
3137
/environment-optional.yml
38+
/environment-optional-3.9.yml
39+
/environment-optional-3.10.yml
40+
/environment-optional-3.11.yml
3241
/src/environment.yml
42+
/src/environment-3.9.yml
43+
/src/environment-3.10.yml
44+
/src/environment-3.11.yml
3345
/src/environment-dev.yml
46+
/src/environment-dev-3.9.yml
47+
/src/environment-dev-3.10.yml
48+
/src/environment-dev-3.11.yml
3449
/src/environment-optional.yml
50+
/src/environment-optional-3.9.yml
51+
/src/environment-optional-3.10.yml
52+
/src/environment-optional-3.11.yml
3553

3654
/src/setup.cfg
3755
/src/requirements.txt

.gitpod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ tasks:
88
# Create conda environment, then configure and build sage
99
init: >-
1010
./bootstrap-conda
11-
&& mamba env create --file src/environment-dev.yml --prefix venv
11+
&& mamba env create --file src/environment-dev-3.11.yml --prefix venv
1212
&& conda config --append envs_dirs $(pwd)
1313
&& conda activate $(pwd)/venv
1414
&& ./bootstrap

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ title: SageMath
44
abstract: SageMath is a free open-source mathematics software system.
55
authors:
66
- name: "The SageMath Developers"
7-
version: 10.2.beta6
7+
version: 10.2.beta7
88
doi: 10.5281/zenodo.593563
9-
date-released: 2023-10-08
9+
date-released: 2023-10-14
1010
repository-code: "https://github.com/sagemath/sage"
1111
url: "https://www.sagemath.org/"

Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,7 @@ bootstrap-clean:
158158
rm -rf config/install-sh config/compile config/config.guess config/config.sub config/missing configure build/make/Makefile-auto.in
159159
rm -f src/doc/en/installation/*.txt
160160
rm -rf src/doc/en/reference/spkg/*.rst
161-
rm -f environment.yml
162-
rm -f src/environment.yml
163-
rm -f src/environment-dev.yml
164-
rm -f environment-optional.yml
165-
rm -f src/environment-optional.yml
161+
for a in environment environment-optional src/environment src/environment-dev src/environment-optional; do rm -f $$a.yml $$a-3.[89].yml $$a-3.1[0-9].yml; done
166162
rm -f src/Pipfile
167163
rm -f src/pyproject.toml
168164
rm -f src/requirements.txt

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -319,12 +319,18 @@ in the Installation Guide.
319319

320320
$ ./configure --help
321321

322-
A notable option for Sage developers is the following:
323-
324-
- Use `./configure --enable-download-from-upstream-url` to allow
325-
downloading packages from their upstream URL if they cannot (yet) be
326-
found on the Sage mirrors. This is useful for trying out ticket branches
327-
that make package upgrades.
322+
Notable options for Sage developers are the following:
323+
324+
- Use the option `--config-cache` to have `configure`
325+
keep a disk cache of configuration values. This gives a nice speedup
326+
when trying out ticket branches that make package upgrades, which
327+
involves automatic re-runs of the configuration step.
328+
329+
- Use the option `--enable-ccache` to have Sage install and use the
330+
optional package `ccache`, which is preconfigured to keep a
331+
disk cache of object files created from source files. This can give
332+
a great speedup when switching between different branches, at the
333+
expense of disk space use.
328334

329335
10. Optional, but highly recommended: Set some environment variables to
330336
customize the build.

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 10.2.beta6, Release Date: 2023-10-08
1+
SageMath version 10.2.beta7, Release Date: 2023-10-14

bootstrap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ bootstrap () {
4747
done
4848
spkg_configures=""
4949
# initialize SAGE_ENABLE... options for standard packages
50-
for pkgname in $(sage-package list :standard: | sort); do
50+
for pkgname in $(sage-package list :standard:); do
5151
spkg_configures="$spkg_configures
5252
AS_VAR_SET_IF([SAGE_ENABLE_$pkgname], [], [AS_VAR_SET([SAGE_ENABLE_$pkgname], [yes])])"
5353
done
5454
# --enable-SPKG options
55-
for pkgname in $(sage-package list :optional: :experimental: | sort); do
55+
for pkgname in $(sage-package list :optional: :experimental:); do
5656
# Issue #29629: Temporary solution for Sage 9.1: Do not provide
5757
# --enable-SPKG options for installing pip packages
5858
if [ ! -f build/pkgs/$pkgname/requirements.txt ]; then
@@ -71,7 +71,7 @@ SAGE_SPKG_ENABLE([$pkgname], [$pkgtype], [$(grep -v ^= build/pkgs/$pkgname/SPKG.
7171
esac
7272
fi
7373
done
74-
for pkgname in $(sage-package list --has-file spkg-configure.m4 | sort); do
74+
for pkgname in $(sage-package list --has-file spkg-configure.m4); do
7575
echo "m4_sinclude([build/pkgs/$pkgname/spkg-configure.m4])"
7676
config="SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
7777
if grep -q SAGE_PYTHON_PACKAGE_CHECK build/pkgs/$pkgname/spkg-configure.m4; then
@@ -86,7 +86,7 @@ $config"
8686
$spkg_configures
8787
$spkg_configures_python
8888
EOF
89-
for pkgname in $(sage-package list | sort); do
89+
for pkgname in $(sage-package list); do
9090
DIR=build/pkgs/$pkgname
9191
pkgtype="$(cat $DIR/type)"
9292
if test -f "$DIR/requirements.txt"; then
@@ -226,10 +226,10 @@ save () {
226226
build/make/Makefile-auto.in \
227227
src/doc/en/installation/*.txt \
228228
src/doc/en/reference/spkg/*.rst \
229-
environment.yml \
230-
src/environment.yml \
231-
environment-optional.yml \
232-
src/environment-optional.yml \
229+
environment-3.[89].yml environment-3.1[0-9].yml \
230+
src/environment-3.[89].yml src/environment-3.1[0-9].yml \
231+
environment-optional-3.[89].yml environment-optional-3.1[0-9].yml \
232+
src/environment-optional-3.[89].yml src/environment-optional-3.1[0-9].yml \
233233
src/Pipfile \
234234
src/pyproject.toml \
235235
src/requirements.txt \

0 commit comments

Comments
 (0)