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.4.beta6' into t/31881/realset__extend_constructors_so_th…
Browse files Browse the repository at this point in the history
…at_they_can_build_manifold_objects

SageMath version 9.4.beta6, Release Date: 2021-07-24
  • Loading branch information
Matthias Koeppe committed Jul 24, 2021
2 parents 8093a4d + 8bae3ff commit 3ce89e8
Show file tree
Hide file tree
Showing 260 changed files with 9,986 additions and 4,044 deletions.
2 changes: 1 addition & 1 deletion .homebrew-build-env
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ for l in readline bzip2 ntl; do
CPATH="$HOMEBREW/opt/$l/include:$CPATH"
fi
done
for l in "gcc/lib/gcc/10 gcc/lib/gcc/9"; do
for l in "gcc/lib/gcc/11 gcc/lib/gcc/10 gcc/lib/gcc/9"; do
if [ -d "$HOMEBREW/opt/$l" ]; then
LIBRARY_PATH="$HOMEBREW/opt/$l:$LIBRARY_PATH"
break
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.beta5",
"version": "9.4.beta5",
"title": "sagemath/sage: 9.4.beta6",
"version": "9.4.beta6",
"upload_type": "software",
"publication_date": "2021-07-18",
"publication_date": "2021-07-24",
"creators": [
{
"affiliation": "SageMath.org",
Expand All @@ -15,7 +15,7 @@
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://github.com/sagemath/sage/tree/9.4.beta5",
"identifier": "https://github.com/sagemath/sage/tree/9.4.beta6",
"relation": "isSupplementTo"
},
{
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.beta5, Release Date: 2021-07-18
SageMath version 9.4.beta6, Release Date: 2021-07-24
20 changes: 20 additions & 0 deletions build/bin/sage-dist-helpers
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@
# If $SAGE_DESTDIR is not set then the command is run with $SAGE_SUDO, if
# set.
#
# - sdh_pip_uninstall [...]
#
# Runs `pip uninstall` with the given arguments. If unsuccessful, it displays a warning.
#
# - sdh_cmake [...]
#
# Runs `cmake` in the current directory with the given arguments, as well as
Expand Down Expand Up @@ -266,6 +270,22 @@ sdh_store_and_pip_install_wheel() {
fi
$sudo sage-pip-install $root "$wheel" || \
sdh_die "Error installing ${wheel##*/}"
if [ -n "${SAGE_PKG_DIR}" ]; then
# Record name of installed distribution name for uninstallation.
wheel=${wheel##*/}
echo "${wheel%%-*}" >> ${SAGE_PKG_DIR}/spkg-piprm-requirements.txt
fi
}

sdh_pip_uninstall() {
# --disable-pip-version-check: Don't periodically check PyPI to determine whether a new version of pip is available
# --no-input: Disable prompting for input.
# --yes: Don't ask for confirmation of uninstall deletions
# See sage-pip-install for a discussion of the other flags.
python3 -m pip uninstall --isolated --disable-pip-version-check --yes --no-input "$@"
if [ $? -ne 0 ]; then
echo "Warning: pip exited with status $?" >&2
fi
}

sdh_cmake() {
Expand Down
63 changes: 20 additions & 43 deletions build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -295,12 +295,6 @@ export SAGE_SPKG_INST="$SAGE_INST_LOCAL/var/lib/sage/installed"
export SAGE_SPKG_SCRIPTS="$SAGE_INST_LOCAL/var/lib/sage/scripts"
export SAGE_SPKG_WHEELS="$SAGE_INST_LOCAL/var/lib/sage/wheels"

# USE_LOCAL_SCRIPTS is a flag that if non-empty will cause
# this script to try to install the package using local metadata
# i.e. use upstream tarballs (vs spkgs) and scripts located in build/pkgs/$PKG_BASE
# the value of this flag is set in the next codeblock
USE_LOCAL_SCRIPTS=

# PKG_SRC should look like "package-VERSION" or just "package".
# If VERSION matches the version in build/pkgs or there is no version
# specified, use the local scripts; otherwise we try to find a package
Expand All @@ -315,7 +309,6 @@ if [ -z "$PKG_VER" ]; then
else
PKG_NAME="${PKG_BASE}-${PKG_VER}"
fi
USE_LOCAL_SCRIPTS=yes
PKG_BASE_VER=`echo $PKG_VER | sed 's/\.p[0-9][0-9]*$//'`
PKG_NAME_UPSTREAM=`lookup_param tarball "$PKG_SCRIPTS/checksums.ini" | sed "s/VERSION/$PKG_BASE_VER/"`

Expand Down Expand Up @@ -351,7 +344,7 @@ EOF
fi
fi

if [ $INFO -ne 0 -a "$USE_LOCAL_SCRIPTS" = yes ]; then
if [ $INFO -ne 0 ]; then
exec sage-spkg-info $PKG_BASE
fi

Expand Down Expand Up @@ -395,20 +388,6 @@ if [ -n "$SAGE_INSTALL_FETCH_ONLY" ]; then
exit 0
fi

##################################################################
# Handle --info
##################################################################

if [ $INFO -ne 0 -a -z "$USE_LOCAL_SCRIPTS" ]; then
cat "$PKG_SCRIPTS/SPKG.txt"
sage-uncompress-spkg "$PKG_SRC" "$PKG_NAME/SPKG.txt"
if [ $? -ne 0 ]; then
error_msg "Error: no file SPKG.txt in $PKG_NAME"
exit 1
fi
exit 0
fi

##################################################################
# Setup directories
##################################################################
Expand Down Expand Up @@ -467,19 +446,13 @@ fi
# Extract the package
##################################################################

if [ "$USE_LOCAL_SCRIPTS" = yes ]; then
# New-style package
echo "Setting up build directory for $PKG_NAME"
cp -RLp "$PKG_SCRIPTS" "$PKG_NAME"
cd "$PKG_NAME" || exit $?
echo "Setting up build directory for $PKG_NAME"
cp -RLp "$PKG_SCRIPTS" "$PKG_NAME"
cd "$PKG_NAME" || exit $?

sage-uncompress-spkg -d src "$PKG_SRC"
if [ $? -ne 0 ]; then
error_msg "Error: failed to extract $PKG_SRC"
exit 1
fi
else
echo >&2 "Error: Installing old-style SPKGs is no longer supported."
sage-uncompress-spkg -d src "$PKG_SRC"
if [ $? -ne 0 ]; then
error_msg "Error: failed to extract $PKG_SRC"
exit 1
fi

Expand Down Expand Up @@ -559,9 +532,12 @@ __EOF__
}


WRAPPED_SCRIPTS="build install check preinst postinst prerm postrm"
INSTALLED_SCRIPTS="prerm postrm"
INSTALLED_SCRIPTS="prerm piprm postrm"
WRAPPED_SCRIPTS="build install check preinst postinst $INSTALLED_SCRIPTS"

# Prepare script for uninstallation of packages that use sdh_pip_install
# or sdh_store_and_pip_install_wheel.
echo 'sdh_pip_uninstall -r $SAGE_SPKG_SCRIPTS/$PKG_BASE/spkg-piprm-requirements.txt' > spkg-piprm.in

for script in $WRAPPED_SCRIPTS; do
# 'Installed' scripts are not run immediately out of the package build
Expand All @@ -576,14 +552,7 @@ for script in $WRAPPED_SCRIPTS; do
script="spkg-$script"

if [ -f "$script.in" ]; then
if [ "$USE_LOCAL_SCRIPTS" = "yes" ]; then
write_script_wrapper "$(pwd)/$script" "$script_dir"
else
if [ ! -x "$script" ]; then
echo >&2 "WARNING: $script is not executable, making it executable"
chmod +x "$script"
fi
fi
fi
done

Expand Down Expand Up @@ -741,6 +710,14 @@ unset SAGE_DESTDIR_LOCAL
# $SAGE_SPKG_SCRIPTS; they are not included in the package's manifest, but are
# removed by sage-spkg-uninstall
INSTALLED_SCRIPTS_DEST="$SAGE_SPKG_SCRIPTS/$PKG_BASE"

if [ -f spkg-piprm-requirements.txt ]; then
INSTALLED_SCRIPTS="$INSTALLED_SCRIPTS piprm-requirements.txt"
else
# No packages to uninstall with pip, so remove the prepared uninstall script
rm -f spkg-piprm spkg-piprm.in
fi

for script in $INSTALLED_SCRIPTS; do
script="spkg-$script"

Expand Down
3 changes: 2 additions & 1 deletion build/bin/write-dockerfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ shopt -s extglob
SAGE_PACKAGE_LIST_ARGS="${2:- --has-file=spkg-configure.m4 :standard:}"
WITH_SYSTEM_SPKG="${3:-yes}"
IGNORE_MISSING_SYSTEM_PACKAGES="${4:-no}"
EXTRA_SAGE_PACKAGES="${5:-_bootstrap}"
#
STRIP_COMMENTS="sed s/#.*//;"
SAGE_ROOT=.
export PATH="$SAGE_ROOT"/build/bin:$PATH
SYSTEM_PACKAGES=
CONFIGURE_ARGS="--enable-option-checking "
for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS) _bootstrap; do
for PKG_BASE in $($SAGE_ROOT/sage -package list --has-file=distros/$SYSTEM.txt $SAGE_PACKAGE_LIST_ARGS) $EXTRA_SAGE_PACKAGES; do
PKG_SCRIPTS="$SAGE_ROOT"/build/pkgs/$PKG_BASE
if [ -d $PKG_SCRIPTS ]; then
SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS/distros/$SYSTEM.txt
Expand Down
2 changes: 1 addition & 1 deletion build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ $(1)-no-deps:
$(AM_V_at)sage-logger -p 'sage --pip install -r "$$(SAGE_ROOT)/build/pkgs/$(1)/requirements.txt"' '$$(SAGE_LOGS)/$(1).log'

$(1)-clean:
-sage --pip uninstall -y -r '$$(SAGE_ROOT)/build/pkgs/$(1)/requirements.txt'
-sage --pip uninstall --isolated --yes --no-input -r '$$(SAGE_ROOT)/build/pkgs/$(1)/requirements.txt'

.PHONY: $(1) $(1)-clean $(1)-build-deps $(1)-no-deps
endef
Expand Down
3 changes: 3 additions & 0 deletions build/pkgs/_prereq/distros/opensuse.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ perl
python3
tar
bc
which
glibc-locale-base
gcc
gcc-c++
# Needed if we download some packages from a https upstream URL
ca-certificates
# gunzip needed for ppl spkg
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/arb/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.19.0
2.19.0.p0
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From b6c8032e2da1b19eb7c5a5f5c2f3372643e3d170 Mon Sep 17 00:00:00 2001
From: fredrik <fredrik.johansson@gmail.com>
Date: Mon, 15 Mar 2021 11:56:24 +0100
Subject: [PATCH] compatibility fix for latest flint

---
acb_modular/epsilon_arg.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/acb_modular/epsilon_arg.c b/acb_modular/epsilon_arg.c
index e1332725..b42a64ad 100644
--- a/acb_modular/epsilon_arg.c
+++ b/acb_modular/epsilon_arg.c
@@ -12,7 +12,7 @@
#include "acb_modular.h"

static int
-fmpz_kronecker(const fmpz_t a, const fmpz_t b)
+fmpz_kronecker1(const fmpz_t a, const fmpz_t b)
{
if (fmpz_sgn(b) < 0)
{
@@ -20,7 +20,7 @@ fmpz_kronecker(const fmpz_t a, const fmpz_t b)
fmpz_t t;
fmpz_init(t);
fmpz_neg(t, b);
- r = fmpz_kronecker(a, t);
+ r = fmpz_kronecker1(a, t);
fmpz_clear(t);
return r;
}
@@ -58,12 +58,12 @@ acb_modular_epsilon_arg(const psl2z_t g)

if (cc % 2 == 1)
{
- u = fmpz_kronecker(a, c);
+ u = fmpz_kronecker1(a, c);
aa = aa*bb + 2*aa*cc - 3*cc + cc*dd*(1-aa*aa);
}
else
{
- u = fmpz_kronecker(c, a);
+ u = fmpz_kronecker1(c, a);
aa = aa*bb - aa*cc + 3*aa - 3 + cc*dd*(1-aa*aa);
}

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=70b46d821bd601ddf3e6b6d6bfcfb288d81018d1
md5=5d83741b640f1862df88c4d12bdc7220
cksum=150019468
sha1=c55867da552d5ed30328a35a480dc1ab14ec232c
md5=5cbace690cae40b89993e3a71fe4200c
cksum=912186647
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5e648d88fead1ead94ca608e60c49c156e2291aa
25ff4f4daf3cd93053f7b8c1e39117ce67e96b6c
5 changes: 4 additions & 1 deletion build/pkgs/deformation/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,7 @@ GLPv3
Upstream Contact
----------------

- Sebastian Pancratz: sebastian.pancratz@gmail.com
- Sebastian Pancratz: sebastian.pancratz@gmail.com, sage-devel@googlegroups.com

- We use the fork at https://github.com/sagemath/deformation
the fork uses GMP instead of MPIR, and Flint 2.7+.
7 changes: 4 additions & 3 deletions build/pkgs/deformation/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tarball=deformation-VERSION.tar.bz2
sha1=317fb76c884fa4b6b92ed0b171a0b9fdb3bdc90f
md5=e4af9b93ddc85ebb52d9fa1fedd75887
cksum=4134074975
sha1=0f5fd78a91da207d06b5be59bf466f16c2614eda
md5=e2c365e20778117d402fb664fc145d72
cksum=3789646827
upstream_url=https://github.com/sagemath/deformation/archive/refs/tags/VERSION.tar.gz
2 changes: 1 addition & 1 deletion build/pkgs/deformation/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d05941b.p0
20210503
16 changes: 4 additions & 12 deletions build/pkgs/flint/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
SAGE_SPKG_CONFIGURE([flint], [
AC_REQUIRE([SAGE_SPKG_CONFIGURE_MPFR])
AC_REQUIRE([SAGE_SPKG_CONFIGURE_NTL])
AC_MSG_CHECKING([installing mpfr or ntl? ])
if test x$sage_spkg_install_mpfr = xyes -o x$sage_spkg_install_ntl = xyes; then
AC_MSG_RESULT([yes; install flint as well])
sage_spkg_install_flint=yes
else
SAGE_SPKG_DEPCHECK([mpfr ntl], [
AC_CHECK_HEADER(flint/flint.h, [
dnl fmpz_mat_is_hadamard appears in Flint 2.5.0
AC_SEARCH_LIBS([fmpz_mat_is_hadamard], [flint], [
dnl fmpz_mod_ctx_init appears in Flint 2.6.0
AC_SEARCH_LIBS([fmpz_mod_ctx_init], [flint], [
dnl check that NTL is linked in
AC_SEARCH_LIBS([fmpz_poly_get_ZZX], [flint], [
Expand All @@ -27,13 +21,11 @@ SAGE_SPKG_CONFIGURE([flint], [
], [sage_spkg_install_flint=yes])
], [sage_spkg_install_flint=yes])
], [sage_spkg_install_flint=yes])
fi
])
], [], [], [
if test x$sage_spkg_install_flint = xyes; then
AC_SUBST(SAGE_FLINT_PREFIX, ['$SAGE_LOCAL'])
AC_MSG_RESULT([using Sage's flint SPKG])
else
AC_SUBST(SAGE_FLINT_PREFIX, [''])
AC_MSG_RESULT([using flint library from the system])
fi
])
4 changes: 2 additions & 2 deletions build/pkgs/gcc/spkg-configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ SAGE_SPKG_CONFIGURE_BASE([gcc], [
# Install our own GCC if the system-provided one is older than gcc-4.8.
SAGE_SHOULD_INSTALL_GCC([you have $CXX version $GXX_VERSION, which is quite old])
],
[1[[1-9]].*], [
# Install our own GCC if the system-provided one is newer than 10.x.
[1[[2-9]].*], [
# Install our own GCC if the system-provided one is newer than 11.x.
# See https://trac.sagemath.org/ticket/29456
SAGE_SHOULD_INSTALL_GCC([$CXX is g++ version $GXX_VERSION, which is too recent for this version of Sage])
],
Expand Down
Empty file modified build/pkgs/libxml2/spkg-install
100644 → 100755
Empty file.
22 changes: 22 additions & 0 deletions build/pkgs/llvm/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
llvm: The LLVM Compiler Infrastructure, including the Clang C/C++/Objective-C compiler
======================================================================================

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

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

Clang is an "LLVM native" C/C++/Objective-C compiler.

The libc++ and libc++ ABI projects provide a standard conformant and high-performance
implementation of the C++ Standard Library, including full support for C++11 and C++14.

License
-------

Apache 2.0 License with LLVM exceptions

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

https://llvm.org/
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/alpine.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/arch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/debian.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
llvm-toolchain
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/fedora.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/freebsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
devel/llvm
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/gentoo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sys-devel/clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/homebrew.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
llvm
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/macports.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/nix.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clang
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/openbsd.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
devel/llvm
1 change: 1 addition & 0 deletions build/pkgs/llvm/distros/opensuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
llvm
Loading

0 comments on commit 3ce89e8

Please sign in to comment.