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

Commit

Permalink
Merge branch 't/18930/asy/growthGroup-factory' into t/17715/asy/asymp…
Browse files Browse the repository at this point in the history
…toticTerm

* t/18930/asy/growthGroup-factory: (2396 commits)
  add asymptotic_expansions index
  Updated Sage version to 6.9.beta5
  Trac 19906: reviewer comments
  Trac #19006: transcendental function of polynomials
  Trac #19006: more flint declarations
  Trac 19005: two * current -> current + current
  Trac 19005: on -> over
  Trac 19005: check that prec is positive
  19005: inverse_series -> inverse_series_trunc
  Trac 19005: a SEEALSO block
  Trac 19005: fix a doctest
  Trac 19005: inverse_series over noncommutative rings
  Trac 19005: is_unit for matrices
  fix doc mis-formatting in Singleton category
  Organize a few parts of the reference manual
  doc: Easier to distinguish heading levels
  trac #19090: unify documentation
  trac #19090: Fix doc (links + latex formatting)
  trac #19109: Tastes and colors ...
  trac #19109: Broken doctest
  ...
  • Loading branch information
dkrenn committed Sep 9, 2015
2 parents 7b8c1a0 + 9d6f2da commit 6da5ade
Show file tree
Hide file tree
Showing 1,915 changed files with 91,965 additions and 56,317 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
/config.log
/config.status
/configure
/build/Makefile-auto
/build/Makefile-auto.in

###################
# Temporary Files #
Expand Down
1 change: 1 addition & 0 deletions COPYING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ pillow Apache License 2.0
pip MIT License
pkgconf ISC License (equivalent to Simplified BSD)
pkgconfig MIT License
planarity Modified BSD
polybori GPLv2+
polytopes_db None (database)
ppl GPLv3+
Expand Down
110 changes: 25 additions & 85 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,15 @@
# See below for targets to build the documentation in other formats,
# to run various types of test suites, and to remove parts of the build etc.

PIPE = build/pipestatus
default: all

build: all-build

all: start doc # indirectly depends on build

logs:
mkdir -p $@

build: logs configure
+cd build && \
"../$(PIPE)" \
"env SAGE_PARALLEL_SPKG_BUILD='$(SAGE_PARALLEL_SPKG_BUILD)' ./install all 2>&1" \
"tee -a ../logs/install.log"
+./sage -b
# Defer unknown targets to build/make/Makefile
%::
$(MAKE) configure
+build/bin/sage-logger \
"cd build/make && ./install '$@'" logs/install.log

# Preemptively download all standard upstream source tarballs.
download:
Expand All @@ -36,73 +31,28 @@ download:
ssl: all
./sage -i pyopenssl

build-serial: SAGE_PARALLEL_SPKG_BUILD = no
build-serial: build

# Start Sage if the file local/etc/sage-started.txt does not exist
# (i.e. when we just installed Sage for the first time).
start: build
[ -f local/etc/sage-started.txt ] || local/bin/sage-starts

# You can choose to have the built HTML version of the documentation link to
# the PDF version. To do so, you need to build both the HTML and PDF versions.
# To have the HTML version link to the PDF version, do
#
# $ ./sage --docbuild all html
# $ ./sage --docbuild all pdf
#
# For more information on the docbuild utility, do
#
# $ ./sage --docbuild -H
doc: doc-html

doc-html: build
$(PIPE) "./sage --docbuild --no-pdf-links all html $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

# 'doc-html-no-plot': build docs without building the graphics coming
# from the '.. plot' directive, in case you want to save a few
# megabytes of disk space. 'doc-clean' is a prerequisite because the
# presence of graphics is cached in src/doc/output.
doc-html-no-plot: build doc-clean
$(PIPE) "./sage --docbuild --no-pdf-links --no-plot all html $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

doc-html-mathjax: build
$(PIPE) "./sage --docbuild --no-pdf-links all html -j $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

# Keep target 'doc-html-jsmath' for backwards compatibility.
doc-html-jsmath: doc-html-mathjax

doc-pdf: build
$(PIPE) "./sage --docbuild all pdf $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/docpdf.log"

doc-clean:
cd src/doc && $(MAKE) clean

clean:
@echo "Deleting package build directories..."
rm -rf local/var/tmp/sage/build

lib-clean:
cd src && $(MAKE) clean

bdist-clean: clean
misc-clean:
@echo "Deleting miscellaneous artifacts generated by build system ..."
rm -rf logs
rm -rf dist
rm -rf tmp
rm -f aclocal.m4 config.log config.status confcache
rm -rf autom4te.cache
rm -f build/Makefile build/Makefile-auto
rm -f build/make/Makefile build/make/Makefile-auto
rm -f .BUILDSTART

distclean: clean doc-clean lib-clean bdist-clean
bdist-clean: clean
$(MAKE) misc-clean

distclean: build-clean
$(MAKE) misc-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
rm -rf config configure build/make/Makefile-auto.in

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
Expand All @@ -112,42 +62,33 @@ 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

TESTPRELIMS = local/bin/sage-starts
TESTALL = ./sage -t --all
PTESTALL = ./sage -t -p --all

test: all # i.e. build and doc
$(TESTPRELIMS)
test: all
$(TESTALL) --logfile=logs/test.log

check: test

testall: all # i.e. build and doc
$(TESTPRELIMS)
testall: all
$(TESTALL) --optional=all --logfile=logs/testall.log

testlong: all # i.e. build and doc
$(TESTPRELIMS)
testlong: all
$(TESTALL) --long --logfile=logs/testlong.log

testalllong: all # i.e. build and doc
$(TESTPRELIMS)
testalllong: all
$(TESTALL) --long --optional=all --logfile=logs/testalllong.log

ptest: all # i.e. build and doc
$(TESTPRELIMS)
ptest: all
$(PTESTALL) --logfile=logs/ptest.log

ptestall: all # i.e. build and doc
$(TESTPRELIMS)
ptestall: all
$(PTESTALL) --optional=all --logfile=logs/ptestall.log

ptestlong: all # i.e. build and doc
$(TESTPRELIMS)
ptestlong: all
$(PTESTALL) --long --logfile=logs/ptestlong.log

ptestalllong: all # i.e. build and doc
$(TESTPRELIMS)
ptestalllong: all
$(PTESTALL) --long --optional=all --logfile=logs/ptestalllong.log


Expand Down Expand Up @@ -182,8 +123,7 @@ install:
"$(DESTDIR)"/bin/sage -c # Run sage-location


.PHONY: all build build-serial start install micro_release \
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
doc-clean clean lib-clean bdist-clean distclean bootstrap-clean maintainer-clean \
.PHONY: default build install micro_release \
misc-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
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Sage version 6.7, released 2015-05-17
Sage version 6.9.beta5, released 2015-09-04
4 changes: 2 additions & 2 deletions bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CONFVERSION=`cat $PKG/package-version.txt`

bootstrap () {
aclocal -I m4 && \
automake --add-missing --copy build/Makefile-auto && \
automake --add-missing --copy build/make/Makefile-auto && \
autoconf

st=$?
Expand Down Expand Up @@ -75,7 +75,7 @@ save () {
# Create configure tarball
echo "Creating $CONFBALL..."
mkdir -p upstream
tar zcf "$CONFBALL" configure config/* build/Makefile-auto.in
tar zcf "$CONFBALL" configure config/* build/make/Makefile-auto.in

# Update version number
echo "$CONFVERSION" >$PKG/package-version.txt
Expand Down
3 changes: 2 additions & 1 deletion build/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/Makefile
/.tox
/MANIFEST
28 changes: 28 additions & 0 deletions build/bin/sage-download-file
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env python

# USAGE:
#
# sage-download-file --print-fastest-mirror
#
# Print out the fastest mirror. All further arguments are ignored in
# that case.
#
# sage-download-file [--quiet] url-or-tarball [destination]
#
# The single mandatory argument can be a http:// url or a tarball
# filename. In the latter case, the tarball is downloaded from the
# mirror network and its checksum is verified.
#
# If the destination is not specified:
# * a url will be downloaded and the content written to stdout
# * a tarball will be saved under {SAGE_DISTFILES}

try:
import sage_bootstrap
except ImportError:
import os, sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
import sage_bootstrap

from sage_bootstrap.cmdline import SageDownloadFileApplication
SageDownloadFileApplication().run()
40 changes: 40 additions & 0 deletions build/bin/sage-logger
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
#
# sage-logger COMMAND LOGFILE
#
# Evaluate shell command COMMAND while logging stdout and stderr to
# LOGFILE. If either the command or the logging failed, return a
# non-zero exit status.
#
# AUTHOR:
#
# - Jeroen Demeyer (2015-07-26): initial version based on old pipestatus
# script (#18953)
#
#*****************************************************************************
# Copyright (C) 2015 Jeroen Demeyer <jdemeyer@cage.ugent.be>
#
# Distributed under the terms of the GNU General Public License (GPL)
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
# http://www.gnu.org/licenses/
#*****************************************************************************

cmd="$1"
logfile="$2"
logdir=`dirname "$logfile"`

mkdir -p "$logdir"

# Redirect stdout and stderr to a subprocess running tee.
# We trap SIGINT such that SIGINT interrupts the main process being
# run, not the logging.
( exec 2>&1; eval "$cmd" ) | ( trap '' SIGINT; tee -a "$logfile" )

pipestatus=(${PIPESTATUS[*]})

if [ ${pipestatus[1]} -ne 0 ]; then
exit ${pipestatus[1]}
else
exit ${pipestatus[0]}
fi
42 changes: 42 additions & 0 deletions build/bin/sage-package
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env python

# Script to manage third-party tarballs.
#
# Usage:
#
# * Print the configuration
#
# $ sage-package config
# Configuration:
# * log = info
# * interactive = True
#
# * Print a list of all available packages
#
# $ sage-package list | sort
# 4ti2
# arb
# atlas
# autotools
# [...]
# zn_poly
#
# * Find the package name given a tarball filename
#
# $ sage-package name pari-2.8-1564-gdeac36e.tar.gz
# pari
#
# * Find the tarball filename given a package name
#
# $ sage-package tarball pari
# pari-2.8-1564-gdeac36e.tar.gz

try:
import sage_bootstrap
except ImportError:
import os, sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
import sage_bootstrap

from sage_bootstrap.cmdline import SagePkgApplication
SagePkgApplication().run()

0 comments on commit 6da5ade

Please sign in to comment.