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

Commit cac17c2

Browse files
committed
Merge tag '8.9' into u/lftabera/ticket/8558
SageMath version 8.9, Release Date: 2019-09-29 Conflicts: src/sage/rings/finite_rings/integer_mod.pyx
2 parents 8c678f6 + f0ae571 commit cac17c2

File tree

915 files changed

+45458
-12327
lines changed

Some content is hidden

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

915 files changed

+45458
-12327
lines changed

.ci/head-tail.sh

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ stdbuf -i0 -o0 -e0 awk -v limit=$1 -v firstMissingNR=-1 -v offset=$OFFSET -v byt
3333
a[NR] = $0;
3434
delete a[NR-offset];
3535
printf "." > "/dev/stderr"
36+
if (/^sage-logger/){
37+
print > "/dev/stderr"
38+
}
3639
}
3740
}
3841
END {

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
.idea
3939
.iml
4040

41+
# VSCode
42+
.vscode
43+
4144
# XCode
4245
xcuserdata/
4346

VERSION.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 8.8.rc3, Release Date: 2019-06-23
1+
SageMath version 8.9, Release Date: 2019-09-29

bootstrap

+75-16
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55
#
66
# If the -s option is given, save the autogenerated scripts in
77
# $SAGE_ROOT/upstream/configure-$CONFVERSION.tar.gz where CONFVERSION
8-
# is the version number stored in
9-
# build/pkgs/configure/package-version.txt
10-
#
11-
# If optional argument -i is given, then automatically increment the
12-
# version number.
8+
# is the sha1 of HEAD `git rev-parse HEAD`
139
#
1410
# If optional argument -d is given and bootstrapping failed, instead
1511
# extract the files from a local configure tarball, downloading it if
1612
# needed. If -D is given, don't try to bootstrap and always extract or
1713
# download.
14+
#
15+
# If optional argument -u <URL> is given download the configure
16+
# tarball from that base url. That is, "bootstrap -u http://host/path"
17+
# will download http://host/path/configure-$CONFVERSION.tar.gz to
18+
# upstream/configure-$CONFVERSION.tar.gz. This is used by the buildbot
19+
# to download tarballs that are not published.
1820
########################################################################
1921

2022
# Set SAGE_ROOT to the path to this file and then cd into it
@@ -25,7 +27,49 @@ export PATH="$SAGE_ROOT/build/bin:$PATH"
2527

2628
PKG=build/pkgs/configure
2729
MAKE="${MAKE:-make}"
28-
CONFVERSION=`cat $PKG/package-version.txt`
30+
CONFVERSION=$(cat $PKG/package-version.txt)
31+
32+
install_config_rpath() {
33+
# The file config.rpath which comes from gettext is supposed to be
34+
# installed by automake, but due to a bug in most distros it is not;
35+
# see https://trac.sagemath.org/ticket/27823#comment:17
36+
#
37+
# Here we need to determine where gettext stores its data files and
38+
# copy config.rpath from there to config/
39+
gettextize="$(command -v gettextize)"
40+
if [ -z "$gettextize" ]; then
41+
echo >&2 "gettext and the gettextize program must be installed and be in"
42+
echo >&2 "your PATH. E.g. Homebrew installs them in /usr/local/opt/gettext/bin."
43+
return 179
44+
fi
45+
eval `sed -n '/^prefix=.*$/p' $gettextize`
46+
eval `sed -n '/^datarootdir=.*$/p' $gettextize`
47+
eval `sed -n '/^: \${gettext_datadir=.*$/p' $gettextize`
48+
49+
if [ -z "$gettext_datadir" ]; then
50+
eval `sed -n '/^gettext_dir=.*$/p' $gettextize`
51+
# In older versions (before 2014) this is spelled gettext_dir
52+
# See https://github.com/autotools-mirror/gettext/commit/ff18897068486560e2bb421004cfbd42b7cdd0f8
53+
gettext_datadir="$gettext_dir"
54+
fi
55+
56+
if [ -z "$gettext_datadir" ]; then
57+
echo >&2 "Failed to read the gettext_datadir directory from $gettextize"
58+
echo >&2 "The config.rpath file must manually be copied into config/"
59+
echo >&2 "This file is installed with gettext typically in /usr/share/gettext"
60+
return 179
61+
fi
62+
63+
config_rpath="$gettext_datadir/config.rpath"
64+
if [ ! -f "$config_rpath" ]; then
65+
echo >&2 "Missing $config_rpath file; this indicates a broken gettext install."
66+
return 179
67+
fi
68+
69+
echo "bootstrap:$LINENO: installing 'config/config.rpath'"
70+
cp "$config_rpath" config/
71+
}
72+
2973

3074

3175
bootstrap () {
@@ -39,6 +83,7 @@ SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
3983
done
4084
echo "$spkg_configures" >> m4/sage_spkg_configures.m4
4185

86+
install_config_rpath && \
4287
aclocal -I m4 && \
4388
automake --add-missing --copy build/make/Makefile-auto && \
4489
autoconf
@@ -47,7 +92,7 @@ SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
4792
case $st in
4893
0) true;; # Success
4994

50-
16|63|127) # no m4 for pkg-config, or autotools not installed, or version too old
95+
179|16|63|127) # install_config_rpath failed|no m4 for pkg-config|autotools not installed|or version too old
5196
if [ $DOWNLOAD = yes ]; then
5297
echo >&2 "Bootstrap failed, downloading required files instead."
5398
bootstrap-download || exit $?
@@ -94,35 +139,39 @@ save () {
94139
exit 63
95140
fi
96141

142+
NEWCONFVERSION=`git rev-parse HEAD`
143+
NEWCONFBALL="upstream/configure-$NEWCONFVERSION.tar.gz"
144+
97145
# Create configure tarball
98-
echo "Creating $CONFBALL..."
146+
echo "Creating $NEWCONFBALL..."
99147
mkdir -p upstream
100-
tar zcf "$CONFBALL" configure config/* build/make/Makefile-auto.in
148+
tar zcf "$NEWCONFBALL" configure config/* build/make/Makefile-auto.in
101149

102-
# Update version number
103-
echo "$CONFVERSION" >$PKG/package-version.txt
150+
# Update version
151+
echo "$NEWCONFVERSION" >$PKG/package-version.txt
104152

105153
# Compute checksum
106-
SAGE_ROOT=. src/bin/sage-fix-pkg-checksums "$CONFBALL"
154+
./sage --package fix-checksum configure
107155
}
108156

109157

110158
usage () {
111-
echo >&2 "Usage: $0 [-d|-D|-s] [-i] [-h]"
159+
echo >&2 "Usage: $0 [-d|-D|-s] [-u <URL>] [-h]"
112160
}
113161

114162

115163
# Parse options
116164
SAVE=no
117165
DOWNLOAD=no
118166
ALWAYSDOWNLOAD=no
119-
while getopts "Ddsih" OPTION
167+
CONFTARBALL_URL=""
168+
while getopts "Ddshu:" OPTION
120169
do
121170
case "$OPTION" in
122171
D) ALWAYSDOWNLOAD=yes; DOWNLOAD=yes;;
123172
d) DOWNLOAD=yes;;
124173
s) SAVE=yes;;
125-
i) CONFVERSION=$(( CONFVERSION + 1 ));;
174+
u) CONFTARBALL_URL="$OPTARG"; ALWAYSDOWNLOAD=yes; DOWNLOAD=yes;;
126175
h) usage; exit 0;;
127176
?) usage; exit 2;;
128177
esac
@@ -146,7 +195,17 @@ source src/bin/sage-env 2>/dev/null
146195

147196

148197
if [ $ALWAYSDOWNLOAD = yes ]; then
149-
bootstrap-download || exit $?
198+
if [ -n "$CONFTARBALL_URL" ]; then
199+
URL="$CONFTARBALL_URL"/configure-$CONFVERSION.tar.gz
200+
sage-download-file "$URL" upstream/configure-$CONFVERSION.tar.gz
201+
if [ $? -ne 0 ]; then
202+
echo >&2 "Error: downloading configure-$CONFVERSION.tar.gz from $CONFTARBALL_URL failed"
203+
exit 1
204+
fi
205+
echo >&2 "Downloaded configure-$CONFVERSION.tar.gz from $CONFTARBALL_URL "
206+
else
207+
bootstrap-download || exit $?
208+
fi
150209
else
151210
bootstrap
152211
fi
File renamed without changes.

build/bin/sage-spkg

+3-3
Original file line numberDiff line numberDiff line change
@@ -678,14 +678,14 @@ write_script_wrapper() {
678678
export SAGE_ROOT="$SAGE_ROOT"
679679
export SAGE_SRC="$SAGE_SRC"
680680
export SAGE_PKG_DIR="$script_dir"
681+
export SAGE_SPKG_SCRIPTS="$SAGE_SPKG_SCRIPTS"
681682
682683
export PKG_NAME="$PKG_NAME"
683684
export PKG_BASE="$PKG_BASE"
684685
export PKG_VER="$PKG_VER"
685686
686-
for lib in env dist-helpers; do
687-
lib="sage-\$lib"
688-
source "\$SAGE_SRC/bin/\$lib"
687+
for lib in "\$SAGE_ROOT/build/bin/sage-dist-helpers" "\$SAGE_SRC/bin/sage-env" ; do
688+
source "\$lib"
689689
if [ \$? -ne 0 ]; then
690690
echo >&2 "Error: failed to source \$lib"
691691
echo >&2 "Is \$SAGE_ROOT the correct SAGE_ROOT?"

build/make/deps

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ base: $(inst_patch) $(inst_pkgconf)
124124
# dependencies for Cython files (e.g. PARI, NTL, MP_LIBRARY).
125125
sagelib: \
126126
$(inst_arb) \
127+
$(inst_boost_cropped) \
127128
$(inst_$(BLAS)) \
128129
$(inst_brial) \
129130
$(inst_cliquer) \

build/pkgs/arb/spkg-configure.m4

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
SAGE_SPKG_CONFIGURE([arb], [
2+
AC_REQUIRE([SAGE_SPKG_CONFIGURE_FLINT])
3+
SAGE_ARB_LIBRARY="arb"
4+
AC_MSG_CHECKING([installing flint? ])
5+
if test x$sage_spkg_install_flint = xyes; then
6+
AC_MSG_RESULT([yes; install arb as well])
7+
sage_spkg_install_arb=yes
8+
else
9+
AC_CHECK_HEADER(arb.h, [
10+
dnl below function added in version 2.16 of arb
11+
AC_CHECK_LIB([arb], [acb_mat_eig_simple], [],
12+
[dnl in Debian the name of dylib is different.
13+
AC_CHECK_LIB([flint-arb], [acb_mat_eig_simple],
14+
[SAGE_ARB_LIBRARY="flint-arb"], [sage_spkg_install_arb=yes])])
15+
], [sage_spkg_install_arb=yes])
16+
fi
17+
], [], [], [
18+
if test x$sage_spkg_install_arb = xyes; then
19+
AC_SUBST(SAGE_ARB_LIBRARY,["arb"])
20+
else
21+
AC_SUBST(SAGE_ARB_LIBRARY,[$SAGE_ARB_LIBRARY])
22+
fi
23+
])

build/pkgs/arb/spkg-install

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ cd src
44
# be removed in arb >= 2.8 when it is released
55
export EXTRA_SHARED_FLAGS=$LDFLAGS
66

7-
./configure --disable-static --prefix="$SAGE_LOCAL" --with-flint="$SAGE_LOCAL" \
8-
$SAGE_CONFIGURE_GMP $SAGE_CONFIGURE_MPFR || \
7+
./configure --disable-static --prefix="$SAGE_LOCAL" $SAGE_CONFIGURE_GMP \
8+
$SAGE_CONFIGURE_MPFR $SAGE_CONFIGURE_FLINT || \
99
sdh_die "Error configuring arb."
1010

1111
sdh_make verbose

build/pkgs/awali/SPKG.txt

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
= awali =
2+
3+
== Description ==
4+
5+
Awali is a software platform dedicated to the computation of, and with, finite
6+
state machines. Here finite state machines is to be understood in the broadest
7+
possible sense: finite automata with output — often called transducers then — or
8+
even more generally finite automata with multiplicity, that is, automata that
9+
not only accept, or recognize, sequences of symbols but compute for every such
10+
sequence a `value' that is associated with it and which can be taken in any
11+
semiring. Hence the variety of situations that can thus be modellized.
12+
13+
== License ==
14+
15+
* GPL 3.0
16+
17+
== Upstream Contact ==
18+
19+
* Website: http://vaucanson-project.org/Awali/index.html
20+
* Releases: http://files.vaucanson-project.org/tarballs/
21+
22+
== Dependencies ==
23+
24+
* Python
25+
* CMake
26+
* Cython
27+
* ncurses
28+
29+
* graphviz must be installed from your distro, and available in the path.
30+
31+
== Special Update/Build Instructions ==
32+
33+
* None

build/pkgs/awali/checksums.ini

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tarball=awali-all-vVERSION.tgz
2+
sha1=9098aaefde031df58374bab0c1fc38109eecd4e3
3+
md5=d4216d8cbe21f83ae3a816a2f994f85e
4+
cksum=3149228485

build/pkgs/awali/dependencies

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
$(PYTHON) cmake cython nbconvert ncurses
2+
3+
----------
4+
All lines of this file are ignored except the first.
5+
It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.

build/pkgs/awali/package-version.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.0.2-190218

build/pkgs/awali/spkg-check

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cd src/_build
2+
sdh_make check

build/pkgs/awali/spkg-install

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
cd src/
2+
3+
mkdir _build
4+
cd _build
5+
cmake .. -DINSTALL_DIR="${SAGE_LOCAL}" \
6+
-DPYTHON=sage-python23 \
7+
-DCORA=False
8+
9+
sdh_make
10+
sdh_make b
11+
sdh_make install
12+

build/pkgs/awali/type

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

build/pkgs/bleach/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=bleach-VERSION.tar.gz
2-
sha1=e7ee75050ccace055d5040010e3fdfb8e2535a3a
3-
md5=f042c4e8a953824dc8511f535daa20a4
4-
cksum=3095652578
2+
sha1=b44b7705a1425338cf429d66f009aa15d09b768d
3+
md5=fc8df989e0200a45f7a3a95ef9ee9854
4+
cksum=2528269335

build/pkgs/bleach/package-version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.2
1+
3.1.0

build/pkgs/certifi/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=certifi-VERSION.tar.gz
2-
sha1=673bf8bc29d7ee0a1a0d8af74d050e5769fec2a9
3-
md5=8160cf662212bc731eccf1af8042c0af
4-
cksum=322391593
2+
sha1=f3873edcfc60c52e97e6601b2576ccdac419281a
3+
md5=76381d19d0a1171fecb2d1002b81424e
4+
cksum=2417220143
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2018.11.29
1+
2019.3.9

build/pkgs/configparser/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configparser-VERSION.tar.gz
2-
sha1=8ee6b29c6a11977c0e094da1d4f5f71e7e7ac78b
3-
md5=cfdd915a5b7a6c09917a64a573140538
4-
cksum=3139292895
2+
sha1=81351574c345e2a8600b7f2b2afb2b8f1c6aded2
3+
md5=aaa80b58b6b0810e54f66486860b3ed1
4+
cksum=4208301028
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.5.0
1+
3.7.4

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=2a54667b437d5be32768ea04a8e68d21e59ba1d2
3-
md5=a19fcf8419b62b27414e8178aefecb48
4-
cksum=1575911991
2+
sha1=959bc83cfe118ab80bc464286b1ef2a475a825f1
3+
md5=dde4f474a8cd6dd1fb7edce3c591fcf9
4+
cksum=3123562904
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
326
1+
2ab843c20b9601e9efb540e4a76624a8c29604eb
+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=cryptominisat-VERSION.tar.gz
2-
sha1=568cd2f528609a31d217e24e381de87e011499d4
3-
md5=cce64bfd256700e96baee90b7bdfe770
4-
cksum=3567560229
2+
sha1=db418f5ac124e8d4e1f5284f05bccbe5b61afed9
3+
md5=ca1bf853e568c19968daa5464ab86843
4+
cksum=4204324235
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.6.6
1+
5.6.8

build/pkgs/curl/spkg-configure.m4

+19-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
SAGE_SPKG_CONFIGURE([curl], [
22
# Only install curl (and libcurl) if we cannot find version 7.22 or
33
# later, since that is what R needs.
4-
AC_CACHE_CHECK([for curl 7.22], [ac_cv_path_CURL], [
5-
AC_PATH_PROGS_FEATURE_CHECK([CURL], [curl], [
6-
${ac_path_CURL}-config --checkfor 7.22 >/dev/null 2>/dev/null && ac_cv_path_CURL=${ac_path_CURL}
4+
AC_CACHE_CHECK([for curl 7.22], [ac_cv_path_CURL], [
5+
AC_PATH_PROGS_FEATURE_CHECK([CURL], [curl], [
6+
${ac_path_CURL}-config --checkfor 7.22 >/dev/null 2>/dev/null && ac_cv_path_CURL=${ac_path_CURL}
77
])
88
])
99
AS_IF([test -z "$ac_cv_path_CURL"], [sage_spkg_install_curl=yes])
10-
# If (lib)curl is installed, we need to check for the curl header
11-
# file, too.
12-
AS_IF([test $sage_spkg_install_curl = no], [
13-
AC_CHECK_HEADER([curl/curl.h], [], [sage_spkg_install_curl=yes])
14-
])
10+
LIBCURL_CHECK_CONFIG(, 7.22, , [sage_spkg_install_curl=yes])
11+
# Anaconda on macOS provides a libcurl with @rpath. Check that
12+
# linking produces a binary than can be run. (#27941)
13+
AC_CACHE_CHECK([whether programs linking to libcurl can be executed],
14+
[sage_libcurl_cv_lib_curl_executable],
15+
[
16+
_libcurl_save_cppflags=$CPPFLAGS
17+
CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
18+
_libcurl_save_libs=$LIBS
19+
LIBS="$LIBCURL $LIBS"
20+
21+
AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <curl/curl.h>]],[[
22+
curl_easy_setopt(NULL,CURLOPT_URL,NULL);
23+
]])], sage_libcurl_cv_lib_curl_executable=yes, sage_libcurl_cv_lib_curl_executable=no)
24+
])
25+
AS_IF([test "$sage_libcurl_cv_lib_curl_executable" = "no"], [sage_spkg_install_curl=yes])
1526
])

0 commit comments

Comments
 (0)