Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into sage_depr
Browse files Browse the repository at this point in the history
  • Loading branch information
a-andre committed Mar 3, 2014
2 parents 0b6c8a4 + ccab985 commit 28d349b
Show file tree
Hide file tree
Showing 231 changed files with 9,397 additions and 4,991 deletions.
2 changes: 2 additions & 0 deletions COPYING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ pari GPLv2+
patch GPLv2+
pexpect Python License
pil Similar to MIT and modified BSD (see below)
pkgconf ISC License (equivalent to Simplified BSD)
pkgconfig MIT License
polybori GPLv2+
polytopes_db None (database)
ppl GPLv3+
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Sage version 6.2.beta2, released 2014-02-15
Sage version 6.2.beta3, released 2014-03-03
9 changes: 9 additions & 0 deletions build/deps
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ all-sage: \
$(INST)/$(PARI) \
$(INST)/$(PEXPECT) \
$(INST)/$(PILLOW) \
$(INST)/$(PKGCONF) \
$(INST)/$(PKGCONFIG) \
$(INST)/$(POLYBORI) \
$(INST)/$(POLYTOPES_DB) \
$(INST)/$(PPL) \
Expand Down Expand Up @@ -501,6 +503,12 @@ $(INST)/$(GCC): $(INST)/$(MPIR) $(INST)/$(MPFR) $(INST)/$(MPC) \
$(INST)/$(PILLOW): $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS)
+$(PIPE) "$(SAGE_SPKG) $(PILLOW) 2>&1" "tee -a $(SAGE_LOGS)/$(PILLOW).log"

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

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

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

Expand All @@ -521,6 +529,7 @@ $(INST)/$(CEPHES):
# setuptools forgets to update easy-install.pth during parallel
# builds, so we build the relevant packages serially.

$(INST)/$(PILLOW): $(INST)/$(PKGCONFIG)
$(INST)/$(SQLALCHEMY): $(INST)/$(PILLOW)
$(INST)/$(PYGMENTS): $(INST)/$(SQLALCHEMY)
$(INST)/$(JINJA2): $(INST)/$(PYGMENTS)
Expand Down
40 changes: 4 additions & 36 deletions build/install
Original file line number Diff line number Diff line change
Expand Up @@ -65,32 +65,6 @@ mkdir -p "$SAGE_SHARE"
# Determine whether to install GCC (gcc, g++, gfortran).
###############################################################################

# Give a deprecation message whenever SAGE_FORTRAN or SAGE_FORTRAN_LIB
# is set to something. See Trac #13349.
if [ -n "$SAGE_FORTRAN" ] || [ -n "$SAGE_FORTRAN_LIB" ]; then
cat >&2 <<EOF
WARNING: the environment variables SAGE_FORTRAN and SAGE_FORTRAN_LIB
are deprecated since sage-5.3.
The GNU Compiler Collection (GCC) is included in Sage and will be
installed if you do not have a Fortran compiler. If you do have a
Fortran compiler installed and you want to specify its path, you can
use the standard environment variable FC (instead of SAGE_FORTRAN) to
point to the Fortran compiler.
As replacement to SAGE_FORTRAN_LIB, you can either add the directory
containing the Fortran library to LIBRARY_PATH and/or LD_LIBRARY_PATH,
or copy/symlink the Fortran library into \$SAGE_ROOT/local/lib. In most
cases, none of this is needed as the compiler/linker should find the
Fortran library by itself.
Support for SAGE_FORTRAN and SAGE_FORTRAN_LIB might be removed from
future versions of Sage. Moreover, these variables are not tested
anymore and might not work as you expect.
EOF
sleep 5
fi

# Determine various compilers. These variables should not be exported,
# they are only used in this build/install script to determine whether to
# install GCC. The "real" $CC, $CXX,... variables for building Sage are
Expand All @@ -107,9 +81,7 @@ if [ -z "$CXX" ]; then
fi

if [ -z "$FC" ]; then
if [ -n "$SAGE_FORTRAN" ]; then
FC="$SAGE_FORTRAN"
elif command -v gfortran >/dev/null 2>/dev/null; then
if command -v gfortran >/dev/null 2>/dev/null; then
FC=gfortran
elif command -v g95 >/dev/null 2>/dev/null; then
FC=g95
Expand Down Expand Up @@ -264,12 +236,11 @@ fi
# Create the sage_fortran script.
###############################################################################

# Don't use FC and SAGE_FORTRAN_LIB if we are installing GCC or have
# Don't use FC if we are installing GCC or have
# installed gfortran, as that can cause compatibility problems.
# We want to use the Fortran compiler that we build as part of GCC.
if [ "$need_to_install_gcc" = yes ] || [ -x "$SAGE_LOCAL/bin/gfortran" ]; then
unset FC
unset SAGE_FORTRAN_LIB
fi

# Write sage_fortran script.
Expand Down Expand Up @@ -301,11 +272,6 @@ fi
EOF
chmod +x "$SAGE_LOCAL/bin/sage_fortran"

# Make the fortran library symlink if requested
if [ -f "$SAGE_FORTRAN_LIB" ]; then
( cd "$SAGE_LOCAL/lib" && ln -sf "$SAGE_FORTRAN_LIB" . )
fi

###############################################################################
# Create $SAGE_ROOT/build/Makefile starting from build/deps
###############################################################################
Expand Down Expand Up @@ -413,6 +379,8 @@ PARI_SEADATA_SMALL=`newest_version pari_seadata_small`
PATCH=`newest_version patch`
PEXPECT=`newest_version pexpect`
PILLOW=`newest_version pillow`
PKGCONF=`newest_version pkgconf`
PKGCONFIG=`newest_version pkgconfig`
POLYBORI=`newest_version polybori`
POLYTOPES_DB=`newest_version polytopes_db`
PPL=`newest_version ppl`
Expand Down
16 changes: 8 additions & 8 deletions build/pkgs/atlas/spkg-install
Original file line number Diff line number Diff line change
Expand Up @@ -136,16 +136,16 @@ if 'SAGE_ATLAS_LIB' in os.environ:
sym_gfortran = 'gfortran' in symbol_table
sym_g95 = 'g95' in symbol_table
if sym_gfortran and conf['fortran'] != 'gfortran':
print("Symbols in lib77blas indicate it was build with gfortran \n")
print("However SAGE is using a different fortran compiler \n")
print("If you wish to use this blas library, make sure SAGE_FORTRAN points \n")
print("to a fortran compiler compatible with this library. \n")
print("Symbols in lib77blas indicate it was built with gfortran.\n")
print("However, Sage is using a different fortran compiler.\n")
print("If you wish to use this blas library, make sure FC points\n")
print("to a fortran compiler compatible with this library.\n")
sys.exit(2)
if sym_g95 and conf['fortran'] != 'g95':
print("Symbols in lib77blas indicate it was build with g95 \n")
print("However SAGE is using a different fortran compiler \n")
print("If you wish to use this blas library, make sure SAGE_FORTRAN points \n")
print("to a fortran compiler compatible with this library. \n")
print("Symbols in lib77blas indicate it was built with g95 \n")
print("However, Sage is using a different fortran compiler.\n")
print("If you wish to use this blas library, make sure FC points\n")
print("to a fortran compiler compatible with this library.\n")
sys.exit(2)

SAGE_LOCAL_LIB = os.path.join(conf['SAGE_LOCAL'], 'lib')
Expand Down
94 changes: 5 additions & 89 deletions build/pkgs/cliquer/SPKG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ weighted graph. It uses an exact branch-and-bound algorithm recently
developed by Patr Ostergard.

== License ==
Cliquer is licensed under the GNU General Public License v2 ( June 1991 )
GNU General Public License v2

== SPKG Maintainers ==
Nathann Cohen ([email protected])
Expand All @@ -18,92 +18,8 @@ http://users.tkk.fi/pat/cliquer.html
== Dependencies ==
* None

== TODO ==
* A MAJOR cleanup of this package is required, see #9870, #14349

== Patches ==
* Makefile.patch: Patch the Makefile for Sage. This custom Makefile
contains Sage specific compilation and linking flags. More
importantly, we're building cliquer as a dynamic shared library,
instead of a stand alone program.
* cl_c.patch, cl_h.patch: Hook into cliquer to access internal
functions. Could probably be done better (see TODO)

== Changelog ==

=== cliquer-1.21.p1 (Volker Braun, Felix Salfelder, 15 July 2013) ===
* Trac #14892: Track all patches, remove unnecessary graph.c.patch

=== cliquer-1.21.p0 (Nathann Cohen, 4 May 2012) ===
* Solved memory leaks reported on #12905
* Incidentally updated Cliquer to version 1.21
* Incidentally removed Sage's code that was formerly directly
inserted in the original files. This code is now inserted during
installation from patches located in the patches/ folder. A bit
cleaner. A long way to go. But God this code really is messy and
full of global variables.

=== cliquer-1.2.p11 (John Palmieri, 23 March 2012) ===
* #12311: Remove explicit path to testcc.sh in spkg-install.

=== cliquer-1.2.p10 (Karl-Dieter Crisman, 28 June 2011) ===
* #11547: Make sure that libcliquer.so is copied as both
.dll and .so files on Cygwin

=== cliquer-1.2.p9 (Jeroen Demeyer, 4 May 2011) ===
* #11227: Apply workaround also for versions 4.6.1 of gcc, not only
version 4.6.0. This is to support pre-release versions of
gcc 4.6.1, the bug should be fixed in the final gcc 4.6.1.

=== cliquer-1.2.p8 (Jeroen Demeyer, 25 April 2011) ===
* #11227: When compiling with gcc 4.6.0, add compiler flag -fno-ivopts
to work around a gcc bug.
* Use `patch` for patching the Makefile and put patches/Makefile.patch
under hg control.
* Some minor cleanup of spkg-install and Makefile.

=== cliquer-1.2.p7 David Kirkby, Leif Leonhardy (14 September 2010) ===
* #9871 Change flags passed to the linker on Solaris to avoid problems with the
link-editor believing the shared library contains text relocations. This
problem can be seen on 32-bit builds of Solaris and OpenSolaris using
/usr/bin/elfdump, but the problems are much more serious on 64-bit
builds of Solaris - in some cases stopping code from building.
* Added the linker flag -ztext on Solaris too, as -ztest forces a fatal
error if any relocations against non-writable, allocatable sections
remain. This will make it easier to catch any similar bugs in future.

=== cliquer-1.2.p6 Nathann Cohen, David Kirkby (31 August 2010) ===
* #9766: Additions to SPKG.txt
- URL of the original website to the SPKG.txt file
- "Special Update/Build Instructions" section
- "Dependencies" section
* Added an entry to SPKG showing when this package was first put into
Sage. The first mercurial log is dated 17th July 2009.
* Added a note on to the cliquer-1.2.p0 entry in SPKG.txt that 'scons'
was no longer used.

=== cliquer-1.2.p5 Mike Hansen (15 February 2010) ===
* Fixed Trac #8279 to make the cliquer spkg work on Cygwin with the Sage library.

=== cliquer-1.2.p4 Mike Hansen, William Stein (12 February 2010) ===
* Fixed Trac #7308 to make the cliquer spkg work on Cygwin.

=== cliquer-1.2.p3 (Peter Jeremy, 2010-01-25) ===
* #7824: add FreeBSD support

=== cliquer-1.2.p2 (?, ?) ===
* changelog lost to history

=== cliquer-1.2.p1 Karl-Dieter Crisman, Georg S. Weber (7th October 2009) ===
* fix trac #7115: Re-add support for building cliquer on Mac OS X 10.4

=== cliquer-1.2.p0 Minh Van Nguyen (16th September 2009) ===
* Support for building cliquer 1.2 in 64-bit mode on Mac OS X 10.5.x
and 64-bit openSUSE 11.1.
* Add custom compilation and linking flags on top of the Makefile of
cliquer 1.2.
* Removed dependancy of cliquer on 'scons'

=== cliquer-1.2 Nathann Cohen (17th July 2009) ===
* First release put into Sage.

* Makefile.patch: Patch the Makefile for Sage. Remove hardcoded
compiler and linker flags, allow flags to be set from spkg-install.
More importantly, we're building cliquer as a dynamic shared library,
instead of a stand-alone program.
2 changes: 1 addition & 1 deletion build/pkgs/cliquer/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.21.p1
1.21.p2
49 changes: 27 additions & 22 deletions build/pkgs/cliquer/patches/Makefile.patch
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
diff -ur src/Makefile src.patched/Makefile
--- src/Makefile 2010-02-16 05:26:57.000000000 +0100
+++ src.patched/Makefile 2011-04-26 09:46:41.000000000 +0200
@@ -1,14 +1,17 @@

##### Configurable options:

+# Don't need to set any of these compiler variables. They have already been
+# set when running SAGE_ROOT/local/bin/sage-env as part of installing a
+# package.
## Compiler:
diff -ru src/Makefile b/Makefile
--- src/Makefile 2010-01-22 08:53:21.000000000 +0100
+++ b/Makefile 2014-01-16 14:55:51.977047191 +0100
@@ -1,24 +1,3 @@
-
-##### Configurable options:
-
-## Compiler:
-CC=gcc
+#CC=gcc
#CC=cc

## Compiler flags:

# GCC: (also -march=pentium etc, for machine-dependent optimizing)
-#CC=cc
-
-## Compiler flags:
-
-# GCC: (also -march=pentium etc, for machine-dependent optimizing)
-CFLAGS=-Wall -O3 -fomit-frame-pointer -funroll-loops
+#CFLAGS=-Wall -O3 -fomit-frame-pointer -funroll-loops

# GCC w/ debugging:
#CFLAGS=-Wall -g -DINLINE=
@@ -29,14 +32,14 @@
-
-# GCC w/ debugging:
-#CFLAGS=-Wall -g -DINLINE=
-
-# Compaq C / Digital C:
-#CFLAGS=-arch=host -fast
-
-# SunOS:
-#CFLAGS=-fast
-
## Program options:

# Enable long options for cl (eg. "cl --help"), comment out to disable.
@@ -29,14 +8,14 @@
##### End of configurable options


Expand Down
35 changes: 35 additions & 0 deletions build/pkgs/cliquer/spkg-check
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env bash

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

OPTIMIZATION_FLAGS="-O3 -funroll-loops -fomit-frame-pointer"
# Work around a bug in gcc 4.6.0: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48774
if [ "`testcc.sh $CC`" = GCC ] ; then
if $CC -dumpversion 2>/dev/null |grep >/dev/null '^4\.6\.[01]' ; then
echo "Warning: Working around bug in gcc 4.6.0"
OPTIMIZATION_FLAGS="$OPTIMIZATION_FLAGS -fno-ivopts"
fi
fi

CFLAGS="$CFLAGS `testcflags.sh -g $OPTIMIZATION_FLAGS -fPIC -KPIC -Wall`"
CPPFLAGS="$CPPFLAGS -I$SAGE_LOCAL/include"
LDFLAGS="$LDFLAGS -L$SAGE_LOCAL/lib"

# Compile for 64-bit if SAGE64 is set to 'yes'.
# On 64-bit hardware, we don't need to set this variable to true. A
# 64-bit cliquer library would be built on such platform.
if [ "$SAGE64" = yes ]; then
CFLAGS="$CFLAGS -m64 "
LDFLAGS="$LDFLAGS -m64 "
fi

# Export everything
export CFLAGS
export CPPFLAGS
export LDFLAGS

cd src && $MAKE test
Loading

0 comments on commit 28d349b

Please sign in to comment.