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

Commit

Permalink
Merge branch 'develop' into public/drinfeld_module
Browse files Browse the repository at this point in the history
  • Loading branch information
kryzar committed Nov 15, 2022
2 parents 78c99e0 + c3028e7 commit 31e8cf5
Show file tree
Hide file tree
Showing 544 changed files with 25,432 additions and 9,089 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
targets: build doc-html
targets_optional: ptest
tox_packages_factors: >-
["minimal]
["minimal"]
docker_push_repository: ghcr.io/${{ github.repository }}/

maximal-pre:
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,22 @@ on:
default: >-
["ubuntu-trusty-toolchain-gcc_9",
"ubuntu-xenial-toolchain-gcc_9",
"ubuntu-bionic-gcc_8",
"ubuntu-bionic-gcc_8-python3.8",
"ubuntu-focal",
"ubuntu-jammy",
"ubuntu-kinetic",
"debian-buster",
"debian-bullseye",
"debian-bookworm",
"debian-sid",
"linuxmint-19-gcc_8",
"linuxmint-19.3-gcc_8",
"linuxmint-19-gcc_8-python3.8",
"linuxmint-19.3-gcc_8-python3.8",
"linuxmint-20.1",
"linuxmint-20.2",
"linuxmint-20.3",
"linuxmint-21",
"fedora-29",
"fedora-30",
"fedora-29-python3.8",
"fedora-30-python3.8",
"fedora-31",
"fedora-32",
"fedora-33",
Expand All @@ -42,17 +42,16 @@ on:
"fedora-36",
"fedora-37",
"centos-7-devtoolset-gcc_11",
"centos-stream-8",
"centos-stream-9",
"centos-stream-8-python3.9",
"centos-stream-9-python3.9",
"gentoo-python3.9",
"gentoo-python3.10",
"archlinux-latest",
"opensuse-15.3-gcc_11",
"opensuse-15.4-gcc_11",
"opensuse-tumbleweed",
"opensuse-15.3-gcc_11-python3.9",
"opensuse-15.4-gcc_11-python3.10",
"opensuse-tumbleweed-python3.10",
"conda-forge",
"ubuntu-bionic-i386",
"manylinux-2_24-i686",
"ubuntu-bionic-gcc_8-i386",
"debian-buster-i386",
]
tox_packages_factors:
Expand Down Expand Up @@ -128,6 +127,7 @@ jobs:
FROM_DOCKER_REPOSITORY: ${{ inputs.from_docker_repository }}
FROM_DOCKER_TARGET: ${{ inputs.from_docker_target }}
FROM_DOCKER_TAG: ${{ inputs.from_docker_tag }}
EXTRA_CONFIGURE_ARGS: --enable-fat-binary

steps:
- name: Check out SageMath
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,15 @@ __pycache__/
# Generated Cython files
*.so
**/*.so
/src/cython_debug
# Most C and C++ files are generated by Cython and should not
# be included in the sdist.
/src/sage/**/*.c
/src/sage/**/*.cpp
# C header generated by Cython
/src/sage/modular/arithgroup/farey_symbol.h
# List of C and C++ files that are actual source files,
# NOT generated by Cython. The same list appears in src/MANIFEST.in
!/src/sage/cpython/debugimpl.c
!/src/sage/graphs/base/boost_interface.cpp
!/src/sage/graphs/cliquer/cl.c
Expand All @@ -156,7 +162,6 @@ __pycache__/
!/src/sage/stats/distributions/dgs_gauss_dp.c
!/src/sage/stats/distributions/dgs_gauss_mp.c
!/src/sage/symbolic/ginac/*.cpp
/src/cython_debug

# Temporary build files
build/temp.*/
Expand Down
29 changes: 29 additions & 0 deletions .gitpod-setup-trac-remote.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash

# Exit on error
set -e

# Setup trac as remote
## In order to push to trac, generate a new key with `ssh-keygen -f tempkey` and save the private key to gitpod `gp env PRIVATE_SSH_KEY="$(<tempkey)"` (or by following https://www.gitpod.io/docs/environment-variables#using-the-account-settings)
## then follow https://doc.sagemath.org/html/en/developer/trac.html#linking-your-public-key-to-your-trac-account to register the public key with trac.
## Afterwards, create a new gitpod workspace.
git remote remove trac 2> /dev/null || true # might still exists from a previous run/prebuild
if [[ -n "${PRIVATE_SSH_KEY}" ]]; then
# Setup ssh key for authentication with trac
mkdir -p ~/.ssh
echo $PRIVATE_SSH_KEY | sed 's/\(-----\(BEGIN\|END\) OPENSSH PRIVATE KEY-----\)/\n\1\n/g' > ~/.ssh/id_rsa
sed -i '/^$/d' ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "PubkeyAcceptedKeyTypes +ssh-rsa" > ~/.ssh/config
ssh-keyscan -H trac.sagemath.org >> ~/.ssh/known_hosts

# Setup trac repo
git remote add trac git@trac.sagemath.org:sage.git -t master -t develop -t $(git branch --show-current)
git remote set-url --push trac git@trac.sagemath.org:sage.git
git fetch trac
git branch -u trac/$(git branch --show-current)
else
# Fallback to sagemath mirror
git remote add trac https://github.com/sagemath/sagetrac-mirror.git -t master -t develop
git remote set-url --push trac pushing-needs-ssh-key
fi
61 changes: 16 additions & 45 deletions .gitpod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,24 @@ image:
# Start up tasks. https://www.gitpod.io/docs/config-start-tasks/
tasks:
- name: Setup
init: |
# Create conda environment
# Create conda environment, then configure and build sage
init: >-
./bootstrap-conda
mamba env create --file src/environment-dev.yml --prefix venv
conda config --append envs_dirs $(pwd)
conda activate $(pwd)/venv
# Build sage
./bootstrap
./configure --enable-build-as-root --with-python=$CONDA_PREFIX/bin/python --prefix=$CONDA_PREFIX
pip install --no-build-isolation -v -v -e ./pkgs/sage-conf ./pkgs/sage-setup
pip install --no-build-isolation -v -v -e ./src
command: |
# Activate conda environment
conda config --append envs_dirs $(pwd)
conda activate $(pwd)/venv
# RestructuredText extension recommends python extension, although we have already installed it
## So disable the recommendation dialog
&& mamba env create --file src/environment-dev.yml --prefix venv
&& conda config --append envs_dirs $(pwd)
&& conda activate $(pwd)/venv
&& ./bootstrap
&& ./configure --enable-build-as-root --with-python=$CONDA_PREFIX/bin/python --prefix=$CONDA_PREFIX
&& pip install --no-build-isolation -v -v -e ./pkgs/sage-conf ./pkgs/sage-setup
&& pip install --no-build-isolation -v -v -e ./src
# Activate conda environment, set up Trac remote
# RestructuredText extension recommends python extension, although we have already installed it
# So disable the recommendation dialog
command: >-
echo "{\"restructuredtext.pythonRecommendation.disabled\": true}" > /workspace/.vscode-remote/data/Machine/settings.json
# Setup trac as remote
## In order to push to trac, generate a new key with `ssh-keygen -f tempkey` and save the private key to gitpod `gp env PRIVATE_SSH_KEY="$(<tempkey)"` (or by following https://www.gitpod.io/docs/environment-variables#using-the-account-settings)
## then follow https://doc.sagemath.org/html/en/developer/trac.html#linking-your-public-key-to-your-trac-account to register the public key with trac.
## Afterwards, create a new gitpod workspace.
git remote remove trac 2> /dev/null # might still exists from a previous run/prebuild
if [[ -n "${PRIVATE_SSH_KEY}" ]]; then
# Setup ssh key for authentication with trac
mkdir -p ~/.ssh
echo $PRIVATE_SSH_KEY | sed 's/\(-----\(BEGIN\|END\) OPENSSH PRIVATE KEY-----\)/\n\1\n/g' > ~/.ssh/id_rsa
sed -i '/^$/d' ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "PubkeyAcceptedKeyTypes +ssh-rsa" > ~/.ssh/config
ssh-keyscan -H trac.sagemath.org >> ~/.ssh/known_hosts
# Setup trac repo
git remote add trac git@trac.sagemath.org:sage.git -t master -t develop -t $(git branch --show-current)
git remote set-url --push trac git@trac.sagemath.org:sage.git
git fetch trac
git branch -u trac/$(git branch --show-current)
else
# Fallback to sagemath mirror
git remote add trac https://github.com/sagemath/sagetrac-mirror.git -t master -t develop
git remote set-url --push trac pushing-needs-ssh-key
fi
&& conda config --append envs_dirs $(pwd)
&& conda activate $(pwd)/venv
&& ./.gitpod-setup-trac-remote.sh
env:
SAGE_NUM_THREADS: 8

Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"python.linting.enabled": true,
// The following pycodestyle arguments are the same as the pycodestyle-minimal
// tox environnment, see the file SAGE_ROOT/src/tox.ini
"python.linting.pycodestyleArgs": ["--select=E111,E306,E401,E701,E702,E703,W605,E711,E712,E713,E721,E722"],
"python.linting.pycodestyleArgs": ["--select=E111,E306,E401,E701,E702,E703,W391,W605,E711,E712,E713,E721,E722"],
"cSpell.words": [
"furo",
"Conda",
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.8.beta1",
"version": "9.8.beta1",
"title": "sagemath/sage: 9.8.beta3",
"version": "9.8.beta3",
"upload_type": "software",
"publication_date": "2022-09-29",
"publication_date": "2022-10-30",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta1",
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta3",
"relation": "isSupplementTo"
},
{
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ pypi-wheels:
rm -f venv/var/lib/sage/installed/$$a-*; \
done
for a in $(PYPI_WHEEL_PACKAGES); do \
$(MAKE) SAGE_EDITABLE=no $$a; \
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
done
@echo "Built wheels are in venv/var/lib/sage/wheels/"

Expand All @@ -112,7 +112,7 @@ wheels:
rm -f venv/var/lib/sage/installed/$$a-*; \
done
for a in $(WHEEL_PACKAGES); do \
$(MAKE) SAGE_EDITABLE=no $$a; \
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
done
@echo "Built wheels are in venv/var/lib/sage/wheels/"

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.8.beta1, Release Date: 2022-09-29
SageMath version 9.8.beta3, Release Date: 2022-10-30
4 changes: 4 additions & 0 deletions build/bin/sage-build-env
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ if [ "x$SAGE_BUILD_ENV_SOURCED" = "x" ]; then
if [ "x$SAGE_EDITABLE" = "x" ]; then
export SAGE_EDITABLE="$CONFIGURED_SAGE_EDITABLE"
fi
# Likewise for SAGE_WHEELS
if [ "x$SAGE_WHEELS" = "x" ]; then
export SAGE_WHEELS="$CONFIGURED_SAGE_WHEELS"
fi

# This is usually blank if the system GMP is used, or $SAGE_LOCAL otherwise
if [ -n "$SAGE_GMP_PREFIX" ]; then
Expand Down
1 change: 1 addition & 0 deletions build/bin/sage-build-env-config.in
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,4 @@ export SAGE_SUITESPARSE_PREFIX="@SAGE_SUITESPARSE_PREFIX@"
export SAGE_CONFIGURE_FFLAS_FFPACK="@SAGE_CONFIGURE_FFLAS_FFPACK@"

export CONFIGURED_SAGE_EDITABLE="@SAGE_EDITABLE@"
export CONFIGURED_SAGE_WHEELS="@SAGE_WHEELS@"
2 changes: 1 addition & 1 deletion build/bin/sage-pip-install
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ PIP=pip3
# We should avoid running pip while installing a package because that
# is prone to race conditions. Therefore, we use a lockfile while
# running pip. This is implemented in the Python script sage-flock
LOCK="$SAGE_LOCAL/var/lock/$PIP.lock"
LOCK="$SAGE_VENV/var/lock/$PIP.lock"

# Trac #33155: Pythons installed using the python.org macOS installers
# for Python < 3.10 identify macOS Big Sur and newer as "10.16", causing
Expand Down
2 changes: 1 addition & 1 deletion build/bin/sage-pip-uninstall
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ PIP=pip3
# We should avoid running pip while uninstalling a package because that
# is prone to race conditions. Therefore, we use a lockfile while
# running pip. This is implemented in the Python script sage-flock
LOCK="$SAGE_LOCAL/var/lock/$PIP.lock"
LOCK="$SAGE_VENV/var/lock/$PIP.lock"

# --disable-pip-version-check: Don't periodically check PyPI to determine whether a new version of pip is available
# --no-input: Disable prompting for input.
Expand Down
2 changes: 1 addition & 1 deletion build/bin/sage-site
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ fi

if [ "$1" = '-package' -o "$1" = "--package" ]; then
shift
exec sage-package $@
exec sage-package "$@"
fi

if [ "$1" = '-optional' -o "$1" = "--optional" ]; then
Expand Down
4 changes: 2 additions & 2 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -677,7 +677,7 @@ $(1)-$(4)-no-deps:
SAGE_SPKG_WHEELS=$$($(4))/var/lib/sage/wheels \
SAGE_INST_LOCAL=$$($(4)) \
sage-logger -p 'SAGE_CHECK=$$(SAGE_CHECK_$(1)) $$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1)-$(2).log' && \
rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-*" && \
rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)"-* && \
touch "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-$(2)"; \
else ( \
echo; \
Expand All @@ -704,7 +704,7 @@ $(1)-$(4)-uninstall:
. '$$(SAGE_ROOT)/build/bin/sage-build-env-config' && \
. '$$(SAGE_ROOT)/build/bin/sage-build-env' && \
'$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-uninstall'
-rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-$(2)"
-rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)"-*

$(1)-uninstall: $(1)-$(4)-uninstall

Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/_develop/dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
_bootstrap git pytest pytest_xdist
_bootstrap git pytest pytest_xdist github_cli
1 change: 1 addition & 0 deletions build/pkgs/_python3.10/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python310
1 change: 1 addition & 0 deletions build/pkgs/_python3.10/distros/cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python310
3 changes: 3 additions & 0 deletions build/pkgs/_python3.10/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python3.10
python3.10-dev
python3.10-venv
2 changes: 2 additions & 0 deletions build/pkgs/_python3.10/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python310
python310-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.10/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python310
1 change: 1 addition & 0 deletions build/pkgs/_python3.10/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python@3.10
1 change: 1 addition & 0 deletions build/pkgs/_python3.10/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python310
2 changes: 2 additions & 0 deletions build/pkgs/_python3.10/distros/opensuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python310
python310-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.11/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python311
1 change: 1 addition & 0 deletions build/pkgs/_python3.11/distros/cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python311
3 changes: 3 additions & 0 deletions build/pkgs/_python3.11/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python3.11
python3.11-dev
python3.11-venv
2 changes: 2 additions & 0 deletions build/pkgs/_python3.11/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python311
python311-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.11/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python311
1 change: 1 addition & 0 deletions build/pkgs/_python3.11/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python@3.11
1 change: 1 addition & 0 deletions build/pkgs/_python3.11/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python311
2 changes: 2 additions & 0 deletions build/pkgs/_python3.11/distros/opensuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python311
python311-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.8/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python38
1 change: 1 addition & 0 deletions build/pkgs/_python3.8/distros/cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python38
3 changes: 3 additions & 0 deletions build/pkgs/_python3.8/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python3.8
python3.8-dev
python3.8-venv
2 changes: 2 additions & 0 deletions build/pkgs/_python3.8/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python38
python38-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.8/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python38
1 change: 1 addition & 0 deletions build/pkgs/_python3.8/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python@3.8
1 change: 1 addition & 0 deletions build/pkgs/_python3.8/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python38
2 changes: 2 additions & 0 deletions build/pkgs/_python3.8/distros/opensuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python38
python38-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.9/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python39
1 change: 1 addition & 0 deletions build/pkgs/_python3.9/distros/cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python39
3 changes: 3 additions & 0 deletions build/pkgs/_python3.9/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python3.9
python3.9-dev
python3.9-venv
2 changes: 2 additions & 0 deletions build/pkgs/_python3.9/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python39
python39-devel
1 change: 1 addition & 0 deletions build/pkgs/_python3.9/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python39
1 change: 1 addition & 0 deletions build/pkgs/_python3.9/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python@3.9
1 change: 1 addition & 0 deletions build/pkgs/_python3.9/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python39
2 changes: 2 additions & 0 deletions build/pkgs/_python3.9/distros/opensuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python39
python39-devel
Loading

0 comments on commit 31e8cf5

Please sign in to comment.