Skip to content

Commit

Permalink
Merge tag '9.8.rc0' into public/33360
Browse files Browse the repository at this point in the history
SageMath version 9.8.rc0, Release Date: 2023-01-29
  • Loading branch information
yyyyx4 committed Jan 30, 2023
2 parents 9a2bddb + 9116c55 commit b31f59b
Show file tree
Hide file tree
Showing 759 changed files with 13,266 additions and 4,118 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ on:
"ubuntu-focal",
"ubuntu-jammy",
"ubuntu-kinetic",
"ubuntu-lunar",
"debian-buster",
"debian-bullseye",
"debian-bookworm",
Expand All @@ -32,6 +33,7 @@ on:
"linuxmint-20.2",
"linuxmint-20.3",
"linuxmint-21",
"linuxmint-21.1",
"fedora-29-python3.8",
"fedora-30-python3.8",
"fedora-31",
Expand All @@ -41,11 +43,13 @@ on:
"fedora-35",
"fedora-36",
"fedora-37",
"fedora-38",
"centos-7-devtoolset-gcc_11",
"centos-stream-8-python3.9",
"centos-stream-9-python3.9",
"gentoo-python3.9",
"gentoo-python3.10",
"gentoo-python3.11",
"archlinux-latest",
"opensuse-15.3-gcc_11-python3.9",
"opensuse-15.4-gcc_11-python3.10",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Install relint
run: pip install tox relint
- name: Lint using relint
run: tox -e relint src/sage/
run: tox -e relint -- src/sage/
lint-rst:
name: Validate docstring markup as RST
runs-on: ubuntu-latest
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.8.beta6",
"version": "9.8.beta6",
"title": "sagemath/sage: 9.8.rc0",
"version": "9.8.rc0",
"upload_type": "software",
"publication_date": "2022-12-21",
"publication_date": "2023-01-29",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.8.beta6",
"identifier": "https://github.com/sagemath/sage/tree/9.8.rc0",
"relation": "isSupplementTo"
},
{
Expand Down
37 changes: 29 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,16 +228,37 @@ in the Installation Guide.
(If the bootstrapping prerequisites are not installed, this command will
download a package providing pre-built bootstrap output instead.)

6. [macOS with homebrew] Set required environment variables for the build:
6. Sanitize the build environment. Use the command

$ source ./.homebrew-build-env
$ env

This is to make some of Homebrew's packages (so-called keg-only packages)
available for the build. Run it once to apply the suggestions for the current
terminal session. You may need to repeat this command before you rebuild Sage
from a new terminal session, or after installing additional homebrew packages.
(You can also add it to your shell profile so that it gets run automatically
in all future sessions.)
to inspect the current environment variables, in particular `PATH`,
`PKG_CONFIG_PATH`, `LD_LIBRARY_PATH`, `CFLAGS`, `CPPFLAGS`, `CXXFLAGS`,
and `LDFLAGS` (if set).

Remove items from these (colon-separated) environment variables
that Sage should not use for its own build. In particular, remove
items if they refer to a previous Sage installation.

- [WSL] In particular, WSL imports many items from the Windows
`PATH` variable into the Linux environment, which can lead to
confusing build errors. These items typically start with `/mnt/c`.
It is best to remove all of them from the environment variables.
For example, you can set `PATH` using the command:

$ export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/

- [macOS with homebrew] Set required environment variables for the build:

$ source ./.homebrew-build-env

This is to make some of Homebrew's packages (so-called keg-only
packages) available for the build. Run it once to apply the
suggestions for the current terminal session. You may need to
repeat this command before you rebuild Sage from a new terminal
session, or after installing additional homebrew packages. (You
can also add it to your shell profile so that it gets run
automatically in all future sessions.)

7. Optionally, decide on the installation prefix (`SAGE_LOCAL`):

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.beta6, Release Date: 2022-12-21
SageMath version 9.8.rc0, Release Date: 2023-01-29
6 changes: 3 additions & 3 deletions build/pkgs/babel/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=Babel-VERSION.tar.gz
sha1=1ce15f82eba5184cabe6ac1491cb58262e27adfd
md5=7166099733d78aa857d74fa50d8ff58c
cksum=1695340328
sha1=75baeb68d7481a67ba203191aa460c56b0221fda
md5=9ee7784fd452d456206ecd3a12694010
cksum=227595701
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.9.1
2.11.0
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=03fa7a341ddf380aa4fe54a85b0c41debd2ffe7e
md5=6fdfcb62364de0e8c8d57f5d3a38c909
cksum=3919137984
sha1=cc57d00f6f8fd1c5123b6f7dee07d8c6c717859d
md5=62d1ead9dd1ddfa11a1c4164f197bddb
cksum=580469152
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7819a59980b78950a0eb4aa18c529efa380d687b
0f25b00a8e24881db418b69dcfe499d6437aa5b7
2 changes: 1 addition & 1 deletion build/pkgs/contourpy/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$(PYTHON) | $(PYTHON_TOOLCHAIN) pybind11
$(PYTHON) numpy | $(PYTHON_TOOLCHAIN) pybind11

----------
All lines of this file are ignored except the first.
2 changes: 1 addition & 1 deletion build/pkgs/cython/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.29.32.p1
0.29.32.p2
11 changes: 9 additions & 2 deletions build/pkgs/cython/patches/trashcan.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
See https://github.com/cython/cython/pull/2842

and https://github.com/cython/cython/pull/4475

commit c47c4ef735c4b7f1863b21bbe6f112b06c4aad05
Author: Jeroen Demeyer <J.Demeyer@UGent.be>
Date: Thu Feb 14 10:02:41 2019 +0100
Expand Down Expand Up @@ -128,7 +130,7 @@ diff --git a/Cython/Utility/ExtensionTypes.c b/Cython/Utility/ExtensionTypes.c
index 50d0e21..ca2adbe 100644
--- a/Cython/Utility/ExtensionTypes.c
+++ b/Cython/Utility/ExtensionTypes.c
@@ -74,6 +74,49 @@ static int __Pyx_PyType_Ready(PyTypeObject *t) {
@@ -74,6 +74,54 @@ static int __Pyx_PyType_Ready(PyTypeObject *t) {
return r;
}

Expand All @@ -140,7 +142,12 @@ index 50d0e21..ca2adbe 100644
+
+// This requires CPython version >= 2.7.4
+// (or >= 3.2.4 but we don't support such old Python 3 versions anyway)
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070400
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03080000
+// https://github.com/python/cpython/pull/11841 merged so Cython reimplementation
+// is no longer necessary
+#define __Pyx_TRASHCAN_BEGIN Py_TRASHCAN_BEGIN
+#define __Pyx_TRASHCAN_END Py_TRASHCAN_END
+#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070400
+#define __Pyx_TRASHCAN_BEGIN_CONDITION(op, cond) \
+ do { \
+ PyThreadState *_tstate = NULL; \
Expand Down
27 changes: 27 additions & 0 deletions build/pkgs/dsdp/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
dsdp: Semidefinite programming solver
=====================================

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

Implementation of an interior-point method for semidefinite
programming. It provides primal and dual solutions, exploits low-rank
structure and sparsity in the data, and has relatively low memory
requirements for an interior-point method. It allows feasible and
infeasible starting points and provides approximate certificates of
infeasibility when no feasible solution exists. The dual-scaling
algorithm implemented in this package has a convergence proof and
worst-case polynomial complexity under mild assumptions on the data.


License
-------

Permissive open source license
https://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt


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

https://www.mcs.anl.gov/hs/software/DSDP/
5 changes: 5 additions & 0 deletions build/pkgs/dsdp/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tarball=dsdp_VERSION.orig.tar.gz
sha1=d80b072acf5396561809266ff1c93e7927697aeb
md5=7f49a35f3fe7b5802d29ee2435fdb67e
cksum=955095458
upstream_url=http://deb.debian.org/debian/pool/main/d/dsdp/dsdp_VERSION.orig.tar.gz
1 change: 1 addition & 0 deletions build/pkgs/dsdp/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(BLAS) | cmake
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dsdp
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dsdp
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
libdsdp-dev
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DSDP-devel
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
math/dsdp
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/gentoo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sci-libs/dsdp
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DSDP
1 change: 1 addition & 0 deletions build/pkgs/dsdp/distros/repology.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dsdp
1 change: 1 addition & 0 deletions build/pkgs/dsdp/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5.8
52 changes: 52 additions & 0 deletions build/pkgs/dsdp/patches/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
cmake_minimum_required(VERSION 3.0)
project (dsdp VERSION 5.8 LANGUAGES C)

link_directories(${LIBRARY_PREFIX}/lib)

find_package(LAPACK REQUIRED)

include_directories(include src/vecmat src/solver src/sdp)
FILE (GLOB_RECURSE SRCS src/*.c)
if(WIN32)
list(APPEND SRCS dsdp.def)
endif()

## DSDP shared library
add_library(dsdp ${SRCS})
target_link_libraries(dsdp ${LAPACK_LIBRARIES})
target_include_directories(dsdp PUBLIC include src/vecmat src/solver src/sdp)
target_compile_options(dsdp PUBLIC -O2)

if(WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
target_compile_definitions(dsdp PUBLIC DSDP_MS_TIME)
else()
target_link_libraries(dsdp m)
target_compile_definitions(dsdp PUBLIC DSDP_TIME)
endif()

## DSDP5 executable
if(NOT WIN32)
add_executable(dsdp5 examples/readsdpa.c)
add_dependencies(dsdp5 dsdp)
target_link_libraries(dsdp5 dsdp)
target_include_directories(dsdp5 PUBLIC include)
endif()
if(APPLE)
target_compile_definitions(dsdp5 PUBLIC _FORTIFY_SOURCE=0)
endif()

if(WIN32)
install(TARGETS dsdp
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
else()
install(TARGETS dsdp5 dsdp
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
endif()

FILE (GLOB DSDP_HEADERS include/*.h)
INSTALL(FILES ${DSDP_HEADERS} DESTINATION include)
11 changes: 11 additions & 0 deletions build/pkgs/dsdp/patches/conda-forge-malloc.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff -ruN DSDP5.8/src/sys/dsdploginfo.c DSDP5.8_patched/src/sys/dsdploginfo.c
--- DSDP5.8/src/sys/dsdploginfo.c 2005-10-21 21:31:15.000000000 +0200
+++ DSDP5.8_patched/src/sys/dsdploginfo.c 2018-04-30 09:34:52.000000000 +0200
@@ -6,7 +6,6 @@
#include <stdarg.h>
#include <sys/types.h>
#include <stdlib.h>
-#include <malloc.h>
#include "dsdpsys.h"
#include "dsdpbasictypes.h"

39 changes: 39 additions & 0 deletions build/pkgs/dsdp/patches/debian-type-mismatch.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Description: Use correct integer type for Fortran prototypes and variables
GNU Fortran's default integer width is 32-bit, the same as GCC, therefore use
int rather than long int when interfacing with Fortran. This was an issue on
64-bit big-endian systems, since the upper 32 bits of the long would be set,
which would also be lost when truncating to a 32-bit integer.
Author: James Clarke <jrtc27@debian.org>
Bug-Debian: https://bugs.debian.org/857067
Last-Update: 2017-03-28
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/include/dsdplapack.h
+++ b/include/dsdplapack.h
@@ -4,11 +4,11 @@
\file dsdplapack.h
\brief DSDP uses BLAS and LAPACK for many of its operations.
*/
-
-typedef long int ffinteger;
/*
-typedef int ffinteger;
+typedef long int ffinteger;
*/
+typedef int ffinteger;
+
/*
#define __DSDP_NONAMEMANGLING
#undef __DSDP_NONAMEMANGLING
--- a/src/vecmat/dtrsm2.c
+++ b/src/vecmat/dtrsm2.c
@@ -1,7 +1,7 @@
#include "dsdplapack.h"

-typedef long int integer;
-typedef long int logical;
+typedef int integer;
+typedef int logical;

#define max(a,b) ((a) >= (b) ? (a) : (b))
#define dmax(a,b) (double)max(a,b)
9 changes: 9 additions & 0 deletions build/pkgs/dsdp/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
cd src
cp ../patches/CMakeLists.txt .
sdh_cmake -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBLA_VENDOR=OpenBLAS \
-DBLAS_LIBRARIES="$(pkg-config --libs blas)" \
-DLAPACK_LIBRARIES="$(pkg-config --libs lapack)"
sdh_make
sdh_make_install
1 change: 1 addition & 0 deletions build/pkgs/dsdp/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
6 changes: 3 additions & 3 deletions build/pkgs/fplll/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=fplll-VERSION.tar.gz
sha1=d84ae04deee3a29033c6e28e40c67ed14f8fff32
md5=9e8ed4e5ff7f3231f9ccf397dca9a117
cksum=855019078
sha1=8353a0db588d891951aa9760fbe490f4e308de8d
md5=7e333d7d0e535d27c591271340e28865
cksum=2543682321
upstream_url=https://github.com/fplll/fplll/releases/download/VERSION/fplll-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/fplll/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.4.2
5.4.4
2 changes: 1 addition & 1 deletion build/pkgs/fplll/spkg-configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ SAGE_SPKG_CONFIGURE([fplll], [
dnl Trac #31025: FPLLL/FPyLLL make no guarantee regarding compatibility
dnl other than "whatever versions were released at the same time should work together"
PKG_CHECK_MODULES([FPLLL],
[fplll >= 5.4.0 fplll <= 5.4.2],
[fplll >= 5.4.4 fplll <= 5.4.4],
[
AC_MSG_CHECKING([whether BKZ default strategy JSON is installed])
AC_LANG_PUSH([C++])
Expand Down
6 changes: 3 additions & 3 deletions build/pkgs/fpylll/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
tarball=fpylll-VERSION.tar.gz
sha1=9c4951f4ec50f36805129df4b821e5ea18b7ad30
md5=d802205f818a9ae5846f8eaa34db7b5c
cksum=3615125514
sha1=2dcc29155ee11b4460fc79c2d933b6b8230c89f6
md5=828b3a382594d34d8788e9ff041125bd
cksum=921330875
upstream_url=https://github.com/fplll/fpylll/releases/download/VERSION/fpylll-VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/fpylll/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fpylll >=0.5.6, <=0.5.7
fpylll >=0.5.9, <=0.5.9
2 changes: 1 addition & 1 deletion build/pkgs/fpylll/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.5.7
0.5.9
Loading

0 comments on commit b31f59b

Please sign in to comment.