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 t/24889/enumerate_all_genera_of_given_sig…
Browse files Browse the repository at this point in the history
…nature__determinant_and_bounded_scale_of_a_jordan_block_
  • Loading branch information
Simon Brandhorst committed May 10, 2018
2 parents ffba0e4 + 8bdc326 commit e2b9be0
Show file tree
Hide file tree
Showing 505 changed files with 23,110 additions and 6,700 deletions.
19 changes: 17 additions & 2 deletions Makefile
Expand Up @@ -9,7 +9,18 @@

default: all

build: all-build
all: base-toolchain
$(MAKE) all-start

build: base-toolchain
$(MAKE) all-build

start: base-toolchain
$(MAKE) build-start

sageruntime: base-toolchain
$(MAKE) all-sageruntime


# The --stop flag below is just a random flag to induce graceful
# breakage with non-GNU versions of make.
Expand Down Expand Up @@ -150,8 +161,12 @@ install: all
@echo "from https://github.com/sagemath/binary-pkg"
@echo "******************************************************************"

list:
@$(MAKE) --silent build/make/Makefile >&2
@$(MAKE) --silent -f build/make/Makefile SAGE_SPKG_INST=local $@

.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 \
buildbot-python3
buildbot-python3 list
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
SageMath version 8.2.beta8, Release Date: 2018-03-10
SageMath version 8.3.beta0, Release Date: 2018-05-09
54 changes: 50 additions & 4 deletions build/bin/sage-spkg
Expand Up @@ -714,7 +714,7 @@ __EOF__
}


for script in build install check; do
for script in build install check postinst; do
script="spkg-$script"
if [ -f "$script" ]; then
if [ "$USE_LOCAL_SCRIPTS" = "yes" ]; then
Expand Down Expand Up @@ -801,6 +801,26 @@ export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export rsync_proxy=$http_proxy

##################################################################
# We need to run sage-rebase.sh for each package installed, but it
# can be dangerous to do this while other packages are installing
# so we need to use a lock to manage when rebase is allowed to
# run. Because of this, if multiple sage-spkg runs are waiting on
# the rebase lock, we can end up with multiple consecutive rebase
# calls that are redundant, but I don't see an obvious way around
# that. This also unfortunately slows down parallel builds since
# all packages will eventually need to wait for this lock, but
# again there's no simple way around that.
##################################################################

if [ "$UNAME" = "CYGWIN" ]; then
if [ ! -d "$SAGE_LOCAL/var/lock" ]; then
mkdir -p "$SAGE_LOCAL/var/lock"
fi
exec 200>"$SAGE_LOCAL/var/lock/rebase.lock"
sage-flock -s $lock_type 200
fi

##################################################################
# Actually install
##################################################################
Expand All @@ -810,6 +830,13 @@ export rsync_proxy=$http_proxy
# this in one place)
export SAGE_DESTDIR="${SAGE_BUILD_DIR}/${PKG_NAME}/inst"

# The actual prefix where the installation will be staged. This is the
# directory that you need to work in if you want to change the staged
# installation tree (before final installation to $SAGE_LOCAL) at the
# end of spkg-install.
export SAGE_DESTDIR_LOCAL="${SAGE_DESTDIR}${SAGE_LOCAL}"


if [ -f spkg-build ]; then
# Package has both spkg-build and spkg-install; execute the latter with SAGE_SUDO
time ./spkg-build
Expand All @@ -835,7 +862,7 @@ fi
# case DESTDIR=$SAGE_DESTDIR installation was not used
echo "Copying package files from temporary location $SAGE_DESTDIR to $SAGE_LOCAL"
if [ -d "$SAGE_DESTDIR" ]; then
PREFIX="${SAGE_DESTDIR}${SAGE_LOCAL%/}/"
PREFIX="${SAGE_DESTDIR_LOCAL%/}/"

rm -f "$PREFIX"lib/*.la
if [ $? -ne 0 ]; then
Expand All @@ -857,9 +884,9 @@ if [ -d "$SAGE_DESTDIR" ]; then
fi
# Copy file from the temp install path into $SAGE_LOCAL
if [ ! -d "$SAGE_LOCAL/$(dirname "$filename")" ]; then
mkdir -p "$SAGE_LOCAL/$(dirname "$filename")"
$SAGE_SUDO mkdir -p "$SAGE_LOCAL/$(dirname "$filename")"
fi
mv "$PREFIX$filename" "${SAGE_LOCAL%/}/$filename"
$SAGE_SUDO mv "$PREFIX$filename" "${SAGE_LOCAL%/}/$filename"
if [ $? -ne 0 ]; then
error_msg "Error moving files for $PKG_BASE."
exit 1
Expand All @@ -871,10 +898,29 @@ if [ -d "$SAGE_DESTDIR" ]; then
rm -rf "$SAGE_DESTDIR"
fi

# At this stage the path in $SAGE_DESTDIR no longer exists, so the variable
# should be unset
unset SAGE_DESTDIR
unset SAGE_DESTDIR_LOCAL

# Run the post-install script, if any
if [ -f spkg-postinst ]; then
time $SAGE_SUDO ./spkg-postinst
if [ $? -ne 0 ]; then
error_msg "Error running the postinst script for $PKG_BASE."
exit 1
fi
fi

if [ "$UNAME" = "CYGWIN" ]; then
# Drop our sage-spkg's shared lock, and try to call sage-rebase.sh
# under an exclusive lock
sage-flock -u 200

# Rebase after installing each package--in case any packages load this
# package at build time we need to ensure during the build that no binaries
# have conflicting address spaces
echo "Waiting for rebase lock"
sage-flock -x "$SAGE_LOCAL/var/lock/rebase.lock" \
sage-rebase.sh "$SAGE_LOCAL" 2>/dev/null
fi
Expand Down
18 changes: 16 additions & 2 deletions build/make/Makefile.in
Expand Up @@ -125,11 +125,15 @@ $(INST)/.dummy:
#
# $(inst_python2) $(inst_cython) $(inst_pari) | $(inst_pip)
#
# If some value in the dependencies list is not a package name (e.g. it is
# the name of some arbitrary file, or it is the '|' symbol) then it is just
# used verbatim.
#
# Positional arguments:
# $(1): package name
pkg_deps = \
$(foreach dep,$(deps_$(1)),\
$(if $(findstring |,$(dep)),|,$$(inst_$(dep))))
$(if $(value inst_$(dep)),$$(inst_$(dep)),$(dep)))

# ============================= normal packages ==============================
# Generate build rules for 'normal' packages; this template is used to generate
Expand Down Expand Up @@ -253,6 +257,16 @@ $(foreach pkgname,$(SCRIPT_PACKAGES),\
$(info $(call SCRIPT_PACKAGE_templ,$(pkgname),$(call pkg_deps,$(pkgname)))))
endif


# Use this target to list common targets of this Makefile (in particular for
# installation with `sage -i`.
list:
@for pkg in $(SAGE_I_TARGETS) $(NORMAL_PACKAGES) $(PIP_PACKAGES) $(SCRIPT_PACKAGES); do\
echo $$pkg;\
done


.PHONY: $(NORMAL_PACKAGES) $(addsuffix -clean,$(NORMAL_PACKAGES)) \
$(PIP_PACKAGES) $(addsuffix -clean,$(PIP_PACKAGES)) \
$(SCRIPT_PACKAGES) $(addsuffix -clean,$(SCRIPT_PACKAGES))
$(SCRIPT_PACKAGES) $(addsuffix -clean,$(SCRIPT_PACKAGES)) \
list
29 changes: 18 additions & 11 deletions build/make/deps
Expand Up @@ -14,11 +14,18 @@ endif
# We need to be able to override this to support ./sage -i -c PKG
SAGE_SPKG = sage-spkg

# List of targets that can be run using `sage -i` or `sage -f`
# These should generally have an associated -clean target for `sage -f` to
# work correctly
SAGE_I_TARGETS = sagelib doc

STARTED = $(SAGE_LOCAL)/etc/sage-started.txt


# Tell make not to look for files with these names:
.PHONY: all all-sage all-toolchain all-build start \
base toolchain toolchain-deps sagelib \
.PHONY: all all-sage all-toolchain all-build all-sageruntime \
all-start build-start base toolchain toolchain-deps base-toolchain \
sagelib \
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
doc-clean doc-src-clean doc-output-clean \
clean sagelib-clean build-clean
Expand All @@ -27,24 +34,21 @@ STARTED = $(SAGE_LOCAL)/etc/sage-started.txt
# Note that we put the "doc" target first in the rule below because
# the doc build takes the most time and should be started as soon as
# possible.
all: all-toolchain
all-start: toolchain-deps
$(MAKE) doc all-sage
$(MAKE) '$(STARTED)'

# Build everything except the documentation
all-build: all-toolchain
all-build: toolchain-deps
$(MAKE) all-sage


# Make the 3 preliminary build phases:
# base, toolchain, toolchain-deps.
# The 2 preliminary build phases: base and toolchain.
# During the toolchain build, we export SAGE_BUILD_TOOLCHAIN=yes
# such that packages can do different things when they are built
# as prerequisite of GCC.
all-toolchain:
$(MAKE) base
base-toolchain: base
env SAGE_BUILD_TOOLCHAIN=yes $(MAKE) toolchain
$(MAKE) toolchain-deps

# All targets except for the base packages
all-sage: \
Expand Down Expand Up @@ -76,18 +80,21 @@ toolchain-deps:
$(MAKE) $(inst_mpfr)
$(MAKE) $(inst_mpc)

all-toolchain: base-toolchain
$(MAKE) 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 = sagelib $(SCRIPTS) $(inst_ipython) $(inst_pexpect) \
$(inst_psutil) $(inst_future)

sageruntime: all-toolchain
all-sageruntime: toolchain-deps
$(MAKE) $(SAGERUNTIME)


# Start Sage at least once to check that it works
# (i.e. when we just installed Sage for the first time).
start: all-build
build-start: all-build
$(MAKE) '$(STARTED)'

# We make this depend on all standard packages because running
Expand Down
9 changes: 2 additions & 7 deletions build/pkgs/atlas/configuration.py
Expand Up @@ -169,13 +169,8 @@ def close(self):

conf['bits'] = platform.architecture()[0]

if os.environ.get('SAGE64', 'no') == 'yes':
assert conf['bits'] == '64bit', 'SAGE64=yes on a 32-bit system!'
conf['64bit?'] = True
else:
conf['64bit?'] = (conf['bits'] == '64bit')

conf['32bit?'] = not conf['64bit?']
conf['64bit?'] = (conf['bits'] == '64bit')
conf['32bit?'] = (conf['bits'] != '64bit')


######################################################################
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/autotools/type
@@ -1 +1 @@
optional
experimental
17 changes: 17 additions & 0 deletions build/pkgs/bleach/SPKG.txt
@@ -0,0 +1,17 @@
= bleach =

== Description ==

An easy safelist-based HTML-sanitizing tool.

== License ==

Apache License v2

== Upstream Contact ==

Home Page: https://github.com/mozilla/bleach

== Dependencies ==

Python, html5lib, six
4 changes: 4 additions & 0 deletions build/pkgs/bleach/checksums.ini
@@ -0,0 +1,4 @@
tarball=bleach-VERSION.tar.gz
sha1=ed09e5428b8a47d57e232457ad944119ce9cba06
md5=47fb1e6a6fd82ca84c0e9fd1023321e6
cksum=1206011431
5 changes: 5 additions & 0 deletions build/pkgs/bleach/dependencies
@@ -0,0 +1,5 @@
$(PYTHON) | setuptools pip

----------
All lines of this file are ignored except the first.
It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
1 change: 1 addition & 0 deletions build/pkgs/bleach/package-version.txt
@@ -0,0 +1 @@
2.1.3
1 change: 1 addition & 0 deletions build/pkgs/bleach/spkg-install
@@ -0,0 +1 @@
cd src && sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/bleach/type
@@ -0,0 +1 @@
standard
11 changes: 0 additions & 11 deletions build/pkgs/bzip2/spkg-install
@@ -1,14 +1,3 @@
if [ "x$CFLAG64" = x ]; then
CFLAG64=-m64
fi

if [ "x$SAGE64" = xyes ]; then
echo "Building a 64-bit version of bzip2"
CFLAGS="$CFLAG64 $CFLAGS"
fi

export CFLAGS="-O2 -g $CFLAGS"

cd src/src

# Autotoolify bzip2
Expand Down
13 changes: 0 additions & 13 deletions build/pkgs/cddlib/spkg-install
@@ -1,16 +1,3 @@
# Normally for a 64-bit build, the -m64 option is added to
# gcc, but other compilers will not accept that, so
# allow it to be configured as something different if need
# be.

if [ -z $CFLAG64 ] ; then
CFLAG64=-m64
fi

if [ "x$SAGE64" = xyes ]; then
echo "64 bit build of cddlib"
CFLAGS="$CFLAGS $CFLAG64"; export CFLAGS
fi
export CPPFLAGS="-I$SAGE_LOCAL/include $CPPFLAGS"

cd src
Expand Down
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=da31bee34bb5f75c85af4af3479783c061a357a2
md5=310a850d0a886892a777570bca9333f9
cksum=3849795753
sha1=12c986c0c792c32279e4e7948e69feba57b51f92
md5=83a4497b5cce2f0a3a17746f9a6e9528
cksum=2212091534
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
@@ -1 +1 @@
256
263
2 changes: 1 addition & 1 deletion build/pkgs/cryptominisat/type
@@ -1 +1 @@
optional
experimental
20 changes: 0 additions & 20 deletions build/pkgs/cvxopt/spkg-check
Expand Up @@ -6,26 +6,6 @@ fi

CUR=`pwd`

# Let the user set an environment variable CFLAG64 to
# indicate the C compiler flag for 64-bit builds. By
# default this will be -m64. IBM's compiler on AIX
# and HP's on HP-UX do NOT use -m64.

if [ -z "$CFLAG64" ] ; then
CFLAG64=-m64
fi

# There is no C++ code in cvxopt, so no need to do likewise
# with CXXFLAG64.

if [ "x$SAGE64" = xyes ]; then
echo "Testing a 64-bit version of the cvxopt"
CFLAGS="$CFLAGS $CFLAG64"
CPPFLAGS="$CPPFLAGS $CFLAG64" ; export CPPFLAGS
LDFLAGS="$LDFLAGS $CFLAG64" ; export LDFLAGS
CC="$CC $CFLAG64" ; export CC
fi

if [ "x$SAGE_DEBUG" = xyes ] ; then
CFLAGS="$CFLAGS -g -O0" # No optimisation, aids debugging.
else
Expand Down
15 changes: 0 additions & 15 deletions build/pkgs/cvxopt/spkg-install
Expand Up @@ -6,21 +6,6 @@ fi

cd src

# Normally for a 64-bit build the -m64 option is added to
# gcc, but other compilers will not accept that, so
# allow it to be configured as something different if need
# be.

if [ -z $CFLAG64 ] ; then
CFLAG64=-m64
fi

if [ "x$SAGE64" = xyes ]; then
echo "Building a 64 bit version of cvxopt"
CFLAGS="$CFLAGS $CFLAG64"; export CFLAGS
CC="$CC $CFLAG64" ; export CC
fi

# Ensure FreeBSD build finds new, local math.h and complex.h
if [ "$UNAME" = FreeBSD ]; then
export CPPFLAGS="$CPPFLAGS -I$SAGE_LOCAL/include"
Expand Down

0 comments on commit e2b9be0

Please sign in to comment.