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/ticket/15018
Browse files Browse the repository at this point in the history
* develop: (467 commits)
  Updated Sage version to 6.1.beta5
  Don't use "missing"
  trac 15265: various changes, finishing review.
  allow disabling of maintainer mode
  trac 15265: Additional change to farey.cpp.
  trac 15265: Minor changes to farey_symbol.pyx
  trac 15265: Minor changes to sl2z.cpp and sl2z.hpp.
  trac 15265: Minor changes to farey.cpp and farey.hpp.
  Run "missing" using bash
  fix tarball url
  trac 15265: Add some further examples and one test to _acton_ of elements of arithmetic groups.
  Source sage-env inside configure
  Improved Karatsuba: more thorough tests
  bootstrap configure: small fixes
  make saving of the confball optional in bootstrap
  fix typos in SPKG.txt
  also commit changes to confball in sage-update-version
  add a SPKG.txt file
  rename to bootstrap, run during version bump
  trac 15265: correct mistakes done while converting to git branch.
  ...
  • Loading branch information
Travis Scrimshaw committed Jan 16, 2014
2 parents 22ec476 + c022e36 commit bb23f1b
Show file tree
Hide file tree
Showing 476 changed files with 44,859 additions and 17,752 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Expand Up @@ -5,6 +5,18 @@
/logs
/upstream

#############################
# Autotools generated files #
#############################
/aclocal.m4
/autom4te.cache/
/config/
/config.log
/config.status
/configure
/build/Makefile-auto
/build/Makefile-auto.in

###################
# Temporary Files #
###################
Expand Down
28 changes: 25 additions & 3 deletions Makefile
Expand Up @@ -9,6 +9,7 @@

PIPE = build/pipestatus


all: start doc # indirectly depends on build

logs:
Expand Down Expand Up @@ -82,13 +83,24 @@ bdist-clean: clean
rm -rf logs
rm -rf dist
rm -rf tmp
rm -f build/Makefile
rm -f aclocal.m4 config.log config.status confcache
rm -rf autom4te.cache
rm -f build/Makefile build/Makefile-auto
rm -f .BUILDSTART

distclean: clean doc-clean lib-clean bdist-clean
@echo "Deleting all remaining output from build system ..."
rm -rf local

# Delete all auto-generated files which are distributed as part of the
# source tarball
bootstrap-clean:
rm -rf config configure build/Makefile-auto.in

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
rm -rf upstream

micro_release: bdist-clean lib-clean
@echo "Stripping binaries ..."
LC_ALL=C find local/lib local/bin -type f -exec strip '{}' ';' 2>&1 | grep -v "File format not recognized" | grep -v "File truncated" || true
Expand Down Expand Up @@ -140,6 +152,16 @@ ptestoptional: ptestall # just an alias

ptestoptionallong: ptestalllong # just an alias

bootstrap:
$(MAKE) configure || \
bash -c 'source src/bin/sage-env; sage-download-file $$SAGE_UPSTREAM/configure/configure-`cat build/pkgs/configure/package-version.txt`.tar.gz | tar zxmf -'

configure: configure.ac src/bin/sage-version.sh \
m4/ax_c_check_flag.m4 m4/ax_gcc_option.m4 m4/ax_gcc_version.m4 m4/ax_gxx_option.m4 m4/ax_gxx_version.m4 m4/ax_prog_perl_version.m4
test -d config || mkdir config
aclocal -I m4
automake --add-missing --copy build/Makefile-auto
autoconf

install:
echo "Experimental use only!"
Expand All @@ -160,8 +182,8 @@ install:
"$(DESTDIR)"/bin/sage -c # Run sage-location


.PHONY: all build build-serial start install \
.PHONY: all build build-serial start install micro_release bootstrap \
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
doc-clean clean lib-clean bdist-clean distclean micro_release \
doc-clean clean lib-clean bdist-clean distclean bootstrap-clean maintainer-clean \
test check testoptional testall testlong testoptionallong testallong \
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
Sage version 6.1.beta0, released 2013-12-19
Sage version 6.1.beta5, released 2014-01-15
79 changes: 79 additions & 0 deletions bootstrap
@@ -0,0 +1,79 @@
#!/usr/bin/env bash

########################################################################
# Regenerate auto-generated files (e.g. configure)
#
# If the -s option is given, save the autogenerated scripts in
# $SAGE_ROOT/upstream/configure-$CONFVERSION.tar.gz where CONFVERSION
# is the version number stored in
# build/pkgs/configure/package-version.txt
#
# If optional argument -i is given, then automatically increment the
# version number
########################################################################

set -e

# Either run this script from SAGE_ROOT or make sure that SAGE_ROOT
# is set
test -z "$SAGE_ROOT" || cd "$SAGE_ROOT"

PKG=build/pkgs/configure
MAKE="${MAKE:-make}"
CONFVERSION=`cat $PKG/package-version.txt`

bootstrap () {
# Start cleanly
$MAKE bootstrap-clean

# Generate auto-generated files
$MAKE configure
}


save () {
# Create configure tarball
CONFBALL="upstream/configure-$CONFVERSION.tar.gz"
echo "Creating $CONFBALL..."
mkdir -p upstream
tar zcf "$CONFBALL" configure config/* build/Makefile-auto.in

# Update version number
echo "$CONFVERSION" >$PKG/package-version.txt

# Compute checksum
src/bin/sage-fix-pkg-checksums "$CONFBALL"
}


usage () {
echo >&2 "Usage: bootstrap [-i] [-s] [-h]"
}


# Parse options
SAVE=
while getopts "sih" OPTION
do
case "$OPTION" in
s)
SAVE=yes
;;
i)
CONFVERSION=$(( CONFVERSION + 1 ))
;;
h)
usage
exit
;;
?)
usage
exit 2
;;
esac
done

bootstrap
if [ -n "$SAVE" ]; then
save
fi
2 changes: 2 additions & 0 deletions build/Makefile-auto.am
@@ -0,0 +1,2 @@
# Currently, this file is unused. However, it needs to exist to coerce
# automake into thinking that this is an Automake project.
56 changes: 31 additions & 25 deletions build/deps
Expand Up @@ -80,7 +80,7 @@ all-sage: \
$(INST)/$(PALP) \
$(INST)/$(PARI) \
$(INST)/$(PEXPECT) \
$(INST)/$(PIL) \
$(INST)/$(PILLOW) \
$(INST)/$(POLYBORI) \
$(INST)/$(POLYTOPES_DB) \
$(INST)/$(PPL) \
Expand Down Expand Up @@ -109,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 @@ -133,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 @@ -143,12 +143,13 @@ SAGERUNTIME = scripts sage $(INST)/$(SAGENB) $(INST)/$(IPYTHON) $(INST)/$(GAP)
# an update of these packages will not trigger a rebuild of every other
# package during an upgrade, see #13415.
###############################################################################
base: $(INST)/$(PREREQ) $(INST)/$(BZIP2) $(INST)/$(PATCH)
base: $(INST)/prereq $(INST)/$(BZIP2) $(INST)/$(PATCH)

$(INST)/$(PREREQ):
$(PIPE) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log"
$(INST)/prereq: prereq.sh
$(PIPE) "./prereq.sh 2>&1" "tee -a $(SAGE_LOGS)/prereq.log"
touch $@

$(INST)/$(BZIP2): $(INST)/$(PREREQ)
$(INST)/$(BZIP2): $(INST)/prereq
+$(PIPE) "$(SAGE_SPKG) $(BZIP2) 2>&1" "tee -a $(SAGE_LOGS)/$(BZIP2).log"

$(INST)/$(PATCH): $(INST)/$(BZIP2)
Expand Down Expand Up @@ -308,10 +309,10 @@ $(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)
$(INST)/$(MATPLOTLIB) $(INST)/$(PILLOW) $(INST)/$(TACHYON)
+$(PIPE) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"

$(INST)/$(SETUPTOOLS): $(INST)/$(PYTHON)
Expand All @@ -336,7 +337,7 @@ $(INST)/$(ZLIB):
$(INST)/$(JMOL): $(INST)/$(SAGENB)
+$(PIPE) "$(SAGE_SPKG) $(JMOL) 2>&1" "tee -a $(SAGE_LOGS)/$(JMOL).log"

$(INST)/$(FREETYPE):
$(INST)/$(FREETYPE): $(INST)/$(LIBPNG)
+$(PIPE) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a $(SAGE_LOGS)/$(FREETYPE).log"

$(INST)/$(LIBPNG): $(INST)/$(ZLIB)
Expand Down Expand Up @@ -418,7 +419,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 @@ -456,21 +457,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 All @@ -480,8 +485,8 @@ $(INST)/$(GCC): $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(MPC) \
$(INST)/$(ZLIB)
+$(PIPE) "$(SAGE_SPKG) $(GCC) 2>&1" "tee -a $(SAGE_LOGS)/$(GCC).log"

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

$(INST)/$(NUMPY): $(INST)/$(PYTHON) $(INST)/$(ATLAS)
+$(PIPE) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
Expand All @@ -503,6 +508,7 @@ $(INST)/$(CEPHES):
# setuptools forgets to update easy-install.pth during parallel
# builds, so we build the relevant packages serially.

$(INST)/$(SQLALCHEMY): $(INST)/$(PILLOW)
$(INST)/$(PYGMENTS): $(INST)/$(SQLALCHEMY)
$(INST)/$(JINJA2): $(INST)/$(PYGMENTS)
$(INST)/$(SPHINX): $(INST)/$(JINJA2)
Expand Down

0 comments on commit bb23f1b

Please sign in to comment.