Skip to content

Commit

Permalink
Merge branch 'u/mantepse/replace_lazy_power_series-32367' of trac.sag…
Browse files Browse the repository at this point in the history
…emath.org:sage into t/34470/categories_lazy_series-34470
  • Loading branch information
mantepse committed Oct 5, 2022
2 parents 41ca99b + 4fc981b commit 56cef07
Show file tree
Hide file tree
Showing 386 changed files with 4,600 additions and 2,817 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"Conda",
"sagemath",
"Cython"
]
],
"editor.formatOnType": true
}
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.8.beta0",
"version": "9.8.beta0",
"title": "sagemath/sage: 9.8.beta1",
"version": "9.8.beta1",
"upload_type": "software",
"publication_date": "2022-09-25",
"publication_date": "2022-09-29",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta0",
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta1",
"relation": "isSupplementTo"
},
{
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ If your Mac uses the Apple Silicon (M1, arm64) architecture:
https://brew.sh/ required because it provides a version of ``gfortran`` with
necessary changes for this platform that are not in a released upstream
version of GCC. (The ``gfortran`` package that comes with the Sage
distribution is not suitable for the M1.)
distribution is not suitable for the M1/M2.)

If your Mac uses the Intel (x86_64) architecture:

Expand Down Expand Up @@ -184,14 +184,20 @@ in the Installation Guide.

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

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

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

We have collected lists of system packages that provide these build
prerequisites. See, in the folder
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.8.beta0, Release Date: 2022-09-25
SageMath version 9.8.beta1, Release Date: 2022-09-29
2 changes: 2 additions & 0 deletions build/bin/sage-dist-helpers
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,8 @@ sdh_pip_install() {

sdh_pip_editable_install() {
echo "Installing $PKG_NAME (editable mode)"
# Until https://trac.sagemath.org/ticket/34209 switches us to PEP 660 editable wheels
export SETUPTOOLS_ENABLE_FEATURES=legacy-editable
python3 -m pip install --verbose --no-deps --no-index --no-build-isolation --isolated --editable "$@" || \
sdh_die "Error installing $PKG_NAME"
}
Expand Down
6 changes: 3 additions & 3 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ define SET_SAGE_CHECK
$(eval SAGE_CHECK_$(1) := $(2))
endef
# Set defaults
$(foreach pkgname, $(NORMAL_PACKAGES),\
$(foreach pkgname, $(NORMAL_PACKAGES) $(SCRIPT_PACKAGES),\
$(eval $(call SET_SAGE_CHECK,$(pkgname),$(SAGE_CHECK))))

# Parsing the SAGE_CHECK_PACKAGES variable:
Expand Down Expand Up @@ -460,7 +460,7 @@ $(foreach clause, $(SAGE_CHECK_PACKAGES_sep), \
$(eval $(call SET_SAGE_CHECK,$(subst ?,,$(clause)),warn)), \
$(eval $(call SET_SAGE_CHECK,$(clause),yes)))))
debug-check:
@echo $(foreach pkgname, $(NORMAL_PACKAGES), SAGE_CHECK_$(pkgname) = $(SAGE_CHECK_$(pkgname)))
@echo $(foreach pkgname, $(NORMAL_PACKAGES) $(SCRIPT_PACKAGES), SAGE_CHECK_$(pkgname) = $(SAGE_CHECK_$(pkgname)))


#==============================================================================
Expand Down Expand Up @@ -676,7 +676,7 @@ $(1)-$(4)-no-deps:
. '$$(SAGE_ROOT)/build/bin/sage-build-env' && \
SAGE_SPKG_WHEELS=$$($(4))/var/lib/sage/wheels \
SAGE_INST_LOCAL=$$($(4)) \
sage-logger -p '$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1)-$(2).log' && \
sage-logger -p 'SAGE_CHECK=$$(SAGE_CHECK_$(1)) $$(SAGE_ROOT)/build/pkgs/$(1)/spkg-install' '$$(SAGE_LOGS)/$(1)-$(2).log' && \
rm -f "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-*" && \
touch "$$($(4))/$(SPKG_INST_RELDIR)/$(1)-$(2)"; \
else ( \
Expand Down
46 changes: 45 additions & 1 deletion build/pkgs/_prereq/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,49 @@ _prereq: Represents system packages required for installing SageMath from source
Description
-----------

This script package represents the minimal requirements (system packages)
This dummy package represents the minimal requirements (system packages)
for installing SageMath from source.

In addition to standard :wikipedia:`POSIX <POSIX>` utilities
and the :wikipedia:`bash <Bash_(Unix_shell)>` shell,
the following standard command-line development tools must be installed on your
computer:

- **make**: GNU make, version 3.80 or later. Version 3.82 or later is recommended.
- **m4**: GNU m4 1.4.2 or later (non-GNU or older versions might also work).
- **perl**: version 5.8.0 or later.
- **ar** and **ranlib**: can be obtained as part of GNU binutils.
- **tar**: GNU tar version 1.17 or later, or BSD tar (as provided on macOS).
- **python**: Python 3.4 or later, or Python 2.7.
(This range of versions is a minimal requirement for internal purposes of the SageMath
build system, which is referred to as ``sage-bootstrap-python``.)

Other versions of these may work, but they are untested.

On macOS, suitable versions of all of these tools are provided
by the Xcode Command Line Tools. To install them, open a terminal
window and run ``xcode-select --install``; then click "Install" in the
pop-up window. If the Xcode Command Line Tools are already installed,
you may want to check if they need to be updated by typing
``softwareupdate -l``.

On Linux, ``ar`` and ``ranlib`` are in the `binutils
<https://www.gnu.org/software/binutils/>`_ package. The other
programs are usually located in packages with their respective names.

On Redhat-derived systems not all perl components are installed by
default and you might have to install the ``perl-ExtUtils-MakeMaker``
package.

To check if you have the above prerequisites installed, for example ``perl``,
type::

$ command -v perl

or::

$ which perl

on the command line. If it gives an error (or returns nothing), then
either ``perl`` is not installed, or it is installed but not in your
:wikipedia:`PATH <PATH_%28variable%29>`.
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=c2e1c4db6762c4d97d5127f5f056e46fe3d5a94d
md5=70dcc35964e4234443c4e77beb2245d7
cksum=2271434645
sha1=73f9fe2ad9e2cfe224c7667a784144a1c520b9d8
md5=8be336b502a66c5a410183be1eca2ca9
cksum=42655200
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
04fbc829e9850eedf555acc683666c55cb7052d7
51d49e23f3d3014e301fefcf72bf7a2a3fe0c4e0
10 changes: 5 additions & 5 deletions build/pkgs/distlib/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=distlib-VERSION.zip
sha1=e7927ebc964676c17d466ed6a345222c34167a85
md5=c886b7d99b4085c5d960e7435dcbd397
cksum=10374426
upstream_url=https://pypi.io/packages/source/d/distlib/distlib-VERSION.zip
tarball=distlib-VERSION.tar.gz
sha1=3a86d49dc17320325004564d0dc86afa808624bc
md5=f60ba4e3f8e76c214d3d00b2227a16f7
cksum=1543870863
upstream_url=https://pypi.io/packages/source/d/distlib/distlib-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/distlib/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.3.4
0.3.6
66 changes: 63 additions & 3 deletions build/pkgs/gcc/SPKG.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,70 @@
gcc: The GNU Compiler Collection, including the C, C++ and Fortran compiler
===========================================================================
gcc: The GNU Compiler Collection or other suitable C and C++ compilers
======================================================================

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

The GNU Compiler Collection, including the C, C++ and Fortran compiler.
This package represents the required C and C++ compilers.

- GCC (GNU Compiler Collection) versions 8.x to 12.x are supported.

- Clang (LLVM) is also supported.

The required Fortran compiler is represented by the package ``gfortran``.

You can pass the names of compilers to use to ``./configure`` using
the environment variables :envvar:`CC`, :envvar:`CXX`, and
:envvar:`FC`, for C, C++, and Fortran compilers, respectively.

For example, if your C compiler is ``clang``, your C++ compiler is
``clang++``, and your Fortran compiler is ``flang``, then you would
need to run::

$ ./configure CC=clang CXX=clang++ FC=flang

Vendor and versions of the C and C++ compilers should match.

Users of older Linux distributions (in particular, ``ubuntu-xenial``
or older, ``debian-stretch`` or older, ``linuxmint-18`` or older)
should upgrade their systems before attempting to install Sage from
source. Users of ``ubuntu-bionic``, ``linuxmint-19.x``, and
``opensuse-15.x`` can install a versioned ``gcc`` system package
and then use::

$ ./configure CC=gcc-8 CXX=g++-8 FC=gfortran-8

or similar. Users on ``ubuntu`` can also install a modern compiler
toolchain `using the ubuntu-toolchain-r ppa
<https://askubuntu.com/questions/1140183/install-gcc-9-on-ubuntu-18-04/1149383#1149383>`_.
On ``ubuntu-trusty``, also the package ``binutils-2.26`` is required;
after installing it, make it available using ``export
PATH="/usr/lib/binutils-2.26/bin:$PATH"``. Instead of upgrading their
distribution, users of ``centos-7`` can install a modern compiler
toolchain `using Redhat's devtoolset
<https://stackoverflow.com/a/67212990/557937>`_.

This package uses the non-standard default
``configure --with-system-gcc=force``, giving an error at ``configure``
time when no suitable system compilers are configured.

You can override this using ``./configure --without-system-gcc``. In
this case, Sage builds and installs the GNU Compiler Collection,
including the C, C++ and Fortran compiler. This is not recommended.
You will need suitable C and C++ compilers from which GCC can
bootstrap itself. There are some known problems with old assemblers,
in particular when building the ``ecm`` and ``fflas_ffpack``
packages. You should ensure that your assembler understands all
instructions for your processor. On Linux, this means you need a
recent version of ``binutils`` (not provided by an SPKG); on macOS
you need a recent version of Xcode.

(Installing the
``gfortran`` SPKG becomes a no-op in this case.)

Building Sage from source on Apple Silicon (M1/M2) requires the use of
Apple's Command Line Tools, and those tools include a suitable
compiler. Sage's ``gcc`` SPKG is not suitable for M1/M2; building it
will likely fail.

License
-------
Expand Down
17 changes: 15 additions & 2 deletions build/pkgs/gfortran/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,21 @@ gfortran: Fortran compiler from the GNU Compiler Collection
Description
-----------

The GNU Compiler Collection, including the C, C++ and Fortran compiler.
This particular package is meant to only make gfortran available.
This package represents the required Fortran compiler.

Officially we support ``gfortran`` from `GNU Compiler Collection (GCC)
<https://gcc.gnu.org/>`_. It has also been reported that using ``flang``
(from LLVM) might work.

You can pass the names of compilers to use to ``./configure`` using
the environment variables :envvar:`CC`, :envvar:`CXX`, and
:envvar:`FC`, for C, C++, and Fortran compilers, respectively.

For example, if your C compiler is ``clang``, your C++ compiler is
``clang++``, and your Fortran compiler is ``flang``, then you would
need to run::

$ ./configure CC=clang CXX=clang++ FC=flang

License
-------
Expand Down
6 changes: 3 additions & 3 deletions build/pkgs/hatchling/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=hatchling-VERSION.tar.gz
sha1=63ae7f29657e4d069c716e098a9ac8114d2f29f9
md5=e05f845d94f400c3085bbaab21adcdbe
cksum=3213522818
sha1=8f102796a225fb18b0571a44308341c7211d5d94
md5=c50eff4f711cee451037ec7eb780154a
cksum=3180958969
upstream_url=https://pypi.io/packages/source/h/hatchling/hatchling-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/hatchling/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.1
1.10.0
6 changes: 3 additions & 3 deletions build/pkgs/importlib_metadata/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=importlib_metadata-VERSION.tar.gz
sha1=7d15d8e06299a8f24e076600899aceee75ce8b0b
md5=a605ba6ec315bc1324fd6b7210fe7c12
cksum=448954927
sha1=ec68de1ec1800048de8656b9d211e22b7fe7c53e
md5=cfcf29185e13439c76d09c94bc8d81f4
cksum=2134804316
upstream_url=https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/importlib_metadata/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.8.2
4.12.0
6 changes: 3 additions & 3 deletions build/pkgs/importlib_resources/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=importlib_resources-VERSION.tar.gz
sha1=d1f2742895a68f3f8d19dd7285df1687877fb15a
md5=5db738106ca7c05340495c36357986a2
cksum=1338307365
sha1=3b4b20fa0399e2fa21c7506be27a4b943495d3ad
md5=3b6d98270d40b2ba7af1f8d09188f0c2
cksum=2401793228
upstream_url=https://pypi.io/packages/source/i/importlib_resources/importlib_resources-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/importlib_resources/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.2.2
5.9.0
6 changes: 3 additions & 3 deletions build/pkgs/jupyter_packaging/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=jupyter_packaging-VERSION.tar.gz
sha1=c9b7dd75a70ad6a7c621588db410f07fba7e0fad
md5=d30e6fb387d46398a3ab26765b8fa74f
cksum=669146472
sha1=092d249360aa56838a188decc4bcd09647fda4d9
md5=9c6834023bd699bda5365ab7ed18bde2
cksum=3308833189
upstream_url=https://pypi.io/packages/source/j/jupyter_packaging/jupyter_packaging-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/jupyter_packaging/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.12.2
0.12.3
21 changes: 21 additions & 0 deletions build/pkgs/msolve/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
msolve: Multivariate polynomial system solver
=============================================

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

Open source C library implementing computer algebra algorithms for solving
polynomial systems (with rational coefficients or coefficients in a prime field).

License
-------

GPL v2+

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

https://github.com/algebraic-solving/msolve

Upstream does not make source tarballs.
We make tarballs from the fork https://github.com/mkoeppe/msolve (branch 0.4.4+sage)
5 changes: 5 additions & 0 deletions build/pkgs/msolve/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tarball=msolve-VERSION.tar.gz
sha1=5b227de8b222bfe8d143e1d7ea77ad71cd209dc8
md5=2f34bd9ccb089688ae169201281108dc
cksum=941373315
upstream_url=https://trac.sagemath.org/raw-attachment/ticket/31664/msolve-VERSION.tar.gz
4 changes: 4 additions & 0 deletions build/pkgs/msolve/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$(MP_LIBRARY) flint mpfr

----------
All lines of this file are ignored except the first.
1 change: 1 addition & 0 deletions build/pkgs/msolve/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.4.4+sage-2022-09-11
4 changes: 4 additions & 0 deletions build/pkgs/msolve/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
cd src
sdh_configure
sdh_make
sdh_make_install
1 change: 1 addition & 0 deletions build/pkgs/msolve/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
10 changes: 5 additions & 5 deletions build/pkgs/numpy/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=numpy-VERSION.zip
sha1=3ac08064b2ec8db8fe4870c2545c9d154f46bb30
md5=b44849506fbb54cdef9dbb435b2b1987
cksum=735479084
upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.zip
tarball=numpy-VERSION.tar.gz
sha1=570c995d7b155c7e4ac43bc46594172cedf1e4fa
md5=6efc60a3f6c1b74c849d53fbcc07807b
cksum=3973735135
upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/numpy/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.22.4
1.23.3
Loading

0 comments on commit 56cef07

Please sign in to comment.