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

Commit

Permalink
Merge branch 'develop' of git://git.sagemath.org/sage into t/26625/up…
Browse files Browse the repository at this point in the history
…date_maxima_to_5_42_1
  • Loading branch information
antonio-rojas committed Feb 9, 2019
2 parents bda2320 + 832b97c commit ff20568
Show file tree
Hide file tree
Showing 1,274 changed files with 47,954 additions and 30,093 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
*.pyc
/.BUILDSTART
/dist
/local
/logs
Expand All @@ -15,6 +14,8 @@
/config.status
/configure

/m4/sage_spkg_configures.m4

###################
# Temporary Files #
###################
Expand Down
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ misc-clean:
rm -f aclocal.m4 config.log config.status confcache
rm -rf autom4te.cache
rm -f build/make/Makefile build/make/Makefile-auto
rm -f .BUILDSTART

bdist-clean: clean
$(MAKE) misc-clean
Expand Down Expand Up @@ -145,6 +144,7 @@ fast-rebuild-clean: misc-clean bdist-clean

TESTALL = ./sage -t --all
PTESTALL = ./sage -t -p --all
PTEST_PYTHON3 = cat src/ext/doctest/python3-known-passing.txt | xargs ./sage -t --long -p

# Flags for ./sage -t --all.
# By default, include all tests marked 'dochtml' -- see
Expand Down Expand Up @@ -190,7 +190,10 @@ ptestoptional: all
ptestoptionallong: all
$(PTESTALL) --long --logfile=logs/ptestoptionallong.log

configure: configure.ac src/bin/sage-version.sh m4/*.m4
ptest-python3: buildbot-python3
$(PTEST_PYTHON3) --logfile=logs/ptest_python3.log

configure: configure.ac src/bin/sage-version.sh m4/*.m4 build/pkgs/*/spkg-configure.m4
./bootstrap -d

install: all
Expand All @@ -210,4 +213,4 @@ list:
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \
test check testoptional testall testlong testoptionallong testallong \
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong \
buildbot-python3 list
buildbot-python3 ptest-python3 list
77 changes: 51 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ and functions list the authors.
Getting Started
---------------

If you downloaded a [binary](http://www.sagemath.org/download.html),
you just need open a terminal in the directory where you extracted the binary
archive and type:
If you downloaded a [binary](http://www.sagemath.org/download.html)
(i.e. a version of SageMath prepared for a specific operating system),
Sage is ready to start -- just open a terminal in the directory where
you extracted the binary archive and type:

./sage

Expand Down Expand Up @@ -148,51 +149,75 @@ More Detailed Instructions to Build from Source
gas/as, gld/ld, gnm/nm. On most platforms, these are automatically
installed when you install the programs listed above.

1. Extract the Sage source tarball and cd into a directory with no
spaces in it. If you have a machine with 4 processors, say, type
`export MAKE="make -j4"` the following to configure the build script to
perform a parallel compilation of Sage using 4 jobs.
(With 4 processors, you might also consider `-j5` or `-j6` --
building with more jobs than CPU cores can speed things up.)
1. Extract the Sage source tarball into a directory, making sure
there are no spaces in the path to the resulting directory.

Note that moving the directory after Sage has been built will
require to build Sage again.

1. Change to the Sage directory using `cd`.

1. Optional: set some environment variables to customize the build.

For example, the `MAKE` environment variable controls whether to run
several jobs in parallel, while the `SAGE_CHECK` environment variable
controls whether to perform more tests during the installation. For
an in-depth discussion of environment variables for building Sage, see
[the installation guide](http://doc.sagemath.org/html/en/installation/source.html#environment-variables).

On a machine with 4 processors, say, typing `export MAKE="make -j4"`
will configure the build script to perform a parallel compilation of
Sage using 4 jobs. You might even consider `-j5` or `-j6`, as
building with more jobs than CPU cores can speed things up further.
You might in addition pass a `-l` [load flag](https://www.gnu.org/software/make/manual/make.html#Options-Summary)
to "make": this sets a load limit, so for example if you execute
to `make`: this sets a load limit, so for example if you execute
`export MAKE="make -j4 -l5.5"` then "make" won't start more than one
job at a time if the system load average is above 5.5, see
the [make documentation](https://www.gnu.org/software/make/manual/make.html#Parallel).

If you want to run the test suite for each individual spkg as it is
installed, type `export SAGE_CHECK="yes"` before starting the Sage
build. This will run each test suite and will raise an error if any
failures occur. Python's test suite has been disabled by default,
because it causes failures on most systems. To enable the Python
testsuite, set the environment variable `SAGE_CHECK_PACKAGES` to `python`.
If you want to run the test suite for each individual Sage package
as it gets installed, type `export SAGE_CHECK="yes"`. This will run
each test suite, raising an error if any failure occurs. Python's
test suite has been disabled by default, because it causes failures
on most systems. To enable the Python test suite, set the environment
variable `SAGE_CHECK_PACKAGES` to `python`.

1. To start the build, type `make`.

To start the build, type `make`.
Note: to build a Python3-based Sage, instead of typing `make`, type

make configure
./configure --with-python=3
make

This will build Sage based on Python 3 rather than based on Python 2,
which is still the default at this point. The resulting Sage mostly
works well, though some features (less of them at each release!) are
not yet ready for Python 3. The progress on this is tracked at
[Sage Trac ticket 15530: Metaticket: Add support for python 3.6+](https://trac.sagemath.org/ticket/15530).

1. Wait about 20 minutes to 14 days, depending on your computer (it took
about 2 weeks to build Sage on the T-Mobile G1 Android cell phone).

1. Type `./sage` to try it out.

1. Optional: Type `make ptest` to test all examples in the documentation
1. Optional: Type `make ptestlong` to test all examples in the documentation
(over 200,000 lines of input!) -- this takes from 10 minutes to
several hours. Don't get too disturbed if there are 2 to 3 failures,
but always feel free to email the section of `logs/ptest.log` that
but always feel free to email the section of `logs/ptestlong.log` that
contains errors to the [sage-support mailing list](https://groups.google.com/group/sage-support).
If there are numerous failures, there was a serious problem with your build.

Note: if you built for Python 3, you can instead run `make ptest-python3`.

1. The HTML version of the [documentation](http://doc.sagemath.org/html/en/index.html)
is built during the compilation process of Sage and resides in the directory
`local/share/doc/sage/html/`.

* Optional: If you want to build the PDF version (requires LaTeX)
of the documentation, run `make doc-pdf`.

1. Optional: It is recommended that you install the optional GAP
database by typing `./sage -i database_gap`.
1. Optional: If you want to build the PDF version of the documentation,
run `make doc-pdf` (this requires LaTeX to be installed).

This will download the package and install it. While you're at it,
you might install other optional packages of interest to you: type
1. Optional: You might install optional packages of interest to you: type
`./sage --optional` to get a list.

1. Optional: It is recommended that you have both LaTeX and the
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SageMath version 8.5.beta2, Release Date: 2018-11-01
SageMath version 8.7.beta3, Release Date: 2019-02-08
10 changes: 10 additions & 0 deletions bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@ CONFVERSION=`cat $PKG/package-version.txt`


bootstrap () {
rm -f m4/sage_spkg_configures.m4
spkg_configures=""
for filename in $(find build/pkgs -type f -name spkg-configure.m4); do
pkgname="$(echo $filename | cut -d/ -f3)"
echo "m4_sinclude([$filename])" >> m4/sage_spkg_configures.m4
spkg_configures="$spkg_configures
SAGE_SPKG_CONFIGURE_$(echo ${pkgname} | tr '[a-z]' '[A-Z]')"
done
echo "$spkg_configures" >> m4/sage_spkg_configures.m4

aclocal -I m4 && \
automake --add-missing --copy build/make/Makefile-auto && \
autoconf
Expand Down
7 changes: 4 additions & 3 deletions build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ if [ -z "$SAGE_BUILD_DIR" ]; then
fi


# Remove '.' from PYTHONPATH, which may also come from SAGE_PATH, to avoid
# trouble with setuptools / easy_install (cf. #10192, #10176):
# Remove '.' from PYTHONPATH, to avoid trouble with setuptools / easy_install
# (cf. #10192, #10176):
if [ -n "$PYTHONPATH" ]; then
# We also collapse multiple slashs into a single one (first substitution),
# remove leading './'s and trailing '/.'s (second and third), and
Expand Down Expand Up @@ -892,13 +892,14 @@ if [ -d "$SAGE_DESTDIR" ]; then

# Copy files into $SAGE_LOCAL
$SAGE_SUDO cp -Rp "$PREFIX/." "$SAGE_LOCAL"
rm -rf "$SAGE_DESTDIR"
if [ $? -ne 0 ]; then
error_msg "Error copying files for $PKG_NAME."
exit 1
fi

# Remove the $SAGE_DESTDIR entirely once all files have been moved to their
# final location.
rm -rf "$SAGE_DESTDIR"
fi


Expand Down
6 changes: 6 additions & 0 deletions build/bin/sage-system-python
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,10 @@ fi

PYTHON="$(PATH="$SAGE_ORIG_PATH" command -v python)"

# fallback for systems where only the python3 command is available
# see https://trac.sagemath.org/ticket/26953
if [ -z "$PYTHON" ]; then
PYTHON="$(PATH="$SAGE_ORIG_PATH" command -v python3)"
fi

exec "$PYTHON" "$@"
1 change: 1 addition & 0 deletions build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ $(1): $$(INST)/$(1)-$(2)
$(1)-clean:
sage-spkg-uninstall $(if $(filter $(1),$(TOOLCHAIN_DEPS)),--keep-files) \
$(1) '$(SAGE_LOCAL)'

endef

$(foreach pkgname, $(NORMAL_PACKAGES),\
Expand Down
16 changes: 9 additions & 7 deletions build/make/deps
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,15 @@ toolchain: $(foreach pkgname,$(TOOLCHAIN),$(inst_$(pkgname)))
# unconditionally. We still use the dependency checking from $(MAKE),
# so this will not trigger useless rebuilds.
# See #14168 and #14232.
# Note: This list is determined from the dependencies of the TOOLCHAIN
# packages which include gcc, and optionally ccache; in principle this
# list is redundant.
TOOLCHAIN_DEPS = zlib xz $(MP_LIBRARY) mpfr mpc
#
# Note: This list consists of only the *runtime* dependencies of the toolchain.
TOOLCHAIN_DEPS = zlib $(MP_LIBRARY) mpfr mpc
TOOLCHAIN_DEP_INSTS = \
$(foreach pkgname,$(TOOLCHAIN_DEPS),$(inst_$(pkgname)))

toolchain-deps:
for pkg in $(TOOLCHAIN_DEPS); do \
$(MAKE) $$pkg; \
for target in $(TOOLCHAIN_DEP_INSTS); do \
$(MAKE) $$target; \
done

all-toolchain: base-toolchain
Expand Down Expand Up @@ -136,6 +138,7 @@ sagelib: \
$(inst_ecm) \
$(inst_flint) \
$(inst_libgd) \
$(inst_gap) \
$(inst_givaro) \
$(inst_glpk) \
$(inst_gsl) \
Expand All @@ -145,7 +148,6 @@ sagelib: \
$(inst_lcalc) \
$(inst_lrcalc) \
$(inst_libbraiding) \
$(inst_libgap) \
$(inst_libhomfly) \
$(inst_libpng) \
$(inst_linbox) \
Expand Down
5 changes: 0 additions & 5 deletions build/make/install
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,6 @@ export PATH="$SAGE_ROOT/build/bin:$SAGE_SRC/bin:$SAGE_LOCAL/bin:$PATH"

export PYTHONPATH="$SAGE_LOCAL"

# Storing the start time of the build process. The time is stored in
# seconds since 1970-01-01 in a hidden file called
# "SAGE_ROOT/.BUILDSTART". See ticket #6744.
echo `date -u "+%s"` > "$SAGE_ROOT/.BUILDSTART"

###############################################################################
# Skip the rest if nothing to do (i.e., to [re]build).
###############################################################################
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/4ti2/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.6.7
1.6.7.p0
21 changes: 4 additions & 17 deletions build/pkgs/4ti2/spkg-install
Original file line number Diff line number Diff line change
@@ -1,20 +1,7 @@
cd src/

if [ "$SAGE_LOCAL" = "" ]; then
echo "SAGE_LOCAL undefined ... exiting";
echo "Maybe run 'sage -sh'?"
exit 1
fi

CFLAGS="-I $SAGE_LOCAL/include -L$SAGE_LOCAL/lib $CFLAGS"
export CFLAGS
./configure --prefix=$SAGE_LOCAL --with-gmp=$SAGE_LOCAL --with-glpk=$SAGE_LOCAL --enable-shared=yes --enable-static=no

$MAKE
$SAGE_SUDO $MAKE install

if [ $? -ne 0 ]; then
echo "Error building 4ti2"
exit 1
fi

sdh_configure --with-gmp=$SAGE_LOCAL --with-glpk=$SAGE_LOCAL \
--enable-shared=yes --enable-static=no
sdh_make
sdh_make_install
6 changes: 3 additions & 3 deletions build/pkgs/alabaster/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=alabaster-VERSION.tar.gz
sha1=dba599faf1ca5541ef35ab251eb2b365ae2f25c7
md5=7934dccf38801faa105f6e7b4784f493
cksum=3227702678
sha1=36c11bd5d8e99e2009b643b7f6e91bf2a0fd573b
md5=3591827fde96d1dd23970fb05410ed04
cksum=3567264444
2 changes: 1 addition & 1 deletion build/pkgs/alabaster/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.7.10
0.7.12
7 changes: 3 additions & 4 deletions build/pkgs/arb/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
tarball=arb-VERSION.tar.gz
sha1=94680f32c3ccd40cc8ef417cc18d7b74b0c6c522
md5=8f9a8d57417466080cfd1358bbb41efd
cksum=3846267256

sha1=42c4720675d7fc40d2f6af9de06407c00775b8f2
md5=35855176fc2c2e69e4b4c3cde004c070
cksum=745812142
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.14.0
2.15.1
7 changes: 6 additions & 1 deletion build/pkgs/atlas/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@

from __future__ import print_function

import platform, os, sys, time, shutil, glob, subprocess
import platform
import os
import sys
import shutil
import glob
import subprocess


# this dictionary will hold all configuration information
Expand Down
3 changes: 2 additions & 1 deletion build/pkgs/atlas/spkg-install.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,9 @@ def is_atlas_lib_path(path, libs):
sys.exit(2)

for fname in os.listdir(ATLAS_LIB):
if fname.startswith(prefix+'f77blas'):
if fname.startswith(prefix + 'f77blas'):
f77blas = os.path.join(ATLAS_LIB, fname)
break
else:
f77blas = None
if f77blas is not None:
Expand Down
6 changes: 3 additions & 3 deletions build/pkgs/babel/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=Babel-VERSION.tar.gz
sha1=9adbd49864392713c6a3080aeb0a9e6432577277
md5=60228b3ce93a203357158b909afe8ae1
cksum=2035941902
sha1=6aed99e4fb8a2a75de7815599f610cdcbb81e3c2
md5=c384ac03026e8fe6f9b90f55201f1bff
cksum=3805303136
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.5.1
2.6.0
6 changes: 3 additions & 3 deletions build/pkgs/backports_functools_lru_cache/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=backports.functools_lru_cache-VERSION.tar.gz
sha1=8a546e7887e961c2873c9b053f4e2cd2a96bd71d
md5=b954e7d5e2ca0f0f66ad2ed12ba800e5
cksum=2013684405
sha1=35a5895d22875cd024694d3c7393a793e9fd653d
md5=20f53f54cd3f04b3346ce75a54959754
cksum=4241725171
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4
1.5
15 changes: 15 additions & 0 deletions build/pkgs/barvinok/SPKG.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
= barvinok =

== Description ==

barvinok is a library for counting the number of integer points
in parametric and non-parametric polytopes as well as projections
of such sets.

== License ==

GPL v2

== Upstream Contact ==

* http://groups.google.com/group/isl-development
4 changes: 4 additions & 0 deletions build/pkgs/barvinok/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tarball=barvinok-VERSION.tar.bz2
sha1=31c50d4b2a4cebe049072fd54c6e41ccece5ec1d
md5=60082222a73b2d4fd430da7b770a4072
cksum=355377045
Loading

0 comments on commit ff20568

Please sign in to comment.