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' into public/combinat/partitions_constraints-15525
Browse files Browse the repository at this point in the history
* develop: (338 commits)
  Updated Sage version to 6.1.beta2
  fix latex
  fix documentation
  minor typography
  Trac 13101: mark doctest as "long time"
  trac 13101 better doctest
  Trac 13101: Fix bug in enumerate_totallyreal_fields_all
  #9706: review patch.
  trac 9706: Propose new class structure
  Symbolic Chebyshev polynomials: reviewer patch
  trac 9706: Collective patch. Bugfixes, extensions, optimizations, documentation, doctests for chebyshev_T, chebyshev_U and base class for ortho polys
  Updated Sage version to 6.1.beta1
  Fixing Whitespace errors
  Use bash as SHELL for build/Makefile
  allow numpy arrays in list_plot, line, points
  Run Jmol from current directory
  Trac #12322: Add a doctest for the correct behavior introduced in trac #12737.
  Trac #14186 coerce_binop errors with keyword arguments
  trac #15553: Broken links in the doc of graph/ and numerical/
  bug fix : importing BooleanPolynomialRing at the top-level prevents sage from starting
  ...

Conflicts:
	src/sage/combinat/partition.py
  • Loading branch information
Travis Scrimshaw committed Dec 23, 2013
2 parents 7982d3a + 036984d commit 4143c96
Show file tree
Hide file tree
Showing 481 changed files with 28,532 additions and 14,139 deletions.
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Sage version 5.13.rc0, released 2013-12-11
Sage version 6.1.beta2, released 2013-12-23
53 changes: 24 additions & 29 deletions build/deps
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
# Let e.g. SAGE_ROOT/build/install pass options to sage-spkg, i.e. currently
# "-f", to force rebuilding dependent packages during an upgrade (#9896).

# Do not put an explicit path for sage-spkg here, it will be found in $PATH.
SAGE_SPKG = sage-spkg $${SAGE_SPKG_OPTS}
PIPE = $(SAGE_ROOT)/build/pipestatus

Expand Down Expand Up @@ -108,10 +109,10 @@ all-sage: \
$(INST)/$(NCURSES) \
$(INST)/$(ZLIB) \
$(INST)/$(ZNPOLY) \
scripts \
sage \
csage \
extcode
$(INST)/sage \
$(INST)/csage \
$(EXTCODE) \
$(SCRIPTS)

# TOOLCHAIN consists of dependencies determined by build/install,
# including for example the GCC package.
Expand All @@ -132,7 +133,7 @@ toolchain-deps:

# Everything needed to start up Sage using "./sage". Of course, not
# every part of Sage will work. It does not include Maxima for example.
SAGERUNTIME = scripts sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON) $(INST)/$(GAP)
SAGERUNTIME = $(SCRIPTS) $(INST)/sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON)

###############################################################################
# Building the base system
Expand All @@ -147,12 +148,8 @@ base: $(INST)/$(PREREQ) $(INST)/$(BZIP2) $(INST)/$(PATCH)
$(INST)/$(PREREQ):
$(PIPE) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log"

# If we are upgrading from a version 4.x of Sage, don't build bzip2.
# This is because the old sage-spkg script cannot install the new bzip2
# spkg (which is gzip compressed). We continue using the old bzip2
# installation (which is version 1.0.5 since sage-3.3), which is fine.
$(INST)/$(BZIP2): $(INST)/$(PREREQ)
$(PIPE) "$(SAGE_SPKG) $(BZIP2) 2>&1" "tee -a $(SAGE_LOGS)/$(BZIP2).log"; \
+$(PIPE) "$(SAGE_SPKG) $(BZIP2) 2>&1" "tee -a $(SAGE_LOGS)/$(BZIP2).log"

$(INST)/$(PATCH): $(INST)/$(BZIP2)
+$(PIPE) "$(SAGE_SPKG) $(PATCH) 2>&1" "tee -a $(SAGE_LOGS)/$(PATCH).log"
Expand Down Expand Up @@ -199,12 +196,7 @@ $(INST)/$(GRAPHS):
$(INST)/$(GLPK): $(INST)/$(MPIR) $(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log"

# Python links against -lbz2. Technically speaking, we should add
# BZIP2 as dependency here. But we don't do that to avoid needless
# recompiles of Python when upgrading. Since bzip2 is part of the
# "base" target, we are guaranteed anyway that some version of bzip2
# is present.
$(INST)/$(PYTHON): $(INST)/$(ZLIB) \
$(INST)/$(PYTHON): $(INST)/$(ZLIB) $(INST)/$(BZIP2) \
$(INST)/$(READLINE) $(INST)/$(SQLITE) $(INST)/$(LIBPNG)
+$(PIPE) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"

Expand Down Expand Up @@ -316,7 +308,7 @@ $(INST)/$(SQLITE): $(INST)/$(READLINE)
+$(PIPE) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"

# To build SageTeX, you just need Python, but to test (SAGE_CHECK=yes)
# SageTeX, you actually need to run sage, produce plots,...
# SageTeX, you actually need to run Sage, produce plots,...
$(INST)/$(SAGETEX): $(INST)/$(PYTHON) \
$(SAGERUNTIME) $(INST)/$(MAXIMA) $(INST)/$(SCIPY) \
$(INST)/$(MATPLOTLIB) $(INST)/$(PIL) $(INST)/$(TACHYON)
Expand Down Expand Up @@ -416,8 +408,7 @@ $(INST)/$(SPHINX): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(DOCUTILS) \
$(INST)/$(JINJA2) $(INST)/$(PYGMENTS)
+$(PIPE) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"

$(INST)/$(JINJA2): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(DOCUTILS) \

$(INST)/$(JINJA2): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(DOCUTILS)
+$(PIPE) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"

$(INST)/$(PYGMENTS): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
Expand All @@ -427,7 +418,7 @@ $(INST)/$(PYGMENTS): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
# on the one hand, programs needed for the build/install process of the
# Sage library (e.g. JINJA2), and on the
# other hand all dependencies for Cython files (e.g. PARI, NTL, MPIR).
sage: \
$(INST)/sage: \
$(INST)/$(ATLAS) \
$(INST)/$(CEPHES) \
$(INST)/$(CLIQUER) \
Expand Down Expand Up @@ -465,21 +456,25 @@ sage: \
$(INST)/$(SINGULAR) \
$(INST)/$(SYMMETRICA) \
$(INST)/$(ZNPOLY) \
csage
+$(PIPE) "{ if [ -z $(SAGE_INSTALL_FETCH_ONLY) ]; then cd $(SAGE_SRC) && . ./bin/sage-env && time python setup.py install; fi; } 2>&1" "tee -a $(SAGE_LOGS)/sage-$(SAGE_VERSION).log"

scripts: $(SCRIPT_TARGETS)

extcode: $(EXTCODE_TARGETS)

csage: $(INST)/$(SCONS) \
$(INST)/csage
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
cd $(SAGE_SRC) && source bin/sage-env && \
$(PIPE) 'time python setup.py install 2>&1' 'tee -a $(SAGE_LOGS)/sage-$(SAGE_VERSION).log' && \
touch $@; \
fi

$(INST)/csage: $(INST)/$(SCONS) \
$(INST)/$(MPIR) \
$(INST)/$(NTL) \
$(INST)/$(PARI) \
$(INST)/$(POLYBORI) \
$(INST)/$(PYNAC) \
$(INST)/$(PYTHON)
+$(PIPE) "{ if [ -z $(SAGE_INSTALL_FETCH_ONLY) ]; then cd $(SAGE_SRC)/c_lib && . ../bin/sage-env && time scons -Q install; fi; } 2>&1" "tee -a $(SAGE_LOGS)/csage-$(SAGE_VERSION).log"
if [ -z "$$SAGE_INSTALL_FETCH_ONLY" ]; then \
cd $(SAGE_SRC) && source bin/sage-env && cd c_lib && \
$(PIPE) 'time scons -Q install 2>&1' 'tee -a $(SAGE_LOGS)/csage-$(SAGE_VERSION).log' && \
touch $@; \
fi

$(INST)/ccache: $(BASE) $(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) ccache 2>&1" "tee -a $(SAGE_LOGS)/ccache.log"
Expand Down
80 changes: 26 additions & 54 deletions build/install
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,22 @@ export SAGE_ROOT SAGE_SRC SAGE_LOCAL SAGE_EXTCODE SAGE_LOGS SAGE_SPKG_INST SAGE_
echo `date -u "+%s"` > "$SAGE_ROOT/.BUILDSTART"

########################################################################
# Fixes for upgraded Sage versions
# Support for upgrading
########################################################################
# The script 'pipestatus' used to be autogenerated by this file. It
# should be present in any version of Sage starting with 4.5. In
# #11073, the autogeneration was removed, so we just check to see if
# the file is missing.
if [ ! -f pipestatus ]; then
cat >&2 <<EOF
Error: the script 'pipestatus' is missing. If you are trying to
upgrade, your original version of Sage is too old, so upgrading to a
5.x version of Sage won't work. Your options are:
- Upgrading first to sage-4.8 and then upgrading again to sage-5.x.
- Downloading a new binary version of Sage.
- Building a new source version from scratch.
# Check that we aren't accidentally upgrading from old (< 6.0)
# versions of Sage. See #14715.
# The file $SAGE_ROOT/spkg/install no longer exists in Sage 6.0,
# but it did exist in all earlier versions.
if [ -f "$SAGE_ROOT/spkg/install" ]; then
cat >&2 <<EOF
************************************************************************
Error: it is impossible to upgrade your version of Sage to version 6.0
or later. It is recommended to install the latest version of Sage from
scratch. If you currently have Sage 4.5 or later and really insist on
upgrading, it should still be possible to upgrade to Sage 5.13 with the
following command:
./sage -upgrade http://boxen.math.washington.edu/home/release/sage-5.13/sage-5.13
************************************************************************
EOF
exit 2
fi
Expand All @@ -46,40 +47,6 @@ if [ "$SAGE_UPGRADING" = yes ]; then
# We're doing an upgrade. Let build/Makefile call sage-spkg with
# "-f" to force rebuilding dependent packages, too:
export SAGE_SPKG_OPTS="-f"

# Avoid RM being set to "rm" (older versions of Sage did this):
# http://trac.sagemath.org/sage_trac/ticket/3537
if [ "$RM" = rm ]; then
export RM="rm -f"
fi

# Unset AS and LD if they are set to their default values,
# otherwise the AS and LD test from #14296 below will fail.
if [ "$AS" = as ]; then
unset AS
fi
if [ "$LD" = ld ]; then
unset LD
fi

# If we have an old version of sage-location,
# then manually fix the .la (libtool) files.
if grep 'lib64' "$SAGE_LOCAL/bin/sage-location" &>/dev/null; then
# sage-location does check lib64, so everything is fine.
true
else
echo "Found an old version of sage-location, manually fixing some Libtool files."
for d in "$SAGE_LOCAL/lib32" "$SAGE_LOCAL/lib64"; do
for la_file in "$d"/*.la; do
[ -w "$la_file" ] || continue
sed -i "s ^libdir=.* libdir='$d' " "$la_file"
done
done
fi

# The old sage-make_relative script is troublesome (#13407 and #14027).
# We simply delete it, its role is taken over by sage-location.
rm -f "$SAGE_LOCAL/bin/sage-make_relative"
fi

###############################################################################
Expand Down Expand Up @@ -364,6 +331,11 @@ cat >&3 <<EOF
EOF

# Use bash as shell for the Makefile (bash obviously exists, since
# this build/install script runs under bash).
echo >&3 "SHELL = `command -v bash`"
echo >&3

# If the user (or the Makefile) has set SAGE_PARALLEL_SPKG_BUILD=no,
# then turn off parallel building: disable just building multiple
# packages at the same time. Individual packages can still be built
Expand Down Expand Up @@ -523,7 +495,7 @@ for file in "$SAGE_SRC/bin/"*; do
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
done
echo >&3
echo >&3 'SCRIPT_TARGETS = \'
echo >&3 'SCRIPTS = \'
for file in "$SAGE_SRC/bin/"*; do
echo >&3 " \$(SAGE_LOCAL)${file#$SAGE_SRC} \\"
done
Expand All @@ -533,7 +505,7 @@ for file in `find "$SAGE_SRC"/ext -type f`; do
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
done
echo >&3
echo >&3 'EXTCODE_TARGETS = \'
echo >&3 'EXTCODE = \'
for file in `find "$SAGE_SRC"/ext -type f`; do
echo >&3 " \$(SAGE_EXTCODE)${file#$SAGE_SRC/ext} \\"
done
Expand Down Expand Up @@ -573,12 +545,12 @@ exec 3>&-

# Set MAKE to "make" if unset
if [ -z "$MAKE" ]; then
MAKE=make
export MAKE=make
fi

# * If "make" doesn't understand the -q option (although we require
# GNU make, which supports it), it should exit with a non-zero status
# which is not a problem.
# If "make" doesn't understand the -q option (although we require
# GNU make, which supports it), it should exit with a non-zero status
# which is not a problem.
if $MAKE -q "$@" >/dev/null 2>/dev/null; then
echo "Nothing to (re)build / all up-to-date."
exit 0
Expand Down
1 change: 1 addition & 0 deletions build/pkgs/atlas/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=atlas-VERSION.tar.bz2
sha1=9084d7bb0580c54dd233f0b164f07f60117e029c
md5=cae064f152ab5faf0cc61bf2801463ad
cksum=4284029515
1 change: 1 addition & 0 deletions build/pkgs/blas/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=blas-VERSION.tar.bz2
sha1=9fb06551c6154201ff2e77fce66c05534fade2a6
md5=78eaee691634a3aa37567cf915802b00
cksum=75369376
1 change: 1 addition & 0 deletions build/pkgs/boehm_gc/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=boehm_gc-VERSION.tar.bz2
sha1=4013e5d6b685e1a3c7ff9b5447405a2b452731be
md5=48232de5b36573da6415ece66a9b9084
cksum=2689595432
1 change: 1 addition & 0 deletions build/pkgs/boost_cropped/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=boost_cropped-VERSION.tar.bz2
sha1=25daefce8a55f14bb56b72fffd573972cd2379d2
md5=764a6c0aa03e39b70053135dc6edaa30
cksum=111720154
1 change: 1 addition & 0 deletions build/pkgs/bzip2/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=bzip2-VERSION.tar.gz
sha1=06cd2d25c80bea77582cacc9ea33a5cd1756c74a
md5=a4e60f6889aa9cb752b15ed64ebbb7f8
cksum=2233929913
1 change: 1 addition & 0 deletions build/pkgs/cddlib/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=cddlib-VERSION.tar.bz2
sha1=6f2ed53a78298521f1e59750161e0129213f893b
md5=ef586f07f14b0a13b1c508849daff425
cksum=810190426
1 change: 1 addition & 0 deletions build/pkgs/cephes/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=cephes-VERSION.tar.bz2
sha1=ef2fd663d14bb28caaef4a7fd5758cd488aa6752
md5=0f520990464e6f1892d1262c10fe49f0
cksum=1279093512
1 change: 1 addition & 0 deletions build/pkgs/cliquer/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=cliquer-VERSION.tar.bz2
sha1=8239530eb14c1273c32ffcf3b671dd3766084374
md5=32b97b6689318b58d9c099e2c7769521
cksum=3641271864
1 change: 1 addition & 0 deletions build/pkgs/conway_polynomials/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=conway_polynomials-VERSION.tar.bz2
sha1=25b7abe5c935d20c3ebcde943308652c412d14dc
md5=17f061204b3a6133abb21e17b3abea19
cksum=3204784255
1 change: 1 addition & 0 deletions build/pkgs/cvxopt/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=cvxopt-VERSION.tar.bz2
sha1=ded19c9acfa3c256e6cbd738fbaf5a155c7dbc96
md5=7114b6952d0428da51d237b974ab64bd
cksum=2074500616
1 change: 1 addition & 0 deletions build/pkgs/cython/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tarball=cython-VERSION.tar.bz2
sha1=9728545db586559ff736a18183c57e419ad18b4a
md5=7838eac2e779d60fe4eefab920f54f31
cksum=650483743
20 changes: 20 additions & 0 deletions build/pkgs/cython/patches/gdbout.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- src.orig/Cython/Compiler/CmdLine.py 2013-05-11 07:46:55.000000000 +0200
+++ src/Cython/Compiler/CmdLine.py 2013-06-04 19:09:59.000000000 +0200
@@ -28,6 +28,7 @@ Options:
-w, --working <directory> Sets the working directory for Cython (the directory modules
are searched from)
--gdb Output debug information for cygdb
+ --gdb-outdir <directory> Specify gdb debug information output directory. Implies --gdb.

-D, --no-docstrings Strip docstrings from the compiled module.
-a, --annotate Produce a colorized HTML version of the source.
@@ -138,6 +125,9 @@ def parse_command_line(args):
elif option == "--gdb":
options.gdb_debug = True
options.output_dir = os.curdir
+ elif option == "--gdb-outdir":
+ options.gdb_debug = True
+ options.output_dir = pop_arg()
elif option == '-2':
options.language_level = 2
elif option == '-3':

0 comments on commit 4143c96

Please sign in to comment.