Skip to content

Commit e30a7fb

Browse files
committed
Merge branch 'u/dkrenn/sequences/k-regular-subseq' into u/dkrenn/sequences/rec-hash
* u/dkrenn/sequences/k-regular-subseq: (6376 commits) Updated SageMath version to 8.1 Updated SageMath version to 8.1.rc4 Updated tarball, add spkg-src and fix instructions fix for #24085 packaged as an update with non-official tarball Updated SageMath version to 8.1.rc3 22851: make qepcad experimental sympy is needed by docbuild Updated SageMath version to 8.1.rc2 Updated SageMath version to 8.1.rc1 Added a comment with link to the relevant ticket Fixes https://trac.sagemath.org/ticket/24192 Use correct format for nbserver_extensions Skip test on systems without RLIMIT_AS support Add patch fixing build errors in fpylll on Cygwin The path to lib/python/config does not contain the Python LD_VERSION on Python 2 #24182 : update openssl package. increase tol Updated SageMath version to 8.1.rc0 Add wikipedia link. Some reviewer comments. ...
2 parents fcb53a3 + 0c83557 commit e30a7fb

File tree

3,233 files changed

+231410
-106146
lines changed

Some content is hidden

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

3,233 files changed

+231410
-106146
lines changed

COPYING.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ extcode GPLv2+
5454
fflas_ffpack LGPLv2.1+
5555
flint GPLv2+
5656
flintqs GPLv2+
57+
fplll LGPLv2.1+
5758
freetype FreeType License (similar to BSD; see below)
5859
gap GPLv2+
5960
gcc GPLv3+
@@ -72,7 +73,6 @@ jinja2 Modified BSD
7273
jmol LGPLv2.1+
7374
jsonschema MIT License
7475
lcalc GPLv2+
75-
libfplll LGPLv2.1+
7676
libgap GPLv3+
7777
libpng Custom, very similar to zlib
7878
linbox LGPLv2.1+

Makefile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ distclean: build-clean
7171
$(MAKE) misc-clean
7272
@echo "Deleting all remaining output from build system ..."
7373
rm -rf local
74+
rm -f src/bin/sage-env-config
7475

7576
# Delete all auto-generated files which are distributed as part of the
7677
# source tarball
@@ -129,14 +130,14 @@ ptestoptionallong: all
129130
configure: configure.ac src/bin/sage-version.sh m4/*.m4
130131
./bootstrap -d
131132

132-
install:
133+
install: all
133134
@echo "******************************************************************"
134-
@echo "The '$@' target is no longer supported:"
135-
@echo "either build SageMath in-place or use the binary packaging scripts"
135+
@echo "The '$@' target is a no-op; 'make' already does 'make install'"
136+
@echo "You can change the install prefix from its default"
137+
@echo "(the subdirectory 'local') by using ./configure --prefix=PREFIX"
138+
@echo "You can also consider using the binary packaging scripts"
136139
@echo "from https://github.com/sagemath/binary-pkg"
137140
@echo "******************************************************************"
138-
@exit 1
139-
140141

141142
.PHONY: default build install micro_release \
142143
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \

README.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
> "Creating a Viable Open Source Alternative to
44
> Magma, Maple, Mathematica, and MATLAB"
55
6-
> Copyright (C) 2005-2016 The Sage Development Team
6+
> Copyright (C) 2005-2017 The Sage Development Team
77
88
http://www.sagemath.org
99

@@ -21,7 +21,8 @@ Getting Started
2121
---------------
2222

2323
This README.txt contains build instructions for Sage. If you downloaded
24-
a binary, you do not need to do anything; just execute:
24+
a binary, you do not need to do anything (as long as your system
25+
provides a SSL library ; OpenSSL is recommended) ; just execute:
2526

2627
./sage
2728

@@ -69,9 +70,19 @@ Installation Guide:
6970

7071
http://doc.sagemath.org/html/en/installation
7172

72-
__1. Make sure you have the dependencies and 5 GB of free disk space.__
73+
__1. Make sure your system has an SSL library and its development
74+
files installed.__
7375

74-
>* __All Linux versions:__ gcc, make, m4, perl, ranlib, and tar.
76+
>* Like Python, on which it is based, Sage uses the OpenSSL library
77+
for added performance if made available by the operating system. It
78+
has been shown that Sage can be successfully built against other
79+
SSL libraries, with some of its features disabled.
80+
81+
__2. Make sure you have the dependencies and 5 GB of free disk space.__
82+
83+
>* __All Linux versions:__ gcc, make, m4, perl, ranlib, and tar (a
84+
matching set of gcc, gfortran and g++ will avoid the compilation
85+
of Sage-specific compilers).__
7586

7687
>* __Fedora or RedHat systems:__ the perl-ExtUtils-MakeMaker package.
7788
(install these using your package manager)
@@ -97,11 +108,11 @@ __1. Make sure you have the dependencies and 5 GB of free disk space.__
97108

98109
>* Other platforms: See detailed instructions below.
99110
100-
__2. Extract the tarball:__
111+
__3. Extract the tarball:__
101112

102113
tar xvf sage-*.tar
103114

104-
__3. cd into the Sage directory and type make:__
115+
__4. cd into the Sage directory and type make:__
105116

106117
cd sage-*/
107118
make
@@ -316,7 +327,7 @@ SAGE_ROOT Root directory (sage-x.y.z in Sage tarball)
316327
| ...
317328
| └── zn_poly-0.9.p11.log
318329
├── Makefile Running "make" uses this file
319-
├── README.txt This file
330+
├── README.md This file
320331
├── sage Script to start Sage
321332
├── src All of Sage source (not third-party packages)
322333
| ├── bin Scripts that Sage uses internally
@@ -366,20 +377,10 @@ do.
366377

367378
sage --sdist
368379

369-
2. To make a binary distribution with your currently installed packages,
370-
type:
371-
372-
sage --bdist
373-
374-
3. To make a binary that will run on the widest range of target
375-
machines, set the SAGE_FAT_BINARY environment variable to "yes"
376-
before building Sage:
377-
378-
export SAGE_FAT_BINARY="yes"
379-
make distclean && make
380-
./sage --bdist
380+
The result is placed in the directory "$SAGE_ROOT/dist/".
381381

382-
In all cases, the result is placed in the directory "$SAGE_ROOT/dist/".
382+
2. To make a binary distribution with your currently installed packages,
383+
visit https://github.com/sagemath/binary-pkg
383384

384385

385386
Changes to Included Software

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 7.5, Release Date: 2017-01-11
1+
SageMath version 8.1, Release Date: 2017-12-07

bootstrap

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ PKG=build/pkgs/configure
2525
MAKE="${MAKE:-make}"
2626
CONFVERSION=`cat $PKG/package-version.txt`
2727

28+
2829
bootstrap () {
29-
# Get autotools from our own package into PATH (Trac #21214)
30-
source src/bin/sage-env
3130
aclocal -I m4 && \
3231
automake --add-missing --copy build/make/Makefile-auto && \
3332
autoconf
@@ -57,8 +56,7 @@ bootstrap () {
5756

5857
# Bootstrap by downloading the auto-generated files
5958
bootstrap-download () {
60-
source src/bin/sage-env
61-
sage-download-file configure-$CONFVERSION.tar.gz
59+
build/bin/sage-download-file configure-$CONFVERSION.tar.gz
6260
if [ $? -ne 0 ]; then
6361
echo >&2 "Error: downloading configure-$CONFVERSION.tar.gz failed"
6462
exit 1
@@ -127,6 +125,12 @@ fi
127125
$MAKE bootstrap-clean 2>/dev/null
128126
mkdir config 2>/dev/null
129127

128+
# Get autotools from our own package into PATH (Trac #21214).
129+
# If Sage has not been built yet, this will fail due to a missing
130+
# sage-env-config. We just ignore that error.
131+
source src/bin/sage-env 2>/dev/null
132+
133+
130134
if [ $ALWAYSDOWNLOAD = yes ]; then
131135
bootstrap-download || exit $?
132136
else

build/bin/sage-logger

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,18 @@ fi
6262

6363
mkdir -p "$logdir"
6464

65-
if [[ "$V" = 0 && $use_prefix = true ]]; then
65+
# Do all logging of child processes with V=1 to ensure that no
66+
# information is lost.
67+
export MAKEFLAGS="$MAKEFLAGS V=1"
68+
69+
if [ "$V" = 0 ]; then
70+
export SAGE_SILENT_BUILD=yes
71+
fi
72+
73+
if [ -n "$SAGE_SILENT_BUILD" -a ${use_prefix} = true ]; then
6674
# Silent build.
6775
# Similar to https://www.gnu.org/software/automake/manual/html_node/Automake-Silent-Rules.html#Automake-Silent-Rules
6876
echo "[$logname] installing. Log file: $logfile"
69-
# Use verbose mode for output to logfiles.
70-
export V=1
7177
( exec>> $logfile 2>&1 ; eval "$cmd" )
7278
status=$?
7379
if [[ $status != 0 ]]; then

build/bin/sage-pip-install

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
# --no-deps : Don't install runtime dependencies from PyPI.
1616
# --no-index : Don't look at the package index.
1717
# This also disables pip's version self-check.
18-
pip_install_flags="--ignore-installed --verbose --no-deps --no-index"
18+
# --isolated : Don't read configuration files such as
19+
# ~/.pydistutils.cfg
20+
pip_install_flags="--ignore-installed --verbose --no-deps --no-index --isolated"
1921

2022
# Consume any additional pip install arguments except the last one
2123
while [ $# -gt 1 ]; do
@@ -29,8 +31,18 @@ if [ "$1" != "." ]; then
2931
exit 1
3032
fi
3133

34+
35+
if [ "$SAGE_PYTHON3" = yes ]; then
36+
PYTHON=python3
37+
PIP=pip3
38+
else
39+
PYTHON=python2
40+
PIP=pip2
41+
fi
42+
43+
3244
# Find out the name of the package that we are installing
33-
name="$(python setup.py --name)"
45+
name="$($PYTHON setup.py --name)"
3446

3547
if [ $? -ne 0 ]; then
3648
echo >&2 "Error: could not determine package name"
@@ -44,29 +56,36 @@ if [ $(echo "$name" | wc -l) -gt 1 ]; then
4456
echo >&2 "line as the package name: $name"
4557
fi
4658

47-
# We should avoid running pip while uninstalling a package because that
59+
60+
# We should avoid running pip2/3 while uninstalling a package because that
4861
# is prone to race conditions. Therefore, we use a lockfile while
49-
# running pip. This is implemented in the Python script pip-lock.
62+
# running pip. This is implemented in the Python script pip2/3-lock.
5063

5164
# Keep uninstalling as long as it succeeds
5265
while true; do
53-
out=$(pip-lock uninstall --disable-pip-version-check -y "$name" 2>&1)
66+
out=$($PIP-lock uninstall --disable-pip-version-check -y "$name" 2>&1)
5467
if [ $? -ne 0 ]; then
5568
break
5669
fi
5770
echo "$out"
5871
done
5972

6073
# Not ideal, but this is the easiest way to check if the package
61-
# was not installed to begin with (which pip treats as an error).
74+
# was not installed to begin with (which pip2/3 treats as an error).
6275
# If it wasn't, then we proceed quietly; if it was installed show the
6376
# uninstallation output and error out.
6477
if [[ "$out" != *"not installed" ]]; then
6578
echo >&2 "$out"
6679
exit 1
6780
fi
6881

69-
# Finally actually do the installation (the "SHARED" tells pip-lock
82+
# Finally actually do the installation (the "SHARED" tells pip2/3-lock
7083
# to apply a shared lock)
71-
echo "Installing package $name using pip"
72-
exec pip-lock SHARED install $pip_install_flags .
84+
echo "Installing package $name using $PIP"
85+
86+
$PIP-lock SHARED install $pip_install_flags .
87+
if [ $? -ne 0 ]; then
88+
echo >&2 "Error: installing with $PIP failed"
89+
exit 3
90+
fi
91+

build/bin/sage-python23

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/usr/bin/env bash
2+
3+
4+
# Run the Python interpreter that we are currently building Sage with
5+
#
6+
# An existing Python is a build-time dependency for Sage, but
7+
# sometimes packages need to specifically run the one in Sage and not
8+
# just any Python interpreter.
9+
#
10+
# This is similar to the sage-pip-install script, which you should be
11+
# using for installing Python packages if at all possible.
12+
13+
14+
if [ "$SAGE_PYTHON3" = yes ]; then
15+
PYTHON="$SAGE_LOCAL/bin/python3"
16+
else
17+
PYTHON="$SAGE_LOCAL/bin/python2"
18+
fi
19+
20+
# Check that Python is actually installed and issue an error message if not--in
21+
# particular if this was run from an spkg-install before Python is installed
22+
# this indicates that Python should be a dependency of that package.
23+
if [ ! -x "$PYTHON" ]; then
24+
echo >&2 "Error: Tried to use Sage's Python which was not yet installed."
25+
echo >&2 'If this was called from an spkg-install script for another '
26+
echo >&2 'package you should add $(PYTHON) as a dependency in '
27+
echo >&2 'build/pkgs/<pkg>/dependencies'
28+
exit 1
29+
fi
30+
31+
exec $PYTHON "$@"

0 commit comments

Comments
 (0)