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

Commit a50460e

Browse files
author
Matthias Koeppe
committed
Merge tag '9.8.beta1' into t/34268/reduce_r_to_a_dummy_package__upgrade_rpy2
SageMath version 9.8.beta1, Release Date: 2022-09-29
2 parents 091e0af + 54cd6fe commit a50460e

File tree

392 files changed

+6714
-3294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

392 files changed

+6714
-3294
lines changed

.vscode/settings.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,6 @@
3333
"Conda",
3434
"sagemath",
3535
"Cython"
36-
]
36+
],
37+
"editor.formatOnType": true
3738
}

.zenodo.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"description": "Mirror of the Sage https://sagemath.org/ source tree",
33
"license": "other-open",
4-
"title": "sagemath/sage: 9.8.beta0",
5-
"version": "9.8.beta0",
4+
"title": "sagemath/sage: 9.8.beta1",
5+
"version": "9.8.beta1",
66
"upload_type": "software",
7-
"publication_date": "2022-09-25",
7+
"publication_date": "2022-09-29",
88
"creators": [
99
{
1010
"affiliation": "SageMath.org",
@@ -15,7 +15,7 @@
1515
"related_identifiers": [
1616
{
1717
"scheme": "url",
18-
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta0",
18+
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta1",
1919
"relation": "isSupplementTo"
2020
},
2121
{

README.md

+8-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ If your Mac uses the Apple Silicon (M1, arm64) architecture:
7979
https://brew.sh/ required because it provides a version of ``gfortran`` with
8080
necessary changes for this platform that are not in a released upstream
8181
version of GCC. (The ``gfortran`` package that comes with the Sage
82-
distribution is not suitable for the M1.)
82+
distribution is not suitable for the M1/M2.)
8383

8484
If your Mac uses the Intel (x86_64) architecture:
8585

@@ -184,14 +184,20 @@ in the Installation Guide.
184184

185185
- Compilers: `gcc`, `gfortran`, `g++` (GCC 8.x to 12.x and recent
186186
versions of Clang (LLVM) are supported).
187-
See the Installation Manual for a discussion of suitable compilers.
187+
See [build/pkgs/gcc/SPKG.rst](build/pkgs/gcc/SPKG.rst) and
188+
[build/pkgs/gfortran/SPKG.rst](build/pkgs/gfortran/SPKG.rst)
189+
for a discussion of suitable compilers.
188190

189191
- Build tools: GNU `make`, GNU `m4`, `perl` (including
190192
``ExtUtils::MakeMaker``), `ranlib`, `git`, `tar`, `bc`.
193+
See [build/pkgs/_prereq/SPKG.rst](build/pkgs/_prereq/SPKG.rst) for
194+
more details.
191195

192196
- Python 3.4 or later, or Python 2.7, a full installation including
193197
`urllib`; but ideally version 3.8.x, 3.9.x, or 3.10.x, which
194198
will avoid having to build Sage's own copy of Python 3.
199+
See [build/pkgs/python3/SPKG.rst](build/pkgs/python3/SPKG.rst)
200+
for more details.
195201

196202
We have collected lists of system packages that provide these build
197203
prerequisites. See, in the folder

VERSION.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 9.8.beta0, Release Date: 2022-09-25
1+
SageMath version 9.8.beta1, Release Date: 2022-09-29

build/bin/sage-dist-helpers

+2
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,8 @@ sdh_pip_install() {
290290

291291
sdh_pip_editable_install() {
292292
echo "Installing $PKG_NAME (editable mode)"
293+
# Until https://trac.sagemath.org/ticket/34209 switches us to PEP 660 editable wheels
294+
export SETUPTOOLS_ENABLE_FEATURES=legacy-editable
293295
python3 -m pip install --verbose --no-deps --no-index --no-build-isolation --isolated --editable "$@" || \
294296
sdh_die "Error installing $PKG_NAME"
295297
}

build/make/Makefile.in

+3-3
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ define SET_SAGE_CHECK
430430
$(eval SAGE_CHECK_$(1) := $(2))
431431
endef
432432
# Set defaults
433-
$(foreach pkgname, $(NORMAL_PACKAGES),\
433+
$(foreach pkgname, $(NORMAL_PACKAGES) $(SCRIPT_PACKAGES),\
434434
$(eval $(call SET_SAGE_CHECK,$(pkgname),$(SAGE_CHECK))))
435435

436436
# Parsing the SAGE_CHECK_PACKAGES variable:
@@ -460,7 +460,7 @@ $(foreach clause, $(SAGE_CHECK_PACKAGES_sep), \
460460
$(eval $(call SET_SAGE_CHECK,$(subst ?,,$(clause)),warn)), \
461461
$(eval $(call SET_SAGE_CHECK,$(clause),yes)))))
462462
debug-check:
463-
@echo $(foreach pkgname, $(NORMAL_PACKAGES), SAGE_CHECK_$(pkgname) = $(SAGE_CHECK_$(pkgname)))
463+
@echo $(foreach pkgname, $(NORMAL_PACKAGES) $(SCRIPT_PACKAGES), SAGE_CHECK_$(pkgname) = $(SAGE_CHECK_$(pkgname)))
464464

465465

466466
#==============================================================================
@@ -676,7 +676,7 @@ $(1)-$(4)-no-deps:
676676
. '$$(SAGE_ROOT)/build/bin/sage-build-env' && \
677677
SAGE_SPKG_WHEELS=$$($(4))/var/lib/sage/wheels \
678678
SAGE_INST_LOCAL=$$($(4)) \
679-
sage-logger -p '$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1)-$(2).log' && \
679+
sage-logger -p 'SAGE_CHECK=$$(SAGE_CHECK_$(1)) $$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1)-$(2).log' && \
680680
rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)"-* && \
681681
touch "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-$(2)"; \
682682
else ( \

build/pkgs/_prereq/SPKG.rst

+45-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,49 @@ _prereq: Represents system packages required for installing SageMath from source
44
Description
55
-----------
66

7-
This script package represents the minimal requirements (system packages)
7+
This dummy package represents the minimal requirements (system packages)
88
for installing SageMath from source.
9+
10+
In addition to standard :wikipedia:`POSIX <POSIX>` utilities
11+
and the :wikipedia:`bash <Bash_(Unix_shell)>` shell,
12+
the following standard command-line development tools must be installed on your
13+
computer:
14+
15+
- **make**: GNU make, version 3.80 or later. Version 3.82 or later is recommended.
16+
- **m4**: GNU m4 1.4.2 or later (non-GNU or older versions might also work).
17+
- **perl**: version 5.8.0 or later.
18+
- **ar** and **ranlib**: can be obtained as part of GNU binutils.
19+
- **tar**: GNU tar version 1.17 or later, or BSD tar (as provided on macOS).
20+
- **python**: Python 3.4 or later, or Python 2.7.
21+
(This range of versions is a minimal requirement for internal purposes of the SageMath
22+
build system, which is referred to as ``sage-bootstrap-python``.)
23+
24+
Other versions of these may work, but they are untested.
25+
26+
On macOS, suitable versions of all of these tools are provided
27+
by the Xcode Command Line Tools. To install them, open a terminal
28+
window and run ``xcode-select --install``; then click "Install" in the
29+
pop-up window. If the Xcode Command Line Tools are already installed,
30+
you may want to check if they need to be updated by typing
31+
``softwareupdate -l``.
32+
33+
On Linux, ``ar`` and ``ranlib`` are in the `binutils
34+
<https://www.gnu.org/software/binutils/>`_ package. The other
35+
programs are usually located in packages with their respective names.
36+
37+
On Redhat-derived systems not all perl components are installed by
38+
default and you might have to install the ``perl-ExtUtils-MakeMaker``
39+
package.
40+
41+
To check if you have the above prerequisites installed, for example ``perl``,
42+
type::
43+
44+
$ command -v perl
45+
46+
or::
47+
48+
$ which perl
49+
50+
on the command line. If it gives an error (or returns nothing), then
51+
either ``perl`` is not installed, or it is installed but not in your
52+
:wikipedia:`PATH <PATH_%28variable%29>`.

build/pkgs/configure/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=c2e1c4db6762c4d97d5127f5f056e46fe3d5a94d
3-
md5=70dcc35964e4234443c4e77beb2245d7
4-
cksum=2271434645
2+
sha1=73f9fe2ad9e2cfe224c7667a784144a1c520b9d8
3+
md5=8be336b502a66c5a410183be1eca2ca9
4+
cksum=42655200
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
04fbc829e9850eedf555acc683666c55cb7052d7
1+
51d49e23f3d3014e301fefcf72bf7a2a3fe0c4e0

build/pkgs/distlib/checksums.ini

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
tarball=distlib-VERSION.zip
2-
sha1=e7927ebc964676c17d466ed6a345222c34167a85
3-
md5=c886b7d99b4085c5d960e7435dcbd397
4-
cksum=10374426
5-
upstream_url=https://pypi.io/packages/source/d/distlib/distlib-VERSION.zip
1+
tarball=distlib-VERSION.tar.gz
2+
sha1=3a86d49dc17320325004564d0dc86afa808624bc
3+
md5=f60ba4e3f8e76c214d3d00b2227a16f7
4+
cksum=1543870863
5+
upstream_url=https://pypi.io/packages/source/d/distlib/distlib-VERSION.tar.gz
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.4
1+
0.3.6

build/pkgs/gcc/SPKG.rst

+63-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,70 @@
1-
gcc: The GNU Compiler Collection, including the C, C++ and Fortran compiler
2-
===========================================================================
1+
gcc: The GNU Compiler Collection or other suitable C and C++ compilers
2+
======================================================================
33

44
Description
55
-----------
66

7-
The GNU Compiler Collection, including the C, C++ and Fortran compiler.
7+
This package represents the required C and C++ compilers.
8+
9+
- GCC (GNU Compiler Collection) versions 8.x to 12.x are supported.
10+
11+
- Clang (LLVM) is also supported.
12+
13+
The required Fortran compiler is represented by the package ``gfortran``.
14+
15+
You can pass the names of compilers to use to ``./configure`` using
16+
the environment variables :envvar:`CC`, :envvar:`CXX`, and
17+
:envvar:`FC`, for C, C++, and Fortran compilers, respectively.
18+
19+
For example, if your C compiler is ``clang``, your C++ compiler is
20+
``clang++``, and your Fortran compiler is ``flang``, then you would
21+
need to run::
22+
23+
$ ./configure CC=clang CXX=clang++ FC=flang
24+
25+
Vendor and versions of the C and C++ compilers should match.
26+
27+
Users of older Linux distributions (in particular, ``ubuntu-xenial``
28+
or older, ``debian-stretch`` or older, ``linuxmint-18`` or older)
29+
should upgrade their systems before attempting to install Sage from
30+
source. Users of ``ubuntu-bionic``, ``linuxmint-19.x``, and
31+
``opensuse-15.x`` can install a versioned ``gcc`` system package
32+
and then use::
33+
34+
$ ./configure CC=gcc-8 CXX=g++-8 FC=gfortran-8
35+
36+
or similar. Users on ``ubuntu`` can also install a modern compiler
37+
toolchain `using the ubuntu-toolchain-r ppa
38+
<https://askubuntu.com/questions/1140183/install-gcc-9-on-ubuntu-18-04/1149383#1149383>`_.
39+
On ``ubuntu-trusty``, also the package ``binutils-2.26`` is required;
40+
after installing it, make it available using ``export
41+
PATH="/usr/lib/binutils-2.26/bin:$PATH"``. Instead of upgrading their
42+
distribution, users of ``centos-7`` can install a modern compiler
43+
toolchain `using Redhat's devtoolset
44+
<https://stackoverflow.com/a/67212990/557937>`_.
45+
46+
This package uses the non-standard default
47+
``configure --with-system-gcc=force``, giving an error at ``configure``
48+
time when no suitable system compilers are configured.
49+
50+
You can override this using ``./configure --without-system-gcc``. In
51+
this case, Sage builds and installs the GNU Compiler Collection,
52+
including the C, C++ and Fortran compiler. This is not recommended.
53+
You will need suitable C and C++ compilers from which GCC can
54+
bootstrap itself. There are some known problems with old assemblers,
55+
in particular when building the ``ecm`` and ``fflas_ffpack``
56+
packages. You should ensure that your assembler understands all
57+
instructions for your processor. On Linux, this means you need a
58+
recent version of ``binutils`` (not provided by an SPKG); on macOS
59+
you need a recent version of Xcode.
60+
61+
(Installing the
62+
``gfortran`` SPKG becomes a no-op in this case.)
63+
64+
Building Sage from source on Apple Silicon (M1/M2) requires the use of
65+
Apple's Command Line Tools, and those tools include a suitable
66+
compiler. Sage's ``gcc`` SPKG is not suitable for M1/M2; building it
67+
will likely fail.
868

969
License
1070
-------

build/pkgs/gfortran/SPKG.rst

+15-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,21 @@ gfortran: Fortran compiler from the GNU Compiler Collection
44
Description
55
-----------
66

7-
The GNU Compiler Collection, including the C, C++ and Fortran compiler.
8-
This particular package is meant to only make gfortran available.
7+
This package represents the required Fortran compiler.
8+
9+
Officially we support ``gfortran`` from `GNU Compiler Collection (GCC)
10+
<https://gcc.gnu.org/>`_. It has also been reported that using ``flang``
11+
(from LLVM) might work.
12+
13+
You can pass the names of compilers to use to ``./configure`` using
14+
the environment variables :envvar:`CC`, :envvar:`CXX`, and
15+
:envvar:`FC`, for C, C++, and Fortran compilers, respectively.
16+
17+
For example, if your C compiler is ``clang``, your C++ compiler is
18+
``clang++``, and your Fortran compiler is ``flang``, then you would
19+
need to run::
20+
21+
$ ./configure CC=clang CXX=clang++ FC=flang
922

1023
License
1124
-------

build/pkgs/hatchling/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tarball=hatchling-VERSION.tar.gz
2-
sha1=63ae7f29657e4d069c716e098a9ac8114d2f29f9
3-
md5=e05f845d94f400c3085bbaab21adcdbe
4-
cksum=3213522818
2+
sha1=8f102796a225fb18b0571a44308341c7211d5d94
3+
md5=c50eff4f711cee451037ec7eb780154a
4+
cksum=3180958969
55
upstream_url=https://pypi.io/packages/source/h/hatchling/hatchling-VERSION.tar.gz
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.3.1
1+
1.10.0
+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tarball=importlib_metadata-VERSION.tar.gz
2-
sha1=7d15d8e06299a8f24e076600899aceee75ce8b0b
3-
md5=a605ba6ec315bc1324fd6b7210fe7c12
4-
cksum=448954927
2+
sha1=ec68de1ec1800048de8656b9d211e22b7fe7c53e
3+
md5=cfcf29185e13439c76d09c94bc8d81f4
4+
cksum=2134804316
55
upstream_url=https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-VERSION.tar.gz
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.8.2
1+
4.12.0
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tarball=importlib_resources-VERSION.tar.gz
2-
sha1=d1f2742895a68f3f8d19dd7285df1687877fb15a
3-
md5=5db738106ca7c05340495c36357986a2
4-
cksum=1338307365
2+
sha1=3b4b20fa0399e2fa21c7506be27a4b943495d3ad
3+
md5=3b6d98270d40b2ba7af1f8d09188f0c2
4+
cksum=2401793228
55
upstream_url=https://pypi.io/packages/source/i/importlib_resources/importlib_resources-VERSION.tar.gz
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.2.2
1+
5.9.0
+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tarball=jupyter_packaging-VERSION.tar.gz
2-
sha1=c9b7dd75a70ad6a7c621588db410f07fba7e0fad
3-
md5=d30e6fb387d46398a3ab26765b8fa74f
4-
cksum=669146472
2+
sha1=092d249360aa56838a188decc4bcd09647fda4d9
3+
md5=9c6834023bd699bda5365ab7ed18bde2
4+
cksum=3308833189
55
upstream_url=https://pypi.io/packages/source/j/jupyter_packaging/jupyter_packaging-VERSION.tar.gz
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.12.2
1+
0.12.3

build/pkgs/msolve/SPKG.rst

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
msolve: Multivariate polynomial system solver
2+
=============================================
3+
4+
Description
5+
-----------
6+
7+
Open source C library implementing computer algebra algorithms for solving
8+
polynomial systems (with rational coefficients or coefficients in a prime field).
9+
10+
License
11+
-------
12+
13+
GPL v2+
14+
15+
Upstream Contact
16+
----------------
17+
18+
https://github.com/algebraic-solving/msolve
19+
20+
Upstream does not make source tarballs.
21+
We make tarballs from the fork https://github.com/mkoeppe/msolve (branch 0.4.4+sage)

build/pkgs/msolve/checksums.ini

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
tarball=msolve-VERSION.tar.gz
2+
sha1=5b227de8b222bfe8d143e1d7ea77ad71cd209dc8
3+
md5=2f34bd9ccb089688ae169201281108dc
4+
cksum=941373315
5+
upstream_url=https://trac.sagemath.org/raw-attachment/ticket/31664/msolve-VERSION.tar.gz

build/pkgs/msolve/dependencies

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
$(MP_LIBRARY) flint mpfr
2+
3+
----------
4+
All lines of this file are ignored except the first.

build/pkgs/msolve/package-version.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.4.4+sage-2022-09-11

build/pkgs/msolve/spkg-install.in

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
cd src
2+
sdh_configure
3+
sdh_make
4+
sdh_make_install

build/pkgs/msolve/type

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
optional

build/pkgs/numpy/checksums.ini

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
tarball=numpy-VERSION.zip
2-
sha1=3ac08064b2ec8db8fe4870c2545c9d154f46bb30
3-
md5=b44849506fbb54cdef9dbb435b2b1987
4-
cksum=735479084
5-
upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.zip
1+
tarball=numpy-VERSION.tar.gz
2+
sha1=570c995d7b155c7e4ac43bc46594172cedf1e4fa
3+
md5=6efc60a3f6c1b74c849d53fbcc07807b
4+
cksum=3973735135
5+
upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.tar.gz

build/pkgs/numpy/package-version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.22.4
1+
1.23.3

0 commit comments

Comments
 (0)