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

Commit

Permalink
Merge branch 'u/slabbe/31866' of git://trac.sagemath.org/sage into u/…
Browse files Browse the repository at this point in the history
…gh-kliem/outsource_memory_allocator
  • Loading branch information
Jonathan Kliem committed May 27, 2021
2 parents 4589081 + fd87c95 commit 44a0df4
Show file tree
Hide file tree
Showing 286 changed files with 18,046 additions and 2,820 deletions.
49 changes: 15 additions & 34 deletions .github/workflows/tox-experimental.yml
Expand Up @@ -38,7 +38,7 @@ jobs:
fail-fast: false
max-parallel: 6
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
env:
Expand Down Expand Up @@ -112,54 +112,35 @@ jobs:
fail-fast: false
max-parallel: 3
matrix:
tox_system_factor: [homebrew-macos, conda-forge-macos]
tox_packages_factor: [minimal, standard]
tox_system_factor: [homebrew-macos, conda-forge-macos, homebrew-macos-python3_xcode]
tox_packages_factor: [maximal]
# As of 2021-03, default xcode is 12.4
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md#xcode
xcode_version_factor: [default]
targets_pattern: [0-g, h-o, p, q-z]
os: [ macos-10.15, macos-11.0 ]
include:
# Test xcode 11.7 only on macos-10.15
- tox_system_factor: homebrew-macos
tox_packages_factor: minimal
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: 0-g
os: macos-10.15
- tox_system_factor: homebrew-macos
tox_packages_factor: standard
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: h-o
os: macos-10.15
# python3_xcode is only accepted if enough packages are available from the system
# --> to test "minimal", we will need https://trac.sagemath.org/ticket/30949
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
- tox_system_factor: homebrew-macos
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: p
os: macos-10.15
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
xcode_version_factor: default
- tox_system_factor: homebrew-macos
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: q-z
os: macos-10.15
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
- tox_system_factor: homebrew-macos-python3_xcode-nokegonly
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
# likewise for python3_pythonorg
- tox_system_factor: homebrew-macos-python3_pythonorg
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
# conda-forge-macos-environment
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment
xcode_version_factor: default
os: macos-11.0
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment-optional
xcode_version_factor: default
os: macos-11.0
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 }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
Expand Down
49 changes: 15 additions & 34 deletions .github/workflows/tox-optional.yml
Expand Up @@ -38,7 +38,7 @@ jobs:
fail-fast: false
max-parallel: 6
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
env:
Expand Down Expand Up @@ -114,54 +114,35 @@ jobs:
fail-fast: false
max-parallel: 3
matrix:
tox_system_factor: [homebrew-macos, conda-forge-macos]
tox_packages_factor: [minimal, standard]
tox_system_factor: [homebrew-macos, conda-forge-macos, homebrew-macos-python3_xcode]
tox_packages_factor: [maximal]
# As of 2021-03, default xcode is 12.4
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md#xcode
xcode_version_factor: [default]
targets_pattern: [0-g, h-o, p, q-z]
os: [ macos-10.15, macos-11.0 ]
include:
# Test xcode 11.7 only on macos-10.15
- tox_system_factor: homebrew-macos
tox_packages_factor: minimal
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: 0-g
os: macos-10.15
- tox_system_factor: homebrew-macos
tox_packages_factor: standard
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: h-o
os: macos-10.15
# python3_xcode is only accepted if enough packages are available from the system
# --> to test "minimal", we will need https://trac.sagemath.org/ticket/30949
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
- tox_system_factor: homebrew-macos
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: p
os: macos-10.15
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
xcode_version_factor: default
- tox_system_factor: homebrew-macos
tox_packages_factor: maximal
xcode_version_factor: 11.7
targets_pattern: q-z
os: macos-10.15
- tox_system_factor: homebrew-macos-python3_xcode
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
- tox_system_factor: homebrew-macos-python3_xcode-nokegonly
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
# likewise for python3_pythonorg
- tox_system_factor: homebrew-macos-python3_pythonorg
tox_packages_factor: standard
xcode_version_factor: default
os: macos-11.0
# conda-forge-macos-environment
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment
xcode_version_factor: default
os: macos-11.0
- tox_system_factor: conda-forge-macos
tox_packages_factor: environment-optional
xcode_version_factor: default
os: macos-11.0
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 }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tox.yml
Expand Up @@ -38,7 +38,7 @@ jobs:
fail-fast: false
max-parallel: 20
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, gentoo-python3.7, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, gentoo-python3.7, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_packages_factor: [minimal, standard]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down
22 changes: 22 additions & 0 deletions .gitignore
Expand Up @@ -23,6 +23,14 @@
/src/environment.yml
/src/environment-optional.yml

/src/setup.cfg
/src/requirements.txt
/src/pyproject.toml
/src/Pipfile
/src/Pipfile.lock
/Pipfile
/Pipfile.lock

# Various editors
*~

Expand Down Expand Up @@ -93,6 +101,9 @@ __pycache__/
*.py[cod]
*$py.class

# Generated by sage_setup.autogen
/src/sage/ext/interpreters

# Generated Cython files
*.so
src/sage/**/*.c
Expand Down Expand Up @@ -130,6 +141,14 @@ build/bin/sage-build-env-config
/build/pkgs/*/src/*.egg-info
/build/pkgs/*/src/.tox

# Generated by docbuild
/src/doc/en/reference/*/sage
/src/doc/en/reference/sage
/src/doc/en/reference/spkg/*.rst
/src/doc/output
/src/doc/en/installation/*.txt
/src/doc/en/reference/repl/*.txt

# Distribution / packaging
src/*.egg-info/
/src/.cython_version
Expand All @@ -152,5 +171,8 @@ src/venv.bak/

# tox generated files
/.tox
/build/.tox
/prefix

# git worktree
worktree*
8 changes: 4 additions & 4 deletions .zenodo.json
@@ -1,10 +1,10 @@
{
"description": "Mirror of the Sage https://sagemath.org/ source tree",
"license": "other-open",
"title": "sagemath/sage: 9.3",
"version": "9.3",
"title": "sagemath/sage: 9.4.beta0",
"version": "9.4.beta0",
"upload_type": "software",
"publication_date": "2021-05-09",
"publication_date": "2021-05-25",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.3",
"identifier": "https://github.com/sagemath/sage/tree/9.4.beta0",
"relation": "isSupplementTo"
},
{
Expand Down
41 changes: 41 additions & 0 deletions Pipfile.m4
@@ -0,0 +1,41 @@
## Pipfile with all packages in the Sage distribution and version information locked
## FIXME: Many packages still missing.
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pkgconfig = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../pkgconfig/package-version.txt)')"
cython = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)')"
pycodestyle = "*"
ipykernel = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../ipykernel/package-version.txt)')"
tox = "*"
jinja2 = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../jinja2/package-version.txt)')"
pytest = "*"
ipywidgets = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../ipywidgets/package-version.txt)')"
sphinx = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../sphinx/package-version.txt)')"
rope = "*"
six = "*"
jupyter-core = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../jupyter_core/package-version.txt)')"

[packages]
numpy = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../numpy/package-version.txt)')"
cysignals = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../cysignals/package-version.txt)')"
cypari2 = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../cypari/package-version.txt)')"
gmpy2 = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../gmpy2/package-version.txt)')"
psutil = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../psutil/package-version.txt)')"
pexpect = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../pexpect/package-version.txt)')"
ipython = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../ipython/package-version.txt)')"
sympy = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../sympy/package-version.txt)')"
scipy = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../scipy/package-version.txt)')"
pplpy = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../pplpy/package-version.txt)')"
matplotlib = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../matplotlib/package-version.txt)')"
cvxopt = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../cvxopt/package-version.txt)')"
rpy2 = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../rpy2/package-version.txt)')"
networkx = "==esyscmd(`printf $(sed "s/[.]p.*//;" ../networkx/package-version.txt)')"

sagemath-standard = { path = "src" }

[requires]
python_version = "3.9"
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
SageMath version 9.3, Release Date: 2021-05-09
SageMath version 9.4.beta0, Release Date: 2021-05-25
8 changes: 6 additions & 2 deletions bootstrap
Expand Up @@ -24,6 +24,7 @@

# Set SAGE_ROOT to the path to this file and then cd into it
SAGE_ROOT="$(cd "$(dirname "$0")" && pwd -P)"
export SAGE_ROOT
cd "$SAGE_ROOT"

export PATH="$SAGE_ROOT/build/bin:$PATH"
Expand Down Expand Up @@ -108,6 +109,10 @@ SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
done
echo "$spkg_configures" >> m4/sage_spkg_configures.m4

for pkgname in $(./sage --package list --has-file bootstrap); do
(cd build/pkgs/$pkgname && ./bootstrap) || exit 1
done

# Default to no filter if "-q" was not passed.
QUIET_SED_FILTER=""
if [ "${BOOTSTRAP_QUIET}" = "yes" ]; then
Expand All @@ -119,8 +124,6 @@ SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
# ONLY stderr, and to re-output the results back to stderr leaving
# stdout alone. Basically we swap the two descriptors using a
# third, filter, and then swap them back.
BOOTSTRAP_QUIET="${BOOTSTRAP_QUIET}" \
SAGE_ROOT="$SAGE_ROOT" \
src/doc/bootstrap && \
install_config_rpath && \
aclocal -I m4 && \
Expand Down Expand Up @@ -262,6 +265,7 @@ do
?) usage; exit 2;;
esac
done
export BOOTSTRAP_QUIET
CONFBALL="upstream/configure-$CONFVERSION.tar.gz"

if [ $DOWNLOAD$SAVE = yesyes ]; then
Expand Down
9 changes: 0 additions & 9 deletions build/bin/sage-bootstrap-python
Expand Up @@ -30,15 +30,6 @@ fi
# is accessible by this python; this is to guard on Cygwin against Pythons
# installed somewhere else in Windows.

# Trac #30008: Make it work even if the environment tries to sabotage UTF-8
# operation in Python 3.0.x-3.6.x by setting LC_ALL=C or similar.

if [ "$LC_ALL" = "C" -o "$LANG" = "C" -o "$LC_CTYPE" = "C" ]; then
LC_ALL=$(locale -a | grep -E -i '^(c|en_us)[-.]utf-?8$' | head -n 1)
LANG=$LC_ALL
export LC_ALL
export LANG
fi

PYTHONS="python python3 python3.8 python3.7 python2.7 python3.6 python2"
for PY in $PYTHONS; do
Expand Down
35 changes: 29 additions & 6 deletions build/bin/sage-get-system-packages
Expand Up @@ -11,18 +11,41 @@ if [ -z "$SAGE_ROOT" ]; then
SAGE_ROOT=`pwd`
fi
case "$SYSTEM" in
install-requires)
# Collect install-requires.txt and output it in the format
# needed by setup.cfg [options] install_requires=
SYSTEM_PACKAGES_FILE_NAMES="install-requires.txt"
STRIP_COMMENTS="sed s/#.*//;/^[[:space:]]*$/d;"
COLLECT=
;;
install-requires-toml)
# Collect install-requires.txt and output it in the format
# needed by pyproject.toml [build-system] requires=
SYSTEM_PACKAGES_FILE_NAMES="install-requires.txt"
STRIP_COMMENTS="sed s/#.*//;/^[[:space:]]*$/d;s/^/'/;s/$/',/;"
COLLECT=
;;
pip)
SYSTEM_PACKAGES_FILE_NAME="requirements.txt"
SYSTEM_PACKAGES_FILE_NAMES="requirements.txt install-requires.txt"
STRIP_COMMENTS='sed s/#.*//;s/[[:space:]]//g;'
COLLECT=echo
;;
*)
SYSTEM_PACKAGES_FILE_NAME="distros/$SYSTEM.txt"
SYSTEM_PACKAGES_FILE_NAMES="distros/$SYSTEM.txt"
STRIP_COMMENTS="sed s/#.*//;"
COLLECT=echo
;;
esac
for PKG_BASE in $SPKGS; do
SYSTEM_PACKAGES_FILE="$SAGE_ROOT"/build/pkgs/$PKG_BASE/$SYSTEM_PACKAGES_FILE_NAME
if [ -f $SYSTEM_PACKAGES_FILE ]; then
echo $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE)
fi
for NAME in $SYSTEM_PACKAGES_FILE_NAMES; do
SYSTEM_PACKAGES_FILE="$SAGE_ROOT"/build/pkgs/$PKG_BASE/$NAME
if [ -f $SYSTEM_PACKAGES_FILE ]; then
if [ -z "$COLLECT" ]; then
${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE
else
$COLLECT $(${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE)
fi
break
fi
done
done
7 changes: 1 addition & 6 deletions build/bin/sage-site
Expand Up @@ -149,12 +149,7 @@ if [ "$1" = "-docbuild" -o "$1" = "--docbuild" ]; then

# Trac #30002: ensure an English locale so that it is possible to
# scrape out warnings by pattern matching.
# Trac #30576: But we have to avoid the C locale, which disables
# proper UTF-8 operation in Python 3.6 or older.
LC_ALL=$(locale -a | grep -E -i '^(c|en_us)[-.]utf-?8$' | head -n 1)
LANG=$LC_ALL
export LC_ALL
export LANG
export LANG=C

# See #30351: bugs in macOS implementations of openblas/libgopm can cause
# docbuild to hang if multiple OpenMP threads are allowed.
Expand Down

0 comments on commit 44a0df4

Please sign in to comment.