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.0.beta10' into t/25828/optional-extension-features
Browse files Browse the repository at this point in the history
SageMath version 9.0.beta10, Release Date: 2019-12-24
  • Loading branch information
mkoeppe committed Dec 25, 2019
2 parents 4af7b45 + fcadfad commit aa87fab
Show file tree
Hide file tree
Showing 424 changed files with 12,771 additions and 3,906 deletions.
6 changes: 6 additions & 0 deletions .ci/build-docker.sh
Expand Up @@ -39,6 +39,12 @@ docker_build --target run-time-dependencies --tag run-time-dependencies:$DOCKER_
docker_build --target build-time-dependencies --tag build-time-dependencies:$DOCKER_TAG .
docker_build --target make-all --tag make-all:$DOCKER_TAG .

# Copy docs out of the docker image to save them into browseable GitLab artifacts
container=$(docker create make-all:$DOCKER_TAG)
docker cp $container:/home/sage/sage/local/share/doc/sage/html html_
# GitLab's browser does not like symlinks, so we flatten them
rsync html_/ html/ -a --copy-links

# Build the release image without build artifacts.
docker_build --target sagemath --tag "$DOCKER_IMAGE_CLI" .
# Display the layers of this image
Expand Down
14 changes: 13 additions & 1 deletion .gitlab-ci.yml
Expand Up @@ -88,9 +88,10 @@ build-from-latest:
when: always
paths:
- gitlab-build-docker.log
- html
expire_in: 1 month
script:
- apk --update add coreutils
- apk --update add coreutils rsync
# The output of the build can get larger than gitlab.com's limit; only
# print the first 1MB (and the last 80 lines.) GitLab's limit is 4MB,
# however, the list of all branches and tags that shows up in the initial
Expand All @@ -115,6 +116,12 @@ build-from-latest:
build-from-clean:
extends:
- build-from-latest
artifacts:
when: always
paths:
- gitlab-build-docker.log
- html
expire_in: 99 years
variables:
ARTIFACT_BASE: "source-clean"
only:
Expand All @@ -136,18 +143,21 @@ build-from-clean:

test-dev:
stage: test
dependencies: []
script:
- . .ci/pull-gitlab.sh sagemath-dev
- sh .ci/test-dev.sh "$DOCKER_IMAGE"

test-cli:
stage: test
dependencies: []
script:
- . .ci/pull-gitlab.sh sagemath
- sh .ci/test-cli.sh "$DOCKER_IMAGE"

test-jupyter:
stage: test
dependencies: []
script:
- . .ci/pull-gitlab.sh sagemath
- sh .ci/test-jupyter.sh "$DOCKER_IMAGE" docker
Expand All @@ -156,6 +166,7 @@ test-jupyter:
# variables DOCKER_USER and SECRET_DOCKER_PASS have been set up.
push-dockerhub:
stage: release
dependencies: []
only:
refs:
- branches
Expand All @@ -170,6 +181,7 @@ push-dockerhub:
# variables DOCKER_USER and SECRET_DOCKER_PASS have been set up.
push-dockerhub-dev:
stage: release
dependencies: []
only:
refs:
- master
Expand Down
8 changes: 8 additions & 0 deletions .lgtm.yml
@@ -0,0 +1,8 @@
queries:
- exclude: py/call/wrong-named-class-argument
- exclude: py/call/wrong-number-class-arguments
- exclude: py/unsafe-cyclic-import
extraction:
python:
python_setup:
version: 3
14 changes: 6 additions & 8 deletions Makefile
Expand Up @@ -53,9 +53,11 @@ build/make/Makefile: configure build/make/deps build/make/Makefile.in build/pkgs
fi; )

# This is used to monitor progress towards Python 3 and prevent
# regressions. Should be removed after the full switch to python3
buildbot-python3: configure
./configure --with-python=3
# regressions. Should be removed after the full switch to python3.
#
# As of Sage 9.0: keep the build target for backward compatibility,
# but it just runs "make".
buildbot-python3:
$(MAKE)

# Preemptively download all standard upstream source tarballs.
Expand Down Expand Up @@ -145,7 +147,6 @@ fast-rebuild-clean: misc-clean

TESTALL = ./sage -t --all
PTESTALL = ./sage -t -p --all
PTEST_PYTHON3 = cat src/ext/doctest/python3-known-passing.txt | xargs ./sage -t --long -p

# Flags for ./sage -t --all.
# By default, include all tests marked 'dochtml' -- see
Expand Down Expand Up @@ -191,9 +192,6 @@ ptestoptional: all
ptestoptionallong: all
$(PTESTALL) --long --logfile=logs/ptestoptionallong.log

ptest-python3: buildbot-python3
$(PTEST_PYTHON3) --logfile=logs/ptest_python3.log

configure: configure.ac src/bin/sage-version.sh m4/*.m4 build/pkgs/*/spkg-configure.m4
./bootstrap -d

Expand All @@ -214,4 +212,4 @@ list:
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \
test check testoptional testall testlong testoptionallong testallong \
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong \
buildbot-python3 ptest-python3 list
buildbot-python3 list
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -5,7 +5,7 @@
> "Creating a Viable Open Source Alternative to
> Magma, Maple, Mathematica, and MATLAB"
> Copyright (C) 2005-2018 The Sage Development Team
> Copyright (C) 2005-2019 The Sage Development Team
https://www.sagemath.org

Expand All @@ -17,14 +17,14 @@ and functions list the authors.
Getting Started
---------------

If you downloaded a [binary](http://www.sagemath.org/download.html)
If you downloaded a [binary](https://www.sagemath.org/download.html)
(i.e. a version of SageMath prepared for a specific operating system),
Sage is ready to start -- just open a terminal in the directory where
you extracted the binary archive and type:

./sage

If you downloaded the [sources](http://www.sagemath.org/download-source.html),
If you downloaded the [sources](https://www.sagemath.org/download-source.html),
please read below on how to build Sage and work around common issues.

If you have questions or encounter problems, please do not hesitate
Expand Down Expand Up @@ -177,7 +177,7 @@ More Detailed Instructions to Build from Source
several jobs in parallel, while the `SAGE_CHECK` environment variable
controls whether to perform more tests during the installation. For
an in-depth discussion of environment variables for building Sage, see
[the installation guide](http://doc.sagemath.org/html/en/installation/source.html#environment-variables).
[the installation guide](https://doc.sagemath.org/html/en/installation/source.html#environment-variables).

On a machine with 4 processors, say, typing `export MAKE="make -j4"`
will configure the build script to perform a parallel compilation of
Expand Down Expand Up @@ -221,7 +221,7 @@ More Detailed Instructions to Build from Source

Note: if you built for Python 3, you can instead run `make ptest-python3`.

1. The HTML version of the [documentation](http://doc.sagemath.org/html/en/index.html)
1. The HTML version of the [documentation](https://doc.sagemath.org/html/en/index.html)
is built during the compilation process of Sage and resides in the directory
`local/share/doc/sage/html/`.

Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
SageMath version 9.0.beta6, Release Date: 2019-11-18
SageMath version 9.0.beta10, Release Date: 2019-12-24
2 changes: 1 addition & 1 deletion build/make/deps
Expand Up @@ -216,7 +216,7 @@ $(SAGE_EXTCODE)/%: $(SAGE_SRC)/ext/%
# Building the documentation has many dependencies, because all
# documented modules are imported and because we use matplotlib to
# produce plots.
DOC_DEPENDENCIES = sagelib $(inst_sphinx) $(inst_sagenb) \
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) \
Expand Down
1 change: 1 addition & 0 deletions build/make/install
Expand Up @@ -55,6 +55,7 @@ fi
# Dump environment for debugging purposes:
echo "*** ALL ENVIRONMENT VARIABLES BEFORE BUILD: ***"
env | sort
printf '\E[m'
echo "***********************************************"

###############################################################################
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=1c51e1b16652a8f1f16a825560a7d8f06d10cc7c
md5=2e6fb9d44c7761be23f2e0873619d6cc
cksum=35665169
sha1=c992c5f54672201e05e79385de9a2a6ea4233586
md5=41e4ba80fbdefa79b38a60edb0733422
cksum=1355983684
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
@@ -1 +1 @@
026a216fa444461e3a5d4b76a11c074784f5fdf7
0bb0717729c70eb363a18beb3ed37424c5775791
6 changes: 3 additions & 3 deletions build/pkgs/cvxopt/checksums.ini
@@ -1,4 +1,4 @@
tarball=cvxopt-VERSION.tar.gz
sha1=6b6da47c80e5b8fb678bc0ebdc38bddeaa83cc74
md5=b17c75117b4412b33ea31a47b7e5655e
cksum=4043372127
sha1=b16cf3b1c941d763ea0451e947e5661d38ee0473
md5=aac3db3fc3cf11d9ad2e42d89e94ca5a
cksum=3018809057
2 changes: 1 addition & 1 deletion build/pkgs/cvxopt/dependencies
@@ -1,4 +1,4 @@
$(PYTHON) numpy $(BLAS) gsl glpk | pkgconfig pip matplotlib
$(PYTHON) numpy $(BLAS) gsl glpk suitesparse | pkgconfig pip nose matplotlib

matplotlib is needed to test cvxopt (i.e., if SAGE_CHECK=yes). See #12742.

Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/cvxopt/package-version.txt
@@ -1 +1 @@
1.1.8.p2
1.2.3
21 changes: 0 additions & 21 deletions build/pkgs/cvxopt/patches/cvxopt.h.patch

This file was deleted.

92 changes: 0 additions & 92 deletions build/pkgs/cvxopt/patches/setup.py.patch

This file was deleted.

22 changes: 22 additions & 0 deletions build/pkgs/cvxopt/spkg-check
@@ -0,0 +1,22 @@
if [ -z "$SAGE_LOCAL" ]; then
echo >&2 "SAGE_LOCAL undefined ... exiting"
echo >&2 "Maybe run 'sage --sh'?"
exit 1
fi

cd src

if ! command -v nosetests ; then
echo >&2 'Testing cvxopt requires the package nose to be installed'
exit 1
fi

echo "Testing cvxopt..."

nosetests

if [ $? -ne 0 ]; then
echo >&2 "Error running self tests."
exit 1
fi

27 changes: 27 additions & 0 deletions build/pkgs/cvxopt/spkg-install
Expand Up @@ -5,6 +5,33 @@ if [ "$UNAME" = FreeBSD ]; then
export CPPFLAGS="$CPPFLAGS -I$SAGE_LOCAL/include"
fi

# Stolen from Gentoo
pkg_libs() {
pkg-config --libs-only-l $* | \
sed -e 's:[ ]-l*\(pthread\|m\)\([ ]\|$\)::g' -e 's:[ ]*$::' | \
tr ' ' '\n' | sort -u | sed -e "s:^-l\(.*\):\1:g" | \
tr '\n' ';' | sed -e 's:;$::'
}


# configure cvxopt by variables
# Note that *_INC_DIR variables have to be non-empty.
# Compilers don't like "-I ".
export CVXOPT_BLAS_LIB="$(pkg_libs blas)"
export CVXOPT_BLAS_LIB_DIR="${SAGE_LOCAL}"
export CVXOPT_LAPACK_LIB="$(pkg_libs lapack)"

export CVXOPT_SUITESPARSE_LIB_DIR="${SAGE_LOCAL}"
export CVXOPT_SUITESPARSE_INC_DIR="${SAGE_LOCAL}/include"

export CVXOPT_BUILD_GLPK=1
export CVXOPT_GLPK_LIB_DIR="${SAGE_LOCAL}"
export CVXOPT_GLPK_INC_DIR="${SAGE_LOCAL}/include"

export CVXOPT_BUILD_GSL=1
export CVXOPT_GSL_LIB_DIR="${SAGE_LOCAL}"
export CVXOPT_GSL_INC_DIR="${SAGE_LOCAL}/include"

sdh_pip_install .

if [ "x$SAGE_SPKG_INSTALL_DOCS" = xyes ] ; then
Expand Down
5 changes: 0 additions & 5 deletions build/pkgs/jmol/spkg-install
@@ -1,8 +1,3 @@
# Cleanup of previous installation
rm -rf "${SAGE_SHARE}/jsmol/"
rm -rf "${SAGE_SHARE}/jmol/"
rm -f "${SAGE_LOCAL}/bin/jmol"

# jsmol goes in a dedicated directory
sdh_install src/jsmol "${SAGE_SHARE}/"
rm -rf src/jsmol
Expand Down

0 comments on commit aa87fab

Please sign in to comment.