diff --git a/README.md b/README.md index 70ed8d6548b..50fbdaf766e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ > "Creating a Viable Open Source Alternative to > Magma, Maple, Mathematica, and MATLAB" -> Copyright (C) 2005-2014 The Sage Development Team +> Copyright (C) 2005-2016 The Sage Development Team http://www.sagemath.org @@ -67,7 +67,7 @@ source. More detailed instructions, including how to build faster on multicore machines, are contained later in this README and in the Installation Guide: - http://www.sagemath.org/doc/installation + http://doc.sagemath.org/html/en/installation __1. Make sure you have the dependencies and 5 GB of free disk space.__ @@ -110,6 +110,11 @@ __3. cd into the Sage directory and type make:__ should work fine on all fully supported platforms. If it does not, we want to know! + If you'd like to contribute to Sage, be sure to read the + Developer's Guide: + + http://doc.sagemath.org/html/en/developer/index.html + Environment Variables --------------------- @@ -117,7 +122,7 @@ Environment Variables There are a lot of environment variables which control the install process of Sage, see: - http://sagemath.org/doc/installation/source.html#environment-variables + http://doc.sagemath.org/html/en/installation/source.html#environment-variables Implementation @@ -325,7 +330,7 @@ SAGE_ROOT Root directory (sage-x.y.z in Sage tarball) ``` For more details, see: - http://sagemath.org/doc/developer/coding_basics.html#files-and-directory-structure + http://doc.sagemath.org/html/en/developer/coding_basics.html#files-and-directory-structure Relocation @@ -343,7 +348,7 @@ Sage as root at least once prior to using the system-wide Sage as a normal user. See the Installation Guide for further information on performing a system-wide installation: - http://www.sagemath.org/doc/installation/source.html#installation-in-a-multiuser-environment + http://doc.sagemath.org/html/en/installation/source.html#installation-in-a-multiuser-environment If you find anything that doesn't work correctly after you moved the directory, please email the sage-support mailing list. diff --git a/VERSION.txt b/VERSION.txt index e8e0734fc9d..dc0bb5e8084 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -SageMath version 7.3.beta4, Release Date: 2016-06-12 +SageMath version 7.3, Release Date: 2016-08-04 diff --git a/build/bin/sage-download-file b/build/bin/sage-download-file index 24750aa5e8f..df5ab3a37f3 100755 --- a/build/bin/sage-download-file +++ b/build/bin/sage-download-file @@ -24,5 +24,5 @@ except ImportError: sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) import sage_bootstrap -from sage_bootstrap.cmdline import SageDownloadFileApplication -SageDownloadFileApplication().run() +from sage_bootstrap.download.cmdline import run_safe +run_safe() diff --git a/build/bin/sage-package b/build/bin/sage-package index a8d21612366..9509750ff3f 100755 --- a/build/bin/sage-package +++ b/build/bin/sage-package @@ -38,5 +38,5 @@ except ImportError: sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) import sage_bootstrap -from sage_bootstrap.cmdline import SagePkgApplication -SagePkgApplication().run() +from sage_bootstrap.cmdline import run +run() diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg index 138e5e87d85..d736c4e6177 100755 --- a/build/bin/sage-spkg +++ b/build/bin/sage-spkg @@ -272,7 +272,8 @@ elif [ -z "$PKG_HAS_PATH" ]; then echo "that it will build correctly, or behave as expected." echo "Use at your own risk!" echo "===============================================================" - read -p "Are you sure you want to continue [Y/n]? " answer + echo "Are you sure you want to continue [Y/n]?" + read -p "Answer: " answer case "$answer" in n*|N*) exit 0;; esac @@ -365,7 +366,8 @@ if [ ! -f "$PKG_SRC" ]; then echo "For more information about making Sage packages, see" echo "http://doc.sagemath.org/html/en/developer/packaging.html" echo "==========================================================================" - read -p "Are you sure you want to continue [Y/n]? " answer + echo "Are you sure you want to continue [Y/n]?" + read -p "Answer: " answer case "$answer" in n*|N*) exit 0;; esac @@ -381,7 +383,8 @@ if [ ! -f "$PKG_SRC" ]; then echo "http://doc.sagemath.org/html/en/developer/packaging.html" echo "==========================================================================" echo - read -t 30 -p "Are you sure (automatically continuing in 30 seconds) [Y/n]? " answer + echo "Are you sure (automatically continuing in 30 seconds) [Y/n]?" + read -t 30 -p "Answer: " answer case "$answer" in n*|N*) exit 0;; esac @@ -520,32 +523,36 @@ fi ################################################################## if [ "$USE_LOCAL_SCRIPTS" = yes ]; then + # New-style package echo "Setting up build directory for $PKG_NAME" cp -Rp "$PKG_SCRIPTS" "$PKG_NAME" cd "$PKG_NAME" || exit $? + + sage-uncompress-spkg -d src "$PKG_SRC" + if [ $? -ne 0 ]; then + echo >&2 "Error: failed to extract $PKG_SRC" + exit 1 + fi else + # Old-style package (deprecated) echo "Extracting package $PKG_SRC" ls -l "$PKG_SRC" -fi -sage-uncompress-spkg -d src "$PKG_SRC" -if [ $? -ne 0 ]; then - echo >&2 "Error: failed to extract $PKG_SRC" - exit 1 -fi - -if [ "$USE_LOCAL_SCRIPTS" = yes ]; then - echo "Finished set up" -else - echo "Finished extraction" + sage-uncompress-spkg "$PKG_SRC" + if [ $? -ne 0 ]; then + echo >&2 "Error: failed to extract $PKG_SRC" + exit 1 + fi cd "$PKG_NAME" if [ $? -ne 0 ]; then - echo >&2 "Error: after extracting, the directory $PKG_NAME does not exist" + echo >&2 "Error: after extracting, the directory '$PKG_NAME' does not exist" exit 1 fi fi +echo "Finished extraction" + ################################################################## # The package has been extracted, prepare for installation ################################################################## diff --git a/build/bin/sage-uncompress-spkg b/build/bin/sage-uncompress-spkg index 162267a66f1..9f64e2e322e 100755 --- a/build/bin/sage-uncompress-spkg +++ b/build/bin/sage-uncompress-spkg @@ -1,246 +1,23 @@ #!/usr/bin/env python -""" -USAGE: - - sage-uncompress-spkg [-d DIR] PKG [FILE] - -With a single argument, unpack the file PKG to the current directory. - -If a directory is specified with the -d option the contents of -the archive are extracted into that directory using the following -rules: - - 1. If the archive contains (like most) a top-level directory - which contains all other files in the archive, the contents - of that directory are extracted into DIR, ignoring the name - of the top-level directory in the archive. - - 2. If the archive does not contain a single top-level directory - then all the contents of the archive are extracted into DIR. - -The directory must not already exist. - -If FILE is specified, extract FILE from PKG and send it to -stdout. (This option is present only for backwards compatibility: -printing the SPKG.txt file from an old-style spkg.) -""" - -from __future__ import print_function - -import argparse -import copy -import os -import sys -import tarfile -import zipfile - - -def filter_os_files(filenames): - """ - Given a list of filenames, returns a filtered list with OS-specific - special files removed. - - Currently removes OSX .DS_Store files and AppleDouble format ._ files. - """ - - files_set = set(filenames) - - def is_os_file(path): - dirname, name = os.path.split(path) - - if name == '.DS_Store': - return True - - if name.startswith('._'): - name = os.path.join(dirname, name[2:]) - # These files store extended attributes on OSX - # In principle this could be a false positive but it's - # unlikely, and to be really sure we'd have to extract the file - # (or at least the first four bytes to check for the magic number - # documented in - # http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf) - if name in files_set or os.path.normpath(name) in files_set: - return True - - return False - - filenames = filter(lambda f: not is_os_file(f), filenames) - - if sys.version_info[0] == 2: - return filenames - else: - # Make sure to return a list on Python >= 3 - return list(filenames) - - -class SageTarFile(tarfile.TarFile): - """ - Sage as tarfile.TarFile, but applies the user's current umask to the - permissions of all extracted files and directories. - - This mimics the default behavior of the ``tar`` utility. - - See http://trac.sagemath.org/ticket/20218#comment:16 for more background. - """ - - def __init__(self, *args, **kwargs): - super(SageTarFile, self).__init__(*args, **kwargs) - - # Unfortunately the only way to get the current umask is to set it - # and then restore it - self.umask = os.umask(0o777) - os.umask(self.umask) - - @classmethod - def can_read(cls, filename): - """ - Given an archive filename, returns True if this class can read and - process the archive format of that file. - """ - - return tarfile.is_tarfile(filename) - - @property - def names(self): - """ - List of filenames in the archive. - - Filters out names of OS-related files that shouldn't be in the - archive (.DS_Store, etc.) - """ - - return filter_os_files(self.getnames()) - - def chmod(self, tarinfo, target): - tarinfo = copy.copy(tarinfo) - tarinfo.mode &= ~self.umask - return super(SageTarFile, self).chmod(tarinfo, target) - - def extractall(self, path='.', members=None): - """ - Same as tarfile.TarFile.extractall but allows filenames for - the members argument (like zipfile.ZipFile). - """ - - if members: - members = [m if isinstance(m, tarfile.TarInfo) - else self.getmember(m) - for m in members] - - return super(SageTarFile, self).extractall(path=path, members=members) - - def extractbytes(self, member): - """ - Return the contents of the specified archive member as bytes. - - If the member does not exist, returns None. - """ - - if member in self.getnames(): - reader = self.extractfile(member) - return reader.read() - - -class SageZipFile(zipfile.ZipFile): - """ - Wrapper for zipfile.ZipFile to provide better API fidelity with - SageTarFile insofar as it's used by this script. - """ - - @classmethod - def can_read(cls, filename): - """ - Given an archive filename, returns True if this class can read and - process the archive format of that file. - """ - - return zipfile.is_zipfile(filename) - - @property - def names(self): - """ - List of filenames in the archive. - - Filters out names of OS-related files that shouldn't be in the - archive (.DS_Store, etc.) - """ - - return filter_os_files(self.namelist()) - - def extractbytes(self, member): - """ - Return the contents of the specified archive member as bytes. - - If the member does not exist, returns None. - """ - - if member in self.namelist(): - return self.read(member) - - -ARCHIVE_TYPES = [SageTarFile, SageZipFile] - - -def main(argv=None): - parser = argparse.ArgumentParser() - parser.add_argument('-d', dest='dir', nargs=1, metavar='DIR', - help='directory to extract archive contents into') - parser.add_argument('pkg', nargs=1, metavar='PKG', - help='the archive to extract') - parser.add_argument('file', nargs='?', metavar='FILE', - help='(deprecated) print the contents of the given ' - 'archive member to stdout') - - args = parser.parse_args(argv) - - filename = args.pkg[0] - dirname = args.dir[0] - - for cls in ARCHIVE_TYPES: - if cls.can_read(filename): - break - else: - print('Error: Unknown file type: {}'.format(filename), - file=sys.stderr) - return 1 - - # For now ZipFile and TarFile both have default open modes that are - # acceptable - archive = cls.open(filename) - - if args.file: - contents = archive.extractbytes(args.file) - if contents: - print(contents, end='') - return 0 - else: - return 1 - - top_level = None - - if dirname: - if os.path.exists(dirname): - print('Error: Directory {} already exists'.format(dirname), - file=sys.stderr) - return 1 - - top_levels = set() - for member in archive.names: - # Zip and tar files all use forward slashes as separators - # internally - top_levels.add(member.split('/', 1)[0]) - - if len(top_levels) == 1: - top_level = top_levels.pop() - - archive.extractall(members=archive.names) - - if top_level: - os.rename(top_level, dirname) - - return 0 - - -if __name__ == '__main__': - sys.exit(main()) +# usage: sage-uncompress-spkg [-h] [-d DIR] PKG [FILE] +# +# positional arguments: +# PKG the archive to extract +# FILE (deprecated) print the contents of the given archive member to +# stdout +# +# optional arguments: +# -h, --help show this help message and exit +# -d DIR directory to extract archive contents into + + +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.uncompress.cmdline import run +run() diff --git a/build/make/deps b/build/make/deps index 008227166d0..2dbbe6aca64 100644 --- a/build/make/deps +++ b/build/make/deps @@ -192,7 +192,7 @@ DOC_DEPENDENCIES = sagelib $(inst_sphinx) $(inst_sagenb) \ | $(SAGERUNTIME) $(inst_maxima) $(inst_networkx) $(inst_scipy) \ $(inst_matplotlib) $(inst_pillow) $(inst_mathjax) $(inst_mpmath) \ $(inst_ipykernel) $(inst_jupyter_client) $(inst_conway_polynomials) \ - $(inst_tachyon) + $(inst_tachyon) $(inst_jmol) doc: doc-html diff --git a/build/pkgs/4ti2/dependencies b/build/pkgs/4ti2/dependencies index e9c206ff16e..2b36820a7c5 100644 --- a/build/pkgs/4ti2/dependencies +++ b/build/pkgs/4ti2/dependencies @@ -1,4 +1,4 @@ -$(MP_LIBRARY) glpk +zlib $(MP_LIBRARY) glpk ---------- All lines of this file are ignored except the first. diff --git a/build/pkgs/atlas/patches/Makefile.patch b/build/pkgs/atlas/patches/Makefile.patch index 588b839ed5b..69662626b49 100644 --- a/build/pkgs/atlas/patches/Makefile.patch +++ b/build/pkgs/atlas/patches/Makefile.patch @@ -1,5 +1,5 @@ ---- src/CONFIG/src/Makefile 2012-06-23 17:27:27.000000000 +0100 -+++ new/CONFIG/src/Makefile 2012-06-24 03:05:52.043151077 +0100 +--- src/ATLAS/CONFIG/src/Makefile 2012-06-23 17:27:27.000000000 +0100 ++++ new/ATLAS/CONFIG/src/Makefile 2012-06-24 03:05:52.043151077 +0100 @@ -580,6 +580,6 @@ confclean: $(CLEANdep) rm -f *core* *.o config?.out diff --git a/build/pkgs/atlas/patches/arm_hard_floats.patch b/build/pkgs/atlas/patches/arm_hard_floats.patch index 348e59750b2..64cadd1f404 100644 --- a/build/pkgs/atlas/patches/arm_hard_floats.patch +++ b/build/pkgs/atlas/patches/arm_hard_floats.patch @@ -1,6 +1,6 @@ -diff -druN ATLAS.detect/CONFIG/src/atlcomp.txt ATLAS/CONFIG/src/atlcomp.txt ---- ATLAS.detect/CONFIG/src/atlcomp.txt 2013-01-08 10:15:42.000000000 -0800 -+++ ATLAS/CONFIG/src/atlcomp.txt 2014-02-10 04:36:26.113011794 -0800 +diff -druN ATLAS.detect/ATLAS/CONFIG/src/atlcomp.txt ATLAS/ATLAS/CONFIG/src/atlcomp.txt +--- ATLAS.detect/ATLAS/CONFIG/src/atlcomp.txt 2013-01-08 10:15:42.000000000 -0800 ++++ ATLAS/ATLAS/CONFIG/src/atlcomp.txt 2014-02-10 04:36:26.113011794 -0800 @@ -255,13 +255,13 @@ # ARM defaults # diff --git a/build/pkgs/atlas/patches/cygwin_threads.patch b/build/pkgs/atlas/patches/cygwin_threads.patch index 5f56db51160..e2db2ec236c 100644 --- a/build/pkgs/atlas/patches/cygwin_threads.patch +++ b/build/pkgs/atlas/patches/cygwin_threads.patch @@ -1,7 +1,7 @@ Let ATLAS use Cygwin thread functions on Cygwin64. -diff -druN ATLAS.orig/src/threads/ATL_thread_start.c ATLAS.new/src/threads/ATL_thread_start.c ---- ATLAS.orig/src/threads/ATL_thread_start.c 2014-07-10 09:22:06.000000000 -0700 -+++ ATLAS.new/src/threads/ATL_thread_start.c 2014-11-18 07:17:39.207997205 -0800 +diff -druN ATLAS.orig/ATLAS/src/threads/ATL_thread_start.c ATLAS.new/ATLAS/src/threads/ATL_thread_start.c +--- ATLAS.orig/ATLAS/src/threads/ATL_thread_start.c 2014-07-10 09:22:06.000000000 -0700 ++++ ATLAS.new/ATLAS/src/threads/ATL_thread_start.c 2014-11-18 07:17:39.207997205 -0800 @@ -14,14 +14,14 @@ */ { diff --git a/build/pkgs/atlas/patches/detect.patch b/build/pkgs/atlas/patches/detect.patch index 2511e556309..7c997e387d2 100644 --- a/build/pkgs/atlas/patches/detect.patch +++ b/build/pkgs/atlas/patches/detect.patch @@ -1,6 +1,6 @@ -diff -druN ATLAS.orig/CONFIG/include/atlconf.h ATLAS/CONFIG/include/atlconf.h ---- ATLAS.orig/CONFIG/include/atlconf.h 2013-01-08 10:15:42.000000000 -0800 -+++ ATLAS/CONFIG/include/atlconf.h 2014-02-10 04:31:19.992981182 -0800 +diff -druN ATLAS.orig/ATLAS/CONFIG/include/atlconf.h ATLAS/ATLAS/CONFIG/include/atlconf.h +--- ATLAS.orig/ATLAS/CONFIG/include/atlconf.h 2013-01-08 10:15:42.000000000 -0800 ++++ ATLAS/ATLAS/CONFIG/include/atlconf.h 2014-02-10 04:31:19.992981182 -0800 @@ -18,7 +18,7 @@ enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS, AFARM, AFS390}; diff --git a/build/pkgs/atlas/patches/do_not_force_mutex.patch b/build/pkgs/atlas/patches/do_not_force_mutex.patch index 5db61bd7889..bd09ae08c12 100644 --- a/build/pkgs/atlas/patches/do_not_force_mutex.patch +++ b/build/pkgs/atlas/patches/do_not_force_mutex.patch @@ -1,10 +1,10 @@ Always use assembly over mutex since the mutex version fails to build a shared library. See #15045 for details. -diff --git a/tune/threads/tune_count.c b/tune/threads/tune_count.c +diff --git a/ATLAS/tune/threads/tune_count.c b/ATLAS/tune/threads/tune_count.c index f09717f..4dc3fde 100644 ---- a/tune/threads/tune_count.c -+++ b/tune/threads/tune_count.c +--- a/ATLAS/tune/threads/tune_count.c ++++ b/ATLAS/tune/threads/tune_count.c @@ -241,8 +241,8 @@ int main(int nargs, char **args) */ if (tmut < tldec*1.02) diff --git a/build/pkgs/atlas/patches/glibc_scanf_workaround.patch b/build/pkgs/atlas/patches/glibc_scanf_workaround.patch index 9118aac2558..dba90a94677 100644 --- a/build/pkgs/atlas/patches/glibc_scanf_workaround.patch +++ b/build/pkgs/atlas/patches/glibc_scanf_workaround.patch @@ -1,8 +1,8 @@ Bug in glibc-2.18: https://sourceware.org/bugzilla/show_bug.cgi?id=15917 ---- a/tune/sysinfo/masrch.c -+++ b/tune/sysinfo/masrch.c +--- a/ATLAS/tune/sysinfo/masrch.c ++++ b/ATLAS/tune/sysinfo/masrch.c @@ -1,6 +1,7 @@ #include #include diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 50c884d2658..9360ae04a32 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -143,6 +143,7 @@ if 'SAGE_ATLAS_LIB' in os.environ: paths = [ ATLAS_LIB, os.path.join(ATLAS_LIB, 'lib64'), os.path.join(ATLAS_LIB, 'lib') ] ATLAS_LIB = None + libraries = [] for libs in libraries_sets: for path in paths: if is_atlas_lib_path(path, libs): @@ -160,7 +161,7 @@ if 'SAGE_ATLAS_LIB' in os.environ: print('- or liblapack and libblas;') print('you wish to use existing ATLAS libraries.') print('For more details, see:') - print('http://sagemath.org/doc/installation/source.html#environment-variables') + print('http://doc.sagemath.org/html/en/installation/source.html#environment-variables') print('Unset SAGE_ATLAS_LIB to build ATLAS from source.') print('Then type make.') sys.exit(2) @@ -209,7 +210,7 @@ if 'SAGE_ATLAS_LIB' in os.environ: for lib in libraries + libraries_optional: symlinkOSlibrary(prefix+lib) - if 'atlas' in libs: + if 'atlas' in libraries: write_pc_file(['cblas', 'atlas'], 'cblas') write_pc_file(['f77blas', 'atlas'], 'blas') # The inclusion of cblas is not a mistake. ATLAS' lapack include @@ -235,7 +236,7 @@ write_pc_file(['lapack', 'f77blas', 'cblas', 'atlas'], 'lapack') # apply all patches for fname in glob.glob(os.path.join(PATCH_DIR,'*.patch')): - rc = system_with_flush('patch -p1 -d src/ATLAS --input '+os.path.join(PATCH_DIR, fname)) + rc = system_with_flush('patch -p1 -d src/ --input '+os.path.join(PATCH_DIR, fname)) assert_success(rc, bad='Applying '+fname+' failed.', good='Applied '+fname+'.') # add extra architectural defaults diff --git a/build/pkgs/autotools/dependencies b/build/pkgs/autotools/dependencies new file mode 100644 index 00000000000..5b4211b133e --- /dev/null +++ b/build/pkgs/autotools/dependencies @@ -0,0 +1,5 @@ +ncurses git + +---------- +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. diff --git a/build/pkgs/boost/spkg-install b/build/pkgs/boost/spkg-install index 4cdd24fc08a..e2d68f4137d 100755 --- a/build/pkgs/boost/spkg-install +++ b/build/pkgs/boost/spkg-install @@ -16,6 +16,12 @@ if [[ $? -ne 0 ]]; then fi echo "Building boost" +# By default this is populated by a system value. +# If the boost build system (b2, bjam and associated files under /usr/share/boost-build) +# has been installed system wide it can cause interference. +# The build will fail purely and simply without much of an explanation. +# see http://trac.sagemath.org/ticket/20776 for details. +export BOOST_BUILD_PATH="${SAGE_LOCAL}"/share/boost-build ./b2 if [[ $? -ne 0 ]]; then echo >&2 "Failed to build boost." diff --git a/build/pkgs/brial/checksums.ini b/build/pkgs/brial/checksums.ini index 3c43fcb5c59..d92959393df 100644 --- a/build/pkgs/brial/checksums.ini +++ b/build/pkgs/brial/checksums.ini @@ -1,4 +1,4 @@ tarball=brial-VERSION.tar.bz2 -sha1=8b30a7b331323eae094752dd7f88b398e6ed742a -md5=66275eea0654cb1eb6438a6262140885 -cksum=2952216147 +sha1=12ef021fc1236e25ff0b46680720918489fb4931 +md5=f332eaa0378e9b630f958e4dcd4ea6e8 +cksum=2509320148 diff --git a/build/pkgs/brial/package-version.txt b/build/pkgs/brial/package-version.txt index 6f890028057..7ada0d303f3 100644 --- a/build/pkgs/brial/package-version.txt +++ b/build/pkgs/brial/package-version.txt @@ -1 +1 @@ -0.8.4.3 +0.8.5 diff --git a/build/pkgs/brial/patches/build/cygwin-gnucpp.patch b/build/pkgs/brial/patches/build/cygwin-gnucpp.patch deleted file mode 100644 index 6fe26c130dd..00000000000 --- a/build/pkgs/brial/patches/build/cygwin-gnucpp.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/common.mk 2016-04-07 15:53:44.907758600 +0200 -+++ b/common.mk 2016-04-07 15:54:02.599770500 +0200 -@@ -3,6 +3,6 @@ - -I$(top_srcdir)/libpolybori/include - - AM_CFLAGS = -std=c99 --AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100 -+AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100 - - AM_DEFAULT_SOURCE_EXT = .cc diff --git a/build/pkgs/brial/patches/build/no-undefined.patch b/build/pkgs/brial/patches/build/no-undefined.patch deleted file mode 100755 index d57baa2e042..00000000000 --- a/build/pkgs/brial/patches/build/no-undefined.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index a194bd5..1038934 100755 ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,8 +8,12 @@ libpolybori_la_SOURCES = - libpolybori_la_LIBADD = \ - Cudd/cudd/libcudd.la \ - libpolybori/src/libpolybori_base.la -+libpolybori_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) - - EXTRA_DIST = \ - Cudd/LICENSE \ - LICENSE \ - README -+# Dummy C++ source to cause C++ linking. -+nodist_EXTRA_libpolybori_la_SOURCES = dummy.cc -+ -diff --git a/groebner/src/Makefile.am b/groebner/src/Makefile.am -index 68c7df5..d044ab8 100755 ---- a/groebner/src/Makefile.am -+++ b/groebner/src/Makefile.am -@@ -10,6 +10,8 @@ libpolybori_groebner_la_LIBADD = \ - $(M4RI_LIBS) \ - $(GD_LIBS) - -+libpolybori_groebner_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) -+ - libpolybori_groebner_la_SOURCES = \ - dlex4data.cc \ - dp_asc4data.cc \ - diff --git a/build/pkgs/brial/patches/cygwin-gnucpp.patch b/build/pkgs/brial/patches/cygwin-gnucpp.patch deleted file mode 100644 index 13593a51267..00000000000 --- a/build/pkgs/brial/patches/cygwin-gnucpp.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/Cudd/cudd/Makefile.in b/Cudd/cudd/Makefile.in -index 645eb7d..760278b ---- a/Cudd/cudd/Makefile.in -+++ b/Cudd/cudd/Makefile.in -@@ -350,7 +350,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/libpolybori/include - - AM_CFLAGS = -std=c99 --AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100 -+AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100 - AM_DEFAULT_SOURCE_EXT = .cc - noinst_LTLIBRARIES = libcudd.la - libcudd_la_SOURCES = \ -diff --git a/common.mk b/common.mk -index 7915587..0afda02 100755 ---- a/common.mk -+++ b/common.mk -@@ -3,6 +3,6 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/libpolybori/include - - AM_CFLAGS = -std=c99 --AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100 -+AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100 - - AM_DEFAULT_SOURCE_EXT = .cc -diff --git a/groebner/src/Makefile.in b/groebner/src/Makefile.in -index ef7882c..cb3b04f ---- a/groebner/src/Makefile.in -+++ b/groebner/src/Makefile.in -@@ -372,7 +372,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/libpolybori/include - - AM_CFLAGS = -std=c99 --AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100 -+AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100 - AM_DEFAULT_SOURCE_EXT = .cc - lib_LTLIBRARIES = libpolybori_groebner.la - libpolybori_groebner_la_CXXFLAGS = $(AM_CXXFLAGS) $(SIMMD_CFLAGS) -diff --git a/libpolybori/src/Makefile.in b/libpolybori/src/Makefile.in -index 4e4e60a..4d110c2 ---- a/libpolybori/src/Makefile.in -+++ b/libpolybori/src/Makefile.in -@@ -323,7 +323,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/libpolybori/include - - AM_CFLAGS = -std=c99 --AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100 -+AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100 - AM_DEFAULT_SOURCE_EXT = .cc - noinst_LTLIBRARIES = libpolybori_base.la - libpolybori_base_la_SOURCES = \ diff --git a/build/pkgs/brial/patches/no-undefined.patch b/build/pkgs/brial/patches/no-undefined.patch deleted file mode 100755 index b0ed2470d23..00000000000 --- a/build/pkgs/brial/patches/no-undefined.patch +++ /dev/null @@ -1,190 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index a194bd5..1038934 100755 ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,8 +8,12 @@ libpolybori_la_SOURCES = - libpolybori_la_LIBADD = \ - Cudd/cudd/libcudd.la \ - libpolybori/src/libpolybori_base.la -+libpolybori_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) - - EXTRA_DIST = \ - Cudd/LICENSE \ - LICENSE \ - README -+# Dummy C++ source to cause C++ linking. -+nodist_EXTRA_libpolybori_la_SOURCES = dummy.cc -+ -diff --git a/Makefile.in b/Makefile.in -index 1091361..d09bc99 100755 ---- a/Makefile.in -+++ b/Makefile.in -@@ -141,6 +141,10 @@ AM_V_lt = $(am__v_lt_@AM_V@) - am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) - am__v_lt_0 = --silent - am__v_lt_1 = -+libpolybori_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ -+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ -+ $(AM_CXXFLAGS) $(CXXFLAGS) $(libpolybori_la_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -154,25 +158,29 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - am__v_at_1 = - DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/libpolybori/include/polybori --COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ -+depcomp = $(SHELL) $(top_srcdir)/depcomp -+am__depfiles_maybe = depfiles -+am__mv = mv -f -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -- $(AM_CFLAGS) $(CFLAGS) --AM_V_CC = $(am__v_CC_@AM_V@) --am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) --am__v_CC_0 = @echo " CC " $@; --am__v_CC_1 = --CCLD = $(CC) --LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -- $(AM_LDFLAGS) $(LDFLAGS) -o $@ --AM_V_CCLD = $(am__v_CCLD_@AM_V@) --am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) --am__v_CCLD_0 = @echo " CCLD " $@; --am__v_CCLD_1 = --SOURCES = $(libpolybori_la_SOURCES) -+ $(AM_CXXFLAGS) $(CXXFLAGS) -+AM_V_CXX = $(am__v_CXX_@AM_V@) -+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -+am__v_CXX_0 = @echo " CXX " $@; -+am__v_CXX_1 = -+CXXLD = $(CXX) -+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ -+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -+am__v_CXXLD_0 = @echo " CXXLD " $@; -+am__v_CXXLD_1 = -+SOURCES = $(libpolybori_la_SOURCES) \ -+ $(nodist_EXTRA_libpolybori_la_SOURCES) - DIST_SOURCES = $(libpolybori_la_SOURCES) - RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ -@@ -410,14 +418,18 @@ libpolybori_la_LIBADD = \ - Cudd/cudd/libcudd.la \ - libpolybori/src/libpolybori_base.la - -+libpolybori_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) - EXTRA_DIST = \ - Cudd/LICENSE \ - LICENSE \ - README - -+# Dummy C++ source to cause C++ linking. -+nodist_EXTRA_libpolybori_la_SOURCES = dummy.cc - all: all-recursive - - .SUFFIXES: -+.SUFFIXES: .cc .lo .o .obj - am--refresh: Makefile - @: - $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) -@@ -503,7 +515,7 @@ clean-libLTLIBRARIES: - } - - libpolybori.la: $(libpolybori_la_OBJECTS) $(libpolybori_la_DEPENDENCIES) $(EXTRA_libpolybori_la_DEPENDENCIES) -- $(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libpolybori_la_OBJECTS) $(libpolybori_la_LIBADD) $(LIBS) -+ $(AM_V_CXXLD)$(libpolybori_la_LINK) -rpath $(libdir) $(libpolybori_la_OBJECTS) $(libpolybori_la_LIBADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -511,6 +523,29 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Plo@am__quote@ -+ -+.cc.o: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< -+ -+.cc.obj: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -+ -+.cc.lo: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< -+ - mostlyclean-libtool: - -rm -f *.lo - -@@ -859,6 +894,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - - distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -+ -rm -rf ./$(DEPDIR) - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags -@@ -906,6 +942,7 @@ installcheck-am: - maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -+ -rm -rf ./$(DEPDIR) - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - -diff --git a/groebner/src/Makefile.am b/groebner/src/Makefile.am -index 68c7df5..d044ab8 100755 ---- a/groebner/src/Makefile.am -+++ b/groebner/src/Makefile.am -@@ -10,6 +10,8 @@ libpolybori_groebner_la_LIBADD = \ - $(M4RI_LIBS) \ - $(GD_LIBS) - -+libpolybori_groebner_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) -+ - libpolybori_groebner_la_SOURCES = \ - dlex4data.cc \ - dp_asc4data.cc \ -diff --git a/groebner/src/Makefile.in b/groebner/src/Makefile.in -index ef7882c..7687a38 100755 ---- a/groebner/src/Makefile.in -+++ b/groebner/src/Makefile.in -@@ -162,8 +162,8 @@ am__v_lt_0 = --silent - am__v_lt_1 = - libpolybori_groebner_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ -- $(libpolybori_groebner_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ -- $(LDFLAGS) -o $@ -+ $(libpolybori_groebner_la_CXXFLAGS) $(CXXFLAGS) \ -+ $(libpolybori_groebner_la_LDFLAGS) $(LDFLAGS) -o $@ - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -382,6 +382,7 @@ libpolybori_groebner_la_LIBADD = \ - $(M4RI_LIBS) \ - $(GD_LIBS) - -+libpolybori_groebner_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) - libpolybori_groebner_la_SOURCES = \ - dlex4data.cc \ - dp_asc4data.cc \ diff --git a/build/pkgs/brial/spkg-install b/build/pkgs/brial/spkg-install index 9e96bb22502..6bd8142bac1 100755 --- a/build/pkgs/brial/spkg-install +++ b/build/pkgs/brial/spkg-install @@ -22,7 +22,8 @@ for patch in ../patches/*.patch; do fi done -touch aclocal.m4 configure Makefile.in +# C++11 workaround https://trac.sagemath.org/ticket/20926 +export CXXFLAGS="$CXXFLAGS -std=c++98" ./configure \ --prefix="$SAGE_LOCAL" \ diff --git a/build/pkgs/cbc/dependencies b/build/pkgs/cbc/dependencies new file mode 100644 index 00000000000..fc352d3b888 --- /dev/null +++ b/build/pkgs/cbc/dependencies @@ -0,0 +1,5 @@ +readline zlib $(BLAS) + +---------- +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. diff --git a/build/pkgs/cddlib/package-version.txt b/build/pkgs/cddlib/package-version.txt index 16d9b92a12c..d0188e61702 100644 --- a/build/pkgs/cddlib/package-version.txt +++ b/build/pkgs/cddlib/package-version.txt @@ -1 +1 @@ -094g.p0 +094g.p1 diff --git a/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.am.patch b/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.am.patch index 786a2f8429a..ec0be4208c8 100644 --- a/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.am.patch +++ b/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.am.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src-gmp/Makefile.am b/src/lib-src-gmp/Makefile.am +diff --git a/lib-src-gmp/Makefile.am b/lib-src-gmp/Makefile.am index b3ab11a..a9673b8 100644 ---- a/src.bak/lib-src-gmp/Makefile.am -+++ b/src/lib-src-gmp/Makefile.am +--- a/lib-src-gmp/Makefile.am ++++ b/lib-src-gmp/Makefile.am @@ -13,7 +13,8 @@ cddmp_f.c \ cddio_f.c \ cddlib_f.c \ diff --git a/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.in.patch b/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.in.patch index 4ceaa5775f5..1c83482d60f 100644 --- a/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.in.patch +++ b/build/pkgs/cddlib/patches/lib-src-gmp_Makefile.in.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src-gmp/Makefile.in b/src/lib-src-gmp/Makefile.in +diff --git a/lib-src-gmp/Makefile.in b/lib-src-gmp/Makefile.in index 4ab9342..93ff335 100644 ---- a/src.bak/lib-src-gmp/Makefile.in -+++ b/src/lib-src-gmp/Makefile.in +--- a/lib-src-gmp/Makefile.in ++++ b/lib-src-gmp/Makefile.in @@ -54,7 +54,7 @@ libcddgmp_la_LIBADD = am_libcddgmp_la_OBJECTS = cddcore.lo cddlp.lo cddmp.lo cddio.lo \ diff --git a/build/pkgs/cddlib/patches/lib-src_Makefile.am.patch b/build/pkgs/cddlib/patches/lib-src_Makefile.am.patch index e3df16691b0..d5a1062fe58 100644 --- a/build/pkgs/cddlib/patches/lib-src_Makefile.am.patch +++ b/build/pkgs/cddlib/patches/lib-src_Makefile.am.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src/Makefile.am b/src/lib-src/Makefile.am +diff --git a/lib-src/Makefile.am b/lib-src/Makefile.am index fe08dc3..5b964c6 100644 ---- a/src.bak/lib-src/Makefile.am -+++ b/src/lib-src/Makefile.am +--- a/lib-src/Makefile.am ++++ b/lib-src/Makefile.am @@ -7,7 +7,8 @@ cddmp.c \ cddio.c \ cddlib.c \ diff --git a/build/pkgs/cddlib/patches/lib-src_Makefile.in.patch b/build/pkgs/cddlib/patches/lib-src_Makefile.in.patch index d374a70ac0c..bfe6c1c46a9 100644 --- a/build/pkgs/cddlib/patches/lib-src_Makefile.in.patch +++ b/build/pkgs/cddlib/patches/lib-src_Makefile.in.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src/Makefile.in b/src/lib-src/Makefile.in +diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index bd3c2b5..ccf4a6c 100644 ---- a/src.bak/lib-src/Makefile.in -+++ b/src/lib-src/Makefile.in +--- a/lib-src/Makefile.in ++++ b/lib-src/Makefile.in @@ -53,7 +53,7 @@ libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libcdd_la_LIBADD = diff --git a/build/pkgs/cddlib/patches/lib-src_cddcore.c.patch b/build/pkgs/cddlib/patches/lib-src_cddcore.c.patch index 96b12ce1a41..9fea06fe085 100644 --- a/build/pkgs/cddlib/patches/lib-src_cddcore.c.patch +++ b/build/pkgs/cddlib/patches/lib-src_cddcore.c.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src/cddcore.c b/src/lib-src/cddcore.c +diff --git a/lib-src/cddcore.c b/lib-src/cddcore.c index 9644788..a029bc3 100644 ---- a/src.bak/lib-src/cddcore.c -+++ b/src/lib-src/cddcore.c +--- a/lib-src/cddcore.c ++++ b/lib-src/cddcore.c @@ -17,6 +17,7 @@ #include #include diff --git a/build/pkgs/cddlib/patches/lib-src_cddlp.c.patch b/build/pkgs/cddlib/patches/lib-src_cddlp.c.patch index deabc6eeeab..ea054f03e1a 100644 --- a/build/pkgs/cddlib/patches/lib-src_cddlp.c.patch +++ b/build/pkgs/cddlib/patches/lib-src_cddlp.c.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/lib-src/cddlp.c b/src/lib-src/cddlp.c +diff --git a/lib-src/cddlp.c b/lib-src/cddlp.c index 855b197..dd1268b 100644 ---- a/src.bak/lib-src/cddlp.c -+++ b/src/lib-src/cddlp.c +--- a/lib-src/cddlp.c ++++ b/lib-src/cddlp.c @@ -13,6 +13,7 @@ #include "setoper.h" /* set operation library header (Ver. May 18, 2000 or later) */ diff --git a/build/pkgs/cddlib/patches/src-gmp_Makefile.am.patch b/build/pkgs/cddlib/patches/src-gmp_Makefile.am.patch index 3b500872206..e6065d828c2 100644 --- a/build/pkgs/cddlib/patches/src-gmp_Makefile.am.patch +++ b/build/pkgs/cddlib/patches/src-gmp_Makefile.am.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/src-gmp/Makefile.am b/src/src-gmp/Makefile.am +diff --git a/src-gmp/Makefile.am b/src-gmp/Makefile.am index e4dbb86..e579d71 100644 ---- a/src.bak/src-gmp/Makefile.am -+++ b/src/src-gmp/Makefile.am +--- a/src-gmp/Makefile.am ++++ b/src-gmp/Makefile.am @@ -11,7 +11,8 @@ testcdd2_gmp \ testlp1_gmp \ diff --git a/build/pkgs/cddlib/patches/src-gmp_Makefile.in.patch b/build/pkgs/cddlib/patches/src-gmp_Makefile.in.patch index 815391bf8ae..ac6955009f2 100644 --- a/build/pkgs/cddlib/patches/src-gmp_Makefile.in.patch +++ b/build/pkgs/cddlib/patches/src-gmp_Makefile.in.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/src-gmp/Makefile.in b/src/src-gmp/Makefile.in +diff --git a/src-gmp/Makefile.in b/src-gmp/Makefile.in index f88c83f..3470dc9 100644 ---- a/src.bak/src-gmp/Makefile.in -+++ b/src/src-gmp/Makefile.in +--- a/src-gmp/Makefile.in ++++ b/src-gmp/Makefile.in @@ -37,7 +37,8 @@ projection_gmp$(EXEEXT) adjacency_gmp$(EXEEXT) \ allfaces_gmp$(EXEEXT) testshoot_gmp$(EXEEXT) \ diff --git a/build/pkgs/cddlib/patches/src_Makefile.am.patch b/build/pkgs/cddlib/patches/src_Makefile.am.patch index 80fe39f1e62..d339bfdb265 100644 --- a/build/pkgs/cddlib/patches/src_Makefile.am.patch +++ b/build/pkgs/cddlib/patches/src_Makefile.am.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/src/Makefile.am b/src/src/Makefile.am +diff --git a/src/Makefile.am b/src/Makefile.am index 17f8625..ad50af2 100644 ---- a/src.bak/src/Makefile.am -+++ b/src/src/Makefile.am +--- a/src/Makefile.am ++++ b/src/Makefile.am @@ -11,7 +11,8 @@ testshoot \ testcdd2 \ testlp1 \ diff --git a/build/pkgs/cddlib/patches/src_Makefile.in.patch b/build/pkgs/cddlib/patches/src_Makefile.in.patch index 91f80b61f7a..b7dd74c08bd 100644 --- a/build/pkgs/cddlib/patches/src_Makefile.in.patch +++ b/build/pkgs/cddlib/patches/src_Makefile.in.patch @@ -1,7 +1,7 @@ -diff --git a/src.bak/src/Makefile.in b/src/src/Makefile.in +diff --git a/src/Makefile.in b/src/Makefile.in index 8385e4d..b9f6a26 100644 ---- a/src.bak/src/Makefile.in -+++ b/src/src/Makefile.in +--- a/src/Makefile.in ++++ b/src/Makefile.in @@ -36,7 +36,7 @@ bin_PROGRAMS = scdd$(EXEEXT) lcdd$(EXEEXT) redcheck$(EXEEXT) \ fourier$(EXEEXT) projection$(EXEEXT) adjacency$(EXEEXT) \ allfaces$(EXEEXT) testcdd1$(EXEEXT) testshoot$(EXEEXT) \ diff --git a/build/pkgs/cddlib/spkg-install b/build/pkgs/cddlib/spkg-install index a36d9de6684..d70d31b0c07 100755 --- a/build/pkgs/cddlib/spkg-install +++ b/build/pkgs/cddlib/spkg-install @@ -38,7 +38,7 @@ for patch in ../patches/*.patch; do if echo "$patch" | grep 'Makefile.am.patch$' > /dev/null; then continue fi - patch -p2 < "$patch" || + patch -p1 < "$patch" || die "Error patching cddlib" done diff --git a/build/pkgs/configure/checksums.ini b/build/pkgs/configure/checksums.ini index 902a36f3495..957462eb51f 100644 --- a/build/pkgs/configure/checksums.ini +++ b/build/pkgs/configure/checksums.ini @@ -1,4 +1,4 @@ tarball=configure-VERSION.tar.gz -sha1=81654f7fa4e739cfc152390e84f49b6c06a13208 -md5=a2f51bacac19ffe7a36dc64e68087674 -cksum=3868511547 +sha1=b2dcda8630f7de82476168c42bd845259feb3dc6 +md5=c347b2a104b13a45f90a74442929ccd7 +cksum=2802885033 diff --git a/build/pkgs/configure/dependencies b/build/pkgs/configure/dependencies new file mode 100644 index 00000000000..14047f145a1 --- /dev/null +++ b/build/pkgs/configure/dependencies @@ -0,0 +1 @@ +# not a real package diff --git a/build/pkgs/configure/package-version.txt b/build/pkgs/configure/package-version.txt index fb402ef6a43..1057e9a2730 100644 --- a/build/pkgs/configure/package-version.txt +++ b/build/pkgs/configure/package-version.txt @@ -1 +1 @@ -169 +176 diff --git a/build/pkgs/csdp/dependencies b/build/pkgs/csdp/dependencies new file mode 100644 index 00000000000..052eb4373db --- /dev/null +++ b/build/pkgs/csdp/dependencies @@ -0,0 +1,5 @@ +$(BLAS) + +---------- +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. diff --git a/build/pkgs/cython/checksums.ini b/build/pkgs/cython/checksums.ini index c2bc16bccae..7060f29d6b1 100644 --- a/build/pkgs/cython/checksums.ini +++ b/build/pkgs/cython/checksums.ini @@ -1,4 +1,4 @@ tarball=Cython-VERSION.tar.gz -sha1=32f12b8dd976111668ef8ba7e716a850869a0bf6 -md5=14fbc970f4a856845e633cbc09e61048 -cksum=2292891014 +sha1=a837efb73c195585ce6e27cf53e3587285ccd39f +md5=890b494a12951f1d6228c416a5789554 +cksum=1170838396 diff --git a/build/pkgs/cython/package-version.txt b/build/pkgs/cython/package-version.txt index baaee52d9b2..ea9ca210dfd 100644 --- a/build/pkgs/cython/package-version.txt +++ b/build/pkgs/cython/package-version.txt @@ -1 +1 @@ -0.24.p0 +0.24.1.p0 diff --git a/build/pkgs/database_gap/dependencies b/build/pkgs/database_gap/dependencies index ea4feae733f..8ef5447e135 100644 --- a/build/pkgs/database_gap/dependencies +++ b/build/pkgs/database_gap/dependencies @@ -1 +1,5 @@ -gap +gap | $(SAGERUNTIME) + +---------- +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. diff --git a/build/pkgs/database_kohel/SPKG.txt b/build/pkgs/database_kohel/SPKG.txt new file mode 100644 index 00000000000..b98875f31d7 --- /dev/null +++ b/build/pkgs/database_kohel/SPKG.txt @@ -0,0 +1,14 @@ += Kohel database = + +== Description == + +Database of modular and Hilbert polynomials. + +== Upstream Contact == + + * David Kohel + +== Changelog == + + * new style package 20160724 (V. Delecroix) + * initial version 20060803 (D. Kohel and W. Stein) diff --git a/build/pkgs/database_kohel/checksums.ini b/build/pkgs/database_kohel/checksums.ini new file mode 100644 index 00000000000..cd7679266e5 --- /dev/null +++ b/build/pkgs/database_kohel/checksums.ini @@ -0,0 +1,4 @@ +tarball=database_kohel-VERSION.tar.gz +sha1=ace5bed1eab66b4b0e9e74717cfcd8eb94c59d3f +md5=5253b28e0a82f1fb88dc5cabb95ae578 +cksum=1736717427 diff --git a/build/pkgs/database_kohel/dependencies b/build/pkgs/database_kohel/dependencies new file mode 100644 index 00000000000..2f9f3849682 --- /dev/null +++ b/build/pkgs/database_kohel/dependencies @@ -0,0 +1 @@ +# no dependencies diff --git a/build/pkgs/database_kohel/package-version.txt b/build/pkgs/database_kohel/package-version.txt new file mode 100644 index 00000000000..531731a3d4d --- /dev/null +++ b/build/pkgs/database_kohel/package-version.txt @@ -0,0 +1 @@ +20160724 diff --git a/build/pkgs/database_kohel/spkg-install b/build/pkgs/database_kohel/spkg-install new file mode 100755 index 00000000000..179311e22ae --- /dev/null +++ b/build/pkgs/database_kohel/spkg-install @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +if [ -z "$SAGE_LOCAL" ]; then + echo "SAGE_LOCAL undefined ... exiting"; + echo "Maybe run 'sage -sh'?" + exit 1 +fi + +cd src + +TARGET="${SAGE_SHARE}/kohel/" +rm -rf ${TARGET} + +mkdir ${TARGET} +if [ $? -ne 0 ] +then + echo "Error creating repertory ${TARGET}" + exit 1 +fi + +mv PolMod ${TARGET} +if [ $? -ne 0 ] +then + echo "Error moving PolMod to ${TARGET}" + exit 1 +fi + +mv PolHeeg ${TARGET} +if [ $? -ne 0 ] +then + echo "Error moving PolHeeg to ${TARGET}" + exit 1 +fi diff --git a/build/pkgs/database_kohel/type b/build/pkgs/database_kohel/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/database_kohel/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/database_odlyzko_zeta/dependencies b/build/pkgs/database_odlyzko_zeta/dependencies new file mode 100644 index 00000000000..c1b713883fe --- /dev/null +++ b/build/pkgs/database_odlyzko_zeta/dependencies @@ -0,0 +1,5 @@ +| $(SAGERUNTIME) + +---------- +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. diff --git a/build/pkgs/database_pari/dependencies b/build/pkgs/database_pari/dependencies new file mode 100644 index 00000000000..f1e43e6a8d3 --- /dev/null +++ b/build/pkgs/database_pari/dependencies @@ -0,0 +1,5 @@ +pari + +---------- +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. diff --git a/build/pkgs/dot2tex/dependencies b/build/pkgs/dot2tex/dependencies new file mode 100644 index 00000000000..304d0c987a2 --- /dev/null +++ b/build/pkgs/dot2tex/dependencies @@ -0,0 +1,5 @@ +$(PYTHON) + +---------- +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. diff --git a/build/pkgs/ecl/package-version.txt b/build/pkgs/ecl/package-version.txt index 38dc13a4277..750c3957660 100644 --- a/build/pkgs/ecl/package-version.txt +++ b/build/pkgs/ecl/package-version.txt @@ -1 +1 @@ -16.1.2.p0 +16.1.2.p1 diff --git a/build/pkgs/ecl/patches/16.1.2-getcwd.patch b/build/pkgs/ecl/patches/16.1.2-getcwd.patch new file mode 100644 index 00000000000..6e186a1d627 --- /dev/null +++ b/build/pkgs/ecl/patches/16.1.2-getcwd.patch @@ -0,0 +1,14 @@ +Backport of fix in master ecl repo. See trac 20845. +diff --git a/src/c/unixfsys.d b/src/c/unixfsys.d +index d3dd4d1..287eded 100644 +--- a/src/c/unixfsys.d ++++ b/src/c/unixfsys.d +@@ -158,7 +158,7 @@ current_dir(void) { + output = ecl_alloc_adjustable_base_string(size); + ecl_disable_interrupts(); + ok = getcwd((char*)output->base_string.self, size); +- if (ok == NULL && errno != ENAMETOOLONG) { ++ if (ok == NULL && errno != ERANGE) { + perror("ext::getcwd error"); + ecl_internal_error("Can't work without CWD"); + } diff --git a/build/pkgs/eclib/checksums.ini b/build/pkgs/eclib/checksums.ini index 6fe7b5683e1..c71244499b2 100644 --- a/build/pkgs/eclib/checksums.ini +++ b/build/pkgs/eclib/checksums.ini @@ -1,4 +1,4 @@ tarball=eclib-VERSION.tar.bz2 -sha1=77f404be91fd605f6220a1411912f578c8947c50 -md5=99f99c1b49d3354f3e467b32a684cbe0 -cksum=3819176829 +sha1=acd51ec5e7ab7be6a3151fe645320f71c6a11ede +md5=ac1eee9c42b1b6987173f574b6f43744 +cksum=673064945 diff --git a/build/pkgs/eclib/package-version.txt b/build/pkgs/eclib/package-version.txt index 52e8c6d2310..0b5a791047a 100644 --- a/build/pkgs/eclib/package-version.txt +++ b/build/pkgs/eclib/package-version.txt @@ -1 +1 @@ -20150827 +20160720 diff --git a/build/pkgs/fricas/dependencies b/build/pkgs/fricas/dependencies new file mode 100644 index 00000000000..ed6be201375 --- /dev/null +++ b/build/pkgs/fricas/dependencies @@ -0,0 +1,5 @@ +ecl + +---------- +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. diff --git a/build/pkgs/frobby/SPKG.txt b/build/pkgs/frobby/SPKG.txt new file mode 100644 index 00000000000..b135875b602 --- /dev/null +++ b/build/pkgs/frobby/SPKG.txt @@ -0,0 +1,55 @@ += Frobby = + +== Description == +The software package Frobby provides a number of computations on +monomial ideals. The current main feature is the socle of a monomial +ideal, which is largely equivalent to computing the maximal standard +monomials, the Alexander dual or the irreducible decomposition. + +Operations on monomial ideals are much faster than algorithms designed +for ideals in general, which is what makes a specialized library for +these operations on monomial ideals useful. + +== License == + * GPL version 2.0 or later + +== Maintainers == + * Bjarke Hammersholt Roune (www.broune.com) + +== Upstream Contact == + * Bjarke Hammersholt Roune (www.broune.com) + +== Dependencies == + * GMP built with support for C++ + +== Special Update/Build instructions == +Download Frobby at www.broune.com/ and then type "make spkg VER=blah" which wil create an spkg +named frobby-VER.spkg in bin/. The files related to doing this is in the sage/ sub-directory of the +Frobby source distribution. + +== Changelog == + +=== frobby-0.9.0.p2 (Dima Pasechnik, Jun 30, 2016) === + * convertion to new-style package + * integration of Macaulay2 patches + * fix linking (rpath) + +=== frobby-0.9.0.p1 (Dima Pasechnik, Sept 7, 2013) === + * added for getpid() + +=== frobby-0.9.0 (Mike Hansen, May 24th, 2012) === + * #13007: Update to 0.9.0. + * Add a patch to the Makefile so that the build succeeds with SAGE_CHECK="yes" + +=== frobby-0.7.6 (Bjarke Hammersholt Roune, May 20th, 2008) === + * Move to Frobby 0.7.6 with Makefile improvements by Michale Abshoff. + +=== frobby-0.7.5.p1 (Michael Abshoff, May 19th, 2008) === + * fix the main Makefile to set include and library directories correctly when some env variables are defined + +=== frobby-0.7.5.p0 (Michael Abshoff, May 19th, 2008) === + * various cleanups, i.e. repo, .hgignore, missing SPKG.txt sections + * move all sources into src + +=== frobby-0.7.5 (Bjarke Hammersholt Roune) === + * initial version diff --git a/build/pkgs/frobby/checksums.ini b/build/pkgs/frobby/checksums.ini new file mode 100644 index 00000000000..8d2575db5d2 --- /dev/null +++ b/build/pkgs/frobby/checksums.ini @@ -0,0 +1,4 @@ +tarball=frobby_v0.9.0.tar.gz +sha1=513b6e2ef8e8670c0518d168c2e554df1f8d79b4 +md5=2204f340dad8fb7be156f9f7c403c4a0 +cksum=2889611419 diff --git a/build/pkgs/frobby/dependencies b/build/pkgs/frobby/dependencies new file mode 100644 index 00000000000..a66f97e718b --- /dev/null +++ b/build/pkgs/frobby/dependencies @@ -0,0 +1 @@ +$(MP_LIBRARY) diff --git a/build/pkgs/frobby/package-version.txt b/build/pkgs/frobby/package-version.txt new file mode 100644 index 00000000000..53ce79ccae7 --- /dev/null +++ b/build/pkgs/frobby/package-version.txt @@ -0,0 +1 @@ +0.9.0.p2 diff --git a/build/pkgs/frobby/patches/HashMap.h.patch b/build/pkgs/frobby/patches/HashMap.h.patch new file mode 100644 index 00000000000..894ecf8f407 --- /dev/null +++ b/build/pkgs/frobby/patches/HashMap.h.patch @@ -0,0 +1,31 @@ +--- /tmp/HashMap.h 2011-09-23 16:09:12.000000000 -0400 ++++ src/HashMap.h 2015-06-06 12:56:15.000000000 -0400 +@@ -35,10 +35,16 @@ + class FrobbyHash {}; + + // ********************************************************* +-#ifdef __GNUC__ // Only GCC defines this macro ++#if defined(__GNUC__) || defined(__clang__) ++#if 0 + #include "hash_map/hash_map" + #include ++#endif ++#include ++template ++ class HashMap : public std::unordered_map> { }; + ++#if 0 + template<> + class FrobbyHash : public __gnu_cxx::hash { + }; +@@ -47,9 +53,8 @@ + class HashMap : public __gnu_cxx::hash_map > { + }; +- ++#endif + #else +- + // ********************************************************* + #ifdef _MSC_VER // Only Microsoft C++ defines this macro + #include diff --git a/build/pkgs/frobby/patches/Makefile.patch b/build/pkgs/frobby/patches/Makefile.patch new file mode 100644 index 00000000000..cdc97c192d4 --- /dev/null +++ b/build/pkgs/frobby/patches/Makefile.patch @@ -0,0 +1,30 @@ +--- Makefile.orig 2011-09-23 21:09:12.000000000 +0100 ++++ Makefile 2016-06-30 07:47:38.314034517 +0100 +@@ -70,8 +70,8 @@ + BIN_INSTALL_DIR = "/usr/local/bin/" + endif + +-cflags = $(CFLAGS) $(CPPFLAGS) -Wall -ansi -pedantic -I $(GMP_INC_DIR) \ +- -Wno-uninitialized -Wno-unused-parameter ++cflags = $(CFLAGS) $(CPPFLAGS) -Wall -I $(GMP_INC_DIR) \ ++ -Wno-uninitialized -Wno-unused-parameter -std=c++11 + program = frobby + library = libfrobby.a + benchArgs = $(FROBBYARGS) +@@ -93,7 +93,7 @@ + ifeq ($(MODE), debug) + rawSources := $(rawSources) $(rawTests) + outdir = bin/debug/ +- cflags += -g -D DEBUG -fno-inline -Werror -Wextra -Wno-uninitialized \ ++ cflags += -g -D DEBUG -fno-inline -Wextra -Wno-uninitialized \ + -Wno-unused-parameter + MATCH=true + endif +@@ -217,6 +217,7 @@ + $(patsubst $(outdir)main.o,,$(objs)) + else + ar crs bin/$(library) $(patsubst $(outdir)main.o,,$(objs)) ++ $(RANLIB) bin/$(library) + endif + + # Compile and output object files. diff --git a/build/pkgs/frobby/patches/StatisticsStrategy.cpp.patch b/build/pkgs/frobby/patches/StatisticsStrategy.cpp.patch new file mode 100644 index 00000000000..a07e1fdcd99 --- /dev/null +++ b/build/pkgs/frobby/patches/StatisticsStrategy.cpp.patch @@ -0,0 +1,11 @@ +--- /tmp/StatisticsStrategy.cpp 2011-09-23 16:09:12.000000000 -0400 ++++ src/StatisticsStrategy.cpp 2013-05-18 17:22:09.000000000 -0400 +@@ -140,7 +140,7 @@ + if (_nodeCount == 0) + return 0.0; + else { +- mpz_class q = mpq_class(_subGenSum) / _nodeCount; ++ mpq_class q = mpq_class(_subGenSum) / _nodeCount; + return q.get_d(); + } + } diff --git a/build/pkgs/frobby/patches/StringStream.patch b/build/pkgs/frobby/patches/StringStream.patch new file mode 100644 index 00000000000..39ca718ecb5 --- /dev/null +++ b/build/pkgs/frobby/patches/StringStream.patch @@ -0,0 +1,24 @@ +--- /tmp/FrobbyStringStream.cpp 2011-09-23 15:09:12.000000000 -0500 ++++ src/FrobbyStringStream.cpp 2013-05-10 11:42:01.840492200 -0500 +@@ -41,6 +41,11 @@ + return *this; + } + ++FrobbyStringStream& FrobbyStringStream::operator<<(unsigned long long integer) { ++ appendIntegerToString(_str, integer); ++ return *this; ++} ++ + FrobbyStringStream& FrobbyStringStream::operator<<(unsigned long integer) { + appendIntegerToString(_str, integer); + return *this; +--- /tmp/FrobbyStringStream.h 2011-09-23 15:09:12.000000000 -0500 ++++ src/FrobbyStringStream.h 2013-05-10 11:42:01.843492400 -0500 +@@ -25,6 +25,7 @@ + used for operations that need to be efficient. */ + class FrobbyStringStream { + public: ++ FrobbyStringStream& operator<<(unsigned long long integer); + FrobbyStringStream& operator<<(unsigned long integer); + FrobbyStringStream& operator<<(unsigned int integer); + FrobbyStringStream& operator<<(const mpz_class& integer); diff --git a/build/pkgs/frobby/patches/Term.h.patch b/build/pkgs/frobby/patches/Term.h.patch new file mode 100644 index 00000000000..03ff5ea4215 --- /dev/null +++ b/build/pkgs/frobby/patches/Term.h.patch @@ -0,0 +1,24 @@ +--- /tmp/Term.h 2011-09-23 15:09:12.000000000 -0500 ++++ src/Term.h 2013-05-10 11:42:01.846492600 -0500 +@@ -99,6 +99,10 @@ + ASSERT(offset < _varCount); + return _exponents[offset]; + } ++ Exponent operator[](unsigned long long offset) const { ++ ASSERT(offset < _varCount); ++ return _exponents[offset]; ++ } + + Exponent& operator[](int offset) { + ASSERT(0 <= offset); +@@ -113,6 +117,10 @@ + ASSERT(offset < _varCount); + return _exponents[offset]; + } ++ Exponent& operator[](unsigned long long offset) { ++ ASSERT(offset < _varCount); ++ return _exponents[offset]; ++ } + + bool operator==(const Term& term) const { + ASSERT(_varCount == term._varCount); diff --git a/build/pkgs/frobby/patches/VarNames.h.patch b/build/pkgs/frobby/patches/VarNames.h.patch new file mode 100644 index 00000000000..234ceb2c0d0 --- /dev/null +++ b/build/pkgs/frobby/patches/VarNames.h.patch @@ -0,0 +1,21 @@ +--- /tmp/VarNames.h 2011-09-23 16:09:12.000000000 -0400 ++++ src/VarNames.h 2015-06-06 12:36:28.000000000 -0400 +@@ -21,7 +21,7 @@ + + #include + #include +- ++#include + class Scanner; + + /** Defines the variables of a polynomial ring and facilities IO +@@ -102,7 +102,8 @@ + private: + static bool compareNames(const string* a, const string* b); + +- typedef HashMap VarNameMap; ++ typedef unordered_map VarNameMap; ++ //typedef HashMap VarNameMap; + VarNameMap _nameToIndex; + vector _indexToName; + }; diff --git a/build/pkgs/frobby/patches/main.cpp.patch b/build/pkgs/frobby/patches/main.cpp.patch new file mode 100644 index 00000000000..9bc117ca17e --- /dev/null +++ b/build/pkgs/frobby/patches/main.cpp.patch @@ -0,0 +1,13 @@ +*** /tmp/main.cpp Sat Sep 7 14:09:12 2013 +--- src/main.cpp Sat Sep 7 14:09:44 2013 +*************** +*** 24,29 **** +--- 24,31 ---- + + #include + #include ++ #include /* needed for getpid */ ++ + + /** This function runs the Frobby console interface. the ::main + function calls this function after having set up DEBUG-specific diff --git a/build/pkgs/frobby/patches/randomDataGenerators.cpp.patch b/build/pkgs/frobby/patches/randomDataGenerators.cpp.patch new file mode 100644 index 00000000000..d65d3aa77a6 --- /dev/null +++ b/build/pkgs/frobby/patches/randomDataGenerators.cpp.patch @@ -0,0 +1,12 @@ +*** /tmp/randomDataGenerators.cpp Sat Sep 7 14:09:19 2013 +--- src/randomDataGenerators.cpp Sat Sep 7 14:10:19 2013 +*************** +*** 25,30 **** +--- 25,31 ---- + + #include + #include ++ #include /* needed for getpid */ + + void generateLinkedListIdeal(BigIdeal& ideal, size_t variableCount) { + VarNames names(variableCount); diff --git a/build/pkgs/frobby/patches/stdinc.h.patch b/build/pkgs/frobby/patches/stdinc.h.patch new file mode 100644 index 00000000000..3744f21da9d --- /dev/null +++ b/build/pkgs/frobby/patches/stdinc.h.patch @@ -0,0 +1,10 @@ +--- /tmp/stdinc.h 2011-09-23 16:09:12.000000000 -0400 ++++ src/stdinc.h 2015-06-02 21:27:34.000000000 -0400 +@@ -29,6 +29,7 @@ + // Some versions of GMP do not define gmp_fprintf unless cstdio is + // included first, so we have to include it here. + #include ++#include + + #include + #include diff --git a/build/pkgs/frobby/patches/tests.patch b/build/pkgs/frobby/patches/tests.patch new file mode 100644 index 00000000000..81e02cef181 --- /dev/null +++ b/build/pkgs/frobby/patches/tests.patch @@ -0,0 +1,53 @@ +--- /tmp/test/messages/runtest 2011-09-23 15:09:12.000000000 -0500 ++++ test/messages/runtest 2013-05-10 11:42:01.825491400 -0500 +@@ -9,7 +9,7 @@ + action="$1" + shift + +-tmpFile="/tmp/errorTestHelperTmp" ++tmpFile="./errorTestHelperTmp" + echo "$1" > $tmpFile + shift + +--- /tmp/test/testScripts/run_euler_test 2011-09-23 15:09:13.000000000 -0500 ++++ test/testScripts/run_euler_test 2013-05-10 11:42:01.829491600 -0500 +@@ -3,9 +3,9 @@ + frobby=../../bin/frobby + testhelper=../testScripts/testhelper + test="$1" +-tmpFile=/tmp/frobbyEulerRadicalTmp +-tmpFileInverted=/tmp/frobbyEulerRadicalInvertedTmp +-tmpFileTransposed=/tmp/frobbyEulerRadicalTransposedTmp ++tmpFile=./frobbyEulerRadicalTmp ++tmpFileInverted=./frobbyEulerRadicalInvertedTmp ++tmpFileTransposed=./frobbyEulerRadicalTransposedTmp + genPivots="rarevar popvar maxsupp minsupp any random rarest raremax" + stdPivots="popvar rarevar popgcd any random" + shift +--- /tmp/test/testScripts/testhelper 2011-09-23 15:09:13.000000000 -0500 ++++ test/testScripts/testhelper 2013-05-10 11:42:01.833491800 -0500 +@@ -57,10 +57,10 @@ + + origParams="$*" # used for debug output below + origFrobby="../../bin/frobby" +-origFrobbyOut="/tmp/frobbyTestScriptTemporary_standardOutput" +-origFrobbyErr="/tmp/frobbyTestScriptTemporary_standardError" +-frobbyChangedErr="/tmp/frobbyTestScriptTemporary_standardErrorChanged" +-frobbyChangedInput="/tmp/frobbyTestScriptTemporary_standardInput" ++origFrobbyOut="./frobbyTestScriptTemporary_standardOutput" ++origFrobbyErr="./frobbyTestScriptTemporary_standardError" ++frobbyChangedErr="./frobbyTestScriptTemporary_standardErrorChanged" ++frobbyChangedInput="./frobbyTestScriptTemporary_standardInput" + + frobby="$origFrobby" + frobbyOut="$origFrobbyOut" +--- /tmp/test/internal/runtests 2011-09-23 13:09:12.000000000 -0700 ++++ test/internal/runtests 2014-07-30 10:46:31.033944047 -0700 +@@ -7,6 +7,6 @@ + fi + + $frobby test 2> /dev/null > /dev/null +-if [ $? == 0 ]; then exit 0; fi ++if [ $? = 0 ]; then exit 0; fi + echo "*** Internal test failed, rerunning tests with output ***" + $frobby test diff --git a/build/pkgs/frobby/spkg-check b/build/pkgs/frobby/spkg-check new file mode 100755 index 00000000000..9717d90400b --- /dev/null +++ b/build/pkgs/frobby/spkg-check @@ -0,0 +1,14 @@ +#!/usr/bin/env sh + +if [ "$SAGE_LOCAL" = "" ]; then + echo "SAGE_LOCAL undefined ... exiting"; + echo "Maybe run 'sage -sh'?" + exit 1 +fi + +GMP_INC_DIR="$SAGE_LOCAL/include"; export GMP_INC_DIR +ldflags="-L$SAGE_LOCAL/lib/ -lgmpxx -lgmp"; export ldflags + +cd src/ +$MAKE test MODE=debug # run tests with assertions turned on +$MAKE test MODE=release # test the binaries used by Sage diff --git a/build/pkgs/frobby/spkg-install b/build/pkgs/frobby/spkg-install new file mode 100755 index 00000000000..056665be8d7 --- /dev/null +++ b/build/pkgs/frobby/spkg-install @@ -0,0 +1,44 @@ +#!/usr/bin/env sh + +if [ "$SAGE_LOCAL" = "" ]; then + echo "SAGE_LOCAL undefined ... exiting"; + echo "Maybe run 'sage -sh'?" + exit 1 +fi + +rm -rf "$SAGE_LOCAL/bin/frobby" + +GMP_INC_DIR="$SAGE_LOCAL/include"; export GMP_INC_DIR +ldflags="-Wl,-rpath,$SAGE_LOCAL/lib -L$SAGE_LOCAL/lib/ -lgmpxx -lgmp"; export ldflags + +cd src + +# Apply fixes to upstream source +echo "Applying patches..." +for patch in ../patches/*.patch; do + [ -r "$patch" ] || continue # Skip non-existing or non-readable patches + patch -p0 <"$patch" + if [ $? -ne 0 ]; then + echo >&2 "Error applying '$patch'" + exit 1 + fi +done + +$MAKE MODE=release + +if [ $? -ne 0 ]; then + echo "Error building Frobby." + exit 1 +fi + +if [ ! -f bin/release/frobby ]; then + echo "Frobby executable not found." + exit 1 +fi + +$CP bin/release/frobby "$SAGE_LOCAL/bin/" + +if [ ! -f "$SAGE_LOCAL/bin/frobby" ]; then + echo "Frobby executable not copied." + exit 1 +fi diff --git a/build/pkgs/frobby/type b/build/pkgs/frobby/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/frobby/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/gambit/dependencies b/build/pkgs/gambit/dependencies new file mode 100644 index 00000000000..fa2eafaa220 --- /dev/null +++ b/build/pkgs/gambit/dependencies @@ -0,0 +1,5 @@ +cython | setuptools + +---------- +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. diff --git a/build/pkgs/gap_packages/dependencies b/build/pkgs/gap_packages/dependencies index 924d9e55c47..d52f7fc87b4 100644 --- a/build/pkgs/gap_packages/dependencies +++ b/build/pkgs/gap_packages/dependencies @@ -1 +1,5 @@ -gap database_gap +gap | database_gap $(SAGERUNTIME) + +---------- +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. diff --git a/build/pkgs/gdb/dependencies b/build/pkgs/gdb/dependencies new file mode 100644 index 00000000000..c16be0d6bdd --- /dev/null +++ b/build/pkgs/gdb/dependencies @@ -0,0 +1,5 @@ +zlib ncurses $(PYTHON) + +---------- +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. diff --git a/build/pkgs/gfan/package-version.txt b/build/pkgs/gfan/package-version.txt index 77c6d1f5d01..b29450b8d51 100644 --- a/build/pkgs/gfan/package-version.txt +++ b/build/pkgs/gfan/package-version.txt @@ -1 +1 @@ -0.5.p0 +0.5.p1 diff --git a/build/pkgs/gfan/patches/Makefile.patch b/build/pkgs/gfan/patches/Makefile.patch index 7fec31f427e..804315ecfc2 100644 --- a/build/pkgs/gfan/patches/Makefile.patch +++ b/build/pkgs/gfan/patches/Makefile.patch @@ -1,5 +1,5 @@ ---- Makefile.orig 2012-07-11 11:50:44.733022911 +1200 -+++ Makefile 2012-07-11 12:20:02.644997882 +1200 +--- a/Makefile.orig 2012-07-11 11:50:44.733022911 +1200 ++++ b/Makefile 2012-07-11 12:20:02.644997882 +1200 @@ -75,18 +75,10 @@ MKDIR=mkdir -p diff --git a/build/pkgs/gfan/patches/app_minkowski.cpp.patch b/build/pkgs/gfan/patches/app_minkowski.cpp.patch index 799fd371e0c..0ca809b09b8 100644 --- a/build/pkgs/gfan/patches/app_minkowski.cpp.patch +++ b/build/pkgs/gfan/patches/app_minkowski.cpp.patch @@ -1,5 +1,5 @@ ---- app_minkowski.cpp.orig 2011-01-24 06:21:47.000000000 +1300 -+++ app_minkowski.cpp 2012-07-23 11:43:29.172776129 +1200 +--- a/app_minkowski.cpp.orig 2011-01-24 06:21:47.000000000 +1300 ++++ b/app_minkowski.cpp 2012-07-23 11:43:29.172776129 +1200 @@ -64,9 +64,9 @@ registerOptions(); optionPartOne.hide(); diff --git a/build/pkgs/gfan/spkg-install b/build/pkgs/gfan/spkg-install index 75245f4d9f1..c03766cd80a 100755 --- a/build/pkgs/gfan/spkg-install +++ b/build/pkgs/gfan/spkg-install @@ -27,20 +27,23 @@ else unset CXXFLAG64 # Might come from the "global" environment. fi +# C++11 workaround https://trac.sagemath.org/ticket/20926 +CXXFLAGS="$CXXFLAGS -std=c++98" + export CC CXX CFLAGS CXXFLAGS LDFLAGS cd src # Patch the Makefile so it can build in Sage: echo "Copying a revised Makefile, to improve portability..." -patch -p0 <../patches/Makefile.patch +patch -p1 <../patches/Makefile.patch if [[ $? -ne 0 ]]; then echo >&2 "Error: Patch to improve portability did not copy correctly." exit 1 fi echo "Copying patched file to fix an issue with GCC 4.7.0..." -patch -p0 <../patches/app_minkowski.cpp.patch +patch -p1 <../patches/app_minkowski.cpp.patch if [[ $? -ne 0 ]]; then echo >&2 "Error: Patch to fix GCC 4.7.0 issue did not copy correctly." exit 1 diff --git a/build/pkgs/git_trac/checksums.ini b/build/pkgs/git_trac/checksums.ini index 4a77276e95b..454c11bad69 100644 --- a/build/pkgs/git_trac/checksums.ini +++ b/build/pkgs/git_trac/checksums.ini @@ -1,4 +1,4 @@ tarball=git_trac-VERSION.tar.bz2 -sha1=90c1e2c279fcac22b050c62253cfb53c8fe9c9c1 -md5=1f6e913132aa16b19cb5c99ee921f3f5 -cksum=774035580 +sha1=137c70eb041c62de31e543e5b76fb6d30d044a58 +md5=7783a2da02dbb9156ccb0ff5b7cff9bc +cksum=2994355167 diff --git a/build/pkgs/git_trac/dependencies b/build/pkgs/git_trac/dependencies new file mode 100644 index 00000000000..304d0c987a2 --- /dev/null +++ b/build/pkgs/git_trac/dependencies @@ -0,0 +1,5 @@ +$(PYTHON) + +---------- +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. diff --git a/build/pkgs/git_trac/package-version.txt b/build/pkgs/git_trac/package-version.txt index 86c0d2d21a8..50c46623b4c 100644 --- a/build/pkgs/git_trac/package-version.txt +++ b/build/pkgs/git_trac/package-version.txt @@ -1 +1 @@ -20150522 +20160625 diff --git a/build/pkgs/igraph/SPKG.txt b/build/pkgs/igraph/SPKG.txt index e6ea91c464a..e70329d56a4 100644 --- a/build/pkgs/igraph/SPKG.txt +++ b/build/pkgs/igraph/SPKG.txt @@ -16,8 +16,8 @@ http://igraph.org/c/ == Dependencies == -* python -* readline -* gcc +* GMP/MPIR +* libxml2, but this is not shipped with Sage, so the user has to install + libxml2-dev from her distro. == Special Update/Build Instructions == diff --git a/build/pkgs/igraph/dependencies b/build/pkgs/igraph/dependencies new file mode 100644 index 00000000000..9a77ea16f78 --- /dev/null +++ b/build/pkgs/igraph/dependencies @@ -0,0 +1,5 @@ +$(MP_LIBRARY) + +---------- +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. diff --git a/build/pkgs/ipython/checksums.ini b/build/pkgs/ipython/checksums.ini index 3cc855b975f..0bc3c31724d 100644 --- a/build/pkgs/ipython/checksums.ini +++ b/build/pkgs/ipython/checksums.ini @@ -1,4 +1,4 @@ tarball=ipython-VERSION.tar.gz -sha1=2ecca6a1ecd44dd913bec6a6d3da03c97abd44ec -md5=9c7c28eddbc39eb874d2c22025772d63 -cksum=3491671312 +sha1=96ce4c5e9ae63c6749f338c4ce758198a63cbf41 +md5=f86f4fe7a80997704294383ea775627d +cksum=1557806209 diff --git a/build/pkgs/ipython/package-version.txt b/build/pkgs/ipython/package-version.txt index 6aba2b245a8..fae6e3d04b2 100644 --- a/build/pkgs/ipython/package-version.txt +++ b/build/pkgs/ipython/package-version.txt @@ -1 +1 @@ -4.2.0 +4.2.1 diff --git a/build/pkgs/ipywidgets/checksums.ini b/build/pkgs/ipywidgets/checksums.ini index b3a1b0b3ac5..b1181a1b762 100644 --- a/build/pkgs/ipywidgets/checksums.ini +++ b/build/pkgs/ipywidgets/checksums.ini @@ -1,4 +1,4 @@ tarball=ipywidgets-VERSION.tar.gz -sha1=30191ce2a84025c937342478e72d323ae8378157 -md5=db52e27769c1a3b615e72521409f3646 -cksum=3666200318 +sha1=e950ddb5e83753b677aed497b4c8bc0bcf2b1dbc +md5=7016f12e633d0f7c91d968eb8c8330d1 +cksum=4232718564 diff --git a/build/pkgs/ipywidgets/package-version.txt b/build/pkgs/ipywidgets/package-version.txt index 76e9e619d63..220d8e0a460 100644 --- a/build/pkgs/ipywidgets/package-version.txt +++ b/build/pkgs/ipywidgets/package-version.txt @@ -1 +1 @@ -5.1.4 +5.1.5 diff --git a/build/pkgs/jmol/patches/Jmol.js b/build/pkgs/jmol/patches/Jmol.js deleted file mode 100644 index 52293f2e9cc..00000000000 --- a/build/pkgs/jmol/patches/Jmol.js +++ /dev/null @@ -1,1663 +0,0 @@ -/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson - - checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm - - based on: - * - * Copyright (C) 2004-2005 Miguel, Jmol Development, www.jmol.org - * - * Contact: hansonr@stolaf.edu - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - * 02111-1307 USA. - */ - -// for documentation see www.jmol.org/jslibrary - -try{if(typeof(_jmol)!="undefined")exit() - -// place "?NOAPPLET" on your command line to check applet control action with a textarea -// place "?JMOLJAR=xxxxx" to use a specific jar file - -// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%) -// angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet -// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007 -// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007 -// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007 -// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006 -// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006 -// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006 -// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006 -// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired. -// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006 -// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006 -// bob hanson -- fix for iframes not available for finding applet -// bob hanson -- added applet fake ?NOAPPLET URL flag -// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006 -// used PRIOR to jmolApplet() or jmolAppletInline() -// added 4th array element in jmolRadioGroup -- title -// added and id around link, checkbox, radio, menu -// fixing AJAX loads for MSIE/Opera-Mozilla incompatibility -// -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar -// renamed Jmol.js for Jmol 11 distribution -// -- modified jmolRestoreOrientation() to be immediate, no 1-second delay -// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006 -// bh -- jmolCommandInput() -// bh -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues -// bh -- minor fixes suggested by Angel -// bh -- adds jmolSetSyncId() and jmolGetSyncId() -// bh 3/2008 -- adds jmolAppendInlineScript() and jmolAppendInlineArray() -// bh 3/2008 -- fixes IE7 bug in relation to jmolLoadInlineArray() -// bh 6/2008 -- adds jmolSetAppletWindow() -// Angel H. 6/2008 -- added html " - var t = "" - if (labelHtml.toLowerCase().indexOf("")>=0) { - t += eospan - eospan = ""; - } - t += "" +eospan; - if (_jmol.debugAlert) - alert(t); - return _jmolDocumentWrite(t); -} - -function jmolStartNewRadioGroup() { - ++_jmol.radioGroupCount; -} - -function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) { - /* - - array: [radio1,radio2,radio3...] - where radioN = ["script","label",isSelected,"id","title"] - - */ - - _jmolInitCheck(); - var type = typeof arrayOfRadioButtons; - if (type != "object" || type == null || ! arrayOfRadioButtons.length) { - alert("invalid arrayOfRadioButtons"); - return; - } - separatorHtml != undefined && separatorHtml != null || (separatorHtml = "  "); - var len = arrayOfRadioButtons.length; - jmolStartNewRadioGroup(); - groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1)); - var t = ""; - for (var i = 0; i < len; ++i) { - if (i == len - 1) - separatorHtml = ""; - var radio = arrayOfRadioButtons[i]; - type = typeof radio; - if (type == "object") { - t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title); - } else { - t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title); - } - } - t+="" - if (_jmol.debugAlert) - alert(t); - return _jmolDocumentWrite(t); -} - - -function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) { - _jmolInitCheck(); - if (_jmol.radioGroupCount == 0) - ++_jmol.radioGroupCount; - var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0); - if (_jmol.debugAlert) - alert(t); - return _jmolDocumentWrite(t); -} - -function jmolLink(script, label, id, title) { - _jmolInitCheck(); - id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount); - label != undefined && label != null || (label = script.substring(0, 32)); - ++_jmol.linkCount; - var scriptIndex = _jmolAddScript(script); - var t = "" + label + ""; - if (_jmol.debugAlert) - alert(t); - return _jmolDocumentWrite(t); -} - -function jmolCommandInput(label, size, id, title) { - _jmolInitCheck(); - id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount); - label != undefined && label != null || (label = "Execute"); - size != undefined && !isNaN(size) || (size = 60); - ++_jmol.cmdCount; - var t = ""; - if (_jmol.debugAlert) - alert(t); - return _jmolDocumentWrite(t); -} - -function _jmolCommandKeyPress(e, id, target) { - var keycode = (window.event ? window.event.keyCode : e ? e.which : 0); - if (keycode == 13) { - var inputBox = document.getElementById(id) - _jmolScriptExecute(inputBox, inputBox.value, target) - } -} - -function _jmolScriptExecute(element,script,target) { - if (typeof(script) == "object") - script[0](element, script, target) - else - jmolScript(script, target) -} - -function jmolMenu(arrayOfMenuItems, size, id, title) { - _jmolInitCheck(); - id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount); - ++_jmol.menuCount; - var type = typeof arrayOfMenuItems; - if (type != null && type == "object" && arrayOfMenuItems.length) { - var len = arrayOfMenuItems.length; - if (typeof size != "number" || size == 1) - size = null; - else if (size < 0) - size = len; - var sizeText = size ? " size='" + size + "' " : ""; - var t = "" - if (labelHtml.toLowerCase().indexOf("")>=0) { - t += eospan - eospan = ""; - } - t += "" +eospan + separatorHtml; - - return t; -} - -function _jmolFindApplet(target) { - // first look for the target in the current window - var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target); - // THEN look for the target in child frames - if (applet == undefined) - applet = _jmolSearchFrames(window, target); - // FINALLY look for the target in sibling frames - if (applet == undefined) - applet = _jmolSearchFrames(top, target); // look starting in top frame - return applet; -} - -function _jmolGetApplet(targetSuffix){ - var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0"); - var applet = _jmolFindApplet(target); - if (applet) return applet - _jmol.alerted || alert("could not find applet " + target); - _jmol.alerted = true; - return null -} - -function _jmolSearchFrames(win, target) { - var applet; - var frames = win.frames; - if (frames && frames.length) { // look in all the frames below this window - try{ - for (var i = 0; i < frames.length; ++i) { - applet = _jmolSearchFrames(frames[i], target); - if (applet) - return applet; - } - }catch(e) { - if (_jmol.debugAlert) - alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") - } - } - return applet = _jmolFindAppletInWindow(win, target) -} - -function _jmolFindAppletInWindow(win, target) { - var doc = win.document; - if (doc.getElementById(target)) - return doc.getElementById(target); - else if (doc.applets) - return doc.applets[target]; - else - return doc[target]; -} - -function _jmolAddScript(script) { - if (!script) - return 0; - var index = _jmol.scripts.length; - _jmol.scripts[index] = script; - return index; -} - -function _jmolClick(elementClicked, scriptIndex, targetSuffix) { - _jmol.element = elementClicked; - _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix); -} - -function _jmolMenuSelected(menuObject, targetSuffix) { - var scriptIndex = menuObject.value; - if (scriptIndex != undefined) { - _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix); - return; - } - var len = menuObject.length; - if (typeof len == "number") { - for (var i = 0; i < len; ++i) { - if (menuObject[i].selected) { - _jmolClick(menuObject[i], menuObject[i].value, targetSuffix); - return; - } - } - } - alert("?Que? menu selected bug #8734"); -} - - -_jmol.checkboxMasters = {}; -_jmol.checkboxItems = {}; - -function jmolSetCheckboxGroup(chkMaster,chkBox) { - var id = chkMaster; - if(typeof(id)=="number")id = "jmolCheckbox" + id; - chkMaster = document.getElementById(id); - if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id); - var m = _jmol.checkboxMasters[id] = {}; - m.chkMaster = chkMaster; - m.chkGroup = {}; - for (var i = 1; i < arguments.length; i++){ - var id = arguments[i]; - if(typeof(id)=="number")id = "jmolCheckbox" + id; - checkboxItem = document.getElementById(id); - if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id); - m.chkGroup[id] = checkboxItem; - _jmol.checkboxItems[id] = m; - } -} - -function _jmolNotifyMaster(m){ - //called when a group item is checked - var allOn = true; - var allOff = true; - for (var chkBox in m.chkGroup){ - if(m.chkGroup[chkBox].checked) - allOff = false; - else - allOn = false; - } - if (allOn)m.chkMaster.checked = true; - if (allOff)m.chkMaster.checked = false; - if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id]) - _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id]) -} - -function _jmolNotifyGroup(m, isOn){ - //called when a master item is checked - for (var chkBox in m.chkGroup){ - var item = m.chkGroup[chkBox] - item.checked = isOn; - if (_jmol.checkboxMasters[item.id]) - _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn) - } -} - -function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) { - _jmol.control = ckbox - _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix); - if(_jmol.checkboxMasters[ckbox.id]) - _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked) - if(_jmol.checkboxItems[ckbox.id]) - _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id]) -} - -function _jmolCbOver(ckbox, whenChecked, whenUnchecked) { - window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked]; -} - -function _jmolMouseOver(scriptIndex) { - window.status = _jmol.scripts[scriptIndex]; -} - -function _jmolMouseOut() { - window.status = " "; - return true; -} - -function _jmolSetCodebase(codebase) { - _jmol.codebase = codebase ? codebase : "."; - if (_jmol.debugAlert) - alert("jmolCodebase=" + _jmol.codebase); -} - -function _jmolOnloadResetForms() { - // must be evaluated ONLY once - _jmol.previousOnloadHandler = window.onload; - window.onload = - function() { - with (_jmol) { - if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) { - var forms = document.forms; - for (var i = forms.length; --i >= 0; ) - forms[i].reset(); - } - if (previousOnloadHandler) - previousOnloadHandler(); - } - } -} - -//////////////////////////////////// -/////extensions for getProperty///// -//////////////////////////////////// - - -function _jmolEvalJSON(s,key){ - s=s+"" - if(!s)return [] - if(s.charAt(0)!="{"){ - if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n") - return s - } - var A = eval("("+s+")") - if(!A)return - if(key && A[key])A=A[key] - return A -} - -function _jmolEnumerateObject(A,key){ - var sout="" - if(typeof(A) == "string" && A!="null"){ - sout+="\n"+key+"=\""+A+"\"" - }else if(!isNaN(A)||A==null){ - sout+="\n"+key+"="+(A+""==""?"null":A) - }else if(A.length){ - sout+=key+"=[]" - for(var i=0;ib[0]?-1:0) -} - -function _jmolSortMessages(A){ - if(!A || typeof(A)!="object")return [] - var B = [] - for(var i=A.length-1;i>=0;i--)for(var j=0;j=0;) - for(var j=0;j< Ret[i].length;j++) - s+=Ret[i][j]+"\n" - return s -} - -function jmolScriptWaitOutput(script, targetSuffix) { - targetSuffix == undefined && (targetSuffix="0") - var ret = "" - try{ - if (script) { - _jmolCheckBrowser(); - var applet=_jmolGetApplet(targetSuffix); - if (applet) ret += applet.scriptWaitOutput(script); - } - }catch(e){ - } - return ret; -} - -function jmolEvaluate(molecularMath, targetSuffix) { - - //carries out molecular math on a model - - targetSuffix == undefined && (targetSuffix="0") - var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix); - var s = result.replace(/\-*\d+/,"") - if (s == "" && !isNaN(parseInt(result)))return parseInt(result); - var s = result.replace(/\-*\d*\.\d*/,"") - if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result); - return result; -} - -function jmolScriptEcho(script, targetSuffix) { - // returns a newline-separated list of all echos from a script - targetSuffix == undefined && (targetSuffix="0") - var Ret=jmolScriptWaitAsArray(script, targetSuffix) - var s = "" - for(var i=Ret.length;--i>=0;) - for(var j=Ret[i].length;--j>=0;) - if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n" - return s.replace(/ \| /g, "\n") -} - - -function jmolScriptMessage(script, targetSuffix) { - // returns a newline-separated list of all messages from a script, ending with "script completed\n" - targetSuffix == undefined && (targetSuffix="0") - var Ret=jmolScriptWaitAsArray(script, targetSuffix) - var s = "" - for(var i=Ret.length;--i>=0;) - for(var j=Ret[i].length;--j>=0;) - if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n" - return s.replace(/ \| /g, "\n") -} - - -function jmolScriptWaitAsArray(script, targetSuffix) { - var ret = "" - try{ - jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix) - if (script) { - _jmolCheckBrowser(); - var applet=_jmolGetApplet(targetSuffix); - if (applet) ret += applet.scriptWait(script); - ret = _jmolEvalJSON(ret,"jmolStatus") - if(typeof ret == "object") - return ret - } - }catch(e){ - } - return [[ret]] -} - - - -//////////// save/restore orientation ///////////// - -function jmolSaveOrientation(id, targetSuffix) { - targetSuffix == undefined && (targetSuffix="0") - return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo -} - -function jmolRestoreOrientation(id, targetSuffix) { - targetSuffix == undefined && (targetSuffix="0") - var s=_jmol["savedOrientation"+id] - if (!s || s == "")return - s=s.replace(/1\.0/,"0") - return jmolScriptWait(s,targetSuffix) -} - -function jmolRestoreOrientationDelayed(id, delay, targetSuffix) { - arguments.length < 2 && (delay=1) - targetSuffix == undefined && (targetSuffix="0") - var s=_jmol["savedOrientation"+id] - if (!s || s == "")return - s=s.replace(/1\.0/,delay) - return jmolScriptWait(s,targetSuffix) -} - -//////////// add parameter ///////////// -/* - * for adding callbacks or other parameters. Use: - - jmolSetDocument(0) - var s= jmolApplet(....) - s = jmolAppletAddParam(s,"messageCallback", "myFunctionName") - document.write(s) - jmolSetDocument(document) // if you want to then write buttons and such normally - - */ - -function jmolAppletAddParam(appletCode,name,value){ - return (value == "" ? appletCode : appletCode.replace(/\\n" - +"" - +"Applet would be here" - +"

" - +"" - return _jmolDocumentWrite(s) - } - - _jmolFindApplet = function(){return jmolApplet0} - - jmolApplet0 = { - script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script} - ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} - ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script} - } -} - - -/////////////////////////////////////////// - - // This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility - /* - Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%). - targetSuffix is optional and defaults to zero (first applet in page). - Both w and h are optional, but needed if you want to use targetSuffix. - h defaults to w - w defaults to 100% of window - If either w or h is between 0 and 1, then it is taken as percent/100. - If either w or h is greater than 1, then it is taken as a size (pixels). - */ -function jmolResize(w,h,targetSuffix) { - _jmol.alerted = true; - var percentW = (!w ? 100 : w <= 1 && w > 0 ? w * 100 : 0); - var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0); - if (_jmol.browser=="msie") { - var width=document.body.clientWidth; - var height=document.body.clientHeight; - } else { - var netscapeScrollWidth=15; - var width=window.innerWidth - netscapeScrollWidth; - var height=window.innerHeight-netscapeScrollWidth; - } - var applet = _jmolGetApplet(targetSuffix); - if(!applet)return; - applet.style.width = (percentW ? width * percentW/100 : w)+"px"; - applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px"; - //title=width + " " + height + " " + (new Date()); -} - -// 13 Jun 09 -- makes jmolResize() obsolete (kept for backwards compatibility) -function jmolResizeApplet(size,targetSuffix) { - // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()] - // Special case: an empty value for width or height is accepted, meaning no change in that dimension. - _jmol.alerted = true; - var applet = _jmolGetApplet(targetSuffix); - if(!applet)return; - var sz = _jmolGetAppletSize(size, "px"); - sz[0] && (applet.style.width = sz[0]); - sz[1] && (applet.style.height = sz[1]); -} - -function _jmolGetAppletSize(size, units) { - /* Accepts single number or 2-value array, each one can be one of: - percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.) - [width, height] array of strings is returned, with units added if specified. - Percent is relative to container div or element (which should have explicitly set size). - */ - var width, height; - if ( (typeof size) == "object" && size != null ) { - width = size[0]; height = size[1]; - } else { - width = height = size; - } - return [_jmolFixDim(width, units), _jmolFixDim(height, units)]; -} - -function _jmolFixDim(x, units) { - var sx = "" + x; - return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2]) - : sx.indexOf("%") == sx.length-1 ? sx - : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%" - : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2] - : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0] - : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] - : x) + (units ? units : "")); -} - - - - diff --git a/build/pkgs/jmol/patches/Jmol.js.patch b/build/pkgs/jmol/patches/Jmol.js.patch deleted file mode 100644 index 7d4cc773176..00000000000 --- a/build/pkgs/jmol/patches/Jmol.js.patch +++ /dev/null @@ -1,131 +0,0 @@ ---- /home/jonathan/Documents/jmol-12.3.27.p0/src/jmol/Jmol.js -+++ /home/jonathan/Documents/jmol-12.3.27.p0/patches/Jmol.js -@@ -81,11 +81,6 @@ - // bh 4/2010 -- added jmolSetMemoryMb(nMb) - // ah 1/2011 -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; - // fix of object tag (removed classid) accounts for change of behavior in Chrome --// bh 3/2011 -- added jmolLoadAjax_STOLAF_NIH --// ah 9/2011 -- Applet is now wrapped in a tag (might break existing user code). --// Added jmolSwitchToSignedApplet(); replaces an applet with the signed applet, --// preserving size, model and state; an additional script may be specified. --// Note: as a result, unsigned and signed applets may coexist in a page. - - var defaultdir = "." - var defaultjar = "JmolApplet.jar" -@@ -104,9 +99,6 @@ - // then the user is presented with a warning and asked whether it is OK to change Jar files. - // The default action, if the user just presses "OK" is to NOT allow the change. - // The user must type the word "yes" in the prompt box for the change to be approved. -- --// For a simple change to the signed applet in the same original directory (if it's available), --// you can use JMOLJAR=SIGNED on the URL. - - // If you don't want people to be able to switch in their own JAR file on your page, - // simply set this next line to read "var allowJMOLJAR = false". -@@ -135,7 +127,6 @@ - alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"'); - } - } else { -- if (f=="SIGNED") { f=true; } - fileNameOrUseSignedApplet = f; - } - } -@@ -148,6 +139,10 @@ - _jmol.params.doTranslate = ''+TF; - } - -+function jmolToSigned(){ -+ _jmolGetJarFilename(true); -+} -+ - function _jmolGetJarFilename(fileNameOrFlag) { - _jmol.archivePath = - (typeof(fileNameOrFlag) == "string" ? fileNameOrFlag : (fileNameOrFlag ? "JmolAppletSigned" : "JmolApplet") + "0.jar"); -@@ -494,26 +489,6 @@ - } - if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now") - _jmolCheckBrowser(); --} -- --var _jmolScriptForSwitching; --function jmolSwitchToSignedApplet(targetSuffix, additionalScript) { -- if (!targetSuffix) { targetSuffix = "0"; } -- if (!additionalScript) { additionalScript = ""; } -- var s = jmolEvaluate("_signedApplet",targetSuffix); -- var w = jmolEvaluate("_width",targetSuffix); -- var h = jmolEvaluate("_height",targetSuffix); -- if (s=="true") { -- jmolScript(additionalScript,targetSuffix); -- return; -- } -- var appletParent = document.getElementById("jmolApplet"+targetSuffix).parentNode; -- _jmolScriptForSwitching = jmolGetPropertyAsString("stateInfo", "", targetSuffix) + additionalScript; -- appletParent.innerHTML = ""; -- _jmolGetJarFilename(true); -- jmolSetDocument(false); -- appletParent.innerHTML = jmolApplet([w,h], "javascript jmolScript(_jmolScriptForSwitching," + targetSuffix + ")", targetSuffix); -- jmolSetDocument(document); - } - - //////////////////////////////////////////////////////////////// -@@ -789,11 +764,11 @@ - params.mayscript = 'true'; - params.codebase = codebase; - params.code = 'JmolApplet'; -- tHeader = "" + -+ tHeader = - "\n"; -- tFooter = ""; -+ tFooter = ""; - } - var visitJava; - if (useIEObject || useHtml4Object) { -@@ -1510,29 +1485,6 @@ - return url - } - -- --///////////////auto load NIH CACTVS data -- compound name or SMILES /////////// -- --function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){ -- _jmol.thismodel || (_jmol.thismodel = "aspirin") -- _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm") -- _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True") -- compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel)) -- if(!compoundid)return "" -- targetSuffix || (targetSuffix="0") -- optionalscript || (optionalscript="") -- var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid) -- _jmol.optionalscript=optionalscript -- _jmol.thismodel=compoundid -- _jmol.thistargetsuffix=targetSuffix -- _jmol.thisurl=url -- _jmol.modelArray = [] -- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url) -- _jmolDomScriptLoad(url) -- return url --} -- -- - /////////////// St. Olaf College AJAX server -- ANY URL /////////// - - function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){ diff --git a/build/pkgs/jmol/patches/jmol b/build/pkgs/jmol/patches/jmol deleted file mode 100755 index 5a38372a574..00000000000 --- a/build/pkgs/jmol/patches/jmol +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -#JMOL_HOME=`dirname "$0"` -JMOL_HOME="$SAGE_LOCAL/share/jmol" -echo $JMOL_HOME - -# Collect -D & -m options as java arguments -command=java -while [ `echo $1 | egrep '^-D|^-m' | wc -l` != 0 ]; do - command="$command $1" - shift -done - -if [ -f ./Jmol.jar ] ; then - jarpath=./Jmol.jar -elif [ -f $JMOL_HOME/Jmol.jar ] ; then - jarpath=$JMOL_HOME/Jmol.jar -elif [ -f /usr/share/jmol/Jmol.jar ] ; then - jarpath=/usr/share/jmol/Jmol.jar -else - echo Jmol.jar not found - exit -fi -$command -Xmx512m -jar $jarpath $@ diff --git a/build/pkgs/jmol/patches/jmol.patch b/build/pkgs/jmol/patches/jmol.patch index 7210c1b0842..0f4dd88e4c0 100644 --- a/build/pkgs/jmol/patches/jmol.patch +++ b/build/pkgs/jmol/patches/jmol.patch @@ -1,5 +1,5 @@ ---- /home/jonathan/Documents/jmol-12.3.27.p0/src/jmol/jmol -+++ /home/jonathan/Documents/jmol-12.3.27.p0/patches/jmol +--- a/jmol ++++ b/jmol @@ -1,16 +1,17 @@ #!/bin/sh +#JMOL_HOME=`dirname "$0"` diff --git a/build/pkgs/jmol/spkg-install b/build/pkgs/jmol/spkg-install index f1599945174..a25502cc373 100755 --- a/build/pkgs/jmol/spkg-install +++ b/build/pkgs/jmol/spkg-install @@ -14,6 +14,19 @@ if [ ! -d "$SPKGDIR"/patches ]; then exit 1 fi +cd "$SPKGDIR/src" + +# Apply all patches +for patch in ../patches/*.patch; do + [ -r "$patch" ] || continue # Skip non-existing or non-readable patches + echo "Applying $patch" + patch -p1 <"$patch" + if [ $? -ne 0 ]; then + echo >&2 "Error applying '$patch'" + exit 1 + fi +done + #pure javascript for web and java applet in separate /share/jsmol directory. if [ ! -d "$SAGE_LOCAL"/share/jsmol ]; then echo "Directory "$SAGE_LOCAL"/share/jsmol does not exist. Creating directory..." @@ -25,7 +38,7 @@ else fi echo "Installing the JSmol files..." -cp -r "$SPKGDIR"/src/jsmol/* "$SAGE_LOCAL"/share/jsmol/ +cp -r jsmol/* "$SAGE_LOCAL"/share/jsmol/ if [ $? -ne 0 ]; then echo "Error installing jmol files. Exiting." exit 1 @@ -42,23 +55,23 @@ else fi # Jsmol is stuck inside the jmol directory, remove -rm -r "$SPKGDIR"/src/jsmol +rm -r "jsmol" if [ $? -ne 0 ]; then echo "Error removing the contained jsmol files. Exiting." exit 1 fi echo "Installing the Jmol files..." -cp -r "$SPKGDIR"/src/* "$SAGE_LOCAL"/share/jmol/ +cp -r * "$SAGE_LOCAL"/share/jmol/ if [ $? -ne 0 ]; then echo "Error installing jmol files. Exiting." exit 1 fi -echo "Overwriting the Jmol launcher..." -cp -f "$SPKGDIR"/patches/jmol "$SAGE_LOCAL"/bin/jmol && chmod ugo+x "$SAGE_LOCAL"/bin/jmol +echo "Install the Jmol launcher to bin/..." +cp -f jmol "$SAGE_LOCAL"/bin/jmol && chmod ugo+x "$SAGE_LOCAL"/bin/jmol if [ $? -ne 0 ]; then - echo "Error overwriting the jmol launcher. Exiting." + echo "Error installing the jmol launcher. Exiting." exit 1 fi diff --git a/build/pkgs/jupyter_client/checksums.ini b/build/pkgs/jupyter_client/checksums.ini index d47d5085aa5..71529ccca98 100644 --- a/build/pkgs/jupyter_client/checksums.ini +++ b/build/pkgs/jupyter_client/checksums.ini @@ -1,4 +1,4 @@ tarball=jupyter_client-VERSION.tar.gz -sha1=7a1c20000f7e088e65f35e7fc994d1240b4b148d -md5=f887b2c076297ed8216d89b17a2000ea -cksum=4189008094 +sha1=909b47a92960364300765a36963c8c9bf9c179ab +md5=4ae3d5e04baea1e8fa8d3ec24c600c17 +cksum=854482584 diff --git a/build/pkgs/jupyter_client/package-version.txt b/build/pkgs/jupyter_client/package-version.txt index af8c8ec7c13..80895903a15 100644 --- a/build/pkgs/jupyter_client/package-version.txt +++ b/build/pkgs/jupyter_client/package-version.txt @@ -1 +1 @@ -4.2.2 +4.3.0 diff --git a/build/pkgs/libbraiding/SPKG.txt b/build/pkgs/libbraiding/SPKG.txt new file mode 100644 index 00000000000..4afec494530 --- /dev/null +++ b/build/pkgs/libbraiding/SPKG.txt @@ -0,0 +1,17 @@ += LIBBRAIDING = + +== Description == + +libbraiding is a library to compute several properties of braids, including centralizer and conjugacy check. + +== License == + +GPLv3+ + +== SPKG Maintainers == + +* Miguel Marco + +== Upstream Contact == + +Miguel Marco (mmarco@unizar.es) diff --git a/build/pkgs/libbraiding/checksums.ini b/build/pkgs/libbraiding/checksums.ini new file mode 100644 index 00000000000..9e726e3a7fb --- /dev/null +++ b/build/pkgs/libbraiding/checksums.ini @@ -0,0 +1,4 @@ +tarball=libbraiding-VERSION.tar.gz +sha1=849d146abc03f0773a74e41351711b56b6bfc5d3 +md5=969f2f1f412c60e8ff1ea107f00a25b1 +cksum=357804794 diff --git a/build/pkgs/libbraiding/package-version.txt b/build/pkgs/libbraiding/package-version.txt new file mode 100644 index 00000000000..d3827e75a5c --- /dev/null +++ b/build/pkgs/libbraiding/package-version.txt @@ -0,0 +1 @@ +1.0 diff --git a/build/pkgs/libbraiding/spkg-install b/build/pkgs/libbraiding/spkg-install new file mode 100644 index 00000000000..640be67c1b9 --- /dev/null +++ b/build/pkgs/libbraiding/spkg-install @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +cd src + +./configure --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" +if [ $? -ne 0 ]; then + echo >&2 "Error configuring libbraiding." + exit 1 +fi + +$MAKE +if [ $? -ne 0 ]; then + echo >&2 "Error building libbraiding." + exit 1 +fi + +$MAKE -j1 install +if [ $? -ne 0 ]; then + echo >&2 "Error installing libbraiding." + exit 1 +fi diff --git a/build/pkgs/libbraiding/type b/build/pkgs/libbraiding/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/libbraiding/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/libtheora/dependencies b/build/pkgs/libtheora/dependencies new file mode 100644 index 00000000000..42f4da7f9d4 --- /dev/null +++ b/build/pkgs/libtheora/dependencies @@ -0,0 +1,5 @@ +libogg libpng + +---------- +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. diff --git a/build/pkgs/lidia/dependencies b/build/pkgs/lidia/dependencies new file mode 100644 index 00000000000..9a77ea16f78 --- /dev/null +++ b/build/pkgs/lidia/dependencies @@ -0,0 +1,5 @@ +$(MP_LIBRARY) + +---------- +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. diff --git a/build/pkgs/linbox/spkg-install b/build/pkgs/linbox/spkg-install index 233ab547c3e..094ff8fac0a 100755 --- a/build/pkgs/linbox/spkg-install +++ b/build/pkgs/linbox/spkg-install @@ -47,6 +47,8 @@ if [ "$SAGE64" = yes ]; then LDFLAGS="$LDFLAGS $CFLAG64" fi +# C++11 workaround https://trac.sagemath.org/ticket/20926 +CXXFLAGS="$CXXFLAGS -std=c++98" ############################################################################### # Configure, build and install LinBox: diff --git a/build/pkgs/lrslib/SPKG.txt b/build/pkgs/lrslib/SPKG.txt index ad485cf3da3..95f734ce163 100644 --- a/build/pkgs/lrslib/SPKG.txt +++ b/build/pkgs/lrslib/SPKG.txt @@ -4,7 +4,9 @@ lrslib implements the linear reverse search algorithm of Avis and Fukuda. -See the homepage (http://cgm.cs.mcgill.ca/~avis/C/lrs.html) for details. +See the homepage (http://cgm.cs.mcgill.ca/~avis/C/lrs.html) for details. + +We use an autotoolized version from https://github.com/mkoeppe/lrslib/tree/autoconfiscation == License == lrslib is released under a GPL v2+ license. @@ -15,9 +17,14 @@ David Avis, avis at cs dot mcgill dot edu. == Dependencies == -No dependencies. +To build and install the "plrs" binary, a multi-thread version of lrs, +need to first install the full Boost package ("sage -i boost"). -== Special Update/Build Instructions == +If the package finds an MPI C++ compiler script (mpic++), it also +builds and installs the "mplrs" binary, a distributed version of lrs +using MPI. -The only patch is the makefile, which has been cleaned up for Sage using our environmental variables and with an added "make check" section. +(Sage currently does not make use of plrs and mplrs.) + +== Special Update/Build Instructions == diff --git a/build/pkgs/lrslib/checksums.ini b/build/pkgs/lrslib/checksums.ini index 4eeded80fa5..2ddbe3dd862 100644 --- a/build/pkgs/lrslib/checksums.ini +++ b/build/pkgs/lrslib/checksums.ini @@ -1,4 +1,4 @@ tarball=lrslib-VERSION.tar.gz -sha1=8c4db17a4d385d4d916268347ac64c309a9ced9e -md5=cca323eee8bf76f598a13d7bf67cc13d -cksum=2550957470 +sha1=36a439d74fe3743dc318239e8bf2382c3a3c3af3 +md5=8a34b136cd2baeb6fc8b4fef5ed64759 +cksum=1002336091 diff --git a/build/pkgs/lrslib/dependencies b/build/pkgs/lrslib/dependencies new file mode 100644 index 00000000000..9a77ea16f78 --- /dev/null +++ b/build/pkgs/lrslib/dependencies @@ -0,0 +1,5 @@ +$(MP_LIBRARY) + +---------- +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. diff --git a/build/pkgs/lrslib/package-version.txt b/build/pkgs/lrslib/package-version.txt index 0448f1c18d7..a13163b44e0 100644 --- a/build/pkgs/lrslib/package-version.txt +++ b/build/pkgs/lrslib/package-version.txt @@ -1 +1 @@ -051 +062+autotools-2016-07-05 diff --git a/build/pkgs/lrslib/patches/makefile.patch b/build/pkgs/lrslib/patches/makefile.patch deleted file mode 100644 index 14d30a6f24b..00000000000 --- a/build/pkgs/lrslib/patches/makefile.patch +++ /dev/null @@ -1,148 +0,0 @@ -Find includes and libs in the tree, install there. -Use cp instead of 'install -t', which does not work on Mac OS X. -Disable plrs build. -Use LDFLAGS - - ---- patches/makefile 2015-01-21 07:36:46.000000000 +0100 -+++ patches/makefile 2015-12-29 19:09:22.428735582 +0100 -@@ -25,8 +25,8 @@ - #Select a path below to give location of gmp library - - #cygwin --INCLUDEDIR = /usr/include --LIBDIR = /usr/lib -+INCLUDEDIR = ${SAGE_LOCAL}/include -+LIBDIR = ${SAGE_LOCAL}/lib - - #linux at mcgill with gmp version 3 - #INCLUDEDIR = /usr/local/include -@@ -45,7 +45,7 @@ - LIBRARIES=$(LIB) $(SHLIB) $(SHLINK) - - # where to install binaries, libraries, include files --prefix := /usr/local -+prefix := ${SAGE_LOCAL} - - # Shared library - SONAME ?=liblrsgmp.so.0 -@@ -57,11 +57,11 @@ - - # rule to build gmp arithmetic using object files. - %-GMP.o: %.c lrsgmp.h -- $(CC) -c $(CFLAGS) $(CPPFLAGS) -DGMP -o $@ $< -+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DGMP -o $@ $< - - # rule to build gmp arithmetic and relocatable object files. - %-GMP-SHR.o: %.c lrsgmp.h -- $(CC) -c -fPIC $(CFLAGS) $(CPPFLAGS) -DGMP -o $@ $< -+ $(CC) -c -fPIC $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DGMP -o $@ $< - - # Cancel built in rules - %: %.c -@@ -69,7 +69,7 @@ - - # How to build a gmp arithmetic using tool - %: %-GMP.o $(LRSGMPLIB) -- $(CC) $< -L. -llrsgmp -L${LIBDIR} -lgmp -o $@ -+ $(CC) $< -L. -llrsgmp -L${LIBDIR} -lgmp $(LDFLAGS) -o $@ - - all: $(BINARIES) - -@@ -86,62 +86,73 @@ - $(RANLIB) $@ - - $(SHLIB): lrslib-GMP-SHR.o lrsgmp-GMP-SHR.o -- $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) -o $@ $^ -lgmp -+ $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) $(LDFLAGS) -o $@ $^ -lgmp - - $(SHLINK): $(SHLIB) - ln -sf $< $@ - - lrs1: lrs.c lrslib.c lrslib.c lrslong.c -- $(CC) $(CFLAGS) $(CPPFLAGS) -DLONG -o lrs1 lrs.c lrslib.c lrslong.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DLONG -o lrs1 lrs.c lrslib.c lrslong.c - - redund1: redund.c lrslib.c lrslib.c lrslong.c -- $(CC) $(CFLAGS) $(CPPFLAGS) -DLONG -o redund1 redund.c lrslib.c lrslong.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DLONG -o redund1 redund.c lrslib.c lrslong.c - - setnash: setupnash.c lrslib.c lrsmp.c -- $(CC) $(CFLAGS) $(CPPFLAGS) -o setnash setupnash.c lrslib.c lrsmp.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsmp.c - - setnash2: setupnash2.c lrslib.c lrsmp.c -- $(CC) $(CFLAGS) $(CPPFLAGS) -o setnash2 setupnash2.c lrslib.c lrsmp.c -+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsmp.c - - install: install-static - - install-shared: all-shared install-common - mkdir -p $(DESTDIR)${prefix}/lib -- install -t $(DESTDIR)${prefix}/lib $(SHLIB) -+ cp $(SHLIB) $(DESTDIR)${prefix}/lib - cd $(DESTDIR)${prefix}/lib && ln -sf $(SHLIB) $(SHLINK) - cd $(DESTDIR)${prefix}/lib && ln -sf $(SHLIB) $(SONAME) - - install-static: all-static install-common - mkdir -p $(DESTDIR)${prefix}/lib -- install -t $(DESTDIR)${prefix}/lib $(LIB) -+ cp $(LIB) $(DESTDIR)${prefix}/lib - - install-common: - mkdir -p $(DESTDIR)${prefix}/bin -- install -t $(DESTDIR)${prefix}/bin $(BINARIES) -+ cp $(BINARIES) $(DESTDIR)${prefix}/bin - mkdir -p $(DESTDIR)${prefix}/include -- install -t $(DESTDIR)${prefix}/include lrslib.h lrsgmp.h -+ cp lrslib.h lrsgmp.h $(DESTDIR)${prefix}/include - - fourier: fourier.c lrslib.h lrslib.c lrsgmp.h lrsgmp.c -- gcc -O3 -DTIMES -DSIGNALS -DGMP -I${INCLUDEDIR} fourier.c lrslib.c lrsgmp.c -L${LIBDIR} -lgmp -o fourier -+ gcc -O3 -DTIMES -DSIGNALS -DGMP -I${INCLUDEDIR} fourier.c lrslib.c lrsgmp.c -L${LIBDIR} $(LDFLAGS) -lgmp -o fourier - - - plrs: plrs.cpp plrs.hpp lrslib.c lrslib.h lrsmp.c lrsmp.h -- g++ -DGMP -Wall -Wno-write-strings -Wno-sign-compare -I${BOOSTINC} -Wl,-rpath=${BOOSTLIB} -O3 -DPLRS -DGMP -o plrs plrs.cpp lrslib.c lrsgmp.c -L${BOOSTLIB} -lboost_thread -lboost_system -lgmp -+ g++ -DGMP -Wall -Wno-write-strings -Wno-sign-compare -I${BOOSTINC} -Wl,-rpath=${BOOSTLIB} $(LDFLAGS) -O3 -DPLRS -DGMP -o plrs plrs.cpp lrslib.c lrsgmp.c -L${BOOSTLIB} -lboost_thread -lboost_system -lgmp - - plrsmp: plrs.cpp plrs.hpp lrslib.c lrslib.h lrsmp.c lrsmp.h -- g++ -Wall -Wno-write-strings -Wno-sign-compare -Wno-unused-variable -I${BOOSTINC} -L${BOOSTLIB} -Wl,-rpath=${BOOSTLIB} -O3 -DPLRS -DLONG -o plrs1 plrs.cpp lrslib.c lrslong.c -lboost_thread -lboost_system -- g++ -Wall -Wno-write-strings -Wno-sign-compare -Wno-unused-variable -I${BOOSTINC} -L${BOOSTLIB} -Wl,-rpath=${BOOSTLIB} -O3 -DPLRS -o plrsmp plrs.cpp lrslib.c lrsmp.c -lboost_thread -lboost_system -+ g++ -Wall -Wno-write-strings -Wno-sign-compare -Wno-unused-variable -I${BOOSTINC} -L${BOOSTLIB} -Wl,-rpath=${BOOSTLIB} $(LDFLAGS) -O3 -DPLRS -DLONG -o plrs1 plrs.cpp lrslib.c lrslong.c -lboost_thread -lboost_system -+ g++ -Wall -Wno-write-strings -Wno-sign-compare -Wno-unused-variable -I${BOOSTINC} -L${BOOSTLIB} -Wl,-rpath=${BOOSTLIB} $(LDFLAGS) -O3 -DPLRS -o plrsmp plrs.cpp lrslib.c lrsmp.c -lboost_thread -lboost_system - - allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h -- gcc -Wall -O3 -DTIMES -DSIGNALS -o lrs lrs.c lrslib.c lrsmp.c -- gcc -Wall -O3 -DTIMES -DSIGNALS -DLONG -o lrs1 lrs.c lrslib.c lrslong.c -- gcc -O3 -DTIMES -DSIGNALS -o redund redund.c lrslib.c lrsmp.c -- gcc -O3 -DTIMES -DSIGNALS -DLONG -o redund1 redund.c lrslib.c lrslong.c -- gcc -O3 -DLRS_QUIET -DTIMES -DSIGNALS -o nash nash.c lrslib.c lrsmp.c -- gcc -O3 -o setnash setupnash.c lrslib.c lrsmp.c -- gcc -O3 -o setnash2 setupnash2.c lrslib.c lrsmp.c -- gcc -O3 -o 2nash 2nash.c -- -+ gcc $(LDFLAGS) -Wall -O3 -DTIMES -DSIGNALS -o lrs lrs.c lrslib.c lrsmp.c -+ gcc $(LDFLAGS) -Wall -O3 -DTIMES -DSIGNALS -DLONG -o lrs1 lrs.c lrslib.c lrslong.c -+ gcc $(LDFLAGS) -O3 -DTIMES -DSIGNALS -o redund redund.c lrslib.c lrsmp.c -+ gcc $(LDFLAGS) -O3 -DTIMES -DSIGNALS -DLONG -o redund1 redund.c lrslib.c lrslong.c -+ gcc $(LDFLAGS) -O3 -DLRS_QUIET -DTIMES -DSIGNALS -o nash nash.c lrslib.c lrsmp.c -+ gcc $(LDFLAGS) -O3 -o setnash setupnash.c lrslib.c lrsmp.c -+ gcc $(LDFLAGS) -O3 -o setnash2 setupnash2.c lrslib.c lrsmp.c -+ gcc $(LDFLAGS) -O3 -o 2nash 2nash.c -+ -+check: -+ lrs ext/test/cut16_11.ext > testout1 -+ echo `grep -G Volume testout1` > testout1 -+ echo "*Volume= 32768/14175" > testout2 -+ diff testout1 testout2 -+ lrs ine/test/cyclic17_8.ine > testout1 -+ echo `grep -G Totals testout1` > testout1 -+ echo "*Totals: vertices=935 rays=0 bases=935 integer_vertices=0" > testout2 -+ diff testout1 testout2 -+ rm testout1 -+ rm testout2 - - clean: -- rm -f $(BINARIES) $(LIBRARIES) plrs *.o *.exe -+ rm -f $(BINARIES) $(LIBRARIES) plrs *.o *.exe testout1 testout2 diff --git a/build/pkgs/lrslib/spkg-install b/build/pkgs/lrslib/spkg-install index b51bdd526b5..41bdce6f6e9 100755 --- a/build/pkgs/lrslib/spkg-install +++ b/build/pkgs/lrslib/spkg-install @@ -17,15 +17,17 @@ for patch in ../patches/*.patch; do fi done -$MAKE all-static +./configure --prefix=$SAGE_LOCAL + +$MAKE if [ $? -ne 0 ]; then - echo "Error building lrs" + echo "Error building lrslib" exit 1 fi -$MAKE install-static +$MAKE install if [ $? -ne 0 ]; then - echo "Error installing lrs" + echo "Error installing lrslib" exit 1 fi diff --git a/build/pkgs/mathjax/checksums.ini b/build/pkgs/mathjax/checksums.ini index 77800e9ff6a..df335856f1d 100644 --- a/build/pkgs/mathjax/checksums.ini +++ b/build/pkgs/mathjax/checksums.ini @@ -1,4 +1,4 @@ tarball=mathjax-VERSION.tar.gz -sha1=0c0583818959817306e89eee1c34be967f374024 -md5=f98ff60cfc5c38da45d9980896454190 -cksum=484358625 +sha1=369bfdc1a39be3d36ded61b3537085fd0848595e +md5=5cb9274be7162d088dfc3410740ed0cc +cksum=1385967993 diff --git a/build/pkgs/mathjax/package-version.txt b/build/pkgs/mathjax/package-version.txt index 95e3ba81920..6a6a3d8e35c 100644 --- a/build/pkgs/mathjax/package-version.txt +++ b/build/pkgs/mathjax/package-version.txt @@ -1 +1 @@ -2.5 +2.6.1 diff --git a/build/pkgs/mathjax/patches/extend_maxbuffer.patch b/build/pkgs/mathjax/patches/extend_maxbuffer.patch index af1b1eff62c..a4d6ecfd0fa 100644 --- a/build/pkgs/mathjax/patches/extend_maxbuffer.patch +++ b/build/pkgs/mathjax/patches/extend_maxbuffer.patch @@ -1,6 +1,6 @@ -diff --git a/src/config/TeX-AMS_HTML-full.js b/src/config/TeX-AMS_HTML-full.js ---- a/src/config/TeX-AMS_HTML-full.js -+++ b/src/config/TeX-AMS_HTML-full.js +diff --git a/config/TeX-AMS_HTML-full.js b/config/TeX-AMS_HTML-full.js +--- a/config/TeX-AMS_HTML-full.js ++++ b/config/TeX-AMS_HTML-full.js @@ -34,4 +34,12 @@ MathJax.Ajax.Preloading( ); diff --git a/build/pkgs/mathjax/patches/nopng_config.patch b/build/pkgs/mathjax/patches/nopng_config.patch index 586dba232cc..eceec630623 100644 --- a/build/pkgs/mathjax/patches/nopng_config.patch +++ b/build/pkgs/mathjax/patches/nopng_config.patch @@ -1,6 +1,6 @@ -diff --git a/src/config/default.js b/src/config/default.js ---- a/src/config/default.js -+++ b/src/config/default.js +diff --git a/config/default.js b/config/default.js +--- a/config/default.js ++++ b/config/default.js @@ -693,7 +693,7 @@ MathJax.Hub.Config({ // will be required to to download and install either the STIX fonts or the // MathJax TeX fonts. diff --git a/build/pkgs/mathjax/spkg-install b/build/pkgs/mathjax/spkg-install index cf8ddd06d28..e4779569930 100755 --- a/build/pkgs/mathjax/spkg-install +++ b/build/pkgs/mathjax/spkg-install @@ -8,9 +8,10 @@ if [ -z "$SAGE_SHARE" ]; then exit 1 fi +cd src # Apply all patches -for patch in patches/*.patch; do +for patch in ../patches/*.patch; do [ -r "$patch" ] || continue # Skip non-existing or non-readable patches echo "Applying $patch" patch -p1 <"$patch" @@ -20,6 +21,7 @@ for patch in patches/*.patch; do fi done +cd .. # Move mathjax to its final destination. TARGET="${SAGE_SHARE}/mathjax" diff --git a/build/pkgs/mistune/checksums.ini b/build/pkgs/mistune/checksums.ini index c191c2b76f8..a25e365f843 100644 --- a/build/pkgs/mistune/checksums.ini +++ b/build/pkgs/mistune/checksums.ini @@ -1,4 +1,4 @@ tarball=mistune-VERSION.tar.gz -sha1=ba1691f290b496dd12b1ad518a2c521367c7ce28 -md5=ed9ac03c99261bd1803e44ddaa4f87cb -cksum=1329307472 +sha1=0623556c560a41c27249d47c7002b0e5a1fa7fbd +md5=4eba50bd121b83716fa4be6a4049004b +cksum=4179355858 diff --git a/build/pkgs/mistune/package-version.txt b/build/pkgs/mistune/package-version.txt index 7486fdbc50b..f38fc5393ff 100644 --- a/build/pkgs/mistune/package-version.txt +++ b/build/pkgs/mistune/package-version.txt @@ -1 +1 @@ -0.7.2 +0.7.3 diff --git a/build/pkgs/normaliz/SPKG.txt b/build/pkgs/normaliz/SPKG.txt index b206aad8526..b8061f8eb76 100644 --- a/build/pkgs/normaliz/SPKG.txt +++ b/build/pkgs/normaliz/SPKG.txt @@ -20,6 +20,9 @@ For more details see http://www.mathematik.uni-osnabrueck.de/normaliz/ == Dependencies == + * GMP/MPIR + * boost + == Special Update/Build Instructions == * Normaliz is now distributed as .zip archive. diff --git a/build/pkgs/normaliz/dependencies b/build/pkgs/normaliz/dependencies new file mode 100644 index 00000000000..8229a5addb0 --- /dev/null +++ b/build/pkgs/normaliz/dependencies @@ -0,0 +1,5 @@ +$(MP_LIBRARY) singular boost_cropped + +---------- +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. diff --git a/build/pkgs/nose/dependencies b/build/pkgs/nose/dependencies new file mode 100644 index 00000000000..304d0c987a2 --- /dev/null +++ b/build/pkgs/nose/dependencies @@ -0,0 +1,5 @@ +$(PYTHON) + +---------- +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. diff --git a/build/pkgs/notebook/checksums.ini b/build/pkgs/notebook/checksums.ini index 8ba4997e1b6..c0e19e9e103 100644 --- a/build/pkgs/notebook/checksums.ini +++ b/build/pkgs/notebook/checksums.ini @@ -1,4 +1,4 @@ tarball=notebook-VERSION.tar.gz -sha1=f5466b2f04e1b9c913dcf79f7e03812eba718d0d -md5=3a72bb93f6f01caec69e5e65718f5f7f -cksum=3858938777 +sha1=cec36e2d1aa7835f2b4dda7dde8455d33a06361a +md5=09e727ba598ab1848327d211fd2ad057 +cksum=2780054946 diff --git a/build/pkgs/notebook/package-version.txt b/build/pkgs/notebook/package-version.txt index 6aba2b245a8..fae6e3d04b2 100644 --- a/build/pkgs/notebook/package-version.txt +++ b/build/pkgs/notebook/package-version.txt @@ -1 +1 @@ -4.2.0 +4.2.1 diff --git a/build/pkgs/ntl/package-version.txt b/build/pkgs/ntl/package-version.txt index daae81650b3..2507aceba97 100644 --- a/build/pkgs/ntl/package-version.txt +++ b/build/pkgs/ntl/package-version.txt @@ -1 +1 @@ -9.8.1.p0 +9.8.1.p1 diff --git a/build/pkgs/ntl/patches/libtool_flag.patch b/build/pkgs/ntl/patches/libtool_flag.patch index 371123442eb..0062d8c095b 100644 --- a/build/pkgs/ntl/patches/libtool_flag.patch +++ b/build/pkgs/ntl/patches/libtool_flag.patch @@ -1,8 +1,8 @@ Let libtool build a shared lib on Cygwin. -diff -druN a/src/DoConfig b/src/DoConfig ---- a/src/DoConfig 2015-05-23 07:44:51.000000000 -0700 -+++ b/src/DoConfig 2015-07-03 01:25:35.820272305 -0700 +diff -druN a/ntl/src/DoConfig b/ntl/src/DoConfig +--- a/ntl/src/DoConfig 2015-05-23 07:44:51.000000000 -0700 ++++ b/ntl/src/DoConfig 2015-07-03 01:25:35.820272305 -0700 @@ -39,6 +39,7 @@ 'LDFLAGS' => '', 'LDLIBS' => '-lm', @@ -11,9 +11,9 @@ diff -druN a/src/DoConfig b/src/DoConfig 'DEF_PREFIX' => '/usr/local', -diff -druN a/src/mfile b/src/mfile ---- a/src/mfile 2015-05-23 07:44:51.000000000 -0700 -+++ b/src/mfile 2015-07-03 01:26:13.120365725 -0700 +diff -druN a/ntl/src/mfile b/ntl/src/mfile +--- a/ntl/src/mfile 2015-05-23 07:44:51.000000000 -0700 ++++ b/ntl/src/mfile 2015-07-03 01:26:13.120365725 -0700 @@ -36,6 +36,9 @@ LIBTOOL=@{LIBTOOL} # libtool command diff --git a/build/pkgs/ntl/patches/make.patch b/build/pkgs/ntl/patches/make.patch index b4b9d169afd..d6d6164b554 100644 --- a/build/pkgs/ntl/patches/make.patch +++ b/build/pkgs/ntl/patches/make.patch @@ -1,7 +1,7 @@ Use `$(MAKE)` instead of `make` in mfile, the Perl script WizardAux and the shell script TestScript. ---- ntl.orig/src/mfile 2014-10-11 07:33:02.904149666 +1300 -+++ ntl/src/mfile 2014-10-09 22:14:46.730922903 +1300 +--- ntl.orig/ntl/src/mfile 2014-10-11 07:33:02.904149666 +1300 ++++ ntl/ntl/src/mfile 2014-10-09 22:14:46.730922903 +1300 @@ -325,11 +325,11 @@ # again. @@ -50,8 +50,8 @@ WizardAux and the shell script TestScript. ################################################################# # ---- ntl.orig/src/WizardAux 2014-08-27 05:51:43.000000000 +1200 -+++ ntl/src/WizardAux 2014-10-09 22:14:46.730922903 +1300 +--- ntl.orig/ntl/src/WizardAux 2014-08-27 05:51:43.000000000 +1200 ++++ ntl/ntl/src/WizardAux 2014-10-09 22:14:46.730922903 +1300 @@ -47,9 +47,9 @@ my $val; my $res; diff --git a/build/pkgs/ntl/patches/new_singular.patch b/build/pkgs/ntl/patches/new_singular.patch index 58f9491c12a..350dbd0a9dd 100644 --- a/build/pkgs/ntl/patches/new_singular.patch +++ b/build/pkgs/ntl/patches/new_singular.patch @@ -1,6 +1,6 @@ Modfiy new.h to accomodate Singular. ---- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200 -+++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200 +--- src.orig/ntl/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200 ++++ src/ntl/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200 @@ -12,7 +12,8 @@ #include #include diff --git a/build/pkgs/ntl/spkg-install b/build/pkgs/ntl/spkg-install index 68d9831e996..af9aa7f1452 100755 --- a/build/pkgs/ntl/spkg-install +++ b/build/pkgs/ntl/spkg-install @@ -40,10 +40,10 @@ ntl_patch() echo echo "Applying patches to NTL." - cd "$CUR/src/ntl" + cd "$CUR/src" # Apply all patches - for patch in "$CUR"/patches/*.patch; do + for patch in ../patches/*.patch; do patch -p1 < "$patch" if [ $? -ne 0 ]; then echo >&2 "Error applying '$patch'." @@ -82,12 +82,62 @@ ntl_configure() ;; esac - # If SAGE_FAT_BINARY is enabled we don't want ntl to be built with cpu specific - # instructions such as avx and fma. + # If SAGE_FAT_BINARY is enabled we don't want NTL to be built with CPU- + # specific instructions such as AVX and FMA. + # Also, if Sage's GCC was built, decide whether the native toolchain (in + # particular, its assembler) is too old to deal with at least some of the + # instructions emitted by GCC with '-march=native'. (That's not necessa- + # rily the case, but safer. TODO: Improve by adding real checks.) if [ "$SAGE_FAT_BINARY" = "yes" ]; then - DISABLE_NATIVE="NATIVE=off" + echo "Configuring NTL with NATIVE=off because we're building a 'fat' binary." + DISABLE_NATIVE="NATIVE=off" + elif [ -x "$SAGE_LOCAL"/bin/gcc ]; then + # Don't be too rigorous, since on Darwin, Sage's GCC is *always* built. + # White-list newer versions of GAS, and LLVM's assembler (on Darwin) + # if it is already the default: + assembler_ok=false + echo "Checking the assembler since we're using Sage's GCC..." + GAS_VERSION=$( ${AS:-as} -v &1 \ + | sed -n '/GNU assembler/s/^.* \([12]\.[^ ][^ ]*\).*$/\1/p' ) + # On more recent MacOS X, the default 'as' is already LLVM's. + LLVMAS_VERSION=$( ${AS:-as} --version &1 \ + | grep LLVM ) + if [ -n "$GAS_VERSION" ]; then + echo "The default assembler appears to be GNU 'as' version ${GAS_VERSION}." + case $GAS_VERSION in + 2.2[2-9]*|2.3[0-9]*) # GAS 2.22 already supports AVX2, BMI2 and FMA4. + assembler_ok=true # perhaps until we upgrade Sage's GCC... ;-) + ;; + 1.38) # This is almost certainly Apple's ancient version of GNU as. + # If we passed '-q', it would suddenly become LLVM's 'as'. + echo "Warning: You're still using Apple's outdated version." + echo " Try upgrading to Xcode 7.x or later to get LLVM's assembler." + # (This should no longer happen in the future; see #20779.) + ;; + esac + elif [ -n "$LLVMAS_VERSION" ]; then + echo "The default assembler appears to be clang's/LLVM's 'as':" + echo "$LLVMAS_VERSION" # If some versions later cause trouble... + assembler_ok=true + else + # Apparently neither GNU nor LLVM 'as' (at least detection failed) + echo "Warning: Couldn't figure out which assembler is being used;" + echo "'${AS:-as} --version' says:" + ${AS:-as} --version -Date: Wed Dec 9 22:46:54 2015 +0100 - - Allow delaybeforesend=None to skip the sleep completely - -diff --git a/doc/commonissues.rst b/doc/commonissues.rst -index d3aa9d0..f60085e 100644 ---- a/doc/commonissues.rst -+++ b/doc/commonissues.rst -@@ -47,7 +47,7 @@ not be an issue for most users. For some applications you might with to turn it - off:: - - child = pexpect.spawn ("ssh user@example.com") -- child.delaybeforesend = 0 -+ child.delaybeforesend = None - - Truncated output just before child exits - ---------------------------------------- -diff --git a/pexpect/pty_spawn.py b/pexpect/pty_spawn.py -index 299016c..1e9a032 100644 ---- a/pexpect/pty_spawn.py -+++ b/pexpect/pty_spawn.py -@@ -144,8 +144,7 @@ class spawn(SpawnBase): - many users that I decided that the default pexpect behavior should be - to sleep just before writing to the child application. 1/20th of a - second (50 ms) seems to be enough to clear up the problem. You can set -- delaybeforesend to 0 to return to the old behavior. Most Linux machines -- don't like this to be below 0.03. I don't know why. -+ delaybeforesend to None to return to the old behavior. - - Note that spawn is clever about finding commands on your path. - It uses the same logic that "which" uses to find executables. -@@ -511,7 +510,8 @@ class spawn(SpawnBase): - >>> bash.sendline('x' * 5000) - ''' - -- time.sleep(self.delaybeforesend) -+ if self.delaybeforesend is not None: -+ time.sleep(self.delaybeforesend) - - s = self._coerce_send_string(s) - self._log(s, 'send') diff --git a/build/pkgs/pexpect/patches/optimize_sendline.patch b/build/pkgs/pexpect/patches/optimize_sendline.patch deleted file mode 100644 index de050a86e39..00000000000 --- a/build/pkgs/pexpect/patches/optimize_sendline.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit 1ac02c5709288a84aa95e09a7a203887459aa60b -Author: Jeroen Demeyer -Date: Sun Dec 13 10:15:40 2015 +0100 - - Call send() just once in sendline() - -See https://github.com/pexpect/pexpect/pull/311 - -diff --git a/pexpect/pty_spawn.py b/pexpect/pty_spawn.py -index 299016c..b8ee09f 100644 ---- a/pexpect/pty_spawn.py -+++ b/pexpect/pty_spawn.py -@@ -525,10 +525,8 @@ class spawn(SpawnBase): - written. Only a limited number of bytes may be sent for each - line in the default terminal mode, see docstring of :meth:`send`. - ''' -- -- n = self.send(s) -- n = n + self.send(self.linesep) -- return n -+ s = self._coerce_send_string(s) -+ return self.send(s + self.linesep) - - def _log_control(self, s): - """Write control characters to the appropriate log files""" diff --git a/build/pkgs/pexpect/patches/pexpect-4.0.1_superfluous_sleep.patch b/build/pkgs/pexpect/patches/pexpect-4.0.1_superfluous_sleep.patch deleted file mode 100644 index e3a38197b5c..00000000000 --- a/build/pkgs/pexpect/patches/pexpect-4.0.1_superfluous_sleep.patch +++ /dev/null @@ -1,38 +0,0 @@ -Patch taken from https://github.com/pexpect/pexpect/pull/291 - -diff --git a/pexpect/expect.py b/pexpect/expect.py -index 6fde9e8..1c7a163 100644 ---- a/pexpect/expect.py -+++ b/pexpect/expect.py -@@ -95,7 +95,8 @@ class Expecter(object): - return self.timeout() - # Still have time left, so read more data - incoming = spawn.read_nonblocking(spawn.maxread, timeout) -- time.sleep(0.0001) -+ if self.spawn.delayafterread is not None: -+ time.sleep(self.spawn.delayafterread) - if timeout is not None: - timeout = end_time - time.time() - except EOF as e: -@@ -294,4 +295,4 @@ class searcher_re(object): - self.start = first_match - self.match = the_match - self.end = self.match.end() -- return best_index -\ No newline at end of file -+ return best_index -diff --git a/pexpect/spawnbase.py b/pexpect/spawnbase.py -index 0518d83..4664884 100644 ---- a/pexpect/spawnbase.py -+++ b/pexpect/spawnbase.py -@@ -70,6 +70,10 @@ class SpawnBase(object): - # Used by terminate() to give kernel time to update process status. - # Time in seconds. - self.delayafterterminate = 0.1 -+ # After each call to read_nonblocking(), pexpect releases the GIL -+ # through a time.sleep(0.0001) call by default since version 2.1. -+ # When set as value 'None', the old 2.0 behavior is restored. -+ self.delayafterread = 0.0001 - self.softspace = False - self.name = '<' + repr(self) + '>' - self.closed = True diff --git a/build/pkgs/pexpect/patches/spawnpty.patch b/build/pkgs/pexpect/patches/spawnpty.patch deleted file mode 100644 index 5ac85760c93..00000000000 --- a/build/pkgs/pexpect/patches/spawnpty.patch +++ /dev/null @@ -1,63 +0,0 @@ -Allow overriding the call to PtyProcess.spawn() -See https://github.com/pexpect/pexpect/pull/303/ - -commit c1fa69bc90eef9e680e5daac0ebd9d07b57817b5 -Author: Jeroen Demeyer -Date: Fri Dec 4 11:48:57 2015 +0100 - - Allow overriding the call to PtyProcess.spawn() - -diff --git a/pexpect/pty_spawn.py b/pexpect/pty_spawn.py -index 299016c..bb0c099 100644 ---- a/pexpect/pty_spawn.py -+++ b/pexpect/pty_spawn.py -@@ -290,8 +290,8 @@ class spawn(SpawnBase): - self.args = [a if isinstance(a, bytes) else a.encode(self.encoding) - for a in self.args] - -- self.ptyproc = ptyprocess.PtyProcess.spawn(self.args, env=self.env, -- cwd=self.cwd, **kwargs) -+ self.ptyproc = self.spawnpty(self.args, env=self.env, -+ cwd=self.cwd, **kwargs) - - self.pid = self.ptyproc.pid - self.child_fd = self.ptyproc.fd -@@ -300,6 +300,10 @@ class spawn(SpawnBase): - self.terminated = False - self.closed = False - -+ def spawnpty(self, args, **kwargs): -+ '''Spawn a pty and return an instance of PtyProcess.''' -+ return ptyprocess.PtyProcess.spawn(args, **kwargs) -+ - def close(self, force=True): - '''This closes the connection with the child application. Note that - calling close() more than once is valid. This emulates standard Python -commit ddd4bfd4258eb080c128713600aaee95fee66b85 -Author: Jeroen Demeyer -Date: Wed Dec 16 22:38:29 2015 +0100 - - Rename spawnpty to _spawnpty - -diff --git a/pexpect/pty_spawn.py b/pexpect/pty_spawn.py -index bb0c099..2855cfa 100644 ---- a/pexpect/pty_spawn.py -+++ b/pexpect/pty_spawn.py -@@ -290,7 +290,7 @@ class spawn(SpawnBase): - self.args = [a if isinstance(a, bytes) else a.encode(self.encoding) - for a in self.args] - -- self.ptyproc = self.spawnpty(self.args, env=self.env, -+ self.ptyproc = self._spawnpty(self.args, env=self.env, - cwd=self.cwd, **kwargs) - - self.pid = self.ptyproc.pid -@@ -300,7 +300,7 @@ class spawn(SpawnBase): - self.terminated = False - self.closed = False - -- def spawnpty(self, args, **kwargs): -+ def _spawnpty(self, args, **kwargs): - '''Spawn a pty and return an instance of PtyProcess.''' - return ptyprocess.PtyProcess.spawn(args, **kwargs) - diff --git a/build/pkgs/pillow/checksums.ini b/build/pkgs/pillow/checksums.ini index 1d6e55ce60d..c696e70c1a0 100644 --- a/build/pkgs/pillow/checksums.ini +++ b/build/pkgs/pillow/checksums.ini @@ -1,4 +1,4 @@ tarball=Pillow-VERSION.tar.gz -sha1=5381cdd06dc00a86b0221110c768d7b49c27dc56 -md5=7cfd093c11205d9e2ebe3c51dfcad510 -cksum=4253553307 +sha1=b115d02fde8e3df7feb2e17c98b5689cade49a89 +md5=b5a15b03bf402fe254636c015fcf04da +cksum=3163839681 diff --git a/build/pkgs/pillow/package-version.txt b/build/pkgs/pillow/package-version.txt index 944880fa15e..15a27998172 100644 --- a/build/pkgs/pillow/package-version.txt +++ b/build/pkgs/pillow/package-version.txt @@ -1 +1 @@ -3.2.0 +3.3.0 diff --git a/build/pkgs/pip/package-version.txt b/build/pkgs/pip/package-version.txt index 6b409d977b8..b6444a45e79 100644 --- a/build/pkgs/pip/package-version.txt +++ b/build/pkgs/pip/package-version.txt @@ -1 +1 @@ -8.1.2 +8.1.2.p0 diff --git a/build/pkgs/pip/patches/distlib-ssl.patch b/build/pkgs/pip/patches/distlib-ssl.patch new file mode 100644 index 00000000000..c8d2fdb96df --- /dev/null +++ b/build/pkgs/pip/patches/distlib-ssl.patch @@ -0,0 +1,348 @@ +# Patch needed for pip to be usable without the ssl module in Python +# This can be removed once pip releases a version with this patch +# applied; see https://github.com/pypa/pip/issues/1165 +diff --git a/pip/_vendor/distlib/__init__.py b/pip/_vendor/distlib/__init__.py +index 7026860..35af72f 100644 +--- a/pip/_vendor/distlib/__init__.py ++++ b/pip/_vendor/distlib/__init__.py +@@ -6,7 +6,7 @@ + # + import logging + +-__version__ = '0.2.3' ++__version__ = '0.2.4.dev0' + + class DistlibException(Exception): + pass +diff --git a/pip/_vendor/distlib/compat.py b/pip/_vendor/distlib/compat.py +index 069ec77..1dae5f3 100644 +--- a/pip/_vendor/distlib/compat.py ++++ b/pip/_vendor/distlib/compat.py +@@ -10,6 +10,11 @@ import os + import re + import sys + ++try: ++ import ssl ++except ImportError: ++ ssl = None ++ + if sys.version_info[0] < 3: # pragma: no cover + from StringIO import StringIO + string_types = basestring, +@@ -30,8 +35,10 @@ if sys.version_info[0] < 3: # pragma: no cover + import urllib2 + from urllib2 import (Request, urlopen, URLError, HTTPError, + HTTPBasicAuthHandler, HTTPPasswordMgr, +- HTTPSHandler, HTTPHandler, HTTPRedirectHandler, ++ HTTPHandler, HTTPRedirectHandler, + build_opener) ++ if ssl: ++ from urllib2 import HTTPSHandler + import httplib + import xmlrpclib + import Queue as queue +@@ -66,8 +73,10 @@ else: # pragma: no cover + from urllib.request import (urlopen, urlretrieve, Request, url2pathname, + pathname2url, + HTTPBasicAuthHandler, HTTPPasswordMgr, +- HTTPSHandler, HTTPHandler, HTTPRedirectHandler, ++ HTTPHandler, HTTPRedirectHandler, + build_opener) ++ if ssl: ++ from urllib.request import HTTPSHandler + from urllib.error import HTTPError, URLError, ContentTooShortError + import http.client as httplib + import urllib.request as urllib2 +diff --git a/pip/_vendor/distlib/metadata.py b/pip/_vendor/distlib/metadata.py +index 71525dd..2677eb3 100644 +--- a/pip/_vendor/distlib/metadata.py ++++ b/pip/_vendor/distlib/metadata.py +@@ -676,7 +676,6 @@ class Metadata(object): + self._legacy = None + self._data = None + self.scheme = scheme +- #import pdb; pdb.set_trace() + if mapping is not None: + try: + self._validate_mapping(mapping, scheme) +diff --git a/pip/_vendor/distlib/util.py b/pip/_vendor/distlib/util.py +index 7e209ec..34314f0 100644 +--- a/pip/_vendor/distlib/util.py ++++ b/pip/_vendor/distlib/util.py +@@ -15,7 +15,10 @@ import py_compile + import re + import shutil + import socket +-import ssl ++try: ++ import ssl ++except ImportError: ++ ssl = None + import subprocess + import sys + import tarfile +@@ -31,10 +34,8 @@ import time + from . import DistlibException + from .compat import (string_types, text_type, shutil, raw_input, StringIO, + cache_from_source, urlopen, urljoin, httplib, xmlrpclib, +- splittype, HTTPHandler, HTTPSHandler as BaseHTTPSHandler, +- BaseConfigurator, valid_ident, Container, configparser, +- URLError, match_hostname, CertificateError, ZipFile, +- fsdecode) ++ splittype, HTTPHandler, BaseConfigurator, valid_ident, ++ Container, configparser, URLError, ZipFile, fsdecode) + + logger = logging.getLogger(__name__) + +@@ -1257,99 +1258,102 @@ def _iglob(path_glob): + for fn in _iglob(os.path.join(path, radical)): + yield fn + ++if ssl: ++ from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname, ++ CertificateError) + + + # + # HTTPSConnection which verifies certificates/matches domains + # + +-class HTTPSConnection(httplib.HTTPSConnection): +- ca_certs = None # set this to the path to the certs file (.pem) +- check_domain = True # only used if ca_certs is not None +- +- # noinspection PyPropertyAccess +- def connect(self): +- sock = socket.create_connection((self.host, self.port), self.timeout) +- if getattr(self, '_tunnel_host', False): +- self.sock = sock +- self._tunnel() +- +- if not hasattr(ssl, 'SSLContext'): +- # For 2.x +- if self.ca_certs: +- cert_reqs = ssl.CERT_REQUIRED ++ class HTTPSConnection(httplib.HTTPSConnection): ++ ca_certs = None # set this to the path to the certs file (.pem) ++ check_domain = True # only used if ca_certs is not None ++ ++ # noinspection PyPropertyAccess ++ def connect(self): ++ sock = socket.create_connection((self.host, self.port), self.timeout) ++ if getattr(self, '_tunnel_host', False): ++ self.sock = sock ++ self._tunnel() ++ ++ if not hasattr(ssl, 'SSLContext'): ++ # For 2.x ++ if self.ca_certs: ++ cert_reqs = ssl.CERT_REQUIRED ++ else: ++ cert_reqs = ssl.CERT_NONE ++ self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, ++ cert_reqs=cert_reqs, ++ ssl_version=ssl.PROTOCOL_SSLv23, ++ ca_certs=self.ca_certs) + else: +- cert_reqs = ssl.CERT_NONE +- self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, +- cert_reqs=cert_reqs, +- ssl_version=ssl.PROTOCOL_SSLv23, +- ca_certs=self.ca_certs) +- else: +- context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) +- context.options |= ssl.OP_NO_SSLv2 +- if self.cert_file: +- context.load_cert_chain(self.cert_file, self.key_file) +- kwargs = {} ++ context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) ++ context.options |= ssl.OP_NO_SSLv2 ++ if self.cert_file: ++ context.load_cert_chain(self.cert_file, self.key_file) ++ kwargs = {} ++ if self.ca_certs: ++ context.verify_mode = ssl.CERT_REQUIRED ++ context.load_verify_locations(cafile=self.ca_certs) ++ if getattr(ssl, 'HAS_SNI', False): ++ kwargs['server_hostname'] = self.host ++ self.sock = context.wrap_socket(sock, **kwargs) ++ if self.ca_certs and self.check_domain: ++ try: ++ match_hostname(self.sock.getpeercert(), self.host) ++ logger.debug('Host verified: %s', self.host) ++ except CertificateError: ++ self.sock.shutdown(socket.SHUT_RDWR) ++ self.sock.close() ++ raise ++ ++ class HTTPSHandler(BaseHTTPSHandler): ++ def __init__(self, ca_certs, check_domain=True): ++ BaseHTTPSHandler.__init__(self) ++ self.ca_certs = ca_certs ++ self.check_domain = check_domain ++ ++ def _conn_maker(self, *args, **kwargs): ++ """ ++ This is called to create a connection instance. Normally you'd ++ pass a connection class to do_open, but it doesn't actually check for ++ a class, and just expects a callable. As long as we behave just as a ++ constructor would have, we should be OK. If it ever changes so that ++ we *must* pass a class, we'll create an UnsafeHTTPSConnection class ++ which just sets check_domain to False in the class definition, and ++ choose which one to pass to do_open. ++ """ ++ result = HTTPSConnection(*args, **kwargs) + if self.ca_certs: +- context.verify_mode = ssl.CERT_REQUIRED +- context.load_verify_locations(cafile=self.ca_certs) +- if getattr(ssl, 'HAS_SNI', False): +- kwargs['server_hostname'] = self.host +- self.sock = context.wrap_socket(sock, **kwargs) +- if self.ca_certs and self.check_domain: +- try: +- match_hostname(self.sock.getpeercert(), self.host) +- logger.debug('Host verified: %s', self.host) +- except CertificateError: +- self.sock.shutdown(socket.SHUT_RDWR) +- self.sock.close() +- raise +- +-class HTTPSHandler(BaseHTTPSHandler): +- def __init__(self, ca_certs, check_domain=True): +- BaseHTTPSHandler.__init__(self) +- self.ca_certs = ca_certs +- self.check_domain = check_domain +- +- def _conn_maker(self, *args, **kwargs): +- """ +- This is called to create a connection instance. Normally you'd +- pass a connection class to do_open, but it doesn't actually check for +- a class, and just expects a callable. As long as we behave just as a +- constructor would have, we should be OK. If it ever changes so that +- we *must* pass a class, we'll create an UnsafeHTTPSConnection class +- which just sets check_domain to False in the class definition, and +- choose which one to pass to do_open. +- """ +- result = HTTPSConnection(*args, **kwargs) +- if self.ca_certs: +- result.ca_certs = self.ca_certs +- result.check_domain = self.check_domain +- return result +- +- def https_open(self, req): +- try: +- return self.do_open(self._conn_maker, req) +- except URLError as e: +- if 'certificate verify failed' in str(e.reason): +- raise CertificateError('Unable to verify server certificate ' +- 'for %s' % req.host) +- else: +- raise ++ result.ca_certs = self.ca_certs ++ result.check_domain = self.check_domain ++ return result + +-# +-# To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- +-# Middle proxy using HTTP listens on port 443, or an index mistakenly serves +-# HTML containing a http://xyz link when it should be https://xyz), +-# you can use the following handler class, which does not allow HTTP traffic. +-# +-# It works by inheriting from HTTPHandler - so build_opener won't add a +-# handler for HTTP itself. +-# +-class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): +- def http_open(self, req): +- raise URLError('Unexpected HTTP request on what should be a secure ' +- 'connection: %s' % req) ++ def https_open(self, req): ++ try: ++ return self.do_open(self._conn_maker, req) ++ except URLError as e: ++ if 'certificate verify failed' in str(e.reason): ++ raise CertificateError('Unable to verify server certificate ' ++ 'for %s' % req.host) ++ else: ++ raise ++ ++ # ++ # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- ++ # Middle proxy using HTTP listens on port 443, or an index mistakenly serves ++ # HTML containing a http://xyz link when it should be https://xyz), ++ # you can use the following handler class, which does not allow HTTP traffic. ++ # ++ # It works by inheriting from HTTPHandler - so build_opener won't add a ++ # handler for HTTP itself. ++ # ++ class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): ++ def http_open(self, req): ++ raise URLError('Unexpected HTTP request on what should be a secure ' ++ 'connection: %s' % req) + + # + # XML-RPC with timeouts +@@ -1365,11 +1369,12 @@ if _ver_info == (2, 6): + self._setup(self._connection_class(host, port, **kwargs)) + + +- class HTTPS(httplib.HTTPS): +- def __init__(self, host='', port=None, **kwargs): +- if port == 0: # 0 means use port 0, not the default port +- port = None +- self._setup(self._connection_class(host, port, **kwargs)) ++ if ssl: ++ class HTTPS(httplib.HTTPS): ++ def __init__(self, host='', port=None, **kwargs): ++ if port == 0: # 0 means use port 0, not the default port ++ port = None ++ self._setup(self._connection_class(host, port, **kwargs)) + + + class Transport(xmlrpclib.Transport): +@@ -1388,25 +1393,26 @@ class Transport(xmlrpclib.Transport): + result = self._connection[1] + return result + +-class SafeTransport(xmlrpclib.SafeTransport): +- def __init__(self, timeout, use_datetime=0): +- self.timeout = timeout +- xmlrpclib.SafeTransport.__init__(self, use_datetime) +- +- def make_connection(self, host): +- h, eh, kwargs = self.get_host_info(host) +- if not kwargs: +- kwargs = {} +- kwargs['timeout'] = self.timeout +- if _ver_info == (2, 6): +- result = HTTPS(host, None, **kwargs) +- else: +- if not self._connection or host != self._connection[0]: +- self._extra_headers = eh +- self._connection = host, httplib.HTTPSConnection(h, None, +- **kwargs) +- result = self._connection[1] +- return result ++if ssl: ++ class SafeTransport(xmlrpclib.SafeTransport): ++ def __init__(self, timeout, use_datetime=0): ++ self.timeout = timeout ++ xmlrpclib.SafeTransport.__init__(self, use_datetime) ++ ++ def make_connection(self, host): ++ h, eh, kwargs = self.get_host_info(host) ++ if not kwargs: ++ kwargs = {} ++ kwargs['timeout'] = self.timeout ++ if _ver_info == (2, 6): ++ result = HTTPS(host, None, **kwargs) ++ else: ++ if not self._connection or host != self._connection[0]: ++ self._extra_headers = eh ++ self._connection = host, httplib.HTTPSConnection(h, None, ++ **kwargs) ++ result = self._connection[1] ++ return result + + + class ServerProxy(xmlrpclib.ServerProxy): diff --git a/build/pkgs/pip/spkg-install b/build/pkgs/pip/spkg-install index 472cca5ecb2..2389e74f6e4 100755 --- a/build/pkgs/pip/spkg-install +++ b/build/pkgs/pip/spkg-install @@ -2,4 +2,14 @@ cd src +# Apply patches +for patch in ../patches/*.patch; do + [ -r "$patch" ] || continue # Skip non-existing or non-readable patches + patch -p1 <"$patch" + if [ $? -ne 0 ]; then + echo >&2 "Error applying '$patch'" + exit 1 + fi +done + python setup.py install diff --git a/build/pkgs/ppl/checksums.ini b/build/pkgs/ppl/checksums.ini index 519204c0aa9..ba15444f72f 100644 --- a/build/pkgs/ppl/checksums.ini +++ b/build/pkgs/ppl/checksums.ini @@ -1,4 +1,4 @@ tarball=ppl-VERSION.tar.bz2 -sha1=f76fbc2d374170771fed030b79a5ffac08d907bf -md5=98be3e1a272bd5337fbadabb0d3f3d20 -cksum=3014134315 +sha1=727ac98a9365a617dc26bfd7961417d9d3ff4e74 +md5=50a757d37cced76e51b97709a4cf455a +cksum=158857820 diff --git a/build/pkgs/ppl/package-version.txt b/build/pkgs/ppl/package-version.txt index 9459d4ba2a0..5625e59da88 100644 --- a/build/pkgs/ppl/package-version.txt +++ b/build/pkgs/ppl/package-version.txt @@ -1 +1 @@ -1.1 +1.2 diff --git a/build/pkgs/ppl/patches/ptrdiff_t-ppl-1.1.patch b/build/pkgs/ppl/patches/ptrdiff_t-ppl-1.1.patch deleted file mode 100644 index 57c86332a93..00000000000 --- a/build/pkgs/ppl/patches/ptrdiff_t-ppl-1.1.patch +++ /dev/null @@ -1,155 +0,0 @@ ---- ppl-1.1-vanilla/src/Congruence_System_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Congruence_System_defs.hh 2014-04-20 20:40:41.839919465 +0200 -@@ -249,7 +249,7 @@ - class const_iterator - : public std::iterator { - public: ---- ppl-1.1-vanilla/src/Constraint_System_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Constraint_System_defs.hh 2014-04-20 20:35:12.263921783 +0200 -@@ -609,7 +609,7 @@ - class Parma_Polyhedra_Library::Constraint_System_const_iterator - : public std::iterator { - public: ---- ppl-1.1-vanilla/src/CO_Tree.cc 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/CO_Tree.cc 2014-04-20 20:25:35.311925841 +0200 -@@ -954,7 +954,7 @@ - --subtree_size; - } - -- const ptrdiff_t distance = first_unused_index - indexes; -+ const std::ptrdiff_t distance = first_unused_index - indexes; - PPL_ASSERT(distance >= 0); - return static_cast(distance); - } ---- ppl-1.1-vanilla/src/CO_Tree_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/CO_Tree_defs.hh 2014-04-20 20:10:58.843932005 +0200 -@@ -159,7 +159,7 @@ - - typedef std::bidirectional_iterator_tag iterator_category; - typedef const data_type value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef data_type_const_reference reference; - -@@ -314,7 +314,7 @@ - - typedef std::bidirectional_iterator_tag iterator_category; - typedef data_type value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef value_type& reference; - ---- ppl-1.1-vanilla/src/CO_Tree_inlines.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/CO_Tree_inlines.hh 2014-04-20 20:13:40.099930871 +0200 -@@ -31,7 +31,7 @@ - PPL_ASSERT(itr.current_index != 0); - PPL_ASSERT(itr.current_index >= indexes + 1); - PPL_ASSERT(itr.current_index <= indexes + reserved_size); -- const ptrdiff_t index = itr.current_index - indexes; -+ const std::ptrdiff_t index = itr.current_index - indexes; - return static_cast(index); - } - -@@ -40,7 +40,7 @@ - PPL_ASSERT(itr.current_index != 0); - PPL_ASSERT(itr.current_index >= indexes + 1); - PPL_ASSERT(itr.current_index <= indexes + reserved_size); -- const ptrdiff_t index = itr.current_index - indexes; -+ const std::ptrdiff_t index = itr.current_index - indexes; - return static_cast(index); - } - -@@ -772,7 +772,7 @@ - p -= (offset - 1); - while (*p == unused_index) - ++p; -- const ptrdiff_t distance = p - tree.indexes; -+ const std::ptrdiff_t distance = p - tree.indexes; - PPL_ASSERT(distance >= 0); - i = static_cast(distance); - offset = least_significant_one_mask(i); -@@ -787,7 +787,7 @@ - p += (offset - 1); - while (*p == unused_index) - --p; -- const ptrdiff_t distance = p - tree.indexes; -+ const std::ptrdiff_t distance = p - tree.indexes; - PPL_ASSERT(distance >= 0); - i = static_cast(distance); - offset = least_significant_one_mask(i); ---- ppl-1.1-vanilla/src/Dense_Row_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Dense_Row_defs.hh 2014-04-20 20:09:14.611932740 +0200 -@@ -433,7 +433,7 @@ - - typedef std::bidirectional_iterator_tag iterator_category; - typedef Coefficient value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef value_type& reference; - -@@ -474,7 +474,7 @@ - public: - - typedef const Coefficient value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef Coefficient_traits::const_reference reference; - ---- ppl-1.1-vanilla/src/Generator_System_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Generator_System_defs.hh 2014-04-20 20:45:38.327917382 +0200 -@@ -679,7 +679,7 @@ - class Parma_Polyhedra_Library::Generator_System_const_iterator - : public std::iterator { - public: ---- ppl-1.1-vanilla/src/Grid_Generator_System_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Grid_Generator_System_defs.hh 2014-04-20 20:52:48.503914356 +0200 -@@ -277,7 +277,7 @@ - class const_iterator - : public std::iterator { - public: ---- ppl-1.1-vanilla/src/Linear_Expression_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Linear_Expression_defs.hh 2014-04-20 20:19:47.831928285 +0200 -@@ -381,7 +381,7 @@ - public: - typedef std::bidirectional_iterator_tag iterator_category; - typedef const Coefficient value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef Coefficient_traits::const_reference reference; - ---- ppl-1.1-vanilla/src/Linear_Expression_Interface_defs.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1-fixed-gcc-4.9/src/Linear_Expression_Interface_defs.hh 2014-04-20 20:16:01.107929880 +0200 -@@ -65,7 +65,7 @@ - public: - typedef std::bidirectional_iterator_tag iterator_category; - typedef const Coefficient value_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef Coefficient_traits::const_reference reference; - diff --git a/build/pkgs/ppl/patches/weak.patch b/build/pkgs/ppl/patches/weak.patch deleted file mode 100644 index 60d27d8576b..00000000000 --- a/build/pkgs/ppl/patches/weak.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -druN ppl-1.1.orig/src/assert.hh ppl-1.1/src/assert.hh ---- ppl-1.1.orig/src/assert.hh 2013-10-28 13:38:33.000000000 +0100 -+++ ppl-1.1/src/assert.hh 2014-04-08 11:40:48.924491100 +0200 -@@ -98,7 +98,7 @@ - - namespace Parma_Polyhedra_Library { - --#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK -+#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK && ! (defined(__CYGWIN__) && defined(__x86_64__)) - #define PPL_WEAK_NORETURN __attribute__((weak, noreturn)) - #else - #define PPL_WEAK_NORETURN __attribute__((noreturn)) -diff -druN ppl-1.1.orig/src/ppl.hh.dist ppl-1.1/src/ppl.hh.dist ---- ppl-1.1.orig/src/ppl.hh.dist 2013-10-28 13:47:20.000000000 +0100 -+++ ppl-1.1/src/ppl.hh.dist 2014-04-08 11:01:13.361991100 +0200 -@@ -1739,7 +1739,7 @@ - - namespace Parma_Polyhedra_Library { - --#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK -+#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK && ! (defined(__CYGWIN__) && defined(__x86_64__)) - #define PPL_WEAK_NORETURN __attribute__((weak, noreturn)) - #else - #define PPL_WEAK_NORETURN __attribute__((noreturn)) diff --git a/build/pkgs/pygments/package-version.txt b/build/pkgs/pygments/package-version.txt index ac2cdeba013..f91508fe534 100644 --- a/build/pkgs/pygments/package-version.txt +++ b/build/pkgs/pygments/package-version.txt @@ -1 +1 @@ -2.1.3 +2.1.3.p0 diff --git a/build/pkgs/pygments/spkg-install b/build/pkgs/pygments/spkg-install index 3046dd88242..a13a45231ff 100755 --- a/build/pkgs/pygments/spkg-install +++ b/build/pkgs/pygments/spkg-install @@ -9,19 +9,19 @@ fi #Remove old version rm -rf "$SAGE_LOCAL"/lib/python/site-packages/Pygments-* +#Install new version +cd src + # Apply patches echo "Patching Pygments..." -for p in patches/*.patch; do - patch -p0 <$p +for p in ../patches/*.patch; do + patch -p1 <$p if [ $? -ne 0 ]; then echo "Error applying patch $p" exit 1 fi done -#Install new version -cd src - python setup.py install if [ $? -ne 0 ]; then echo "Error installing Pygments." diff --git a/build/pkgs/pynac/checksums.ini b/build/pkgs/pynac/checksums.ini index 4fee5a349e6..9c9012461d0 100644 --- a/build/pkgs/pynac/checksums.ini +++ b/build/pkgs/pynac/checksums.ini @@ -1,4 +1,4 @@ tarball=pynac-VERSION.tar.bz2 -sha1=e43d1e78a3558d4bf1f8c1ca71cc95a2c4758868 -md5=5435ea1568cad643a490bd8cb8b6c1e2 -cksum=3626141660 +sha1=58ac340027fe440389e21f8ea9b824876adf1429 +md5=f78724485c8438bc931966f0a0fd0061 +cksum=3600148331 diff --git a/build/pkgs/pynac/package-version.txt b/build/pkgs/pynac/package-version.txt index ef5e4454454..2228cad41f3 100644 --- a/build/pkgs/pynac/package-version.txt +++ b/build/pkgs/pynac/package-version.txt @@ -1 +1 @@ -0.6.5 +0.6.7 diff --git a/build/pkgs/pynac/spkg-install b/build/pkgs/pynac/spkg-install index 3a0e16d47d4..44c3ecb81d7 100755 --- a/build/pkgs/pynac/spkg-install +++ b/build/pkgs/pynac/spkg-install @@ -33,7 +33,7 @@ build_pynac() { cd ${PYNACDIR} PKG_CONFIG_PATH=${SAGE_LOCAL}/lib/pkgconfig; export PKG_CONFIG_PATH - ./configure --disable-static --prefix=${SAGE_LOCAL} --libdir="$SAGE_LOCAL/lib" + ./configure --disable-static --prefix=${SAGE_LOCAL} --with-giac=no --libdir="$SAGE_LOCAL/lib" $MAKE if [ $? -ne 0 ]; then echo "Error building pynac." diff --git a/build/pkgs/pyparsing/checksums.ini b/build/pkgs/pyparsing/checksums.ini index ff2d409f1ee..afec245e4d1 100644 --- a/build/pkgs/pyparsing/checksums.ini +++ b/build/pkgs/pyparsing/checksums.ini @@ -1,4 +1,4 @@ tarball=pyparsing-VERSION.tar.gz -sha1=d8a758393368b118636c82546cc09e19b5447207 -md5=322059c57f0c9f11da1c6c06a2ba2197 -cksum=3465103187 +sha1=22ac5350c295b4b465904eb3ce592ea8cf3520f6 +md5=28d0c3cf39ee5859d408d2b4d311a9c2 +cksum=1885483516 diff --git a/build/pkgs/pyparsing/package-version.txt b/build/pkgs/pyparsing/package-version.txt index 7d2ed7c7020..cd57a8b95d6 100644 --- a/build/pkgs/pyparsing/package-version.txt +++ b/build/pkgs/pyparsing/package-version.txt @@ -1 +1 @@ -2.1.4 +2.1.5 diff --git a/build/pkgs/python2/spkg-install b/build/pkgs/python2/spkg-install index db35674f8fe..e679291b7ec 100755 --- a/build/pkgs/python2/spkg-install +++ b/build/pkgs/python2/spkg-install @@ -108,14 +108,15 @@ build() fi } - build +PYTHON_VERSION=$("$SAGE_LOCAL/bin/python" -c 'import sys; print("%d.%d" % sys.version_info[:2])') + cd "$SAGE_LOCAL/lib" # Make symbolic link (after removing old link first) rm -f python -ln -s python2.7 python +ln -s python${PYTHON_VERSION} python if [ $? -ne 0 ]; then echo >&2 "Error creating symbolic link" exit 1 @@ -128,7 +129,10 @@ fi # x.y.z with x >= 10). if [ "$UNAME" = "Darwin" ] && \ [ `uname -r | cut '-d.' -f1` -gt 9 ]; then - rm -f "$SAGE_LOCAL/lib/python2.7/config/libpython2.7.a" + rm -f "$SAGE_LOCAL/lib/python$PYTHON_VERSION/config/libpython${PYTHON_VERSION}.a" +elif [ "$UNAME" = "CYGWIN" ]; then + # See http://trac.sagemath.org/ticket/20437 + ln -sf "python/config/libpython${PYTHON_VERSION}.dll.a" "$SAGE_LOCAL/lib/libpython${PYTHON_VERSION}.dll.a" fi # Make sure extension modules were built correctly. diff --git a/build/pkgs/python3/spkg-install b/build/pkgs/python3/spkg-install index 6d1ac4c2608..946ae213356 100755 --- a/build/pkgs/python3/spkg-install +++ b/build/pkgs/python3/spkg-install @@ -109,14 +109,19 @@ if [ $? -ne 0 ]; then exit 1 fi +PYTHON_VERSION=$("$SAGE_LOCAL/bin/python" -c 'import sys; print("%d.%d" % sys.version_info[:2])') + # On OS X with XCode 4, the presence of -# $SAGE_LOCAL/lib/python/config/libpython2.7.a causes problems with +# $SAGE_LOCAL/lib/python/config/libpython3.x.a causes problems with # GiNaC -- see #11967. It is easiest to test the version of OS X; we # delete this file if using OS X 10.6 or later (so `uname -r` returns # x.y.z with x >= 10). if [ "$UNAME" = "Darwin" ] && \ [ `uname -r | cut '-d.' -f1` -gt 9 ]; then - rm -f "$SAGE_LOCAL"/lib/python*/config/libpython*.a + rm -f "$SAGE_LOCAL/lib/python$PYTHON_VERSION/config/libpython${PYTHON_VERSION}.a" +elif [ "$UNAME" = "CYGWIN" ]; then + # See http://trac.sagemath.org/ticket/20437 + ln -sf "python/config/libpython${PYTHON_VERSION}.dll.a" "$SAGE_LOCAL/lib/libpython${PYTHON_VERSION}.dll.a" fi # Make sure extension modules were built correctly. diff --git a/build/pkgs/python_igraph/SPKG.txt b/build/pkgs/python_igraph/SPKG.txt index 35f12bf1a95..8a6721bb25d 100644 --- a/build/pkgs/python_igraph/SPKG.txt +++ b/build/pkgs/python_igraph/SPKG.txt @@ -17,7 +17,6 @@ http://igraph.org/python/ == Dependencies == * python -* readline * igraph == Special Update/Build Instructions == diff --git a/build/pkgs/python_igraph/dependencies b/build/pkgs/python_igraph/dependencies index 38470838efa..e1b87143435 100644 --- a/build/pkgs/python_igraph/dependencies +++ b/build/pkgs/python_igraph/dependencies @@ -1,4 +1,4 @@ -igraph +igraph $(PYTHON) ---------- All lines of this file are ignored except the first. diff --git a/build/pkgs/pyx/SPKG.txt b/build/pkgs/pyx/SPKG.txt new file mode 100644 index 00000000000..6f3e0998d88 --- /dev/null +++ b/build/pkgs/pyx/SPKG.txt @@ -0,0 +1,8 @@ += pyx = + +== Description == + +Python package for the generation of PostScript, PDF, and SVG files + +https://pypi.python.org/pypi/PyX + diff --git a/build/pkgs/pyx/checksums.ini b/build/pkgs/pyx/checksums.ini new file mode 100644 index 00000000000..2705ec0f48d --- /dev/null +++ b/build/pkgs/pyx/checksums.ini @@ -0,0 +1,4 @@ +tarball=pyx-VERSION.tar.gz +sha1=9e5e9c3235055a50565d94cfc02e758b61b01222 +md5=04263eb002553dae0e8a1d0eeb805ec1 +cksum=261468765 diff --git a/build/pkgs/pyx/dependencies b/build/pkgs/pyx/dependencies new file mode 100644 index 00000000000..304d0c987a2 --- /dev/null +++ b/build/pkgs/pyx/dependencies @@ -0,0 +1,5 @@ +$(PYTHON) + +---------- +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. diff --git a/build/pkgs/pyx/package-version.txt b/build/pkgs/pyx/package-version.txt new file mode 100644 index 00000000000..34a83616bb5 --- /dev/null +++ b/build/pkgs/pyx/package-version.txt @@ -0,0 +1 @@ +0.12.1 diff --git a/build/pkgs/pyx/spkg-install b/build/pkgs/pyx/spkg-install new file mode 100755 index 00000000000..36e81e21f22 --- /dev/null +++ b/build/pkgs/pyx/spkg-install @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +cd src +python setup.py install diff --git a/build/pkgs/pyx/type b/build/pkgs/pyx/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/pyx/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/rpy2/checksums.ini b/build/pkgs/rpy2/checksums.ini index 31a67403dd2..34924fda9bd 100644 --- a/build/pkgs/rpy2/checksums.ini +++ b/build/pkgs/rpy2/checksums.ini @@ -1,4 +1,4 @@ tarball=rpy2-VERSION.tar.gz -sha1=c53d22fac3699c7abe54f86bda8363ae166fcc9e -md5=4315a3fbe765cea54d252899384390c8 -cksum=2858964315 +sha1=51803517898340eb4fe4eec89daee76f08f60c74 +md5=dd6dc7198e27a4771e66af022ab6bcf2 +cksum=2373424952 diff --git a/build/pkgs/rpy2/package-version.txt b/build/pkgs/rpy2/package-version.txt index 3e651609d62..dbe59006547 100644 --- a/build/pkgs/rpy2/package-version.txt +++ b/build/pkgs/rpy2/package-version.txt @@ -1 +1 @@ -2.7.9 +2.8.1 diff --git a/build/pkgs/sage_mode/dependencies b/build/pkgs/sage_mode/dependencies new file mode 100644 index 00000000000..304d0c987a2 --- /dev/null +++ b/build/pkgs/sage_mode/dependencies @@ -0,0 +1,5 @@ +$(PYTHON) + +---------- +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. diff --git a/build/pkgs/sagenb_export/SPKG.txt b/build/pkgs/sagenb_export/SPKG.txt new file mode 100644 index 00000000000..4c471abd0ae --- /dev/null +++ b/build/pkgs/sagenb_export/SPKG.txt @@ -0,0 +1,11 @@ += sagenb_export = + +== Description == + +This is a tool to convert SageNB notebooks to other formats, in +particular IPython/Jupyter notebooks. + +It includes a Jupyter notebook extension to provide a UI for the +import of SageNB notebooks. + +https://github.com/vbraun/ExportSageNB diff --git a/build/pkgs/sagenb_export/checksums.ini b/build/pkgs/sagenb_export/checksums.ini new file mode 100644 index 00000000000..8d4e420af54 --- /dev/null +++ b/build/pkgs/sagenb_export/checksums.ini @@ -0,0 +1,4 @@ +tarball=sagenb_export-VERSION.tar.gz +sha1=0ecc7eaf28f7603185d1784773375ada483d2820 +md5=cf277861925e3bb6e4fcb38f2de9a0ec +cksum=3933869953 diff --git a/build/pkgs/sagenb_export/dependencies b/build/pkgs/sagenb_export/dependencies new file mode 100644 index 00000000000..b1b4f52adc3 --- /dev/null +++ b/build/pkgs/sagenb_export/dependencies @@ -0,0 +1,5 @@ +nbconvert ipython six + +---------- +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. diff --git a/build/pkgs/sagenb_export/package-version.txt b/build/pkgs/sagenb_export/package-version.txt new file mode 100644 index 00000000000..cd5ac039d67 --- /dev/null +++ b/build/pkgs/sagenb_export/package-version.txt @@ -0,0 +1 @@ +2.0 diff --git a/build/pkgs/sagenb_export/spkg-install b/build/pkgs/sagenb_export/spkg-install new file mode 100755 index 00000000000..8700dc59a98 --- /dev/null +++ b/build/pkgs/sagenb_export/spkg-install @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +cd src +python setup.py install +if [ $? -ne 0 ]; then + echo >&2 "Error installing SageNB Export" + exit 1 +fi diff --git a/build/pkgs/sagenb_export/type b/build/pkgs/sagenb_export/type new file mode 100644 index 00000000000..a6a7b9cd726 --- /dev/null +++ b/build/pkgs/sagenb_export/type @@ -0,0 +1 @@ +standard diff --git a/build/pkgs/sagetex/SPKG.txt b/build/pkgs/sagetex/SPKG.txt index 43f0ba56ab8..560547d00d5 100644 --- a/build/pkgs/sagetex/SPKG.txt +++ b/build/pkgs/sagetex/SPKG.txt @@ -40,7 +40,7 @@ it cannot find "latex" in your path. To use SageTeX, both Sage and LaTeX need to know about it. SageTeX comes standard with Sage, so you only need to make sure LaTeX can find what it needs. Full details are in the Sage installation guide at -http://sagemath.org/doc/installation/ and +http://doc.sagemath.org/html/en/installation/ and http://doc.sagemath.org/html/en/tutorial/sagetex.html . The directory `$SAGE_ROOT/local/share/doc/sagetex` contains diff --git a/build/pkgs/setuptools/checksums.ini b/build/pkgs/setuptools/checksums.ini index 6ebed48615b..7d0bebf5526 100644 --- a/build/pkgs/setuptools/checksums.ini +++ b/build/pkgs/setuptools/checksums.ini @@ -1,4 +1,4 @@ tarball=setuptools-VERSION.tar.gz -sha1=38f9bd98b2c36bd4bae64ea06495e35e43b09b43 -md5=81964fdb89534118707742e6d1a1ddb4 -cksum=2850250678 +sha1=0f3cbf3b92d321e0d25dc100eb3f0ebd09984b02 +md5=f7f447663f7d5e17c84be10dc6b195fd +cksum=2622458560 diff --git a/build/pkgs/setuptools/package-version.txt b/build/pkgs/setuptools/package-version.txt index fb5b513039e..f8aed3e0b7a 100644 --- a/build/pkgs/setuptools/package-version.txt +++ b/build/pkgs/setuptools/package-version.txt @@ -1 +1 @@ -21.0.0 +23.1.0 diff --git a/build/pkgs/setuptools_scm/checksums.ini b/build/pkgs/setuptools_scm/checksums.ini index a228ef1930b..c53fb7935c6 100644 --- a/build/pkgs/setuptools_scm/checksums.ini +++ b/build/pkgs/setuptools_scm/checksums.ini @@ -1,4 +1,4 @@ tarball=setuptools_scm-VERSION.tar.gz -sha1=423fe07da9f27e0a4676f7e98f8e9f4839b6d4a4 -md5=4c5c896ba52e134bbc3507bac6400087 -cksum=1357969954 +sha1=3caea1245d704727ce8a651cb25fbf1b64da5a0b +md5=4d19b2bc9580016d991f665ac20e2e8f +cksum=1244743244 diff --git a/build/pkgs/setuptools_scm/package-version.txt b/build/pkgs/setuptools_scm/package-version.txt index 1cac385c6cb..720c7384c61 100644 --- a/build/pkgs/setuptools_scm/package-version.txt +++ b/build/pkgs/setuptools_scm/package-version.txt @@ -1 +1 @@ -1.11.0 +1.11.1 diff --git a/build/pkgs/singular/patches/Minor.h.patch b/build/pkgs/singular/patches/Minor.h.patch index 1d03e61ae30..03f9cdb2bf2 100644 --- a/build/pkgs/singular/patches/Minor.h.patch +++ b/build/pkgs/singular/patches/Minor.h.patch @@ -1,5 +1,5 @@ ---- src/Singular/Minor.h 2010-02-02 08:22:24.000000000 -0500 -+++ patches/Minor.h 2011-06-28 13:26:01.000000000 -0400 +--- a/latest/Singular/Minor.h 2010-02-02 08:22:24.000000000 -0500 ++++ b/latest/Singular/Minor.h 2011-06-28 13:26:01.000000000 -0400 @@ -2,6 +2,7 @@ #define MINOR_H diff --git a/build/pkgs/singular/patches/assert.patch b/build/pkgs/singular/patches/assert.patch index 3290a9451b6..7eb6aa8b5e2 100644 --- a/build/pkgs/singular/patches/assert.patch +++ b/build/pkgs/singular/patches/assert.patch @@ -1,6 +1,6 @@ -diff -ru src/factory/assert.h b/factory/assert.h ---- src/factory/assert.h 2012-02-21 20:00:09.000000000 +0100 -+++ b/factory/assert.h 2012-08-01 12:31:09.343379875 +0200 +diff -ru a/latest/factory/assert.h b/latest/factory/assert.h +--- a/latest/factory/assert.h 2012-02-21 20:00:09.000000000 +0100 ++++ b/latest/factory/assert.h 2012-08-01 12:31:09.343379875 +0200 @@ -128,3 +128,13 @@ #define PVIRT_CHARCC(msg) = 0 #endif /* NOASSERT */ diff --git a/build/pkgs/singular/patches/conditional/cygwin64_debug.patch b/build/pkgs/singular/patches/conditional/cygwin64_debug.patch index 38ea3950869..7bc35ecbcb7 100644 --- a/build/pkgs/singular/patches/conditional/cygwin64_debug.patch +++ b/build/pkgs/singular/patches/conditional/cygwin64_debug.patch @@ -1,6 +1,6 @@ -diff -druN latest.tmp/Singular/Makefile.in latest/Singular/Makefile.in ---- latest.tmp/Singular/Makefile.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/Singular/Makefile.in 2014-10-21 02:24:21.709753895 -0700 +diff -druN a/latest/Singular/Makefile.in b/latest/Singular/Makefile.in +--- a/latest/Singular/Makefile.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/Singular/Makefile.in 2014-10-21 02:24:21.709753895 -0700 @@ -169,6 +169,13 @@ LIBSINGULAR_FLAGS = -shared -single_module endif @@ -15,9 +15,9 @@ diff -druN latest.tmp/Singular/Makefile.in latest/Singular/Makefile.in ifeq ($(SINGUNAME),ix86-Win) SO_SUFFIX = dll MODULE_SUFFIX = dll -diff -druN latest.tmp/singuname.sh latest/singuname.sh ---- latest.tmp/singuname.sh 2014-08-06 08:59:15.000000000 -0700 -+++ latest/singuname.sh 2014-10-21 02:24:21.709753895 -0700 +diff -druN a/latest/singuname.sh b/latest/singuname.sh +--- a/latest/singuname.sh 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/singuname.sh 2014-10-21 02:24:21.709753895 -0700 @@ -96,7 +96,12 @@ elif (echo $uname_m | $egrep "x86_64" > $devnull) then diff --git a/build/pkgs/singular/patches/conditional/sage_debug.patch b/build/pkgs/singular/patches/conditional/sage_debug.patch index e11f3bb7796..1887ce979c1 100644 --- a/build/pkgs/singular/patches/conditional/sage_debug.patch +++ b/build/pkgs/singular/patches/conditional/sage_debug.patch @@ -1,6 +1,6 @@ -diff -druN latest.tmp/kernel/Makefile.in latest/kernel/Makefile.in ---- latest.tmp/kernel/Makefile.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/kernel/Makefile.in 2014-10-21 02:28:30.420231800 -0700 +diff -druN a/latest/kernel/Makefile.in b/latest/kernel/Makefile.in +--- a/latest/kernel/Makefile.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/kernel/Makefile.in 2014-10-21 02:28:30.420231800 -0700 @@ -49,7 +49,7 @@ CXXFLAGS = @CXXFLAGS@ ${PIPE} CXXTEMPLFLAGS = @CXXTEMPLFLAGS@ @@ -10,9 +10,9 @@ diff -druN latest.tmp/kernel/Makefile.in latest/kernel/Makefile.in LDFLAGS = @LDFLAGS@ LD_DYN_FLAGS = @LD_DYN_FLAGS@ SFLAGS = @SFLAGS@ -diff -druN latest.tmp/Singular/configure latest/Singular/configure ---- latest.tmp/Singular/configure 2014-10-21 02:27:51.270156368 -0700 -+++ latest/Singular/configure 2014-10-21 02:33:39.470848773 -0700 +diff -druN a/latest/Singular/configure b/latest/Singular/configure +--- a/latest/Singular/configure 2014-10-21 02:27:51.270156368 -0700 ++++ b/latest/Singular/configure 2014-10-21 02:33:39.470848773 -0700 @@ -10006,11 +10006,7 @@ NEED_LIBSG="${NEED_LIBS}" @@ -26,9 +26,9 @@ diff -druN latest.tmp/Singular/configure latest/Singular/configure -diff -druN latest.tmp/Singular/Makefile.in latest/Singular/Makefile.in ---- latest.tmp/Singular/Makefile.in 2014-10-21 02:26:19.439979752 -0700 -+++ latest/Singular/Makefile.in 2014-10-21 02:31:57.110639474 -0700 +diff -druN a/latest/Singular/Makefile.in b/latest/Singular/Makefile.in +--- a/latest/Singular/Makefile.in 2014-10-21 02:26:19.439979752 -0700 ++++ b/latest/Singular/Makefile.in 2014-10-21 02:31:57.110639474 -0700 @@ -93,10 +93,10 @@ CPPFLAGS = -I${srcdir} -I.. -I@prefix@ @CPPFLAGS@ @PYTHON_CPPFLAGS@ @FLINT_CFLAGS@ ## -I/usr/include/python2.4 -I/usr/local/include -I../modules/python diff --git a/build/pkgs/singular/patches/conditional/singular_xalloc.patch b/build/pkgs/singular/patches/conditional/singular_xalloc.patch index d5aa6d81d98..5f21c3cd460 100644 --- a/build/pkgs/singular/patches/conditional/singular_xalloc.patch +++ b/build/pkgs/singular/patches/conditional/singular_xalloc.patch @@ -1,6 +1,6 @@ -diff -ruN a/kernel/kutil.cc b/kernel/kutil.cc ---- a/kernel/kutil.cc 2012-02-22 16:00:05.000000000 +0100 -+++ b/kernel/kutil.cc 2012-12-21 11:08:42.117513571 +0100 +diff -ruN a/latest/kernel/kutil.cc b/latest/kernel/kutil.cc +--- a/latest/kernel/kutil.cc 2012-02-22 16:00:05.000000000 +0100 ++++ b/latest/kernel/kutil.cc 2012-12-21 11:08:42.117513571 +0100 @@ -662,7 +662,9 @@ return dReportError("pNext(%c[%d].max) != NULL", TN, i); @@ -11,9 +11,9 @@ diff -ruN a/kernel/kutil.cc b/kernel/kutil.cc #if KDEBUG > 0 if (! sloppy_max) { -diff -ruN a/kernel/pDebug.cc b/kernel/pDebug.cc ---- a/kernel/pDebug.cc 2012-07-10 12:00:15.000000000 +0200 -+++ b/kernel/pDebug.cc 2012-12-21 11:08:42.127513707 +0100 +diff -ruN a/latest/kernel/pDebug.cc b/latest/kernel/pDebug.cc +--- a/latest/kernel/pDebug.cc 2012-07-10 12:00:15.000000000 +0200 ++++ b/latest/kernel/pDebug.cc 2012-12-21 11:08:42.127513707 +0100 @@ -221,8 +221,10 @@ #ifndef OM_NDEBUG @@ -36,9 +36,9 @@ diff -ruN a/kernel/pDebug.cc b/kernel/pDebug.cc #endif // number/coef check pPolyAssumeReturnMsg(p->coef != NULL || (n_GetChar(r) >= 2), "NULL coef",p,r); -diff -ruN a/omalloc/Makefile.in b/omalloc/Makefile.in ---- a/omalloc/Makefile.in 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/Makefile.in 2012-12-21 11:17:12.767512898 +0100 +diff -ruN a/latest/omalloc/Makefile.in b/latest/omalloc/Makefile.in +--- a/latest/omalloc/Makefile.in 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/Makefile.in 2012-12-21 11:17:12.767512898 +0100 @@ -0,0 +1,69 @@ +################################################################# +### @@ -109,9 +109,9 @@ diff -ruN a/omalloc/Makefile.in b/omalloc/Makefile.in + +clean: + rm -f *.o *.a -diff -ruN a/omalloc/mylimits.h b/omalloc/mylimits.h ---- a/omalloc/mylimits.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/mylimits.h 2012-12-21 11:08:42.137513466 +0100 +diff -ruN a/latest/omalloc/mylimits.h b/latest/omalloc/mylimits.h +--- a/latest/omalloc/mylimits.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/mylimits.h 2012-12-21 11:08:42.137513466 +0100 @@ -0,0 +1,15 @@ +/* -*-c++-*- */ +/******************************************************************* @@ -128,9 +128,9 @@ diff -ruN a/omalloc/mylimits.h b/omalloc/mylimits.h +*/ + +#include -diff -ruN a/omalloc/omFindExec.c b/omalloc/omFindExec.c ---- a/omalloc/omFindExec.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/omFindExec.c 2012-12-21 11:08:42.137513466 +0100 +diff -ruN a/latest/omalloc/omFindExec.c b/latest/omalloc/omFindExec.c +--- a/latest/omalloc/omFindExec.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/omFindExec.c 2012-12-21 11:08:42.137513466 +0100 @@ -0,0 +1,226 @@ +/******************************************************************* + * File: omFindExec.c @@ -358,20 +358,20 @@ diff -ruN a/omalloc/omFindExec.c b/omalloc/omFindExec.c +struct omInfo_s om_Info; /* dummy */ +struct omOpts_s om_Opts; /* dummy */ + -diff -ruN a/omalloc/omGetPageSize.h b/omalloc/omGetPageSize.h ---- a/omalloc/omGetPageSize.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/omGetPageSize.h 2012-12-21 11:27:51.537512976 +0100 +diff -ruN a/latest/omalloc/omGetPageSize.h b/latest/omalloc/omGetPageSize.h +--- a/latest/omalloc/omGetPageSize.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/omGetPageSize.h 2012-12-21 11:27:51.537512976 +0100 @@ -0,0 +1,2 @@ +/* Dummy value for configure */ +#define omalloc_getpagesize 4096 -diff -ruN a/omalloc/om_Alloc.c b/omalloc/om_Alloc.c ---- a/omalloc/om_Alloc.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/om_Alloc.c 2012-12-21 11:23:30.467512481 +0100 +diff -ruN a/latest/omalloc/om_Alloc.c b/latest/omalloc/om_Alloc.c +--- a/latest/omalloc/om_Alloc.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/om_Alloc.c 2012-12-21 11:23:30.467512481 +0100 @@ -0,0 +1 @@ +/* Stub file to please configure */ -diff -ruN a/omalloc/omalloc.h b/omalloc/omalloc.h ---- a/omalloc/omalloc.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/omalloc/omalloc.h 2012-12-21 11:08:42.137513466 +0100 +diff -ruN a/latest/omalloc/omalloc.h b/latest/omalloc/omalloc.h +--- a/latest/omalloc/omalloc.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/latest/omalloc/omalloc.h 2012-12-21 11:08:42.137513466 +0100 @@ -0,0 +1,235 @@ +#ifndef XMEMORY_H +#define XMEMORY_H diff --git a/build/pkgs/singular/patches/currring.patch b/build/pkgs/singular/patches/currring.patch index 9ae716faa6d..7917cfe4992 100644 --- a/build/pkgs/singular/patches/currring.patch +++ b/build/pkgs/singular/patches/currring.patch @@ -1,9 +1,9 @@ Revert part of commit a53ae5000c439608b9dcf884b63d62b219e8fcc0. It makes Singular segfault at least when calling pOne() and currRing is NULL. -diff -druN latest.orig/Singular/iparith.cc latest.new/Singular/iparith.cc ---- latest.orig/Singular/iparith.cc 2014-11-19 05:06:05.000000000 -0800 -+++ latest.new/Singular/iparith.cc 2014-11-20 08:30:25.068389635 -0800 +diff -druN a/latest/Singular/iparith.cc b/latest/Singular/iparith.cc +--- a/latest/Singular/iparith.cc 2014-11-19 05:06:05.000000000 -0800 ++++ b/latest/Singular/iparith.cc 2014-11-20 08:30:25.068389635 -0800 @@ -8477,7 +8477,6 @@ sArithBase.sCmds[i].name); sArithBase.sCmds[i].alias=1; diff --git a/build/pkgs/singular/patches/cygwin64.patch b/build/pkgs/singular/patches/cygwin64.patch index 9fe11350bdc..8e24c74ab43 100644 --- a/build/pkgs/singular/patches/cygwin64.patch +++ b/build/pkgs/singular/patches/cygwin64.patch @@ -1,6 +1,6 @@ -diff -druN latest.new/omalloc/configure latest/omalloc/configure ---- latest.new/omalloc/configure 2014-08-06 08:59:15.000000000 -0700 -+++ latest/omalloc/configure 2014-10-21 05:56:10.267081469 -0700 +diff -druN a/latest/omalloc/configure b/latest/omalloc/configure +--- a/latest/omalloc/configure 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/omalloc/configure 2014-10-21 05:56:10.267081469 -0700 @@ -2330,8 +2330,12 @@ int main() { @@ -14,9 +14,9 @@ diff -druN latest.new/omalloc/configure latest/omalloc/configure if (i == 1) exit(0); else exit(i+1); } -diff -druN latest.new/omalloc/configure.in latest/omalloc/configure.in ---- latest.new/omalloc/configure.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/omalloc/configure.in 2014-10-21 05:56:10.267081469 -0700 +diff -druN a/latest/omalloc/configure.in b/latest/omalloc/configure.in +--- a/latest/omalloc/configure.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/omalloc/configure.in 2014-10-21 05:56:10.267081469 -0700 @@ -487,8 +487,12 @@ int main() { @@ -30,9 +30,9 @@ diff -druN latest.new/omalloc/configure.in latest/omalloc/configure.in if (i == 1) exit(0); else exit(i+1); } -diff -druN latest.new/Singular/Makefile.in latest/Singular/Makefile.in ---- latest.new/Singular/Makefile.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/Singular/Makefile.in 2014-10-21 05:56:10.277081490 -0700 +diff -druN a/latest/Singular/Makefile.in b/latest/Singular/Makefile.in +--- a/latest/Singular/Makefile.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/Singular/Makefile.in 2014-10-21 05:56:10.277081490 -0700 @@ -176,6 +176,13 @@ LIBSINGULAR_LIBS = -lsingfac -lsingcf -lntl -lreadline @FLINT_LIBS@ -lgmp -lomalloc -lhtmlhelp endif @@ -47,9 +47,9 @@ diff -druN latest.new/Singular/Makefile.in latest/Singular/Makefile.in ifeq ($(SINGUNAME),ix86-SunOS) SO_SUFFIX = so MODULE_SUFFIX = so -diff -druN latest.new/singuname.sh latest/singuname.sh ---- latest.new/singuname.sh 2014-08-06 08:59:15.000000000 -0700 -+++ latest/singuname.sh 2014-10-21 05:56:10.277081490 -0700 +diff -druN a/latest/singuname.sh b/latest/singuname.sh +--- a/latest/singuname.sh 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/singuname.sh 2014-10-21 05:56:10.277081490 -0700 @@ -96,7 +96,12 @@ elif (echo $uname_m | $egrep "x86_64" > $devnull) then diff --git a/build/pkgs/singular/patches/exeext.patch b/build/pkgs/singular/patches/exeext.patch index cae6e81dc40..75704bf9f15 100644 --- a/build/pkgs/singular/patches/exeext.patch +++ b/build/pkgs/singular/patches/exeext.patch @@ -1,6 +1,6 @@ -diff -ru src/IntegerProgramming/Makefile.in b/IntegerProgramming/Makefile.in ---- src/IntegerProgramming/Makefile.in 2012-06-19 11:00:05.000000000 +0200 -+++ b/IntegerProgramming/Makefile.in 2012-07-12 17:00:42.253780191 +0200 +diff -ru a/latest/IntegerProgramming/Makefile.in b/latest/IntegerProgramming/Makefile.in +--- a/latest/IntegerProgramming/Makefile.in 2012-06-19 11:00:05.000000000 +0200 ++++ b/latest/IntegerProgramming/Makefile.in 2012-07-12 17:00:42.253780191 +0200 @@ -64,11 +64,11 @@ install install-libsingular: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) $(LLL) diff --git a/build/pkgs/singular/patches/flint.patch b/build/pkgs/singular/patches/flint.patch index 911e2c822e7..1e4839de625 100644 --- a/build/pkgs/singular/patches/flint.patch +++ b/build/pkgs/singular/patches/flint.patch @@ -1,6 +1,6 @@ -diff -druN latest.tmp/Singular/configure latest/Singular/configure ---- latest.tmp/Singular/configure 2014-08-06 08:59:15.000000000 -0700 -+++ latest/Singular/configure 2014-10-21 02:26:41.030021194 -0700 +diff -druN a/latest/Singular/configure b/latest/Singular/configure +--- a/latest/Singular/configure 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/Singular/configure 2014-10-21 02:26:41.030021194 -0700 @@ -9939,6 +9939,7 @@ if test "x$flint_found" = "xyes"; then @@ -9,9 +9,9 @@ diff -druN latest.tmp/Singular/configure latest/Singular/configure NEED_LIBS="-lflint -lmpfr ${NEED_LIBS}" fi -diff -druN latest.tmp/Singular/configure.in latest/Singular/configure.in ---- latest.tmp/Singular/configure.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/Singular/configure.in 2014-10-21 02:26:41.030021194 -0700 +diff -druN a/latest/Singular/configure.in b/latest/Singular/configure.in +--- a/latest/Singular/configure.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/Singular/configure.in 2014-10-21 02:26:41.030021194 -0700 @@ -1431,6 +1431,7 @@ if test "x$flint_found" = "xyes"; then diff --git a/build/pkgs/singular/patches/include_dirs.patch b/build/pkgs/singular/patches/include_dirs.patch index 5709462903e..1f10677a3d4 100644 --- a/build/pkgs/singular/patches/include_dirs.patch +++ b/build/pkgs/singular/patches/include_dirs.patch @@ -1,8 +1,8 @@ Fix Singular include directory paths for use with Sage See http://trac.sagemath.org/ticket/20386 ---- a/kernel/Makefile.in 2016-04-11 10:21:06.310672691 +0200 -+++ b/kernel/Makefile.in 2016-04-11 10:52:11.049904340 +0200 +--- a/latest/kernel/Makefile.in 2016-04-11 10:21:06.310672691 +0200 ++++ b/latest/kernel/Makefile.in 2016-04-11 10:52:11.049904340 +0200 @@ -274,7 +274,7 @@ install-libsingular: install -${MKINSTALLDIRS} ${includedir} diff --git a/build/pkgs/singular/patches/sanitize_gmp_header_hack.patch b/build/pkgs/singular/patches/sanitize_gmp_header_hack.patch index 46e5de21847..1ac5451398f 100644 --- a/build/pkgs/singular/patches/sanitize_gmp_header_hack.patch +++ b/build/pkgs/singular/patches/sanitize_gmp_header_hack.patch @@ -1,18 +1,18 @@ -diff -Naur Singular-3-1-5.orig/factory/gen_cf_gmp.cc Singular-3-1-5/factory/gen_cf_gmp.cc ---- Singular-3-1-5.orig/factory/gen_cf_gmp.cc 2009-11-02 11:12:22.000000000 +0100 -+++ Singular-3-1-5/factory/gen_cf_gmp.cc 1970-01-01 01:00:00.000000000 +0100 +diff -Naur a/latest/factory/gen_cf_gmp.cc b/latest/factory/gen_cf_gmp.cc +--- a/latest/factory/gen_cf_gmp.cc 2009-11-02 11:12:22.000000000 +0100 ++++ b/latest/factory/gen_cf_gmp.cc 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include -diff -Naur Singular-3-1-5.orig/factory/gen_cf_gmp.template Singular-3-1-5/factory/gen_cf_gmp.template ---- Singular-3-1-5.orig/factory/gen_cf_gmp.template 2009-11-02 11:12:22.000000000 +0100 -+++ Singular-3-1-5/factory/gen_cf_gmp.template 1970-01-01 01:00:00.000000000 +0100 +diff -Naur a/latest/factory/gen_cf_gmp.template b/latest/factory/gen_cf_gmp.template +--- a/latest/factory/gen_cf_gmp.template 2009-11-02 11:12:22.000000000 +0100 ++++ b/latest/factory/gen_cf_gmp.template 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -GMP_H=`echo $GMP_H_T| sed -e 's/^.*gmp.cc//' -e 's/ .$//'` -echo generating cf_gmp.h from $GMP_H -cat $GMP_H | grep -v __GMP_DECLSPEC_XX |grep -v std::FILE > cf_gmp.h -diff -Naur Singular-3-1-5.orig/factory/GNUmakefile.in Singular-3-1-5/factory/GNUmakefile.in ---- Singular-3-1-5.orig/factory/GNUmakefile.in 2012-05-11 16:00:15.000000000 +0200 -+++ Singular-3-1-5/factory/GNUmakefile.in 2013-06-24 23:08:48.317324421 +0200 +diff -Naur a/latest/factory/GNUmakefile.in b/latest/factory/GNUmakefile.in +--- a/latest/factory/GNUmakefile.in 2012-05-11 16:00:15.000000000 +0200 ++++ b/latest/factory/GNUmakefile.in 2013-06-24 23:08:48.317324421 +0200 @@ -61,6 +61,9 @@ MKINSTALLDIRS = @FACTORY_MKINSTALLDIRS@ MAKEHEADER = @FACTORY_MAKEHEADER@ diff --git a/build/pkgs/singular/patches/sing_win.patch b/build/pkgs/singular/patches/sing_win.patch index 82aecc8e83c..7df3911ab29 100644 --- a/build/pkgs/singular/patches/sing_win.patch +++ b/build/pkgs/singular/patches/sing_win.patch @@ -1,6 +1,6 @@ -diff -ru src/Singular/sing_win.cc c/Singular/sing_win.cc ---- src/Singular/sing_win.cc 2012-07-10 12:00:15.000000000 +0200 -+++ c/Singular/sing_win.cc 2012-08-01 12:31:32.753384989 +0200 +diff -ru a/latest/Singular/sing_win.cc b/latest/Singular/sing_win.cc +--- a/latest/Singular/sing_win.cc 2012-07-10 12:00:15.000000000 +0200 ++++ b/latest/Singular/sing_win.cc 2012-08-01 12:31:32.753384989 +0200 @@ -37,7 +37,12 @@ link.pszMsgTitle = NULL ; link.pszWindow = NULL ; diff --git a/build/pkgs/singular/patches/singular-3.1.7-use_cxx_for_linking.patch b/build/pkgs/singular/patches/singular-3.1.7-use_cxx_for_linking.patch index ec1591d4f2d..05581d37886 100644 --- a/build/pkgs/singular/patches/singular-3.1.7-use_cxx_for_linking.patch +++ b/build/pkgs/singular/patches/singular-3.1.7-use_cxx_for_linking.patch @@ -7,9 +7,9 @@ Patch taken from https://raw.githubusercontent.com/cschwan/sage-on-gentoo/master Added LIBSINGULAR_LDFLAGS in Trac #19698 -diff -Naur Singular-3-1-7.orig/Singular/Makefile.in Singular-3-1-7/Singular/Makefile.in ---- Singular-3-1-7.orig/Singular/Makefile.in 2014-11-20 02:06:05.000000000 +1300 -+++ Singular-3-1-7/Singular/Makefile.in 2015-04-30 11:55:25.285611669 +1200 +diff -Naur a/latest/Singular/Makefile.in b/latest/Singular/Makefile.in +--- a/latest/Singular/Makefile.in 2014-11-20 02:06:05.000000000 +1300 ++++ b/latest/Singular/Makefile.in 2015-04-30 11:55:25.285611669 +1200 @@ -67,7 +67,7 @@ ## @SET_MAKE@ @@ -19,9 +19,9 @@ diff -Naur Singular-3-1-7.orig/Singular/Makefile.in Singular-3-1-7/Singular/Make CXX = @CXX@ LEX = sh flexer.sh -diff -Naur Singular-3-1-7.orig/dyn_modules/modgen/Makefile.in Singular-3-1-7/dyn_modules/modgen/Makefile.in ---- Singular-3-1-7.orig/dyn_modules/modgen/Makefile.in 2014-11-20 02:06:05.000000000 +1300 -+++ Singular-3-1-7/dyn_modules/modgen/Makefile.in 2015-04-30 11:55:25.285611669 +1200 +diff -Naur a/latest/dyn_modules/modgen/Makefile.in b/latest/dyn_modules/modgen/Makefile.in +--- a/latest/dyn_modules/modgen/Makefile.in 2014-11-20 02:06:05.000000000 +1300 ++++ b/latest/dyn_modules/modgen/Makefile.in 2015-04-30 11:55:25.285611669 +1200 @@ -20,7 +20,7 @@ ## @SET_MAKE@ @@ -31,9 +31,9 @@ diff -Naur Singular-3-1-7.orig/dyn_modules/modgen/Makefile.in Singular-3-1-7/dyn CXX = @CXX@ LEX = sh ../../Singular/flexer.sh PERL = @PERL@ -diff -Naur Singular-3-1-7.orig/kernel/Makefile.in Singular-3-1-7/kernel/Makefile.in ---- Singular-3-1-7.orig/kernel/Makefile.in 2014-11-20 02:06:05.000000000 +1300 -+++ Singular-3-1-7/kernel/Makefile.in 2015-04-30 11:55:25.285611669 +1200 +diff -Naur a/latest/kernel/Makefile.in b/latest/kernel/Makefile.in +--- a/latest/kernel/Makefile.in 2014-11-20 02:06:05.000000000 +1300 ++++ b/latest/kernel/Makefile.in 2015-04-30 11:55:25.285611669 +1200 @@ -30,7 +30,7 @@ ## @SET_MAKE@ @@ -43,9 +43,9 @@ diff -Naur Singular-3-1-7.orig/kernel/Makefile.in Singular-3-1-7/kernel/Makefile CXX = @CXX@ LEX = @LEX@ PERL = @PERL@ -diff -Naur Singular-3-1-7.orig/Singular/configure Singular-3-1-7/Singular/configure ---- Singular-3-1-7.orig/Singular/configure 2015-07-15 10:18:31.000000000 +1200 -+++ Singular-3-1-7/Singular/configure 2015-07-15 10:41:16.000000000 +1200 +diff -Naur a/latest/Singular/configure b/latest/Singular/configure +--- a/latest/Singular/configure 2015-07-15 10:18:31.000000000 +1200 ++++ b/latest/Singular/configure 2015-07-15 10:41:16.000000000 +1200 @@ -6876,7 +6876,7 @@ LD_DYN_FLAGS1="-dynamic" LD_DYN_FLAGS2="-ldl" diff --git a/build/pkgs/singular/patches/singular-gcc6.patch b/build/pkgs/singular/patches/singular-gcc6.patch new file mode 100644 index 00000000000..b750f8bd9a7 --- /dev/null +++ b/build/pkgs/singular/patches/singular-gcc6.patch @@ -0,0 +1,32 @@ +diff -up a/latest/kernel/mod_raw.cc b/latest/kernel/mod_raw.cc +--- a/latest/kernel/mod_raw.cc 2014-08-06 09:59:15.000000000 -0600 ++++ b/latest/kernel/mod_raw.cc 2016-02-15 21:53:02.950149126 -0700 +@@ -38,8 +38,8 @@ char* si_bultin_libs[]={ SI_FOREACH_BUIL + + lib_types type_of_LIB(char *newlib, char *libnamebuf) + { +- const char mach_o[]={0xfe,0xed,0xfa,0xce,0}; +- const char mach_o_module[]={0xce,0xfa,0xed,0xfe,0}; ++ const unsigned char mach_o[]={0xfe,0xed,0xfa,0xce,0}; ++ const unsigned char mach_o_module[]={0xce,0xfa,0xed,0xfe,0}; + int i=0; + while(si_bultin_libs[i]!=NULL) + { +@@ -90,7 +90,7 @@ lib_types type_of_LIB(char *newlib, char + goto lib_type_end; + } + +- if( (strncmp(buf, &mach_o[0], 4)==0)) /* generic Mach-O module */ ++ if( (strncmp(buf, (const char *)mach_o, 4)==0)) /* generic Mach-O module */ + { + LT = LT_MACH_O; + //omFree(newlib); +@@ -98,7 +98,7 @@ lib_types type_of_LIB(char *newlib, char + goto lib_type_end; + } + +- if( (strncmp(buf, &mach_o_module[0], 4)==0)) /* Mach-O bundle */ ++ if( (strncmp(buf, (const char *)mach_o_module, 4)==0)) /* Mach-O bundle */ + { + LT = LT_MACH_O; + //omFree(newlib); diff --git a/build/pkgs/singular/patches/singular_ntl.patch b/build/pkgs/singular/patches/singular_ntl.patch index d4305c194ff..9c898172aa2 100644 --- a/build/pkgs/singular/patches/singular_ntl.patch +++ b/build/pkgs/singular/patches/singular_ntl.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fixing incompatibility with NTL8 factory/NTLconvert.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) -diff --git a/factory/NTLconvert.cc b/factory/NTLconvert.cc +diff --git a/latest/factory/NTLconvert.cc b/latest/factory/NTLconvert.cc index 41ce9b2..e32093d 100644 ---- a/factory/NTLconvert.cc -+++ b/factory/NTLconvert.cc +--- a/latest/factory/NTLconvert.cc ++++ b/latest/factory/NTLconvert.cc @@ -30,6 +30,7 @@ #include #include diff --git a/build/pkgs/singular/patches/slibdir.patch b/build/pkgs/singular/patches/slibdir.patch index 9009c5f5534..6c460ecb6c8 100644 --- a/build/pkgs/singular/patches/slibdir.patch +++ b/build/pkgs/singular/patches/slibdir.patch @@ -1,6 +1,6 @@ -diff -druN latest.new/IntegerProgramming/Makefile.in latest/IntegerProgramming/Makefile.in ---- latest.new/IntegerProgramming/Makefile.in 2014-10-21 05:59:54.327560770 -0700 -+++ latest/IntegerProgramming/Makefile.in 2014-10-21 05:59:36.327521758 -0700 +diff -druN a/latest/IntegerProgramming/Makefile.in b/latest/IntegerProgramming/Makefile.in +--- a/latest/IntegerProgramming/Makefile.in 2014-10-21 05:59:54.327560770 -0700 ++++ b/latest/IntegerProgramming/Makefile.in 2014-10-21 05:59:36.327521758 -0700 @@ -5,7 +5,7 @@ ## bindir = @bindir@ @@ -10,9 +10,9 @@ diff -druN latest.new/IntegerProgramming/Makefile.in latest/IntegerProgramming/M install_bindir = ${install_prefix}/${SINGUNAME} libdir = @libdir@ -diff -druN latest.new/Singular/Makefile.in latest/Singular/Makefile.in ---- latest.new/Singular/Makefile.in 2014-10-21 05:58:50.087421525 -0700 -+++ latest/Singular/Makefile.in 2014-10-21 05:59:36.327521758 -0700 +diff -druN a/latest/Singular/Makefile.in b/latest/Singular/Makefile.in +--- a/latest/Singular/Makefile.in 2014-10-21 05:58:50.087421525 -0700 ++++ b/latest/Singular/Makefile.in 2014-10-21 05:59:36.327521758 -0700 @@ -48,7 +48,7 @@ bindir = @bindir@ # includes are taken from here diff --git a/build/pkgs/singular/patches/stricmp.patch b/build/pkgs/singular/patches/stricmp.patch index f6d1354d8a8..c9a0739e4ab 100644 --- a/build/pkgs/singular/patches/stricmp.patch +++ b/build/pkgs/singular/patches/stricmp.patch @@ -1,9 +1,9 @@ stricmp is being deprecated in Cygwin. One should use strcasecmp. See https://cygwin.com/ml/cygwin/2014-10/msg00359.html -diff -druN src/latest/Singular/run.c src/latest/Singular/run.c ---- latest/Singular/run.c 2014-11-19 14:06:05.000000000 +0100 -+++ latest/Singular/run.c 2015-01-16 09:32:45.771298300 +0100 +diff -druN a/latest/latest/Singular/run.c b/latest/latest/Singular/run.c +--- a/latest/Singular/run.c 2014-11-19 14:06:05.000000000 +0100 ++++ b/latest/Singular/run.c 2015-01-16 09:32:45.771298300 +0100 @@ -45,6 +45,7 @@ #include #include diff --git a/build/pkgs/singular/patches/templates.patch b/build/pkgs/singular/patches/templates.patch index e8702ef322a..e8c66c0632b 100644 --- a/build/pkgs/singular/patches/templates.patch +++ b/build/pkgs/singular/patches/templates.patch @@ -1,6 +1,6 @@ -diff -druN latest.orig/factory/GNUmakefile.in latest/factory/GNUmakefile.in ---- latest.orig/factory/GNUmakefile.in 2014-08-06 08:59:15.000000000 -0700 -+++ latest/factory/GNUmakefile.in 2014-10-20 04:21:24.914606325 -0700 +diff -druN a/latest/factory/GNUmakefile.in b/latest/factory/GNUmakefile.in +--- a/latest/factory/GNUmakefile.in 2014-08-06 08:59:15.000000000 -0700 ++++ b/latest/factory/GNUmakefile.in 2014-10-20 04:21:24.914606325 -0700 @@ -98,11 +98,13 @@ @FLINT_CFLAGS@ $(DEFS) $(CPPFLAGS) $(CFLAGS) @@ -17,9 +17,9 @@ diff -druN latest.orig/factory/GNUmakefile.in latest/factory/GNUmakefile.in -I. -I.. -I$(srcdir) -I${prefix} -I$(includedir) \ @FLINT_CFLAGS@ $(DEFS) $(CPPFLAGS) -diff -druN latest.orig/Singular/claptmpl.cc latest.new/Singular/claptmpl.cc ---- latest.orig/Singular/claptmpl.cc 2014-11-19 05:06:05.000000000 -0800 -+++ latest.new/Singular/claptmpl.cc 2014-11-21 08:58:02.514808678 -0800 +diff -druN a/latest/Singular/claptmpl.cc b/latest/Singular/claptmpl.cc +--- a/latest/Singular/claptmpl.cc 2014-11-19 05:06:05.000000000 -0800 ++++ b/latest/Singular/claptmpl.cc 2014-11-21 08:58:02.514808678 -0800 @@ -122,37 +122,3 @@ template class std::list; template class Cache; diff --git a/build/pkgs/singular/spkg-install b/build/pkgs/singular/spkg-install index 08a21977935..7f74498ca92 100755 --- a/build/pkgs/singular/spkg-install +++ b/build/pkgs/singular/spkg-install @@ -88,6 +88,8 @@ fi # parallel sometimes fails (Trac #17774) export MAKE="$MAKE -j1" +# Workaround for GCC6: https://trac.sagemath.org/ticket/20926 +export CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks -fno-strict-overflow" choose_patches() { @@ -106,8 +108,11 @@ choose_patches() apply_patches() { + # cd down to the root of src/ + cd .. + # Apply all patches - for patch in "$PATCHES"/*.patch; do + for patch in ../patches/*.patch; do [ -r "$patch" ] || continue # Skip non-existing or non-readable patches echo "Applying $patch" patch -p1 <"$patch" diff --git a/build/pkgs/sphinx/checksums.ini b/build/pkgs/sphinx/checksums.ini index 70b234a26bf..6b5bf7ccd4c 100644 --- a/build/pkgs/sphinx/checksums.ini +++ b/build/pkgs/sphinx/checksums.ini @@ -1,4 +1,4 @@ tarball=Sphinx-VERSION.tar.gz -sha1=d18b856710b22ae9740147e21754ca5b851af9b2 -md5=4c4988e0306a04cef8dccc384281e585 -cksum=282370994 +sha1=87ef31c2ce8c556a1644c53d21526eac7ad45f38 +md5=64ce2ec08d37ed56313a98232cbe2aee +cksum=759415183 diff --git a/build/pkgs/sphinx/package-version.txt b/build/pkgs/sphinx/package-version.txt index e904e0e4e52..1c99cf0e809 100644 --- a/build/pkgs/sphinx/package-version.txt +++ b/build/pkgs/sphinx/package-version.txt @@ -1 +1 @@ -1.4.1.p1 +1.4.4 diff --git a/build/pkgs/sphinx/patches/latex_list.patch b/build/pkgs/sphinx/patches/latex_list.patch deleted file mode 100644 index b5b7e87998b..00000000000 --- a/build/pkgs/sphinx/patches/latex_list.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix https://github.com/sphinx-doc/sphinx/issues/777 - -diff -ru a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty ---- a/sphinx/texinputs/sphinx.sty 2016-04-12 15:07:10.000000000 +0200 -+++ b/sphinx/texinputs/sphinx.sty 2016-04-22 22:24:13.671897443 +0200 -@@ -264,7 +264,7 @@ - \global\Sphinx@myfirstframedpasstrue - % The list environement is needed to control perfectly the vertical - % space. -- \list{}{% -+ \trivlist{}{% - \setlength\parskip{0pt}% - \setlength\itemsep{0ex}% - \setlength\topsep{0ex}% -@@ -278,7 +278,7 @@ - \renewcommand{\endVerbatim}{% - \endOriginalVerbatim - \endMakeFramed -- \endlist -+ \endtrivlist - % LaTeX environments always revert local changes on exit, here e.g. \parskip - } - diff --git a/build/pkgs/sphinx/patches/remove_memory_addresses.patch b/build/pkgs/sphinx/patches/remove_memory_addresses.patch deleted file mode 100644 index cbf7ab52be8..00000000000 --- a/build/pkgs/sphinx/patches/remove_memory_addresses.patch +++ /dev/null @@ -1,15 +0,0 @@ -See https://github.com/sphinx-doc/sphinx/pull/2534 - -diff --git a/sphinx/util/inspect.py b/sphinx/util/inspect.py -index 5dc2008..dbd578e 100644 ---- a/sphinx/util/inspect.py -+++ b/sphinx/util/inspect.py -@@ -20,7 +20,7 @@ from sphinx.util import force_decode - # relatively import this module - inspect = __import__('inspect') - --memory_address_re = re.compile(r' at 0x[0-9a-f]{8,16}(?=>$)') -+memory_address_re = re.compile(r' at 0x[0-9a-f]{8,16}(?=>)') - - - if PY3: diff --git a/build/pkgs/tachyon/patches/Make-arch b/build/pkgs/tachyon/patches/Make-arch deleted file mode 100644 index 3384ac22c29..00000000000 --- a/build/pkgs/tachyon/patches/Make-arch +++ /dev/null @@ -1,1470 +0,0 @@ -# Makefile architecture configuration for Tachyon ray tracing library. -# Copyright 1994-2007 John E. Stone -# All Rights Reserved -# -# $Id: Make-arch,v 1.164 2010/01/18 19:13:41 johns Exp $ -# - -# Some machines don't have/need ranlib, in their case, use 'touch' -# this should be overridden by arch specific configuration lines below -# RANLIB=ranlib -# Do not override Sage's RANLIB environment variable - -# MPI path setup, probably shouldn't need to be changed. -MPIINC=$(MPIDIR)/include -MPILIB=$(MPIDIR)/lib - -MISCDEFS=$(USEJPEG) $(USEPNG) $(FLT) $(MBOX) -MISCINC=$(JPEGINC) $(PNGINC) $(SPACEBALLINC) -MISCFLAGS=$(MISCDEFS) $(MISCINC) -MISCLIB=$(JPEGLIB) $(PNGLIB) $(SPACEBALLLIB) - -default: - @echo " Choose one of the architectures specified below." - @echo "--------------------------------------------------------------" - @echo " Parallel Versions " - @echo "" - @echo " aix-generic-thr - IBM AIX POSIX Threads. Generic compiler" - @echo " aix-thr - IBM AIX 5.x POSIX Threads. IBM compiler " - @echo " aix-64-thr - IBM AIX 5.x POSIX Threads, 64-bit " - @echo " aix-mpi - IBM AIX 5.x (SP) MPI " - @echo " asci-red-mpi - Intel ASCI Red MPI " - @echo " bluegene-mpi - IBM Blue Gene MPI " - @echo " cray-thr - Cray J90,C90... POSIX Threads " - @echo " cray-t3e-mpi - Cray T3E MPI " - @echo " cray-xt3-mpi - Cray XT3 MPI " - @echo " compaq-alphasc-mpi - Lemieux at PSC MPI " - @echo " hpux-generic-thr - HP/UX POSIX Threads. Generic compiler " - @echo " hpux-thr - HP/UX 11.x POSIX Threads " - @echo " hpux-ia64-thr - HP-UX IA-64, HP C, POSIX Threads " - @echo " irix6-thr - SGI IRIX 6.5.x POSIX Threads " - @echo " irix6-64-thr - SGI IRIX 6.5.x POSIX Threads, 64-bit " - @echo " linux-beowulf-mpi - Scyld Linux MPI " - @echo " linux-alpha-ccc-qsw - Linux Alpha, Compaq C, MPI, QSWnet " - @echo " linux-lam - Linux MPI (OSC LAM) " - @echo " linux-lam-64 - Linux AMD64/EM64T, MPI, 64-bit " - @echo " linux-64-thr - Linux AMD64/EM64T, POSIX Threads, 64-bit" - @echo " linux-mpi - Linux Generic MPI " - @echo " linux-thr - Linux POSIX Threads " - @echo " linux-p4-icc-thr - Linux, Intel C compilers, P4-optimized " - @echo " linux-ia64-thr - Linux IA-64, GCC, POSIX Threads " - @echo "linux-ia64-thr-sgicc - Linux IA-64, SGI Pro64 Compilers " - @echo " macosx-thr - MacOS X PowerPC, POSIX Threads " - @echo " macosx-x86-thr - MacOS X Intel x86, POSIX Threads " - @echo " solaris-ultra-hpc - Sun Solaris 9/10 ClusterTools 4.0 MPI " - @echo " solaris-mpi - Sun Solaris 9/10 MPI (MPICH) " - @echo " solaris-lam - Sun Solaris 9/10 MPI (OSC LAM) " - @echo " solaris-thr - Sun Solaris 9/10 UI/Sun Threads " - @echo "solaris-pthreads-gcc-64-bit - 64-bit (should work on SPARC or x64)" - @echo " solaris-ultra-thr - Sun Solaris 9/10 UI/Sun Threads, US-1/2" - @echo " solaris-ultra3-thr - Sun Solaris 9/10 UI/Sun Threads, US-III" - @echo " solaris-64-thr - Sun Solaris 9/10 UI/Sun Threads, 64-bit" - @echo "--------------------------------------------------------------" - @echo " Hybrid Parallel Versions " - @echo "" - @echo " linux-mpi-thr - Linux Generic MPI+POSIX Threads " - @echo "" - @echo "--------------------------------------------------------------" - @echo " Sequential Versions " - @echo "" - @echo " aix - IBM 5.x using IBM's compiler " - @echo " aix-generic - IBM AIX Generic compiler (gcc etc) " - @echo " bsd - OpenBSD/FreeBSD/NetBSD " - @echo " hpux - HP/UX 11.x HP's compiler " - @echo " hpux-generic - HP/UX 11.x Generic compiler (gcc etc) " - @echo " irix6 - SGI Irix 6.x " - @echo " linux - Linux " - @echo " linux-64 - Linux, AMD64/EM64T, GCC 3.x, 64-bit " - @echo " linux-p4-icc - Linux, Intel C compilers, P4-optimized " - @echo " linux-athlon - Linux using GCC 3.x Athlon optimizations" - @echo " linux-p4 - Linux using GCC 3.x P4 optimizations " - @echo " linux-pgcc - Linux, Portland Group Compilers, Pentium" - @echo "linux-athlon-pgcc - Linux, Portland Group Compilers, Athlon " - @echo " linux-ppc - Linux PowerPC " - @echo " linux-ps2 - Linux Sony Playstation 2 " - @echo " linux-alpha - Linux Alpha " - @echo " linux-alpha-ccc - Linux Alpha, Compaq Compilers " - @echo " linux-ia64 - Linux IA-64, GCC " - @echo " linux-ia64-sgicc - Linux IA-64, SGI Pro64 Compilers " - @echo " macosx - MacOS X (aka Darwin, Rhapsody) " - @echo " tru64-alpha - Tru64 Unix, binary can run on AlphaLinux" - @echo " solaris - Sun Solaris 8/9/10 " - @echo " win32 - Windows 95/NT with Cygnus EGCS/CygWin32 " - @echo "" - @echo "--------------------------------------------------------------" - @echo " OpenGL Runtime Display Versions " - @echo "" - @echo " irix6-thr-ogl - SGI IRIX 6.5.x, POSIX Threads, OpenGL " - @echo "solaris-ultra-thr-ogl - Sun Solaris 9/10 UI/Sun Threads, OpenGL" - @echo "solaris-ultra-hpc-ogl - Sun Solaris 9/10 Sun MPI, OpenGL " - @echo " linux-thr-ogl - Linux POSIX Threads, OpenGL " - @echo " linux-lam-64-ogl - Linux, 64-bit AMD64/EM64T, LAM MPI, OpenGL" - @echo "linux-beowulf-mpi-ogl - Scyld Linux with MPI, OpenGL " - @echo " macosx-x86-thr-ogl - MacOS X Intel x86, POSIX Threads, OpenGL" - @echo " tru64-alpha-thr-ogl - Tru64/OSF1/DUnix POSIX Threads, OpenGL" - @echo "" - @echo "--------------------------------------------------------------" - @echo "Type: 'make arch' to build for an architecture listed above." - @echo "Consult the README file in this directory for further info. " - -## -## Intel ASCI Red (Janus) using MPI. -## No pthreads on ASCI Red yet. I didn't bother with the cop() stuff -## -asci-red-mpi: - $(MAKE) all \ - "ARCH = asci-red-mpi" \ - "CC = cicc" \ - "CFLAGS = -cougar -O4 -Mvect -Knoieee -I$(MPIINC) -Dparagon $(MISCFLAGS) -DMPI" \ - "AR = xar" \ - "ARFLAGS = r" \ - "STRIP = xstrip" \ - "LIBS = -L. -L$(MPILIB)/paragon/ch_nx -nx -ltachyon -lmpi $(MISCLIB) -lm $(MISCLIB) -lmach3" - - -## -## IBM Blue Gene/L Parallel Supercomputer -## -## NOTE: strip breaks bluegene executables, they are dynamically re-linked -## at runtime, so we must use /bin/true rather than strip -## -bluegene-mpi: - $(MAKE) all \ - "ARCH = bluegene-mpi" \ - "CC = mpcc" \ - "CFLAGS = -O3 -qarch=440 -DAIX -DMPI $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = /bin/true" \ - "LIBS = -us -L. -ltachyon $(MISCLIB) -lm" - - -## -## Cray Parallel Vector Processor Machines Using Threads -## -## Tested on J90s, but should work on almost any of the Cray PVP systems. -## Note: This code is not currently vectorized, and you may be better -## off running on a fast workstation, or even better, on a T3E!!! -## -cray-thr: - @echo "**" - @echo "** Warning: This software will build on Cray PVP systems; " - @echo "** however the code isn't vectorized. " - @echo "** Measurements on a J90 indicate that the code " - @echo "** only attains 25% of the per-cpu peak vector " - @echo "** performance. Just FYI for people that don't " - @echo "** want to waste Cray PVP time. " - @echo "** The efficiency on scalar Cray machines is " - @echo "** excellent (T3E). " - @echo "**" - $(MAKE) all \ - "ARCH = cray-thr" \ - "CC = cc" \ - "CFLAGS = -O3 -D_REENTRANT -DTHR $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lpthread $(MISCLIB) -lm" - -## -## Cray T3E Using MPI -## -cray-t3e-mpi: - $(MAKE) all \ - "ARCH = cray-t3e-mpi" \ - "CC = cc" \ - "CFLAGS = -O3 $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm" - -# Cray T3E performance tuning via "pat" -cray-t3e-mpi-pat: - $(MAKE) all \ - "ARCH = cray-t3e-mpi-pat" \ - "CC = cc" \ - "CFLAGS = -O3 $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm -lpat" - -# Cray T3E profiling using "apprentice" -cray-t3e-mpi-app: - $(MAKE) all \ - "ARCH = cray-t3e-mpi-app" \ - "CC = cc" \ - "CFLAGS = -O3 -X1 -happrentice $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm -lapp" - - -## -## Cray T3E Using MPI -## -compaq-alphasc-mpi: - $(MAKE) all \ - "ARCH = compaq-alphasc-mpi" \ - "CC = cc" \ - "CFLAGS = -speculate all -std1 -pthread -fast -O4 -arch host -tune host -verbose $(MISCFLAGS) -DMPI -DLP64" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm" - - -## -## Cray XT3 Using MPI -## Contributed by Paul Bourke -## -cray-xt3-mpi: - $(MAKE) all \ - "ARCH = cray-xt3-mpi" \ - "CC = cc -target=catamount -B" \ - "CFLAGS = -O3 $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = -r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - - -## -## Architecture flags for the Intel Paragon XP/S Supercomputer using MPI -## for message passing. NX is no longer supported by this software. -## Configurations supporting systems with MP-3 nodes are listed, -## Concurrent I/O is used by default. -## - -paragon-thr-mpi: - $(MAKE) all \ - "ARCH = paragon-thr-mpi" \ - "CC = icc" \ - "CFLAGS = -O4 -Mvect -Mreentrant -Mnoperfmon -Knoieee -I$(MPIINC) -Dparagon -DTHRIO -DTHR $(MISCFLAGS) -DMPI" \ - "AR = ar860" \ - "ARFLAGS = r" \ - "STRIP = strip860" \ - "LIBS = -L. -L$(MPILIB)/paragon/ch_nx -nx -ltachyon -lmpi $(MISCLIB) -lm $(MISCLIB) -lmach3 -lpthreads -lc_r " - -paragon-mp-mpi: - $(MAKE) all \ - "ARCH = paragon-mp-mpi" \ - "CC = icc" \ - "CFLAGS = -O4 -Mvect -Mreentrant -Mnoperfmon -Knoieee -I$(MPIINC) -Dparagon -DTHR $(MISCFLAGS) -DMPI" \ - "AR = ar860" \ - "ARFLAGS = r" \ - "STRIP = strip860" \ - "LIBS = -L. -L$(MPILIB)/paragon/ch_nx -nx -ltachyon -lmpi $(MISCLIB) -lm $(MISCLIB) -lmach3 -lpthreads -lc_r " - -paragon-mpi: - $(MAKE) all \ - "ARCH = paragon-mpi" \ - "CC = icc" \ - "CFLAGS = -O4 -Mvect -Mnoperfmon -Knoieee -I$(MPIINC) -Dparagon $(MISCFLAGS) -DMPI" \ - "AR = ar860" \ - "ARFLAGS = r" \ - "STRIP = strip860" \ - "LIBS = -L. -L$(MPILIB)/paragon/ch_nx -nx -ltachyon -lmpi $(MISCLIB) -lm $(MISCLIB) -lmach3" - - -## -## Architecture flags for the Intel iPSC/860 Multicomputer using MPI -## for message passing. NX is no longer supported by this software. -## Tested with the mpich distribution from Argonne National Labs -## - -ipsc860-mpi: - $(MAKE) all \ - "ARCH = ipsc860-mpi" \ - "CC = icc" \ - "CFLAGS = -O4 -Mvect -Knoieee -I$(MPIINC) -Dcube $(MISCFLAGS) -DMPI" \ - "AR = ar860" \ - "ARFLAGS = r" \ - "STRIP = strip860" \ - "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" - -ipsc860-mpi-debug: - $(MAKE) all \ - "ARCH = ipsc860-mpi-debug" \ - "CC = icc" \ - "CFLAGS = -p -O4 -Mvect -Knoieee -I$(MPIINC) -Dcube $(MISCFLAGS) -DMPI" \ - "AR = ar860" \ - "ARFLAGS = r" \ - "STRIP = touch " \ - "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" - - -## -## OSF1 / Digital Unix 4.0b on Alpha processors -## -tru64-alpha: - $(MAKE) all \ - "ARCH = tru64-alpha" \ - "CFLAGS = -std1 -fast -O4 -arch host -tune host -w0 -verbose $(MISCFLAGS) -DLP64" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -non_shared -om -L. -ltachyon $(MISCLIB) -lm" - -## -## OSF1 / Digital Unix 4.0b on Alpha processors with POSIX Threads -## -tru64-alpha-thr: - $(MAKE) all \ - "ARCH = tru64-alpha-thr" \ - "CFLAGS = -speculate all -std1 -pthread -fast -O4 -arch host -tune host -verbose $(MISCFLAGS) -DTHR -DLP64" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -tru64-alpha-thr-ogl: - $(MAKE) all \ - "ARCH = tru64-alpha-thr-ogl" \ - "CFLAGS = -speculate all -std1 -pthread -fast -O4 -arch host -tune host -verbose $(MISCFLAGS) -DTHR -DUSEOPENGL -DLP64" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(TRU64_GLX_LIBS) $(MISCLIB) -lm" - -## -## OSF1 / Digital Unix 4.0d on Alpha processors with Guide for OpenMP -## -tru64-alpha-omp: - $(MAKE) all \ - "ARCH = tru64-alpha-omp" \ - "CC = guidec" \ - "CFLAGS = -O4 -arch host -tune host $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -## -## OSF1 / Digital Unix 4.0d on Alpha processors with Assure for OpenMP -## -## -WApname= needs an absolute path to a project file. This file is -## created and maintained by assurec. -## -tru64-alpha-ompa: - $(MAKE) all \ - "ARCH = tru64-alpha-ompa" \ - "CC = assurec" \ - "CFLAGS = -O4 -arch host -tune host $(MISCFLAGS) -WApname=/tacheon/tacheon.prj -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -## -## Architecture flags for Sun Solaris 8/9/10 running on the Sparc platform. -## Expects Sun's most recent compilers. -## Configurations for gcc, and lcc are also listed. -## -solaris: - $(MAKE) all \ - "ARCH = solaris" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -fast -xO5 -native -xdepend -fsimple=2 -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-profile: - $(MAKE) all \ - "ARCH = solaris-profile" \ - "CC = cc" \ - "CFLAGS = -fast -xO3 -native -g -xpg -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-profile2: - $(MAKE) all \ - "ARCH = solaris-profile2" \ - "CC = cc" \ - "CFLAGS = -fast -xO3 -native -g -p -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-quantify: - $(MAKE) all \ - "ARCH = solaris-quantify" \ - "CC = quantify cc" \ - "CFLAGS = -native -g -xarch=v8plusa -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch " \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-purify: - $(MAKE) all \ - "ARCH = solaris-purify" \ - "CC = purify cc" \ - "CFLAGS = -g -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-debug: - $(MAKE) all \ - "ARCH = solaris-debug" \ - "CC = cc" \ - "CFLAGS = -Xc -g -native -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-lam: - $(MAKE) all \ - "ARCH = solaris-lam" \ - "CC = hcc" \ - "CFLAGS = -v -xtransition -Xc -fast -xO5 -native -xdepend -fsimple=2 -I$(LAMHOME)/h -DSunOS $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" - -solaris-64-openmpi: - $(MAKE) all \ - "ARCH = solaris-64-openmpi" \ - "CC = mpicc" \ - "CFLAGS = -v -xtransition -Xc -xarch=generic64 -I$(OPENMPIHOME) -DSunOS $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -L$(OPENMPIHOME)/lib -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" - -solaris-ultra-hpc: - $(MAKE) all \ - "ARCH = solaris-ultra-hpc" \ - "CC = mpcc" \ - "CFLAGS = -v -xtransition -Xc -fast -xO5 -native -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" - -solaris-mpi: - $(MAKE) all \ - "ARCH = solaris-mpi" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -fast -xO5 -native -xdepend -fsimple=2 -I$(MPIINC) -DSunOS $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -L$(MPILIB)/solaris/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" - -solaris-thr: - $(MAKE) all \ - "ARCH = solaris-thr" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -xarch=native -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-pthreads-gcc: - $(MAKE) all \ - "ARCH = solaris-pthreads-gcc" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS $(MISCFLAGS) -DTHR -DUSEPOSIXTHREADS" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -solaris-pthreads-gcc-64-bit: - $(MAKE) all \ - "ARCH = solaris-pthreads-gcc" \ - "CFLAGS = -Wall -O4 -m64 -fomit-frame-pointer -ffast-math -D_REENTRANT -DSunOS $(MISCFLAGS) -DTHR -DUSEPOSIXTHREADS" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -solaris-thr-x11: - $(MAKE) all \ - "ARCH = solaris-thr-x11" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xdepend -fsimple=2 $(X11INC) -DSunOS $(MISCFLAGS) -DTHR -DUSEX11" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm $(X11LIB)" - -solaris-v8-thr: - $(MAKE) all \ - "ARCH = solaris-v8-thr" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8 -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-ultra-thr: - $(MAKE) all \ - "ARCH = solaris-ultra-thr" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-ultra2-thr: - $(MAKE) all \ - "ARCH = solaris-ultra2-thr" \ - "CC = cc" \ - "CFLAGS = -v -Xc -mt -fast -xO5 -native -xtarget=ultra2 -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-ultra3-thr: - $(MAKE) all \ - "ARCH = solaris-ultra3-thr" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8plusb -xdepend -fsimple=2 -xalias_level=strong -xprefetch -DSunOS $(MISCFLAGS) -DTHR " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-ultra3cu-thr: - $(MAKE) all \ - "ARCH = solaris-ultra3cu-thr" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8plusb -xchip=ultra3cu -xdepend -fsimple=2 -xalias_level=strong -xprefetch -DSunOS $(MISCFLAGS) -DTHR " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-64-profile: - $(MAKE) all \ - "ARCH = solaris-64-profile" \ - "CC = cc" \ - "CFLAGS = -xarch=v9a -g -xpg -DSunOS $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-64-purify: - $(MAKE) all \ - "ARCH = solaris-64-purify" \ - "CC = purify cc" \ - "CFLAGS = -xarch=v9a -g -DSunOS $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-64-purify-thr: - $(MAKE) all \ - "ARCH = solaris-64-purify-thr" \ - "CC = purify cc" \ - "CFLAGS = -v -Xc -mt -g -xarch=v9a -DSunOS $(MISCFLAGS) -DTHR -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -solaris-64-thr: - $(MAKE) all \ - "ARCH = solaris-64-thr" \ - "CC = cc" \ - "CFLAGS = -v -Xc -mt -fast -xO5 -native -xarch=native64 -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-64-ultra2-thr: - $(MAKE) all \ - "ARCH = solaris-64-ultra2-thr" \ - "CC = cc" \ - "CFLAGS = -v -Xc -mt -fast -xO5 -native -xtarget=ultra2 -xarch=v9a -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-64-ultra3-thr: - $(MAKE) all \ - "ARCH = solaris-64-ultra3-thr" \ - "CC = cc" \ - "CFLAGS = -v -Xc -mt -fast -xO5 -xipo -native -xtarget=ultra3cu -xarch=v9b -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm" - -solaris-ultra-thr-ogl: - $(MAKE) all \ - "ARCH = solaris-ultra-thr-ogl" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR -DUSEOPENGL " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(SOLARIS_GLX_LIBS) $(MISCLIB) -lm" - -solaris-ultra-hpc-ogl: - $(MAKE) all \ - "ARCH = solaris-ultra-hpc" \ - "CC = mpcc" \ - "CFLAGS = -v -xtransition -Xc -fast -xO5 -native -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DMPI -DUSEOPENGL" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) $(SOLARIS_GLX_LIBS) $(MISCLIB) -lm -lsocket -lnsl" - -solaris-ultra-pthreads-ogl: - $(MAKE) all \ - "ARCH = solaris-ultra-pthreads-ogl" \ - "CC = cc" \ - "CFLAGS = -v -xtransition -Xc -mt -fast -xO5 -native -xarch=v8plusa -xdepend -fsimple=2 -DSunOS $(MISCFLAGS) -DTHR -DUSEOPENGL -DUSEPOSIXTHREADS " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(SOLARIS_GLX_LIBS) $(MISCLIB) -lm -lpthread" - -solaris-apcc-ultra-thr: - $(MAKE) all \ - "ARCH = solaris-apcc-ultra-thr" \ - "CC = apcc" \ - "CFLAGS = -fast -O5 -native -Xalnref=0 -Xmopt=4 -Xunroll=1 -Xconstp=2 -Xcopyp=2 -Xflow=1 -Xcg=94 -Xfltacc=2 -Xfltedge=3 -Xintedge=1 -Xfltfold=2 -Xivrep=1 -Xreg=3 -Xsafeintr=1 -Xsched=2 -Xxopt=5 -Xdeflib=2 -Xinllev=5 -XT=ultra2 -DSunOS $(MISCFLAGS) -DTHR -D_REENTRANT " \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(MISCLIB) -lm -lthread" - -solaris-gcc-thr: - $(MAKE) all \ - "ARCH = solaris-gcc-thr" \ - "CFLAGS = -ansi -Wall -pedantic -O4 -mv8 -msupersparc -DSunOS $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket -lthread" - -solaris-gcc-thr-x11: - $(MAKE) all \ - "ARCH = solaris-gcc-thr-x11" \ - "CFLAGS = -ansi -Wall -pedantic -O4 -mv8 -msupersparc $(X11INC) -DSunOS $(MISCFLAGS) -DTHR -D_REENTRANT -DUSEX11" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket $(X11LIB) -lthread" - -solaris-lcc: - $(MAKE) all \ - "ARCH = solaris-lcc" \ - "CC = lcc" \ - "CFLAGS = -A -A -DSunOS $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket" - -solaris-lcc-thr: - $(MAKE) all \ - "ARCH = solaris-lcc-thr" \ - "CC = lcc" \ - "CFLAGS = -A -A -DSunOS $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket -lthread" - -solaris-lcc-thr-x11: - $(MAKE) all \ - "ARCH = solaris-lcc-thr-x11" \ - "CC = lcc" \ - "CFLAGS = -A -A $(X11INC) -DSunOS $(MISCFLAGS) -DTHR -D_REENTRANT -DUSEX11" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket $(X11LIB) -lthread" - -## -## SGI Architecture flags, should work with MPI, threads etc. -## Tested with Irix 6.x extensively -## -irix5-mpi: - $(MAKE) all \ - "ARCH = irix5-mpi" \ - "CFLAGS = -O2 -mips2 -I$(MPIINC) -DIrix $(MISCFLAGS) -DMPI" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -L$(MPILIB)/IRIX/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm" - -irix5: - $(MAKE) all \ - "ARCH = irix5" \ - "CFLAGS = -O2 -mips2 -DIrix $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -irix6: - $(MAKE) all \ - "ARCH = irix6" \ - "CFLAGS = -O3 -mips3 -n32 -DIrix $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -irix6-purify: - $(MAKE) all \ - "ARCH = irix6-purify" \ - "CC = purify cc" \ - "CFLAGS = -g -O2 -mips3 -n32 -DIrix $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -irix6-64-thr: - $(MAKE) all \ - "ARCH = irix6-64-thr" \ - "CFLAGS = -woff 1209,1174,3201 -xansi -fullwarn -O3 -mips4 -64 -DIrix -D_REENTRANT -DTHR $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -irix6-thr: - $(MAKE) all \ - "ARCH = irix6-thr" \ - "CFLAGS = -woff 1209,1174,3201 -xansi -fullwarn -O3 -mips3 -n32 -DIrix -D_REENTRANT -DTHR $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -irix6-thr-purify: - $(MAKE) all \ - "ARCH = irix6-thr-purify" \ - "CC = purify cc" \ - "CFLAGS = -g -O2 -mips3 -n32 -DIrix -D_REENTRANT -DTHR $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -irix6-thr-ogl: - $(MAKE) all \ - "ARCH = irix6-thr-ogl" \ - "CFLAGS = -woff 1209,1174,3201 -xansi -fullwarn -O3 -mips3 -n32 -DIrix -D_REENTRANT -DUSEOPENGL -DTHR $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(IRIX_GLX_LIBS) $(MISCLIB) -lm -lpthread" - - -## -## Architecture flags for IBM RS/6000 systems, including the SP-2 -## Supercomputer, and PowerPC based RS/6000 systems. The SP-2 configuration -## requires MPI for message passing. No multithread configurations are -## available yet, since access to a thread capable test machine is needed -## for implementation. These configurations require xlc. -## -## The AIX and HP-UX target for generic compilers (e.g. gcc) have not been -## properly tested. - - -aix: - $(MAKE) all \ - "ARCH = aix" \ - "CC = xlc" \ - "CFLAGS = -O3 -DAIX $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# The aix-generic target has not been tested. -# It should work with gcc and perhaps other -# compilers, as the compiler name is not -# hard-coded. As long as CFLAGS are set properly -# it should work both 32-bit and 64-bit. -aix-generic: - $(MAKE) all \ - "ARCH = aix-generic" \ - "CFLAGS = $(CFLAGS) -DAIX $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -aix-mpi: - $(MAKE) all \ - "ARCH = aix-mpi" \ - "CC = mpcc" \ - "CFLAGS = -O3 -I$(MPIINC) -DAIX -DMPI $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -us -L. -L$(MPILIB)/rs6000/ch_eui -ltachyon -lmpi $(MISCLIB) -lm" - -aix-thr: - $(MAKE) all \ - "ARCH = aix-thr" \ - "CC = xlc" \ - "CFLAGS = -O3 -DAIX $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -# The aix-generic-thr target has not been tested. -# It should work with gcc and perhaps other -# compilers, as the compiler name is not -# hard-coded. As long as CFLAGS are set properly -# it should work both 32-bit and 64-bit. -aix-generic-thr: - $(MAKE) all \ - "ARCH = aix-generic-thr" \ - "CFLAGS = $(CFLAGS) -DAIX $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -aix-64-thr: - $(MAKE) all \ - "ARCH = aix-64-thr" \ - "CC = xlc" \ - "CFLAGS = -q64 -O3 -DAIX $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "AR = ar -X64 " \ - "ARFLAGS = r" \ - "STRIP = strip -X64 " \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -## -## Architecture flags for HP Unix workstations, no MPI configuration -## since no test platform has been available. The threaded HPUX -## configuration is untested, since no access to a test platform has -## been available. In theory it should work on a multiprocessor HP -## with POSIX threads capability. -## - -hpux: - $(MAKE) all \ - "ARCH = hpux" \ - "CC = cc" \ - "CFLAGS = -Ae +O4 -DHPUX $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# The hpux-generic target has not been tested. -# It should work with gcc and perhaps other -# compilers, as the compiler name is not -# hard-coded. As long as CFLAGS are set properly -# it should work both 32-bit and 64-bit. -hpux-generic: - $(MAKE) all \ - "ARCH = hpux-generic" \ - "CFLAGS = $(CFLAGS) -DHPUX $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# The hpux-generic-thr target has not been tested. -# It should work with gcc and perhaps other -# compilers, as the compiler name is not -# hard-coded. As long as CFLAGS are set properly -# it should work both 32-bit and 64-bit. -hpux-generic-thr: - $(MAKE) all \ - "ARCH = hpux-generic-thr" \ - "CFLAGS = $(CFLAGS) -DHPUX $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -hpux-thr: - $(MAKE) all \ - "ARCH = hpux-thr" \ - "CC = cc" \ - "CFLAGS = -Ae +O4 -DHPUX $(MISCFLAGS) -DTHR -D_REENTRANT" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -# HP-UX IA-64 using gcc compilers and threads (Merced, Itanium, McKinley, etc) -hpux-ia64-thr: - $(MAKE) all \ - "ARCH = hpux-ia64-thr" \ - "CC = cc" \ - "CFLAGS = -fast +O3 +Otype_safety=ansi +Onoptrs_to_globals -DHPUX -DTHR -D_REENTRANT $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - - -## -## An ancient configuration for NeXT computers, has not been tested -## recently, good luck. -## - -next: - $(MAKE) all \ - "ARCH = next" \ - "CFLAGS = -O -DNEXT $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -macosx: - $(MAKE) all \ - "ARCH = macosx" \ - "CFLAGS = -Os -ffast-math -DBsd $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB)" - -macosx-64: - $(MAKE) all \ - "ARCH = macosx" \ - "CFLAGS = -Os -m64 -ffast-math -DBsd $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB)" - -macosx-thr: - $(MAKE) all \ - "ARCH = macosx-thr" \ - "CFLAGS = -Os -ffast-math -DBsd -DTHR -F/System/Library/Frameworks $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lpthread -framework Carbon" - -macosx-altivec: - $(MAKE) all \ - "ARCH = macosx-altivec" \ - "CFLAGS = -Os -mcpu=750 -faltivec -force_cpusubtype_ALL -fomit-frame-pointer -ffast-math -DBsd $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB)" - -macosx-x86-thr: - $(MAKE) all \ - "ARCH = macosx-x86-thr" \ - "CFLAGS = -O2 -ffast-math -DBsd -DTHR -F/System/Library/Frameworks $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lpthread -framework Carbon" - -macosx-x86-thr-ogl: - $(MAKE) all \ - "ARCH = macosx-x86-thr-ogl" \ - "CFLAGS = -O2 -ffast-math -DBsd -DTHR -I/usr/X11R6/include -F/System/Library/Frameworks $(MISCFLAGS) -DUSEOPENGL" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lpthread -L/usr/X11R6/lib -lGLU -lGL -lX11 -framework Carbon" - - -## -## BeOS -## - -beos: - $(MAKE) all \ - "ARCH = beos" \ - "CFLAGS = -O3 -fomit-frame-pointer -ffast-math $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB)" - -## -## An ancient configuration for generic BSD, has not been tested recently, -## good luck. -## - -bsd: - $(MAKE) all \ - "ARCH = bsd" \ - "CFLAGS = -O3 -fomit-frame-pointer -ffast-math -DBsd $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -bsd-sparc: - $(MAKE) all \ - "ARCH = bsd-sparc" \ - "CFLAGS = -mv8 -msupersparc -O3 -fomit-frame-pointer -ffast-math -DBsd $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -## -## Windows (Win32) Builds using Cygnus' CygWin32 libraries and egcs -## - -win32: - $(MAKE) all \ - "ARCH = win32" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DWIN32 $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = echo" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -win32-mpi: - $(MAKE) all \ - "ARCH = win32-mpi" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DWIN32 $(MISCFLAGS) -I'/Program files/MPIPro/INCLUDE' -DMPI" \ - "ARFLAGS = r" \ - "STRIP = echo" \ - "LIBS = -L. -L'/Program files/MPIPro/LIB' -ltachyon -lmpi $(MISCLIB) -lm" - -## -## Configurations of Tachyon for various versions of Linux -## - -# Linux on x86, using gcc -linux: - $(MAKE) all \ - "ARCH = linux" \ - "CFLAGS = -m32 -Wall -O3 -g -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux on x86, using gcc -linux-profile: - $(MAKE) all \ - "ARCH = linux-profile" \ - "CFLAGS = -m32 -Wall -O3 -g -pg -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux on x86, using gcc -linux-debug: - $(MAKE) all \ - "ARCH = linux-debug" \ - "CFLAGS = -m32 -Wall -g -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux on AMD64/EM64T, using gcc -linux-64: - $(MAKE) all \ - "ARCH = linux-64" \ - "CFLAGS = -m64 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DLP64 $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux on AMD64/EM64T, using gcc -linux-64-debug: - $(MAKE) all \ - "ARCH = linux-64-debug" \ - "CFLAGS = -m64 -Wall -O -g -DLinux -DLP64 $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - - -# Linux on AMD64/EM64T, using gcc -linux-64-thr: - $(MAKE) all \ - "ARCH = linux-64-thr" \ - "CFLAGS = -m64 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DLP64 -DTHR -D_REENTRANT $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - - -# Linux x86, on AMD Athlon, using gcc -linux-p4: - $(MAKE) all \ - "ARCH = linux-p4" \ - "CFLAGS = -mcpu=i686 -march=i686 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux x86, on Intel P4 using Intel C 8.0 -# "CFLAGS = -axN -fast -ansi_alias -DLinux $(MISCFLAGS)" -# "CFLAGS = -restrict -O3 -tpp7 -vec_report3 -xiMKW -ip -unroll -static -DLinux $(MISCFLAGS)" -linux-p4-icc: - $(MAKE) all \ - "ARCH = linux-p4-icc" \ - "CC = icc" \ - "CFLAGS = -restrict -O3 -tpp7 -vec_report3 -xiMKW -ip -unroll -static -DLinux $(MISCFLAGS)" \ - "AR = xiar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux x86, on Intel P4 using Intel C 8.0 -linux-p4-icc-thr: - $(MAKE) all \ - "ARCH = linux-p4-icc-thr" \ - "CC = icc" \ - "CFLAGS = -restrict -O3 -tpp7 -vec_report3 -xiMKW -ip -unroll -static -DLinux -DTHR -D_REENTRANT $(MISCFLAGS)" \ - "AR = xiar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -# Linux x86, on AMD Athlon, using gcc -linux-athlon: - $(MAKE) all \ - "ARCH = linux-athlon" \ - "CFLAGS = -mcpu=athlon -march=athlon -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -linux-athlon-thr: - $(MAKE) all \ - "ARCH = linux-athlon-thr" \ - "CFLAGS = -mcpu=athlon -march=athlon -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - - -# Linux x86/Pentium with Portland group compilers -linux-pgcc: - $(MAKE) all \ - "ARCH = linux-pgcc" \ - "CC = pgcc" \ - "CFLAGS = -fast -Mvect=assoc,prefetch -tp p6 -DLinux $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux x86/athlon with Portland group compilers -linux-athlon-pgcc: - $(MAKE) all \ - "ARCH = linux-athlon-pgcc" \ - "CC = pgcc" \ - "CFLAGS = -fast -Mvect=assoc,prefetch -tp athlon -DLinux $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux x86 using gcc, with threads -linux-thr: - $(MAKE) all \ - "ARCH = linux-thr" \ - "CFLAGS = -m32 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -# Linux x86 using gcc, threads, and OpenGL -linux-thr-ogl: - $(MAKE) all \ - "ARCH = linux-thr-ogl" \ - "CFLAGS = -m32 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT $(MISCFLAGS) -DUSEOPENGL $(LINUX_GLX_INCS)" \ - "ARFLAGS = r" \ - "STRIP = touch" \ - "LIBS = -L. -ltachyon $(MISCLIB) $(LINUX_GLX_LIBS) $(MISCLIB) -lm -lpthread" - -# Linux x86 using Scyld's beowulf distribution and OpenGL -linux-beowulf-mpi-ogl: - $(MAKE) all \ - "ARCH = linux-beowulf-mpi" \ - "CFLAGS = -m32 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DMPI $(MISCFLAGS) -DUSEOPENGL $(LINUX_GLX_INCS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) $(LINUX_GLX_LIBS) $(MISCLIB) -lm" - -# Linux x86 using Scyld's beowulf distribution -linux-beowulf-mpi: - $(MAKE) all \ - "ARCH = linux-beowulf-mpi" \ - "CFLAGS = -m32 -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DMPI $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm" - -# Linux x86 using LAM MPI -linux-lam: - $(MAKE) all \ - "ARCH = linux-lam" \ - "CC = hcc" \ - "CFLAGS = -m486 -Wall -O3 -fomit-frame-pointer -ffast-math -I$(LAMHOME)/h -DLinux -DMPI $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon -lmpi $(MISCLIB) -lm" - -# Linux AMD64/EM64T using LAM MPI -linux-lam-64: - $(MAKE) all \ - "ARCH = linux-lam-64" \ - "CC = hcc" \ - "CFLAGS = -m64 -Wall -O3 -fomit-frame-pointer -ffast-math -I$(LAMHOME)/h -DLinux -DMPI -DLP64 $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon -lmpi $(MISCLIB) -lm" - -linux-mpi: - $(MAKE) all \ - "ARCH = linux-mpi" \ - "CC = mpicc" \ - "CFLAGS = -DLinux -DMPI $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -linux-mpi-thr: - $(MAKE) all \ - "ARCH = linux-mpi-thr" \ - "CC = mpicc" \ - "CFLAGS = -DLinux -DMPI -DTHR $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -linux-mpi-64: - $(MAKE) all \ - "ARCH = linux-mpi-64" \ - "CC = mpicc" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -I$(LAMHOME)/h -DLinux -DMPI -DLP64 $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon $(MISCLIB) -lm" - - - -# Linux AMD64/EM64T using LAM MPI, with OpenGL display -linux-lam-64-ogl: - $(MAKE) all \ - "ARCH = linux-lam-64-ogl" \ - "CC = hcc" \ - "CFLAGS = -m64 -Wall -O3 -fomit-frame-pointer -ffast-math -I$(LAMHOME)/h -DLinux -DMPI -DLP64 -DUSEOPENGL $(LINUX_GLX_INCS) $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon -lmpi $(LINUX_GLX_LIBS) $(MISCLIB) -lm" - -# Linux x86 using LAM MPI and threads -linux-lam-thr: - $(MAKE) all \ - "ARCH = linux-lam-thr" \ - "CC = hcc" \ - "CFLAGS = -m486 -Wall -O3 -fomit-frame-pointer -ffast-math -I$(LAMHOME)/h -DLinux -DMPI -DTHR -D_REENTRANT $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -L$(LAMHOME)/lib -ltachyon -lmpi $(MISCLIB) -lm -lpthread" - -# Linux on iPaq, using gcc -linux-ipaq: - $(MAKE) all \ - "ARCH = linux-ipaq" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux PPC using gcc -linux-ppc: - $(MAKE) all \ - "ARCH = linux-ppc" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux PPC using gcc -linux-ps2: - $(MAKE) all \ - "ARCH = linux-ps2" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux Alpha using gcc -linux-alpha: - $(MAKE) all \ - "ARCH = linux-alpha" \ - "CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux $(MISCFLAGS)" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux Alpha using Compaq's compilers -linux-alpha-ccc: - $(MAKE) all \ - "ARCH = linux-alpha-ccc" \ - "CC = ccc" \ - "CFLAGS = -std1 -fast -O4 -arch host -tune host -w0 -verbose -DLinux $(MISCFLAGS)" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux Alpha using Compaq's compilers, and the Quadrics MPI implementation -linux-alpha-ccc-qsw: - $(MAKE) all \ - "ARCH = linux-alpha-ccc" \ - "CC = ccc" \ - "CFLAGS = -std1 -fast -O4 -arch host -tune host -w0 -verbose -DLinux -DMPI $(MISCFLAGS) -I/usr/lib/mpi/include" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lelan -lmpi -L/usr/lib/mpi/lib" - -# Linux IA-64 using gcc (Merced, Itanium, McKinley, etc) -linux-ia64: - $(MAKE) all \ - "ARCH = linux-ia64" \ - "CFLAGS = -O3 -DLinux $(MISCFLAGS) -DLP64" \ - "ARFLAGS = r" \ - "STRIP = echo" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux IA-64 using SGI compilers (Merced, Itanium, McKinley, etc) -linux-ia64-sgicc: - $(MAKE) all \ - "ARCH = linux-ia64-sgicc" \ - "CC = sgicc" \ - "CFLAGS = -O3 -DLinux $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm" - -# Linux IA-64 using gcc compilers and threads (Merced, Itanium, McKinley, etc) -linux-ia64-thr: - $(MAKE) all \ - "ARCH = linux-ia64-thr" \ - "CFLAGS = -O3 -DLinux -DTHR -D_REENTRANT $(MISCFLAGS) -DLP64" \ - "ARFLAGS = r" \ - "STRIP = echo" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -# Linux IA-64 using SGI compilers and threads (Merced, Itanium, McKinley, etc) -linux-ia64-thr-sgicc: - $(MAKE) all \ - "ARCH = linux-ia64-thr-sgicc" \ - "CC = sgicc" \ - "CFLAGS = -O3 -DLinux -DTHR -D_REENTRANT $(MISCFLAGS) -DLP64" \ - "AR = ar" \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "RANLIB = ranlib" \ - "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" - -## -## IVEC SGI altix (by Paul Bourke) -## XXX Paul mentioned that enabling -DTHR gave him crashes and difficulties -## during MPI_Finalize() calls, need to look into that. -## -sgi-altix-mpi: - $(MAKE) all \ - "ARCH = sgi-altix-mpi" \ - "CFLAGS = -Wall -O3 -DLinux -DMPI " \ - "ARFLAGS = r" \ - "STRIP = strip" \ - "LIBS = -ltachyon -lmpi $(MISCLIB) -lm " - -## -## CSPI PowerPC Based Multicomputers Running VXWORKS -## This configuration works for the machine at MPI Software Technologies -## Uses MSTI MPI/Pro for message passing. -## -cspi-ppc-mpi: - $(MAKE) all \ - "ARCH = cspi-ppc-mpi" \ - "CC = ccppc" \ - "CFLAGS = -O3 -fomit-frame-pointer -ffast-math -DCPU=PPC603 -DVXWORKS -I$(WIND_BASE)/target/h -I/home/projects/CSPI/mpi_pro/include -DMPI $(MISCFLAGS)" \ - "AR = arppc" \ - "ARFLAGS = -r" \ - "STRIP = /bin/touch" \ - "LIBS = -nostartfiles -Wl,-r -L. -L/home/projects/CSPI/mpi_pro/lib/ppc603/bdmp -ltachyon -lmpi" - - -## -## Mercury PowerPC Based Multicomputers Running MCOS -## This configuration works for the machine at MPI Software Technologies -## Uses MSTI MPI/Pro for message passing. -## -mercury-ppc-mpi: - $(MAKE) all \ - "ARCH = mercury-ppc-mpi" \ - "CC = ccmc -t ppc -x " \ - "CFLAGS = -w0 -Ot -to ppc:c:-O3,-fomit-frame-pointer,-ffast-math -I/opt/MPIPro/include -DMPI -DMCOS $(MISCFLAGS)" \ - "AR = armc" \ - "ARFLAGS = -r" \ - "STRIP = /bin/touch" \ - "LIBS = -L. -L/opt/MPIPro/lib ../compile/mercury-ppc-mpi/libmgf.a ../compile/mercury-ppc-mpi/libray.a -lmpi.appc" - -mercury-ppc-mpi-rtvi: - (cd ../librtvi; $(MAKE);); - $(MAKE) all \ - "ARCH = mercury-ppc-mpi-rtvi" \ - "CC = ccmc -t ppc -x " \ - "CFLAGS = -w0 -Ot -to ppc:c:-O3,-fomit-frame-pointer,-ffast-math -I/opt/MPIPro/include -DMPI -DMCOS -DUSESINGLEFLT -DUSERTVI $(RTVIINC)" \ - "AR = armc" \ - "ARFLAGS = -r" \ - "STRIP = /bin/touch" \ - "LIBS = -L. -L/opt/MPIPro/lib ../compile/mercury-ppc-mpi-rtvi/libmgf.a ../compile/mercury-ppc-mpi-rtvi/libray.a $(RTVILIB) -lmpi.appc" - @echo "Note: Remember to link ray.ppc -> ray before your first run." - @echo " Also, copy your machines file into your CWD." - -## -## Mercury i860 Based Multicomputers Running MCOS -## Single CPU build, with RTVI video output. -## -mercury-i860-rtvi: - $(MAKE) all \ - "ARCH = mercury-i860-rtvi" \ - "CC = ccmc -t i860 -x " \ - "CFLAGS = -w0 -Ot -DMCOS $(MISCFLAGS)" \ - "AR = armc" \ - "ARFLAGS = -r" \ - "STRIP = /bin/touch" \ - "LIBS = -L. ../compile/mercury-i860-rtvi/libmgf.a ../compile/mercury-i860-rtvi/libray.a" - -## -## Mercury i860 Based Multicomputers Running MCOS -## This configuration works for the machine at MPI Software Technologies -## Uses MSTI MPI/Pro for message passing. -## -mercury-i860-mpi: - $(MAKE) all \ - "ARCH = mercury-i860-mpi" \ - "CC = ccmc -t i860 -x " \ - "CFLAGS = -w0 -Ot -I/opt/MPIPro/include -DMPI -DMCOS $(MISCFLAGS)" \ - "AR = armc" \ - "ARFLAGS = -r" \ - "STRIP = /bin/touch" \ - "LIBS = -L. -L/opt/MPIPro/lib ../compile/mercury-i860-mpi/libmgf.a ../compile/mercury-i860-mpi/libray.a -lmpi" - diff --git a/build/pkgs/tachyon/patches/Make-arch.patch b/build/pkgs/tachyon/patches/Make-arch.patch index c2dd0de8798..8dc65b68329 100644 --- a/build/pkgs/tachyon/patches/Make-arch.patch +++ b/build/pkgs/tachyon/patches/Make-arch.patch @@ -1,5 +1,5 @@ ---- src/unix/Make-arch 2011-03-13 07:01:07.000000000 -0400 -+++ patches/Make-arch 2011-06-22 12:32:58.000000000 -0400 +--- a/unix/Make-arch 2011-03-13 11:01:07.000000000 +0000 ++++ b/unix/Make-arch 2016-07-04 15:29:30.502923000 +0000 @@ -7,7 +7,8 @@ # Some machines don't have/need ranlib, in their case, use 'touch' @@ -20,7 +20,7 @@ @echo " aix-64-thr - IBM AIX 5.x POSIX Threads, 64-bit " @echo " aix-mpi - IBM AIX 5.x (SP) MPI " @echo " asci-red-mpi - Intel ASCI Red MPI " -@@ -32,6 +34,7 @@ +@@ -32,11 +34,12 @@ @echo " cray-t3e-mpi - Cray T3E MPI " @echo " cray-xt3-mpi - Cray XT3 MPI " @echo " compaq-alphasc-mpi - Lemieux at PSC MPI " @@ -28,14 +28,34 @@ @echo " hpux-thr - HP/UX 11.x POSIX Threads " @echo " hpux-ia64-thr - HP-UX IA-64, HP C, POSIX Threads " @echo " irix6-thr - SGI IRIX 6.5.x POSIX Threads " -@@ -52,6 +55,7 @@ - @echo " solaris-mpi - Sun Solaris 9/10 MPI (MPICH) " - @echo " solaris-lam - Sun Solaris 9/10 MPI (OSC LAM) " - @echo " solaris-thr - Sun Solaris 9/10 UI/Sun Threads " + @echo " irix6-64-thr - SGI IRIX 6.5.x POSIX Threads, 64-bit " +- @echo " linux-beowulf-mpi - Scyld Linux MPI " ++ @echo " linux-beowulf-mpi - Scyld Linux MPI " + @echo " linux-alpha-ccc-qsw - Linux Alpha, Compaq C, MPI, QSWnet " + @echo " linux-lam - Linux MPI (OSC LAM) " + @echo " linux-lam-64 - Linux AMD64/EM64T, MPI, 64-bit " +@@ -48,13 +51,14 @@ + @echo "linux-ia64-thr-sgicc - Linux IA-64, SGI Pro64 Compilers " + @echo " macosx-thr - MacOS X PowerPC, POSIX Threads " + @echo " macosx-x86-thr - MacOS X Intel x86, POSIX Threads " +- @echo " solaris-ultra-hpc - Sun Solaris 9/10 ClusterTools 4.0 MPI " +- @echo " solaris-mpi - Sun Solaris 9/10 MPI (MPICH) " +- @echo " solaris-lam - Sun Solaris 9/10 MPI (OSC LAM) " +- @echo " solaris-thr - Sun Solaris 9/10 UI/Sun Threads " +- @echo " solaris-ultra-thr - Sun Solaris 9/10 UI/Sun Threads, US-1/2" +- @echo " solaris-ultra3-thr - Sun Solaris 9/10 UI/Sun Threads, US-III" +- @echo " solaris-64-thr - Sun Solaris 9/10 UI/Sun Threads, 64-bit" ++ @echo " solaris-ultra-hpc - Sun Solaris 9/10 ClusterTools 4.0 MPI " ++ @echo " solaris-mpi - Sun Solaris 9/10 MPI (MPICH) " ++ @echo " solaris-lam - Sun Solaris 9/10 MPI (OSC LAM) " ++ @echo " solaris-thr - Sun Solaris 9/10 UI/Sun Threads " + @echo "solaris-pthreads-gcc-64-bit - 64-bit (should work on SPARC or x64)" - @echo " solaris-ultra-thr - Sun Solaris 9/10 UI/Sun Threads, US-1/2" - @echo " solaris-ultra3-thr - Sun Solaris 9/10 UI/Sun Threads, US-III" - @echo " solaris-64-thr - Sun Solaris 9/10 UI/Sun Threads, 64-bit" ++ @echo " solaris-ultra-thr - Sun Solaris 9/10 UI/Sun Threads, US-1/2" ++ @echo " solaris-ultra3-thr - Sun Solaris 9/10 UI/Sun Threads, US-III" ++ @echo " solaris-64-thr - Sun Solaris 9/10 UI/Sun Threads, 64-bit" + @echo "--------------------------------------------------------------" + @echo " Hybrid Parallel Versions " + @echo "" @@ -63,9 +67,11 @@ @echo "--------------------------------------------------------------" @echo " Sequential Versions " @@ -50,7 +70,72 @@ @echo " irix6 - SGI Irix 6.x " @echo " linux - Linux " @echo " linux-64 - Linux, AMD64/EM64T, GCC 3.x, 64-bit " -@@ -296,9 +302,7 @@ +@@ -102,7 +108,7 @@ + @echo "Consult the README file in this directory for further info. " + + ## +-## Intel ASCI Red (Janus) using MPI. ++## Intel ASCI Red (Janus) using MPI. + ## No pthreads on ASCI Red yet. I didn't bother with the cop() stuff + ## + asci-red-mpi: +@@ -118,7 +124,7 @@ + + ## + ## IBM Blue Gene/L Parallel Supercomputer +-## ++## + ## NOTE: strip breaks bluegene executables, they are dynamically re-linked + ## at runtime, so we must use /bin/true rather than strip + ## +@@ -137,7 +143,7 @@ + ## Cray Parallel Vector Processor Machines Using Threads + ## + ## Tested on J90s, but should work on almost any of the Cray PVP systems. +-## Note: This code is not currently vectorized, and you may be better ++## Note: This code is not currently vectorized, and you may be better + ## off running on a fast workstation, or even better, on a T3E!!! + ## + cray-thr: +@@ -228,7 +234,7 @@ + ## + ## Architecture flags for the Intel Paragon XP/S Supercomputer using MPI + ## for message passing. NX is no longer supported by this software. +-## Configurations supporting systems with MP-3 nodes are listed, ++## Configurations supporting systems with MP-3 nodes are listed, + ## Concurrent I/O is used by default. + ## + +@@ -264,8 +270,8 @@ + + + ## +-## Architecture flags for the Intel iPSC/860 Multicomputer using MPI +-## for message passing. NX is no longer supported by this software. ++## Architecture flags for the Intel iPSC/860 Multicomputer using MPI ++## for message passing. NX is no longer supported by this software. + ## Tested with the mpich distribution from Argonne National Labs + ## + +@@ -277,7 +283,7 @@ + "AR = ar860" \ + "ARFLAGS = r" \ + "STRIP = strip860" \ +- "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" ++ "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" + + ipsc860-mpi-debug: + $(MAKE) all \ +@@ -287,7 +293,7 @@ + "AR = ar860" \ + "ARFLAGS = r" \ + "STRIP = touch " \ +- "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" ++ "LIBS = -L. -L$(MPILIB)/intelnx/ch_nx -ltachyon -lmpi $(MISCLIB) -lm" + + + ## +@@ -296,22 +302,18 @@ tru64-alpha: $(MAKE) all \ "ARCH = tru64-alpha" \ @@ -60,7 +145,11 @@ "ARFLAGS = r" \ "STRIP = strip" \ "LIBS = -non_shared -om -L. -ltachyon $(MISCLIB) -lm" -@@ -309,9 +313,7 @@ + + ## +-## OSF1 / Digital Unix 4.0b on Alpha processors with POSIX Threads ++## OSF1 / Digital Unix 4.0b on Alpha processors with POSIX Threads + ## tru64-alpha-thr: $(MAKE) all \ "ARCH = tru64-alpha-thr" \ @@ -80,6 +169,24 @@ "ARFLAGS = r" \ "STRIP = strip" \ "LIBS = -L. -ltachyon $(TRU64_GLX_LIBS) $(MISCLIB) -lm" +@@ -448,7 +448,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" ++ "LIBS = -L. -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" + + solaris-mpi: + $(MAKE) all \ +@@ -458,7 +458,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -L$(MPILIB)/solaris/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" ++ "LIBS = -L. -L$(MPILIB)/solaris/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm -lsocket -lnsl" + + solaris-thr: + $(MAKE) all \ @@ -473,9 +473,15 @@ solaris-pthreads-gcc: $(MAKE) all \ @@ -98,6 +205,15 @@ "ARFLAGS = r" \ "STRIP = strip" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" +@@ -618,7 +624,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon -lmpi $(MISCLIB) $(SOLARIS_GLX_LIBS) $(MISCLIB) -lm -lsocket -lnsl" ++ "LIBS = -L. -ltachyon -lmpi $(MISCLIB) $(SOLARIS_GLX_LIBS) $(MISCLIB) -lm -lsocket -lnsl" + + solaris-ultra-pthreads-ogl: + $(MAKE) all \ @@ -643,9 +649,7 @@ solaris-gcc-thr: $(MAKE) all \ @@ -118,12 +234,66 @@ "ARFLAGS = r" \ "STRIP = touch" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lsocket $(X11LIB) -lthread" +@@ -701,7 +703,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -L$(MPILIB)/IRIX/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm" ++ "LIBS = -L. -L$(MPILIB)/IRIX/ch_p4 -ltachyon -lmpi $(MISCLIB) -lm" + + irix5: + $(MAKE) all \ +@@ -710,7 +712,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon $(MISCLIB) -lm" ++ "LIBS = -L. -ltachyon $(MISCLIB) -lm" + + irix6: + $(MAKE) all \ +@@ -719,7 +721,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon $(MISCLIB) -lm" ++ "LIBS = -L. -ltachyon $(MISCLIB) -lm" + + irix6-purify: + $(MAKE) all \ +@@ -738,7 +740,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" ++ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" + + irix6-thr: + $(MAKE) all \ +@@ -747,7 +749,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" ++ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" + + irix6-thr-purify: + $(MAKE) all \ +@@ -766,7 +768,7 @@ + "AR = ar" \ + "ARFLAGS = r" \ + "STRIP = strip" \ +- "LIBS = -L. -ltachyon $(IRIX_GLX_LIBS) $(MISCLIB) -lm -lpthread" ++ "LIBS = -L. -ltachyon $(IRIX_GLX_LIBS) $(MISCLIB) -lm -lpthread" + + + ## @@ -776,6 +778,8 @@ ## available yet, since access to a thread capable test machine is needed ## for implementation. These configurations require xlc. ## +## The AIX and HP-UX target for generic compilers (e.g. gcc) have not been -+## properly tested. ++## properly tested. aix: @@ -131,9 +301,9 @@ "STRIP = strip" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm" -+# The aix-generic target has not been tested. ++# The aix-generic target has not been tested. +# It should work with gcc and perhaps other -+# compilers, as the compiler name is not ++# compilers, as the compiler name is not +# hard-coded. As long as CFLAGS are set properly +# it should work both 32-bit and 64-bit. +aix-generic: @@ -151,12 +321,12 @@ "STRIP = strip" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" -+# The aix-generic-thr target has not been tested. ++# The aix-generic-thr target has not been tested. +# It should work with gcc and perhaps other -+# compilers, as the compiler name is not ++# compilers, as the compiler name is not +# hard-coded. As long as CFLAGS are set properly +# it should work both 32-bit and 64-bit. -+aix-generic-thr: ++aix-generic-thr: + $(MAKE) all \ + "ARCH = aix-generic-thr" \ + "CFLAGS = $(CFLAGS) -DAIX $(MISCFLAGS) -DTHR -D_REENTRANT" \ @@ -171,9 +341,9 @@ "STRIP = strip" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm" -+# The hpux-generic target has not been tested. ++# The hpux-generic target has not been tested. +# It should work with gcc and perhaps other -+# compilers, as the compiler name is not ++# compilers, as the compiler name is not +# hard-coded. As long as CFLAGS are set properly +# it should work both 32-bit and 64-bit. +hpux-generic: @@ -184,9 +354,9 @@ + "STRIP = strip" \ + "LIBS = -L. -ltachyon $(MISCLIB) -lm" + -+# The hpux-generic-thr target has not been tested. ++# The hpux-generic-thr target has not been tested. +# It should work with gcc and perhaps other -+# compilers, as the compiler name is not ++# compilers, as the compiler name is not +# hard-coded. As long as CFLAGS are set properly +# it should work both 32-bit and 64-bit. +hpux-generic-thr: @@ -413,7 +583,7 @@ "LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread" -@@ -1081,12 +1094,9 @@ +@@ -1081,17 +1094,14 @@ linux-p4: $(MAKE) all \ "ARCH = linux-p4" \ @@ -426,6 +596,13 @@ "LIBS = -L. -ltachyon $(MISCLIB) -lm" # Linux x86, on Intel P4 using Intel C 8.0 +-# "CFLAGS = -axN -fast -ansi_alias -DLinux $(MISCFLAGS)" +-# "CFLAGS = -restrict -O3 -tpp7 -vec_report3 -xiMKW -ip -unroll -static -DLinux $(MISCFLAGS)" ++# "CFLAGS = -axN -fast -ansi_alias -DLinux $(MISCFLAGS)" ++# "CFLAGS = -restrict -O3 -tpp7 -vec_report3 -xiMKW -ip -unroll -static -DLinux $(MISCFLAGS)" + linux-p4-icc: + $(MAKE) all \ + "ARCH = linux-p4-icc" \ @@ -1119,23 +1129,17 @@ linux-athlon: $(MAKE) all \ @@ -542,7 +719,8 @@ - "RANLIB = ranlib" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm" - # Linux PPC using gcc +-# Linux PPC using gcc ++# Linux PPC using gcc linux-ppc: $(MAKE) all \ "ARCH = linux-ppc" \ @@ -554,7 +732,8 @@ - "RANLIB = ranlib" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm" - # Linux PPC using gcc +-# Linux PPC using gcc ++# Linux PPC using gcc linux-ps2: $(MAKE) all \ "ARCH = linux-ps2" \ @@ -566,7 +745,8 @@ - "RANLIB = ranlib" \ "LIBS = -L. -ltachyon $(MISCLIB) -lm" - # Linux Alpha using gcc +-# Linux Alpha using gcc ++# Linux Alpha using gcc linux-alpha: $(MAKE) all \ "ARCH = linux-alpha" \ @@ -617,3 +797,39 @@ "ARFLAGS = r" \ "STRIP = strip" \ "LIBS = -ltachyon -lmpi $(MISCLIB) -lm " +@@ -1432,7 +1399,7 @@ + ## CSPI PowerPC Based Multicomputers Running VXWORKS + ## This configuration works for the machine at MPI Software Technologies + ## Uses MSTI MPI/Pro for message passing. +-## ++## + cspi-ppc-mpi: + $(MAKE) all \ + "ARCH = cspi-ppc-mpi" \ +@@ -1448,7 +1415,7 @@ + ## Mercury PowerPC Based Multicomputers Running MCOS + ## This configuration works for the machine at MPI Software Technologies + ## Uses MSTI MPI/Pro for message passing. +-## ++## + mercury-ppc-mpi: + $(MAKE) all \ + "ARCH = mercury-ppc-mpi" \ +@@ -1469,7 +1436,7 @@ + "ARFLAGS = -r" \ + "STRIP = /bin/touch" \ + "LIBS = -L. -L/opt/MPIPro/lib ../compile/mercury-ppc-mpi-rtvi/libmgf.a ../compile/mercury-ppc-mpi-rtvi/libray.a $(RTVILIB) -lmpi.appc" +- @echo "Note: Remember to link ray.ppc -> ray before your first run." ++ @echo "Note: Remember to link ray.ppc -> ray before your first run." + @echo " Also, copy your machines file into your CWD." + + ## +@@ -1490,7 +1457,7 @@ + ## Mercury i860 Based Multicomputers Running MCOS + ## This configuration works for the machine at MPI Software Technologies + ## Uses MSTI MPI/Pro for message passing. +-## ++## + mercury-i860-mpi: + $(MAKE) all \ + "ARCH = mercury-i860-mpi" \ diff --git a/build/pkgs/tachyon/patches/Make-config b/build/pkgs/tachyon/patches/Make-config deleted file mode 100644 index 30ae7e1eed2..00000000000 --- a/build/pkgs/tachyon/patches/Make-config +++ /dev/null @@ -1,191 +0,0 @@ -# Makefile configuration for the Tachyon ray tracing library. -# Copyright 1994-2007 John E. Stone -# All Rights Reserved -# -# $Id: Make-config,v 1.53 2007/01/24 08:15:44 johns Exp $ -# - - -# -# Raytracer configuration variables -# Edit any of these settings as needed to configure directories -# and source areas for your system. -# Important items to edit are the X11 configuration and MPI -# - - -########################################################################## -# Bourne Shell Configuration: -# set SHELL=/bin/sh or wherever your bourne shell is -########################################################################## -SHELL=/bin/sh - - - -########################################################################## -# X-Windows Configuration: -# For use with sequential binaries only, tested on Suns only so far.. -# (pops up a display window while rendering is in progress) -########################################################################## - -# The following line should be set to -Ixxx where xxx is your X11 include path -# Sun puts X11 in /usr/openwin/xxx -X11INC= -I/usr/openwin/include - -# Others typically use /usr/X11 or /usr/X11R6 -#X11INC= -I/usr/X11 - -# The following line should be set to -lX11 or whatever your X library is. -X11LIB= -lX11 - - -########################################################################## -# X-Windows + Motif Configuration: -########################################################################## -#MOTIFINC = -I/usr/dt/include -#MOTIFLIB = -L/usr/dt/lib -lXm - - -########################################################################## -# MPI Configuration: -# Set MPIDIR to the directory where your MPI distribution is installed. -# -# MPI libraries are available from: -# http://www.mcs.anl.gov/mpi/ -# http://www.mcs.anl.gov/mpi/mpich/ -# http://www.lam-mpi.org/ -########################################################################## - -# Standard MPICH installation location -MPIDIR=/usr/local/mpi - -# UMR CS Dept -#MPIDIR=/software/all/mpi - -# Default Paragon XP/S location -#MPIDIR=/usr - -# Cornell Theory Center SP-2 splogin.tc.cornell.edu -#MPIDIR=/usr/local/app/mpich - - -########################################################################## -# Floating point configuration: -# Leaving this blank will cause the library to use double precision floats -# Setting -DUSESINGLEFLT causes the library to use single precision floats -########################################################################## -# Uncomment the following line for double precision floating point math -# uses about twice as much memory per object as single precision math. -FLT= -# Uncomment the following line for single precision floating point math, -# uses about half as much memory per object as double precision math. -#FLT= -DUSESINGLEFLT - - -########################################################################## -# Object mailbox storage configuration: -# Leaving this blank will cause the library to use auxiliary mailbox data -# structures for improving the effectiveness of grid-based ray tracing. -# Setting -DDISABLEMBOX will cause the library to disable this feature. -########################################################################## -# Uncomment the following line for full mailbox data structure use, this -# uses a per-thread mailbox array, or either 4 or 8 bytes per scene object, -# depending on whether -LP64 is defined. -MBOX= -# Uncomment the following line to disable the use of mailbox data structures, -# this eliminates per-thread storage normally allocated for the mailbox -# data structure, but may incur a rendering speed penalty. -#MBOX=-DDISABLEMBOX - - -########################################################################## -# JPEG support configuration: -# JPEGINC is the directory where your Independent JPEG Group include files -# are made available. JPEGLIB is the directory where your Independent -# JPEG Group libraries are made available. -# -# IJG JPEG library version 6b can be downloaded from: -# http://www.ijg.org/files/ -########################################################################## -# Uncomment the following lines to disable JPEG support -USEJPEG= -JPEGINC= -JPEGLIB= - -# Uncomment the following lines to enable JPEG support -#USEJPEG= -DUSEJPEG -#JPEGINC= -I/usr/local/include -#JPEGLIB= -L/usr/local/lib -ljpeg - - -########################################################################## -# PNG support configuration: -# PNGINC is the directory where your libpng and libz include files -# are made available. PNGLIB is the directory where your libpng -# and libz libraries are made available. -# -# LibPNG can be downlaoded from: -# http://www.libpng.org/ -########################################################################## -# Uncomment the following lines to disable PNG support -USEPNG= -DUSEPNG -PNGINC= -I$(SAGE_LOCAL)/include -PNGLIB= -L$(SAGE_LOCAL)/lib -lpng12 -lz $(LDFLAGS) - - - -########################################################################## -# OMF (Open Media Framework) configuration -# Requires OMF Toolkit version 2.x -########################################################################## -#OMFDIR = /disk5/users/johns/graphics/OMFKT202/Toolkit -#OMFINC = -I$(OMFDIR)/include -I$(OMFDIR)/kitomfi -I$(OMFDIR)/bento -I$(OMFDIR)/jpeg -I$(OMFDIR)/portinc -I$(OMFDIR)/avidjpg -#OMFLIB = -L$(OMFDIR)/DO_sun5_opt/usr/lib -lAJPG -lOMFI -lbento -ljpeg -#OMFDEF = -DUSEOMF - - -########################################################################## -# RTVI configuration (Synergy RTVI/ETVI attached framebuffers) -# Currently only supported for Mercury PowerPC multicomputers -########################################################################## -RTVI_HOME = /home/staff/cdtaylor/synergy/REL0.0 -RTVIINC = -I../librtvi -RTVILIB = -L../librtvi -lrtvictrl.appc -letvi_lib_mcos.appc - - -########################################################################## -# Spaceball I/O library configuration: -# A spaceball can used for fly-throughs of scenes when running on -# a fast multiprocessor, parallel machine, or PC cluster. -# -# Libsball can be downloaded from: -# http://jedi.ks.uiuc.edu/~johns/projects/libsball -########################################################################## -#SPACEBALL_HOME = ../../libsball -#SPACEBALLINC = -DUSESPACEBALL -I$(SPACEBALL_HOME) -#SPACEBALLLIB = -L$(SPACEBALL_HOME) -lsball - - -########################################################################## -# MGF Materials and Geometry Format scene parser library -# If enabled, this allows Tachyon to read MGF scene files using -# compiled-in MGF scene parser code. -########################################################################## -#MGFDIR=../../libmgf -#MGFLIB=${MGFDIR}/libmgf.a -#MGFLIBDIR=${MGFDIR} -#MGFINC=-I${MGFDIR} -DUSELIBMGF - - -########################################################################## -# Location of source files -########################################################################## -SRCDIR=../src - - -########################################################################## -# Location of demo program source files -########################################################################## -DEMOSRC=../demosrc - - diff --git a/build/pkgs/tachyon/patches/Make-config.patch b/build/pkgs/tachyon/patches/Make-config.patch index 6f761876994..7e4bfc156b3 100644 --- a/build/pkgs/tachyon/patches/Make-config.patch +++ b/build/pkgs/tachyon/patches/Make-config.patch @@ -1,21 +1,111 @@ ---- ../src/unix/Make-config 2007-01-24 00:35:44.000000000 -0800 -+++ Make-config 2010-09-03 06:32:11.000000000 -0700 -@@ -128,14 +128,10 @@ +--- a/unix/Make-config 2011-03-13 11:01:07.000000000 +0000 ++++ b/unix/Make-config 2016-07-04 15:29:57.982923000 +0000 +@@ -9,7 +9,7 @@ + # + # Raytracer configuration variables + # Edit any of these settings as needed to configure directories +-# and source areas for your system. ++# and source areas for your system. + # Important items to edit are the X11 configuration and MPI + # + +@@ -62,7 +62,7 @@ + # UMR CS Dept + #MPIDIR=/software/all/mpi + +-# Default Paragon XP/S location ++# Default Paragon XP/S location + #MPIDIR=/usr + + # Cornell Theory Center SP-2 splogin.tc.cornell.edu +@@ -72,7 +72,7 @@ + ########################################################################## + # Floating point configuration: + # Leaving this blank will cause the library to use double precision floats +-# Setting -DUSESINGLEFLT causes the library to use single precision floats ++# Setting -DUSESINGLEFLT causes the library to use single precision floats + ########################################################################## + # Uncomment the following line for double precision floating point math + # uses about twice as much memory per object as single precision math. +@@ -86,7 +86,7 @@ + # Object mailbox storage configuration: + # Leaving this blank will cause the library to use auxiliary mailbox data + # structures for improving the effectiveness of grid-based ray tracing. +-# Setting -DDISABLEMBOX will cause the library to disable this feature. ++# Setting -DDISABLEMBOX will cause the library to disable this feature. + ########################################################################## + # Uncomment the following line for full mailbox data structure use, this + # uses a per-thread mailbox array, or either 4 or 8 bytes per scene object, +@@ -94,15 +94,15 @@ + MBOX= + # Uncomment the following line to disable the use of mailbox data structures, + # this eliminates per-thread storage normally allocated for the mailbox +-# data structure, but may incur a rendering speed penalty. ++# data structure, but may incur a rendering speed penalty. + #MBOX=-DDISABLEMBOX + + + ########################################################################## + # JPEG support configuration: + # JPEGINC is the directory where your Independent JPEG Group include files +-# are made available. JPEGLIB is the directory where your Independent +-# JPEG Group libraries are made available. ++# are made available. JPEGLIB is the directory where your Independent ++# JPEG Group libraries are made available. + # + # IJG JPEG library version 6b can be downloaded from: + # http://www.ijg.org/files/ +@@ -122,29 +122,25 @@ + # PNG support configuration: + # PNGINC is the directory where your libpng and libz include files + # are made available. PNGLIB is the directory where your libpng +-# and libz libraries are made available. ++# and libz libraries are made available. + # + # LibPNG can be downlaoded from: # http://www.libpng.org/ ########################################################################## # Uncomment the following lines to disable PNG support -USEPNG= -PNGINC= -PNGLIB= -- ++USEPNG= -DUSEPNG ++PNGINC= -I$(SAGE_LOCAL)/include ++PNGLIB= -L$(SAGE_LOCAL)/lib -lpng12 -lz $(LDFLAGS) + -# Uncomment the following lines to enable PNG support -#USEPNG= -DUSEPNG -#PNGINC= -I/usr/local/include -#PNGLIB= -L/usr/local/lib -lpng -lz -+USEPNG= -DUSEPNG -+PNGINC= -I$(SAGE_LOCAL)/include -+PNGLIB= -L$(SAGE_LOCAL)/lib -lpng12 -lz $(LDFLAGS) -+ ########################################################################## +-# OMF (Open Media Framework) configuration ++# OMF (Open Media Framework) configuration + # Requires OMF Toolkit version 2.x + ########################################################################## + #OMFDIR = /disk5/users/johns/graphics/OMFKT202/Toolkit + #OMFINC = -I$(OMFDIR)/include -I$(OMFDIR)/kitomfi -I$(OMFDIR)/bento -I$(OMFDIR)/jpeg -I$(OMFDIR)/portinc -I$(OMFDIR)/avidjpg +-#OMFLIB = -L$(OMFDIR)/DO_sun5_opt/usr/lib -lAJPG -lOMFI -lbento -ljpeg ++#OMFLIB = -L$(OMFDIR)/DO_sun5_opt/usr/lib -lAJPG -lOMFI -lbento -ljpeg + #OMFDEF = -DUSEOMF + + +@@ -159,7 +155,7 @@ + + ########################################################################## + # Spaceball I/O library configuration: +-# A spaceball can used for fly-throughs of scenes when running on ++# A spaceball can used for fly-throughs of scenes when running on + # a fast multiprocessor, parallel machine, or PC cluster. + # + # Libsball can be downloaded from: +@@ -172,7 +168,7 @@ + + ########################################################################## + # MGF Materials and Geometry Format scene parser library +-# If enabled, this allows Tachyon to read MGF scene files using ++# If enabled, this allows Tachyon to read MGF scene files using + # compiled-in MGF scene parser code. + ########################################################################## + #MGFDIR=../../libmgf diff --git a/build/pkgs/tachyon/patches/main.c b/build/pkgs/tachyon/patches/main.c deleted file mode 100644 index 2909b569e0c..00000000000 --- a/build/pkgs/tachyon/patches/main.c +++ /dev/null @@ -1,458 +0,0 @@ -/* - * main.c - This file contains the main program and driver for the raytracer. - * - * $Id: main.c,v 1.76 2010/01/18 19:36:34 johns Exp $ - */ - -#include -#include -#include - -#include "tachyon.h" /* The Tachyon ray tracing library API */ -#include "getargs.h" /* command line argument/option parsing */ -#include "parse.h" /* Support for my own scene file format */ -#include "nffparse.h" /* Support for NFF files, as in SPD */ -#include "ac3dparse.h" /* Support for AC3D files */ -#include "mgfparse.h" /* Support for MGF files */ - -#ifdef USEOPENGL -#include "glwin.h" /* OpenGL run-time display code */ -#endif - -#ifdef USERTVI -#include "rtvi_iface.h" /* Synergy RTVI/ETVI Attached Framebuffers */ -#endif - -#ifdef USESPACEBALL -#include "spaceball.h" /* Spaceball fly-through code */ -#endif - -typedef struct { - float x; - float y; - float z; -} floatvec; - - -typedef struct { - int xsize, ysize; - -#if defined(USEOPENGL) || defined(USERTVI) - unsigned char * img; -#endif -#ifdef USEOPENGL - void * glwin; -#endif -#ifdef USERTVI - void * rtviwin; -#endif -} dispHandle; - - -static void my_ui_message(int a, char * msg) { - printf("%s\n", msg); -} - -static void my_ui_progress(int percent) { - printf("\rRendering Progress: %3d%% complete \r", percent); - fflush(stdout); -} - - -/* - * routines for managing runtime display of ray traced scene - */ -static dispHandle * tachyon_display_create(SceneHandle scene) { - dispHandle * dh; - - dh = (dispHandle *) malloc(sizeof(dispHandle)); - - if (dh != NULL) { - memset(dh, 0, sizeof(dispHandle)); - - rt_get_resolution(scene, &dh->xsize, &dh->ysize); - -#if defined(USEOPENGL) || defined(USERTVI) - dh->img = malloc((dh->xsize)*(dh->ysize)*3); - if (dh->img != NULL) { - -#if defined(USEOPENGL) - dh->glwin = glwin_create("Tachyon Parallel/Multiprocessor Ray Tracer", dh->xsize, dh->ysize); -#elif defined(USERTVI) - dh->rtviwin = rt_rtvi_init(dh->xsize, dh->ysize); -#endif - - rt_rawimage_rgb24(scene, dh->img); - } - else { - printf("Couldn't allocate image buffer for framebuffer display!!\n"); - free(dh); - return NULL; - } -#endif - } - - return dh; -} - -static void tachyon_display_draw(dispHandle *dh) { -#if defined(USEOPENGL) - if (dh->img != NULL) { - glwin_handle_events(dh->glwin); - glwin_draw_image(dh->glwin, dh->xsize, dh->ysize, dh->img); - } -#elif defined(USERTVI) - if (dh->img != NULL) - rt_rtvi_displayimage(dh->img, rtviwin); -#endif -} - -static void tachyon_display_delete(dispHandle *dh) { -#if defined(USEOPENGL) || defined(USERTVI) - if (dh->img != NULL) { -#if defined(USEOPENGL) - glwin_destroy(dh->glwin); -#endif - free(dh->img); - } -#endif -} - - -/* - * main loop for creating animations by flying using a spaceball - * or other 3-D input mechanism. - */ -static int fly_scene(argoptions opt, SceneHandle scene, int node) { - dispHandle * dh = NULL; - int done = 0; - int frameno = 0; - float fps; - rt_timerhandle fpstimer; - rt_timerhandle animationtimer; - char outfilename[1]; - -#if defined(USESPACEBALL) - sbHandle * bh = NULL; -#endif - - if (node == 0) - dh = tachyon_display_create(scene); - - rt_set_ui_message(NULL); - rt_set_ui_progress(NULL); - - if (node == 0) - printf("Interactive Camera Flight\n"); - - outfilename[0] = '\0'; - rt_outputfile(scene, outfilename); - - fpstimer=rt_timer_create(); - animationtimer=rt_timer_create(); - -#if defined(USESPACEBALL) - if (node == 0) { -#if 1 - bh = tachyon_init_spaceball(scene, opt.spaceball); -#else - if (rt_numnodes() < 2) { - bh = tachyon_init_spaceball(scene, opt.spaceball); - } else { - printf("WARNING: Spaceball mode disabled when running with distributed memory"); - } -#endif - } -#endif - - rt_timer_start(animationtimer); - while (!done) { - if (frameno != 0) { - rt_timer_stop(fpstimer); - fps = 1.0f / rt_timer_time(fpstimer); - } else { - fps = 0.0; - } - - rt_timer_start(fpstimer); - if (node == 0) { - printf("\rRendering Frame: %9d %10.4f FPS ", frameno, fps); - fflush(stdout); - } - -#if defined(USESPACEBALL) - if (bh != NULL) - done = tachyon_spaceball_update(bh, scene); -#endif - - rt_renderscene(scene); - - if (dh != NULL) - tachyon_display_draw(dh); - - frameno++; - } - - rt_timer_stop(animationtimer); - fps = frameno / rt_timer_time(animationtimer); - - if (node == 0) { - printf("\rCompleted animation of %d frames \n", frameno); - printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", - rt_timer_time(animationtimer), fps); - } - rt_timer_destroy(fpstimer); - - if (node == 0) { - printf("\nFinished Running Camera.\n"); - - if (dh !=NULL) - tachyon_display_delete(dh); - } - - rt_deletescene(scene); /* free the scene */ - rt_finalize(); /* close down the rendering library and MPI */ - - return 0; -} - - - -/* - * main loop for creating animations by playing recorded camera fly-throughs - */ -static int animate_scene(argoptions opt, SceneHandle scene, int node) { - char outfilename[1000]; - FILE * camfp; - dispHandle * dh = NULL; - - if (node == 0) - dh = tachyon_display_create(scene); - - /* if we have a camera file, then animate.. */ - if ((camfp = fopen(opt.camfilename, "r")) != NULL) { - floatvec cv, cu, cc; - apivector cmv, cmu, cmc; - int frameno = 0; - float fps; - rt_timerhandle fpstimer; - rt_timerhandle animationtimer; - - rt_set_ui_message(NULL); - rt_set_ui_progress(NULL); - - if (node == 0) - printf("Running Camera File: %s\n", opt.camfilename); - - fpstimer=rt_timer_create(); - animationtimer=rt_timer_create(); - - rt_timer_start(animationtimer); - - while (!feof(camfp)) { - fscanf(camfp, "%f %f %f %f %f %f %f %f %f", - &cv.x, &cv.y, &cv.z, &cu.x, &cu.y, &cu.z, &cc.x, &cc.y, &cc.z); - - cmv.x = cv.x; cmv.y = cv.y; cmv.z = cv.z; - cmu.x = cu.x; cmu.y = cu.y; cmu.z = cu.z; - cmc.x = cc.x; cmc.y = cc.y; cmc.z = cc.z; - - if (frameno != 0) { - rt_timer_stop(fpstimer); - fps = 1.0f / rt_timer_time(fpstimer); - } else { - fps = 0.0; - } - - rt_timer_start(fpstimer); - outfilename[0] = '\0'; - if (opt.nosave == 1) { - if (node == 0) { - printf("\rRendering Frame: %9d %10.4f FPS ", frameno, fps); - fflush(stdout); - } - } - else { - sprintf(outfilename, opt.outfilename, frameno); - if (node == 0) { - printf("\rRendering Frame to %s (%10.4f FPS) ", outfilename, fps); - fflush(stdout); - } - } - - rt_outputfile(scene, outfilename); - rt_camera_position(scene, cmc, cmv, cmu); - - rt_renderscene(scene); - - if (dh != NULL) - tachyon_display_draw(dh); - - frameno++; - } - rt_timer_stop(animationtimer); - fps = frameno / rt_timer_time(animationtimer); - if (node == 0) { - printf("\rCompleted animation of %d frames \n", frameno); - printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", - rt_timer_time(animationtimer), fps); - } - rt_timer_destroy(fpstimer); - fclose(camfp); - } else { - if (node == 0) { - printf("Couldn't open camera file: %s\n", opt.camfilename); - printf("Aborting render.\n"); - } - rt_deletescene(scene); /* free the scene */ - rt_finalize(); /* close down the rendering library and MPI */ - return -1; - } - - if (node == 0) { - printf("\nFinished Running Camera.\n"); - - if (dh !=NULL) - tachyon_display_delete(dh); - } - - rt_deletescene(scene); /* free the scene */ - rt_finalize(); /* close down the rendering library and MPI */ - - return 0; -} - - - - -#ifdef VXWORKS -int ray(int argc, char **argv) { -#else -int main(int argc, char **argv) { -#endif - SceneHandle scene; - unsigned int rc; - argoptions opt; - char * filename; - int node, fileindex; - rt_timerhandle parsetimer; - size_t len; - - node = rt_initialize(&argc, &argv); - - rt_set_ui_message(my_ui_message); - rt_set_ui_progress(my_ui_progress); - - if (node == 0) { - printf("Tachyon Parallel/Multiprocessor Ray Tracer Version %s \n", - TACHYON_VERSION_STRING); - printf("Copyright 1994-2010, John E. Stone \n"); - printf("------------------------------------------------------------ \n"); - } - - if ((rc = getargs(argc, argv, &opt, node)) != 0) { - rt_finalize(); - exit(rc); - } - - if (opt.numfiles > 1) { - printf("Rendering %d scene files.\n", opt.numfiles); - } - - for (fileindex=0; fileindex 1) { - printf("\nRendering scene file %d of %d, %s\n", fileindex+1, opt.numfiles, filename); - } - - parsetimer=rt_timer_create(); - rt_timer_start(parsetimer); - - len = strlen(filename); - - if (len > 4 && (!strcmp(filename+len-4, ".nff") || - !strcmp(filename+len-4, ".NFF"))) { - rc = ParseNFF(filename, scene); /* must be an NFF file */ - } - else if (len > 3 && (!strcmp(filename+len-3, ".ac") || - !strcmp(filename+len-3, ".AC"))) { - rc = ParseAC3D(filename, scene); /* Must be an AC3D file */ - } -#ifdef USELIBMGF - else if (len > 4 && (!strcmp(filename+len-4, ".mgf") || - !strcmp(filename+len-4, ".MGF"))) { - rc = ParseMGF(filename, scene, 1); /* Must be an MGF file */ - } -#endif - else { - rc = readmodel(filename, scene); /* Assume its a Tachyon scene file */ - } - - rt_timer_stop(parsetimer); - if (rc == PARSENOERR && node == 0) - printf("Scene Parsing Time: %10.4f seconds\n", rt_timer_time(parsetimer)); - rt_timer_destroy(parsetimer); - - if (rc != PARSENOERR && node == 0) { - switch(rc) { - case PARSEBADFILE: - printf("Parser failed due to nonexistent input file: %s\n", filename); - break; - case PARSEBADSUBFILE: - printf("Parser failed due to nonexistent included file.\n"); - break; - case PARSEBADSYNTAX: - printf("Parser failed due to an input file syntax error.\n"); - break; - case PARSEEOF: - printf("Parser unexpectedly hit an end of file.\n"); - break; - case PARSEALLOCERR: - printf("Parser ran out of memory.\n"); - break; - } - if (fileindex+1 < opt.numfiles) - printf("Aborting render, continuing with next scene file...\n"); - else - printf("Aborting render.\n"); - - rt_deletescene(scene); /* free the scene */ - continue; /* process the next scene */ - } - - /* process command line overrides */ - postsceneoptions(&opt, scene); - - /* choose which rendering mode to use */ - if (opt.usecamfile == 1) { - return animate_scene(opt, scene, node); /* fly using prerecorded data */ - } - else if (strlen(opt.spaceball) > 0) { - return fly_scene(opt, scene, node); /* fly with spaceball etc */ - } - else { - if (opt.numfiles > 1 && opt.nosave != 1) { - char multioutfilename[FILENAME_MAX]; - sprintf(multioutfilename, opt.outfilename, fileindex); - rt_outputfile(scene, multioutfilename); - } - - rt_renderscene(scene); /* Render a single frame */ - } - - rt_deletescene(scene); /* free the scene, get ready for next one */ - } - - rt_finalize(); /* close down the rendering library and MPI */ - freeoptions(&opt); /* free parsed command line option data */ - - return 0; -} - - diff --git a/build/pkgs/tachyon/patches/main.c.patch b/build/pkgs/tachyon/patches/main.c.patch index e2f2c4bd8f2..0fb7d406969 100644 --- a/build/pkgs/tachyon/patches/main.c.patch +++ b/build/pkgs/tachyon/patches/main.c.patch @@ -1,15 +1,149 @@ -diff -urN tachyon-0.98.9/src/demosrc/main.c tachyon-0.98.9.p1/src/demosrc/main.c ---- tachyon-0.98.9/src/demosrc/main.c 2010-01-18 20:37:15.000000000 +0100 -+++ tachyon-0.98.9.p1/src/demosrc/main.c 2011-01-13 01:37:52.000000000 +0100 -@@ -336,6 +336,7 @@ +--- a/demosrc/main.c 2011-03-13 11:01:07.000000000 +0000 ++++ b/demosrc/main.c 2016-07-04 15:28:58.422923000 +0000 +@@ -1,4 +1,4 @@ +-/* ++/* + * main.c - This file contains the main program and driver for the raytracer. + * + * $Id: main.c,v 1.76 2010/01/18 19:36:34 johns Exp $ +@@ -31,7 +31,7 @@ + float x; + float y; + float z; +-} floatvec; ++} floatvec; + + + typedef struct { +@@ -88,7 +88,7 @@ + printf("Couldn't allocate image buffer for framebuffer display!!\n"); + free(dh); + return NULL; +- } ++ } + #endif + } + +@@ -119,9 +119,9 @@ + } + + +-/* ++/* + * main loop for creating animations by flying using a spaceball +- * or other 3-D input mechanism. ++ * or other 3-D input mechanism. + */ + static int fly_scene(argoptions opt, SceneHandle scene, int node) { + dispHandle * dh = NULL; +@@ -178,7 +178,7 @@ + if (node == 0) { + printf("\rRendering Frame: %9d %10.4f FPS ", frameno, fps); + fflush(stdout); +- } ++ } + + #if defined(USESPACEBALL) + if (bh != NULL) +@@ -188,18 +188,18 @@ + rt_renderscene(scene); + + if (dh != NULL) +- tachyon_display_draw(dh); ++ tachyon_display_draw(dh); + + frameno++; +- } ++ } + + rt_timer_stop(animationtimer); + fps = frameno / rt_timer_time(animationtimer); + + if (node == 0) { + printf("\rCompleted animation of %d frames \n", frameno); +- printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", +- rt_timer_time(animationtimer), fps); ++ printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", ++ rt_timer_time(animationtimer), fps); + } + rt_timer_destroy(fpstimer); + +@@ -218,7 +218,7 @@ + + + +-/* ++/* + * main loop for creating animations by playing recorded camera fly-throughs + */ + static int animate_scene(argoptions opt, SceneHandle scene, int node) { +@@ -270,7 +270,7 @@ + if (node == 0) { + printf("\rRendering Frame: %9d %10.4f FPS ", frameno, fps); + fflush(stdout); +- } ++ } + } + else { + sprintf(outfilename, opt.outfilename, frameno); +@@ -279,23 +279,23 @@ + fflush(stdout); + } + } +- ++ + rt_outputfile(scene, outfilename); + rt_camera_position(scene, cmc, cmv, cmu); + + rt_renderscene(scene); + + if (dh != NULL) +- tachyon_display_draw(dh); ++ tachyon_display_draw(dh); + + frameno++; +- } ++ } + rt_timer_stop(animationtimer); + fps = frameno / rt_timer_time(animationtimer); + if (node == 0) { + printf("\rCompleted animation of %d frames \n", frameno); +- printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", +- rt_timer_time(animationtimer), fps); ++ printf("Animation Time: %10.4f seconds (Averaged %7.4f FPS)\n", ++ rt_timer_time(animationtimer), fps); + } + rt_timer_destroy(fpstimer); + fclose(camfp); +@@ -336,7 +336,8 @@ char * filename; int node, fileindex; rt_timerhandle parsetimer; +- + size_t len; - ++ node = rt_initialize(&argc, &argv); -@@ -373,14 +374,19 @@ + rt_set_ui_message(my_ui_message); +@@ -346,7 +347,7 @@ + printf("Tachyon Parallel/Multiprocessor Ray Tracer Version %s \n", + TACHYON_VERSION_STRING); + printf("Copyright 1994-2010, John E. Stone \n"); +- printf("------------------------------------------------------------ \n"); ++ printf("------------------------------------------------------------ \n"); + } + + if ((rc = getargs(argc, argv, &opt, node)) != 0) { +@@ -358,7 +359,7 @@ + printf("Rendering %d scene files.\n", opt.numfiles); + } + +- for (fileindex=0; fileindex 0) { + return fly_scene(opt, scene, node); /* fly with spaceball etc */ +- } ++ } + else { + if (opt.numfiles > 1 && opt.nosave != 1) { + char multioutfilename[FILENAME_MAX]; diff --git a/build/pkgs/tachyon/spkg-install b/build/pkgs/tachyon/spkg-install index b98b34b26cf..6c60c79c831 100755 --- a/build/pkgs/tachyon/spkg-install +++ b/build/pkgs/tachyon/spkg-install @@ -8,16 +8,21 @@ fi CUR=`pwd` -# Copy over pre-patched files: -cp patches/main.c src/demosrc && -cp patches/Make-arch src/unix && -cp patches/Make-config src/unix -if [ $? -ne 0 ]; then - echo "Error copying over patched files." - exit 1 -fi +cd "$CUR/src" + +# Apply all patches +for patch in ../patches/*.patch; do + [ -r "$patch" ] || continue # Skip non-existing or non-readable patches + echo "Applying $patch" + patch -p1 <"$patch" + if [ $? -ne 0 ]; then + echo >&2 "Error applying '$patch'" + exit 1 + fi +done + -cd src/unix +cd unix finished() diff --git a/build/pkgs/topcom/dependencies b/build/pkgs/topcom/dependencies new file mode 100644 index 00000000000..7f13f8aa14a --- /dev/null +++ b/build/pkgs/topcom/dependencies @@ -0,0 +1,5 @@ +cddlib + +---------- +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. diff --git a/build/pkgs/traitlets/checksums.ini b/build/pkgs/traitlets/checksums.ini index b64f26cd80b..85a7e935f8e 100644 --- a/build/pkgs/traitlets/checksums.ini +++ b/build/pkgs/traitlets/checksums.ini @@ -1,4 +1,4 @@ tarball=traitlets-VERSION.tar.gz -sha1=07ada203e89cb8be31550225e4947230efba5a17 -md5=f9cc1ad00a793a65d7bc88d69ee65920 -cksum=3474275251 +sha1=c1bb59bbe9424fd4f3ad8363f5f53c42ecdde7e1 +md5=d0725f9818bd9e112a6531da26d433b8 +cksum=3725637001 diff --git a/build/pkgs/traitlets/package-version.txt b/build/pkgs/traitlets/package-version.txt index fae6e3d04b2..af8c8ec7c13 100644 --- a/build/pkgs/traitlets/package-version.txt +++ b/build/pkgs/traitlets/package-version.txt @@ -1 +1 @@ -4.2.1 +4.2.2 diff --git a/build/pkgs/werkzeug/checksums.ini b/build/pkgs/werkzeug/checksums.ini index 756a18fc98c..07b80d44ef4 100644 --- a/build/pkgs/werkzeug/checksums.ini +++ b/build/pkgs/werkzeug/checksums.ini @@ -1,4 +1,4 @@ tarball=Werkzeug-VERSION.tar.gz -sha1=73eea1fafaea078037ccb79ef8678b5f79b665de -md5=e4dbeb6302ce74babc0d7c21fc3d8291 -cksum=2467416624 +sha1=b58b07e7c967b2c4cb4cfa4be644b0ae8acffd7f +md5=780967186f9157e88f2bfbfa6f07a893 +cksum=3715338387 diff --git a/build/pkgs/werkzeug/package-version.txt b/build/pkgs/werkzeug/package-version.txt index 24b197ac924..0521cad14b0 100644 --- a/build/pkgs/werkzeug/package-version.txt +++ b/build/pkgs/werkzeug/package-version.txt @@ -1 +1 @@ -0.11.9 +0.11.10 diff --git a/build/pkgs/widgetsnbextension/checksums.ini b/build/pkgs/widgetsnbextension/checksums.ini index 4a3721f1e3b..82958ece6d5 100644 --- a/build/pkgs/widgetsnbextension/checksums.ini +++ b/build/pkgs/widgetsnbextension/checksums.ini @@ -1,4 +1,4 @@ tarball=widgetsnbextension-VERSION.tar.gz -sha1=88c3128991d39a3df76814be882e88b03427e3f9 -md5=80c325aa4db1cf3bf5c4287898ebab98 -cksum=2304802494 +sha1=620243ee303aa5494f0f37e939446c7b7d3e9293 +md5=96b4adc12e70de9c54b5eb103e1167c8 +cksum=2711627657 diff --git a/build/pkgs/widgetsnbextension/package-version.txt b/build/pkgs/widgetsnbextension/package-version.txt index 23aa8390630..0495c4a88ca 100644 --- a/build/pkgs/widgetsnbextension/package-version.txt +++ b/build/pkgs/widgetsnbextension/package-version.txt @@ -1 +1 @@ -1.2.2 +1.2.3 diff --git a/build/pkgs/xz/SPKG.txt b/build/pkgs/xz/SPKG.txt new file mode 100644 index 00000000000..7a66b43d63e --- /dev/null +++ b/build/pkgs/xz/SPKG.txt @@ -0,0 +1,17 @@ += xz = + +== Description == + +XZ Utils is free general-purpose data compression software with a high compression ratio. + +== License == + +Some parts public domain, +other parts GNU LGPLv2.1, GNU GPLv2, or GNU GPLv3. + +== Upstream Contact == + +http://tukaani.org/xz/ + +== Dependencies == + diff --git a/build/pkgs/xz/checksums.ini b/build/pkgs/xz/checksums.ini new file mode 100644 index 00000000000..b344faf8359 --- /dev/null +++ b/build/pkgs/xz/checksums.ini @@ -0,0 +1,4 @@ +tarball=xz-VERSION.tar.gz +sha1=14663612422ab61386673be78fbb2556f50a1f08 +md5=7cf6a8544a7dae8e8106fdf7addfa28c +cksum=2298486723 diff --git a/build/pkgs/xz/dependencies b/build/pkgs/xz/dependencies new file mode 100644 index 00000000000..3546cda4614 --- /dev/null +++ b/build/pkgs/xz/dependencies @@ -0,0 +1,5 @@ +# no dependencies + +---------- +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. diff --git a/build/pkgs/xz/package-version.txt b/build/pkgs/xz/package-version.txt new file mode 100644 index 00000000000..ce7f2b425b5 --- /dev/null +++ b/build/pkgs/xz/package-version.txt @@ -0,0 +1 @@ +5.2.2 diff --git a/build/pkgs/xz/spkg-check b/build/pkgs/xz/spkg-check new file mode 100644 index 00000000000..a1b7a16476d --- /dev/null +++ b/build/pkgs/xz/spkg-check @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +cd src/ + +if [ "$SAGE_LOCAL" = "" ]; then + echo "SAGE_LOCAL undefined ... exiting"; + echo "Maybe run 'sage -sh'?" + exit 1 +fi + +$MAKE check +if [ $? -ne 0 ]; then + echo "Error in testing xz" + exit 1 +fi + diff --git a/build/pkgs/xz/spkg-install b/build/pkgs/xz/spkg-install new file mode 100644 index 00000000000..5485a4f36c7 --- /dev/null +++ b/build/pkgs/xz/spkg-install @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +cd src/ + +if [ "$SAGE_LOCAL" = "" ]; then + echo "SAGE_LOCAL undefined ... exiting"; + echo "Maybe run 'sage -sh'?" + exit 1 +fi + +for patch in ../patches/*.patch; do + [ -r "$patch" ] || continue # Skip non-existing or non-readable patches + patch -p1 <"$patch" + if [ $? -ne 0 ]; then + echo >&2 "Error applying '$patch'" + exit 1 + fi +done + +./configure --prefix=$SAGE_LOCAL + +$MAKE +if [ $? -ne 0 ]; then + echo "Error building xz" + exit 1 +fi + +$MAKE install +if [ $? -ne 0 ]; then + echo "Error installing xz" + exit 1 +fi + diff --git a/build/pkgs/xz/type b/build/pkgs/xz/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/xz/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/zope_interface/checksums.ini b/build/pkgs/zope_interface/checksums.ini index f552e0133dc..27dbc406765 100644 --- a/build/pkgs/zope_interface/checksums.ini +++ b/build/pkgs/zope_interface/checksums.ini @@ -1,4 +1,4 @@ tarball=zope.interface-VERSION.tar.gz -sha1=207161e27880d07679aff6d712ed12f55e3d91b6 -md5=9ae3d24c0c7415deb249dd1a132f0f79 -cksum=3834987228 +sha1=8b5f345d257d9d03cd782b9e332fc1c0928928f4 +md5=2950a6db7e985e19c7a846cc20f5d82a +cksum=3797029969 diff --git a/build/pkgs/zope_interface/package-version.txt b/build/pkgs/zope_interface/package-version.txt index de197cc337f..6aba2b245a8 100644 --- a/build/pkgs/zope_interface/package-version.txt +++ b/build/pkgs/zope_interface/package-version.txt @@ -1 +1 @@ -4.1.3 +4.2.0 diff --git a/build/sage_bootstrap/app.py b/build/sage_bootstrap/app.py new file mode 100644 index 00000000000..495c7b7e61d --- /dev/null +++ b/build/sage_bootstrap/app.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +""" +Controller for the commandline actions +""" + + +#***************************************************************************** +# Copyright (C) 2016 Volker Braun +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License 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/ +#***************************************************************************** + +import os +import sys +import logging +log = logging.getLogger() + +from sage_bootstrap.env import SAGE_DISTFILES +from sage_bootstrap.package import Package +from sage_bootstrap.tarball import Tarball +from sage_bootstrap.updater import ChecksumUpdater, PackageUpdater +from sage_bootstrap.creator import PackageCreator + + + +class Application(object): + + def config(self): + """ + Print the configuration + + $ sage --package config + Configuration: + * log = info + * interactive = True + """ + log.debug('Printing configuration') + from sage_bootstrap.config import Configuration + print(Configuration()) + + def list(self): + """ + Print a list of all available packages + + $ sage --package list | sort + 4ti2 + arb + atlas + autotools + [...] + zn_poly + """ + log.debug('Listing packages') + for pkg in Package.all(): + print(pkg.name) + + def name(self, tarball_filename): + """ + Find the package name given a tarball filename + + $ sage --package name pari-2.8-1564-gdeac36e.tar.gz + pari + """ + log.debug('Looking up package name for %s', tarball_filename) + tarball = Tarball(os.path.basename(tarball_filename)) + print(tarball.package.name) + + def tarball(self, package_name): + """ + Find the tarball filename given a package name + + $ sage --package tarball pari + pari-2.8-1564-gdeac36e.tar.gz + """ + log.debug('Looking up tarball name for %s', package_name) + package = Package(package_name) + print(package.tarball.filename) + + def apropos(self, incorrect_name): + """ + Find up to 5 package names that are close to the given name + + $ sage --package apropos python + Did you mean: cython, ipython, python2, python3, patch? + """ + log.debug('Apropos for %s', incorrect_name) + from sage_bootstrap.levenshtein import Levenshtein, DistanceExceeded + levenshtein = Levenshtein(5) + names = [] + for pkg in Package.all(): + try: + names.append([levenshtein(pkg.name, incorrect_name), pkg.name]) + except DistanceExceeded: + pass + if names: + names = sorted(names)[:5] + print('Did you mean: {0}?'.format(', '.join(name[1] for name in names))) + else: + print('There is no package similar to {0}'.format(incorrect_name)) + print('You can find further packages at http://files.sagemath.org/spkg/') + + def update(self, package_name, new_version, url=None): + """ + Update a package. This modifies the Sage sources. + + $ sage --package update pari 2015 --url=http://localhost/pari/tarball.tgz + """ + log.debug('Updating %s to %s', package_name, new_version) + update = PackageUpdater(package_name, new_version) + if url is not None: + log.debug('Downloading %s', url) + update.download_upstream(url) + update.fix_checksum() + + def download(self, package_name): + """ + Download a package + + $ sage --package download pari + Using cached file /home/vbraun/Code/sage.git/upstream/pari-2.8-2044-g89b0f1e.tar.gz + /home/vbraun/Code/sage.git/upstream/pari-2.8-2044-g89b0f1e.tar.gz + """ + log.debug('Downloading %s', package_name) + package = Package(package_name) + package.tarball.download() + print(package.tarball.upstream_fqn) + + def fix_all_checksums(self): + """ + Fix the checksum of a package + + $ sage --package fix-checksum + """ + for pkg in Package.all(): + if not os.path.exists(pkg.tarball.upstream_fqn): + log.debug('Ignoring {0} because tarball is not cached'.format(pkg.tarball_filename)) + continue + if pkg.tarball.checksum_verifies(): + log.debug('Checksum of {0} unchanged'.format(pkg.tarball_filename)) + continue + update = ChecksumUpdater(pkg.name) + print('Updating checksum of {0}'.format(pkg.tarball_filename)) + update.fix_checksum() + + def fix_checksum(self, package_name): + """ + Fix the checksum of a package + + $ sage --package fix-checksum pari + Updating checksum of pari-2.8-2044-g89b0f1e.tar.gz + """ + log.debug('Correcting the checksum of %s', package_name) + update = ChecksumUpdater(package_name) + pkg = update.package + if pkg.tarball.checksum_verifies(): + print('Checksum of {0} unchanged'.format(pkg.tarball_filename)) + else: + print('Updating checksum of {0}'.format(pkg.tarball_filename)) + update.fix_checksum() + + def create(self, package_name, version, tarball, pkg_type): + log.debug('Creating %s: %s, %s, %s', package_name, version, tarball, pkg_type) + creator = PackageCreator(package_name) + if version: + creator.set_version(version) + if pkg_type: + creator.set_type(pkg_type) + if tarball: + creator.set_tarball(tarball) + update = ChecksumUpdater(package_name) + update.fix_checksum() + diff --git a/build/sage_bootstrap/cksum.py b/build/sage_bootstrap/cksum.py index 5d640b69920..eaba1e87619 100644 --- a/build/sage_bootstrap/cksum.py +++ b/build/sage_bootstrap/cksum.py @@ -3,6 +3,7 @@ This is a weak checksum, only included for legacy reasons. """ + import sys # Fun table, e.g. http://www.nco.ncep.noaa.gov/pmb/codes/nwprod/util/sorc/wgrib2.cd/grib2/wgrib2/crc32.c @@ -73,9 +74,12 @@ def __init__(self): def update(self, buffer): value = self._value + if isinstance(buffer, str): + buffer = list(map(ord, list(buffer))) + else: + buffer = list(buffer) for ch in buffer: - c = ord(ch) - tabidx = (value >> 24) ^ c + tabidx = (value >> 24) ^ ch value = UNSIGNED((value << 8)) ^ crctab[tabidx] self._value = value self._length += len(buffer) diff --git a/build/sage_bootstrap/cmdline.py b/build/sage_bootstrap/cmdline.py index fc8d4588929..9515c61c54c 100644 --- a/build/sage_bootstrap/cmdline.py +++ b/build/sage_bootstrap/cmdline.py @@ -1,13 +1,14 @@ # -*- coding: utf-8 -*- """ -Commandline handling +View for the Commandline UI -Note that argparse is not part of Python 2.6, so we cannot rely on it here. +This module handles the main "sage-package" commandline utility, which +is also exposed as "sage --package". """ #***************************************************************************** -# Copyright (C) 2015 Volker Braun +# Copyright (C) 2016 Volker Braun # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,227 +19,259 @@ import os import sys -import re -from textwrap import dedent import logging log = logging.getLogger() -from sage_bootstrap.env import SAGE_DISTFILES -from sage_bootstrap.package import Package -from sage_bootstrap.download import Download -from sage_bootstrap.mirror_list import MirrorList -from sage_bootstrap.tarball import Tarball +# Note that argparse is not part of Python 2.6, so we bundle it +try: + import argparse +except ImportError: + from sage_bootstrap.compat import argparse -class CmdlineSubcommands(object): +from sage_bootstrap.app import Application - KEYWORD_RE = re.compile('--(?P