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

Commit

Permalink
Merge #32013
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthias Koeppe committed Jul 1, 2021
2 parents 3dd50e4 + 200b1ef commit 7f35aee
Show file tree
Hide file tree
Showing 537 changed files with 34,370 additions and 27,219 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/tox.yml
Original file line number Diff line number Diff line change
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, 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_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, ubuntu-impish, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, linuxmint-20.2, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, fedora-35, 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
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.4.beta2",
"version": "9.4.beta2",
"title": "sagemath/sage: 9.4.beta4",
"version": "9.4.beta4",
"upload_type": "software",
"publication_date": "2021-06-19",
"publication_date": "2021-07-01",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.4.beta2",
"identifier": "https://github.com/sagemath/sage/tree/9.4.beta4",
"relation": "isSupplementTo"
},
{
Expand Down
49 changes: 28 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@
https://www.sagemath.org

The Sage Library is GPLv2+, and included packages have [compatible OSS
licenses](./COPYING.txt). [Over 400 people](https://www.sagemath.org/development-map.html)
have contributed code to Sage. In many cases, documentation for modules
and functions list the authors.
The Sage Library is GPLv2+, and included packages have
[compatible OSS licenses](./COPYING.txt).
[Over 400 people](https://www.sagemath.org/development-map.html)
have contributed code to Sage. In many cases, documentation
for modules and functions list the authors.

Getting Started
---------------
Expand All @@ -22,7 +23,7 @@ If you downloaded a [binary](https://www.sagemath.org/download.html)
Sage is ready to start -- just open a terminal in the directory where
you extracted the binary archive and type:

./sage
$ ./sage

(Note that the first run will take more time, as Sage needs to get itself ready.)

Expand Down Expand Up @@ -118,9 +119,9 @@ virtual appliance](https://wiki.sagemath.org/SageAppliance).
------------------------------

Make sure you have installed the most current version of Xcode
supported on your version of macOS. If you don't, go to
supported on your version of macOS. If you don't, either go to
https://developer.apple.com/, sign up, and download the free Xcode
package.
package, or get it from Apple's app store.

You also need to install the "command line tools": After installing
Xcode, run `xcode-select --install` from a terminal window; then click
Expand All @@ -131,7 +132,7 @@ and then "Install" the Command Line Tools.)

Optionally, you can consider installing Homebrew ("the missing package
manager for macOS") from https://brew.sh/, which can provide libraries
such gfortran, gmp, etc.
such as gfortran, gmp, etc.

Instructions to Build from Source
---------------------------------
Expand Down Expand Up @@ -173,11 +174,12 @@ Guide](https://doc.sagemath.org/html/en/installation).

- [Git] Alternatively, clone the Sage git repository:

$ git clone -c core.symlinks=true --branch master https://github.com/sagemath/sage.git
$ ORIG=https://github.com/sagemath/sage.git
$ git clone -c core.symlinks=true --branch master $ORIG

This will create the subdirectory `sage`. `cd sage/` and pick the branch you need
by doing `git checkout` - typically you want the latest development branch, thus do
`git checkout develop`.
This will create the subdirectory `sage`. `cd sage/` and pick
the branch you need by doing `git checkout` - typically you want
the latest development branch, thus do `git checkout develop`.

- [Windows] The Sage source tree contains symbolic links, and the
build will not work if Windows line endings rather than UNIX
Expand All @@ -186,8 +188,8 @@ Guide](https://doc.sagemath.org/html/en/installation).
Therefore it is crucial that you unpack the source tree from the
Cygwin (or WSL) `bash` using the Cygwin (or WSL) `tar` utility
and not using other Windows tools (including mingw). Likewise,
when using `git`, it is recommended (but not necessary) to use the Cygwin (or WSL)
version of `git`.
when using `git`, it is recommended (but not necessary) to use
the Cygwin (or WSL) version of `git`.

3. `cd` into the source/build directory:

Expand Down Expand Up @@ -224,11 +226,16 @@ Guide](https://doc.sagemath.org/html/en/installation).
avoid having to build Sage's own copy of Python 3.

We have collected lists of system packages that provide these build
prerequisites. See [build/pkgs/arch.txt](build/pkgs/arch.txt),
[cygwin.txt](build/pkgs/cygwin.txt),
[debian.txt](build/pkgs/debian.txt) (also for Ubuntu, Linux Mint,
etc.), [fedora.txt](build/pkgs/fedora.txt) (also for Red Hat,
CentOS), and [slackware.txt](build/pkgs/slackware.txt).
prerequisites. See, in the folder
[build/pkgs/_prereq/distros](build/pkgs/_prereq/distros),
the files
[arch.txt](build/pkgs/_prereq/distros/arch.txt),
[cygwin.txt](build/pkgs/_prereq/distros/cygwin.txt),
[debian.txt](build/pkgs/_prereq/distros/debian.txt)
(also for Ubuntu, Linux Mint, etc.),
[fedora.txt](build/pkgs/_prereq/distros/fedora.txt)
(also for Red Hat, CentOS), and
[slackware.txt](build/pkgs/_prereq/distros/slackware.txt).

7. Optional, but highly recommended: Make sure your system has an SSL
library and its development files installed.
Expand All @@ -245,7 +252,7 @@ Guide](https://doc.sagemath.org/html/en/installation).
9. Optionally, review the configuration options, which includes
many optional packages:

./configure --help
$ ./configure --help

10. Optional, but highly recommended: Set some environment variables to
customize the build.
Expand Down Expand Up @@ -470,7 +477,7 @@ do.

2. (**Obsolete, probably broken**) To make your own source tarball of Sage, type:

sage --sdist
$ sage --sdist

The result is placed in the directory `dist/`.

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.4.beta2, Release Date: 2021-06-19
SageMath version 9.4.beta4, Release Date: 2021-07-01
1 change: 1 addition & 0 deletions build/bin/sage-site
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,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.
export LANG=C
export LANGUAGE=C

# See #30351: bugs in macOS implementations of openblas/libgopm can cause
# docbuild to hang if multiple OpenMP threads are allowed.
Expand Down
17 changes: 11 additions & 6 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,11 @@ all-toolchain: base-toolchain
# given as a prerequisite to any pip-installed packages
PYTHON_TOOLCHAIN = setuptools pip setuptools_scm wheel setuptools_wheel

# Trac #32056: Avoid installed setuptools leaking into the build of python3 by uninstalling it.
# It will have to be reinstalled anyway because of its dependency on $(PYTHON).
python3-SAGE_LOCAL-no-deps: setuptools-clean
python3-SAGE_VENV-no-deps: setuptools-clean

# 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) \
Expand Down Expand Up @@ -338,23 +343,23 @@ DOC_DEPENDENCIES = sagelib sage_docbuild $(inst_sphinx) \
doc: doc-html

doc-html: $(DOC_DEPENDENCIES)
$(AM_V_at)cd ../.. && sage-logger -p './sage --docbuild --no-pdf-links all html $(SAGE_DOCBUILD_OPTS)' logs/dochtml.log
$(AM_V_at)cd "$(SAGE_SRC)/doc" && sage-logger -p "$(MAKE) doc-html" $(SAGE_ROOT)/logs/dochtml.log

# 'doc-html-no-plot': build docs without building the graphics coming
# from the '.. plot' directive, in case you want to save a few
# megabytes of disk space. 'doc-clean' is a prerequisite because the
# presence of graphics is cached in src/doc/output.
doc-html-no-plot: doc-clean $(DOC_DEPENDENCIES)
$(AM_V_at)cd ../.. && sage-logger -p './sage --docbuild --no-pdf-links --no-plot all html $(SAGE_DOCBUILD_OPTS)' logs/dochtml.log
doc-html-no-plot: doc-clean
$(AM_V_at)sage-logger -p "$(MAKE) SAGE_DOCBUILD_OPTS=\"$(SAGE_DOCBUILD_OPTS) --no-plot\" doc-html" $(SAGE_ROOT)/logs/dochtml.log

doc-html-mathjax: $(DOC_DEPENDENCIES)
$(AM_V_at)cd ../.. && sage-logger -p './sage --docbuild --no-pdf-links all html -j $(SAGE_DOCBUILD_OPTS)' logs/dochtml.log
doc-html-mathjax:
$(AM_V_at)sage-logger -p "$(MAKE) SAGE_DOCBUILD_OPTS=\"$(SAGE_DOCBUILD_OPTS) -j\" doc-html" $(SAGE_ROOT)/logs/dochtml.log

# Keep target 'doc-html-jsmath' for backwards compatibility.
doc-html-jsmath: doc-html-mathjax

doc-pdf: $(DOC_DEPENDENCIES)
$(AM_V_at)cd ../.. && sage-logger -p './sage --docbuild all pdf $(SAGE_DOCBUILD_OPTS)' logs/docpdf.log
$(AM_V_at)cd "$(SAGE_SRC)/doc" && sage-logger -p "$(MAKE) doc-pdf" $(SAGE_ROOT)/logs/docpdf.log

doc-clean: doc-src-clean doc-output-clean

Expand Down
18 changes: 18 additions & 0 deletions build/pkgs/appdirs/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
appdirs: A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".
==========================================================================================================

Description
-----------

A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".

License
-------

MIT

Upstream Contact
----------------

https://pypi.org/project/appdirs/

5 changes: 5 additions & 0 deletions build/pkgs/appdirs/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tarball=appdirs-VERSION.tar.gz
sha1=1fa04e44b1084338cb7b21e9cf44fce5efb81840
md5=d6bca12613174185dd9abc8a29f4f012
cksum=1191718163
upstream_url=https://pypi.io/packages/source/a/appdirs/appdirs-VERSION.tar.gz
4 changes: 4 additions & 0 deletions build/pkgs/appdirs/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$(PYTHON) | $(PYTHON_TOOLCHAIN)

----------
All lines of this file are ignored except the first.
1 change: 1 addition & 0 deletions build/pkgs/appdirs/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
appdirs
1 change: 1 addition & 0 deletions build/pkgs/appdirs/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.4.4
7 changes: 7 additions & 0 deletions build/pkgs/appdirs/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SAGE_SPKG_CONFIGURE([appdirs], [
sage_spkg_install_appdirs=yes
], [dnl REQUIRED-CHECK
AC_REQUIRE([SAGE_SPKG_CONFIGURE_VIRTUALENV])
dnl only needed as a dependency of virtualenv.
AS_VAR_SET([SPKG_REQUIRE], [$sage_spkg_install_virtualenv])
])
2 changes: 2 additions & 0 deletions build/pkgs/appdirs/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd src
sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/appdirs/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
standard
7 changes: 4 additions & 3 deletions build/pkgs/babel/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tarball=Babel-VERSION.tar.gz
sha1=6aed99e4fb8a2a75de7815599f610cdcbb81e3c2
md5=c384ac03026e8fe6f9b90f55201f1bff
cksum=3805303136
sha1=1ce15f82eba5184cabe6ac1491cb58262e27adfd
md5=7166099733d78aa857d74fa50d8ff58c
cksum=1695340328
upstream_url=https://pypi.io/packages/source/b/babel/Babel-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/babel/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.6.0
2.9.1
38 changes: 35 additions & 3 deletions build/pkgs/brial/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
SAGE_SPKG_CONFIGURE([brial], [
dnl Trac #31624: Avoid C++ ABI issues
SAGE_SPKG_DEPCHECK([gcc boost m4ri], [
SAGE_SPKG_DEPCHECK([gcc boost_cropped m4ri], [
# If we're using the system m4ri and boost, ensure that we can
# compile and run an executable linked against both libbrial and
# libbrial_groebner (both are used by SageMath).
AC_LANG_PUSH(C++)
SAVED_LIBS=$LIBS
LIBS="$LIBS -lbrial -lbrial_groebner"
AC_MSG_CHECKING([if we can link against brial libraries])
AC_MSG_CHECKING([if we can link against brial libraries and run])
AC_RUN_IFELSE([
AC_LANG_PROGRAM([
#include <polybori.h>
Expand Down Expand Up @@ -48,11 +48,43 @@ SAGE_SPKG_CONFIGURE([brial], [
], [
AC_MSG_RESULT([yes])
sage_spkg_install_brial=no
])
], [AC_MSG_RESULT([cross compiling. Assume yes])
sage_spkg_install_brial=no])
],
[
AC_MSG_RESULT([no])
sage_spkg_install_brial=yes
],
[
AC_MSG_CHECKING([if we can link against brial libraries])
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <polybori.h>
#include <polybori/groebner/groebner_alg.h>
USING_NAMESPACE_PBORI
USING_NAMESPACE_PBORIGB
class MyConstant : public BooleConstant{
public: void negate() { this->m_value = !this->m_value; }
};
],[
BoolePolyRing r = BoolePolyRing(2, COrderEnums::dlex);
ReductionStrategy rs = ReductionStrategy(r);
rs.llReduceAll(); // uses groebner lib
if (2 != r.nVariables()) { return 1; }
if (r.constant(true) == r.constant(false)) { return 2; }
MyConstant f = MyConstant();
f.negate(); // ensures v1.1.0+ if m_value isn't const
if (!f.isOne()) { return 3; }
return 0;
])
],[
AC_MSG_RESULT([yes])
sage_spkg_install_brial=yes
],[
AC_MSG_RESULT([no])
sage_spkg_install_brial=no
])
])
LIBS=$SAVED_LIBS
AC_LANG_POP
Expand Down
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=9dab15e2209bd5515c3822aeb6beb911dc9a6084
md5=e76f8e7f8be26c9729dd010f1a93c245
cksum=641170247
sha1=7b88d740d7ed702c15cb4048ae08c2faf2e9852c
md5=6252f2920838a7ea42b17845aa9782a2
cksum=2536572108
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8b70b5bba76ffd6bd0f1c2441afc249f5046a612
06ec5d949d4ac37fffbebba5ab2ad5294cb141e1
7 changes: 6 additions & 1 deletion build/pkgs/curl/spkg-configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ SAGE_SPKG_CONFIGURE([curl], [
AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <curl/curl.h>]],[[
curl_easy_setopt(NULL,CURLOPT_URL,NULL);
]])], sage_libcurl_cv_lib_curl_executable=yes, sage_libcurl_cv_lib_curl_executable=no)
]])], sage_libcurl_cv_lib_curl_executable=yes, sage_libcurl_cv_lib_curl_executable=no, [
dnl cross compiling. link only
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <curl/curl.h>]],[[
curl_easy_setopt(NULL,CURLOPT_URL,NULL);
]])], sage_libcurl_cv_lib_curl_executable=yes, sage_libcurl_cv_lib_curl_executable=no)]
)
])
AS_IF([test "$sage_libcurl_cv_lib_curl_executable" = "no"], [sage_spkg_install_curl=yes])
])
18 changes: 18 additions & 0 deletions build/pkgs/distlib/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
distlib: Distribution utilities
===============================

Description
-----------

Distribution utilities

License
-------

Python license

Upstream Contact
----------------

https://pypi.org/project/distlib/

5 changes: 5 additions & 0 deletions build/pkgs/distlib/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tarball=distlib-VERSION.zip
sha1=1c575431e31c32d25596c360e81bba7fe4638669
md5=4baf787d8aceb260d6f77cb31bf27cf6
cksum=2902365751
upstream_url=https://pypi.io/packages/source/d/distlib/distlib-VERSION.zip
4 changes: 4 additions & 0 deletions build/pkgs/distlib/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$(PYTHON) | $(PYTHON_TOOLCHAIN)

----------
All lines of this file are ignored except the first.
1 change: 1 addition & 0 deletions build/pkgs/distlib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distlib
1 change: 1 addition & 0 deletions build/pkgs/distlib/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.3.1
7 changes: 7 additions & 0 deletions build/pkgs/distlib/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SAGE_SPKG_CONFIGURE([distlib], [
AC_REQUIRE([SAGE_SPKG_CONFIGURE_VIRTUALENV])
sage_spkg_install_distlib=yes
], [dnl REQUIRED-CHECK
dnl only needed as a dependency of virtualenv.
AS_VAR_SET([SPKG_REQUIRE], [$sage_spkg_install_virtualenv])
])
2 changes: 2 additions & 0 deletions build/pkgs/distlib/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd src
sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/distlib/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
standard
7 changes: 4 additions & 3 deletions build/pkgs/docutils/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tarball=docutils-VERSION.tar.gz
sha1=32cefb69ac3dab5b04c4d150776f35419cc4c863
md5=c53768d63db3873b7d452833553469de
cksum=2981697109
sha1=f423535c12fcd2a68d4fc52525fbe36020a58ab5
md5=ed810564c25063e9dac10dd0893ead47
cksum=3160620183
upstream_url=https://pypi.io/packages/source/d/docutils/docutils-VERSION.tar.gz
Loading

0 comments on commit 7f35aee

Please sign in to comment.