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

Commit

Permalink
Merge tag '9.2.beta3' into t/21559/change-src-bin-installation
Browse files Browse the repository at this point in the history
SageMath version 9.2.beta3, Release Date: 2020-07-04
  • Loading branch information
mkoeppe committed Jul 4, 2020
2 parents 7d29141 + a79b0fc commit c5f7f2f
Show file tree
Hide file tree
Showing 620 changed files with 10,645 additions and 6,348 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci-cygwin-minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
cygwin-stage-i-b:
env:
STAGE: i-b
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi singledispatch pkgconfig pplpy
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi pkgconfig pplpy
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-cygwin-standard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
cygwin-stage-i-b:
env:
STAGE: i-b
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi singledispatch pkgconfig pplpy
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi pkgconfig pplpy
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}

Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/tox-gcc_spkg.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run SAGE_ROOT/tox.ini
name: Test Linux --without-system-gcc

## This GitHub Actions workflow runs SAGE_ROOT/tox.ini with select environments,
## whenever a GitHub pull request is opened or synchronized in a repository
Expand Down Expand Up @@ -34,8 +34,9 @@ jobs:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 5
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, centos-7, centos-8, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-focal, fedora-27, fedora-31, debian-buster-i386]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down Expand Up @@ -99,6 +100,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 1
matrix:
tox_system_factor: [conda-forge-ubuntu]
tox_packages_factor: [minimal-gcc_spkg, standard-gcc_spkg]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tox-optional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
fail-fast: false
max-parallel: 6
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, centos-7, centos-8, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, centos-7, centos-8, gentoo, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_packages_factor: [maximal]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
fail-fast: false
max-parallel: 20
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, centos-7, centos-8, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-eoan, ubuntu-focal, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, centos-7, centos-8, gentoo, archlinux-latest, slackware-14.2, conda-forge, ubuntu-bionic-i386, ubuntu-eoan-i386, 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
2 changes: 1 addition & 1 deletion .github/workflows/update-cygwin-yml.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/usr/bin/env bash
for X in standard-python2 minimal; do sed 's/\[standard\]/['$X']/g;s/CI cygwin-standard/CI cygwin-'$X'/g;' ci-cygwin-standard.yml > ci-cygwin-$X.yml; done
for X in minimal; do sed 's/\[standard\]/['$X']/g;s/CI cygwin-standard/CI cygwin-'$X'/g;' ci-cygwin-standard.yml > ci-cygwin-$X.yml; done
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ build/make/Makefile: configure $(SPKG_COLLECT_FILES) $(CONFIG_FILES:%=%.in)
@if [ -x config.status ]; then \
./config.status --recheck && ./config.status; \
else \
./configure $$PREREQ_OPTIONS; \
echo >&2 '****************************************************************************'; \
echo >&2 'error: Sage source tree is unconfigured. Please run "./configure" first.'; \
echo >&2 'note: Type "./configure --help" to see the available configuration options.'; \
echo >&2 '****************************************************************************'; \
exit 1; \
fi

# This is used to monitor progress towards Python 3 and prevent
Expand Down Expand Up @@ -114,7 +118,9 @@ maintainer-clean: distclean bootstrap-clean

# Remove everything that is not necessary to run Sage and pass all its
# doctests.
micro_release: sagelib-clean misc-clean
micro_release:
$(MAKE) sagelib-clean
$(MAKE) misc-clean
@echo "Stripping binaries ..."
LC_ALL=C find local/lib local/bin -type f -exec strip '{}' ';' 2>&1 | grep -v "File format not recognized" | grep -v "File truncated" || true
@echo "Removing sphinx artifacts..."
Expand Down
11 changes: 3 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -424,12 +424,6 @@ The latter `build/make/Makefile` *is* generated by an autoconf-generated
includes rules for building the Sage library itself (`make sagelib`), and for
building and installing each of Sage's dependencies (e.g. `make python2`).

Although it's possible to manually run Sage's `configure` script if one wants
to provide some customizations (e.g. it is possible to select which BLAS
implementation to use), the top-level `Makefile` will run `configure` for you,
in order to build `build/make/Makefile` since it's a prerequisite for most of
Sage's make targets.

The `configure` script itself, if it is not already built, can be generated by
running the `bootstrap` script (the latter requires _GNU autotools_ being installed).
The top-level `Makefile` also takes care of this automatically.
Expand All @@ -438,8 +432,9 @@ To summarize, running a command like `make python3` at the top-level of the
source tree goes something like this:

1. `make python3`
2. run `./bootstrap` if `configure` does not exist
3. run `./configure` if `build/make/Makefile` does not exist
2. run `./bootstrap` if `configure` needs updating
3. run `./configure` with any previously configured options if `build/make/Makefile`
needs updating
4. `cd` into `build/make` and run the `install` script--this is little more
than a front-end to running `make -f build/make/Makefile python3`, which
sets some necessary environment variables and logs some information
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.2.beta1, Release Date: 2020-06-13
SageMath version 9.2.beta3, Release Date: 2020-07-04
3 changes: 3 additions & 0 deletions build/bin/sage-print-system-package-command
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ case $system:$command in
@(fedora*|redhat*|centos*):install)
[ -n "$system_packages" ] && echo "${PROMPT}${SUDO}yum install $system_packages"
;;
gentoo*:install)
[ -n "$system_packages" ] && echo "${PROMPT}${SUDO}emerge $system_packages"
;;
arch*:install)
[ -n "$system_packages" ] && echo "${PROMPT}${SUDO}pacman -S $system_packages"
;;
Expand Down
4 changes: 3 additions & 1 deletion build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@
#*****************************************************************************

# Avoid surprises with character ranges [a-z] in regular expressions
export LC_ALL=C
# See Trac #15791; some locales can produce different results for
# character ranges (use C.UTF-8 to ensure UTF-8 default encoding in Python)
export LC_ALL=C.UTF-8

usage()
{
Expand Down
4 changes: 3 additions & 1 deletion build/bin/sage-system-python
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ fi
#
# See https://trac.sagemath.org/ticket/29090

PYTHONS="python3 python3.8 python3.7 python2.7 python python3.6 python2"
# Trac #29890: Our first choice is "python", not "python3". This is to avoid
# a defect of sage_bootstrap on macOS regarding SSL URLs.
PYTHONS="python python3 python3.8 python3.7 python2.7 python3.6 python2"
for PY in $PYTHONS; do
PYTHON="$(PATH="$SAGE_ORIG_PATH" command -v $PY)"
if [[ -n "$PYTHON" ]]; then
Expand Down
9 changes: 9 additions & 0 deletions build/bin/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,15 @@ EOF
EXISTS="2>/dev/null >/dev/null yum install -y --downloadonly"
INSTALL="yum install -y"
;;
gentoo*)
cat <<EOF
ARG BASE_IMAGE=sheerluck/sage-on-gentoo-stage4:latest
FROM \${BASE_IMAGE} as with-system-packages
EOF
EXISTS="2>/dev/null >/dev/null emerge -f"
UPDATE="" # not needed. "FROM gentoo/portage" used instead
INSTALL="emerge -DNut --with-bdeps=y --complete-graph=y"
;;
slackware*)
# https://docs.slackware.com/slackbook:package_management
cat <<EOF
Expand Down
10 changes: 7 additions & 3 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ $(foreach pkgname,$(BUILT_PACKAGES),\
$(foreach pkgname,$(DUMMY_PACKAGES),\
$(eval inst_$(pkgname) = $$(INST)/.dummy))

# Override this for pip packages, for which we do not keep an installation record
# in addition to what pip is already doing.
$(foreach pkgname,$(PIP_PACKAGES),\
$(eval inst_$(pkgname) = $(pkgname)))

# Dummy target for packages which are not installed
$(INST)/.dummy:
Expand Down Expand Up @@ -235,12 +239,12 @@ all-toolchain: base-toolchain
# All packages needed as a prerequisite to install other Python packages with
# pip or which are otherwise used by the Python build tools; these should be
# given as a prerequisite to any pip-installed packages
PYTHON_TOOLCHAIN = setuptools pip setuptools_scm future
PYTHON_TOOLCHAIN = setuptools pip setuptools_scm

# Everything needed to start up Sage using "./sage". Of course, not
# every part of Sage will work. It does not include Maxima for example.
SAGERUNTIME = sagelib $(inst_ipython) $(inst_pexpect) \
$(inst_psutil) $(inst_future)
$(inst_psutil)

all-sageruntime: toolchain-deps
$(MAKE) $(SAGERUNTIME)
Expand Down Expand Up @@ -287,7 +291,7 @@ DOC_DEPENDENCIES = sagelib $(inst_sphinx) \
| $(SAGERUNTIME) $(inst_maxima) $(inst_networkx) $(inst_scipy) $(inst_sympy) \
$(inst_matplotlib) $(inst_pillow) $(inst_mathjax) $(inst_mpmath) \
$(inst_ipykernel) $(inst_jupyter_client) $(inst_conway_polynomials) \
$(inst_tachyon) $(inst_jmol) $(inst_thebe) $(inst_ipywidgets) $(inst_typing)
$(inst_tachyon) $(inst_jmol) $(inst_thebe) $(inst_ipywidgets)

doc: doc-html

Expand Down
Loading

0 comments on commit c5f7f2f

Please sign in to comment.