summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/ImageMagick/package.py41
-rw-r--r--var/spack/repos/builtin/packages/adios/package.py124
-rw-r--r--var/spack/repos/builtin/packages/antlr/package.py5
-rw-r--r--var/spack/repos/builtin/packages/ape/package.py7
-rw-r--r--var/spack/repos/builtin/packages/arpack-ng/package.py4
-rw-r--r--var/spack/repos/builtin/packages/asciidoc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/astyle/package.py4
-rw-r--r--var/spack/repos/builtin/packages/caliper/package.py3
-rw-r--r--var/spack/repos/builtin/packages/cfitsio/package.py5
-rw-r--r--var/spack/repos/builtin/packages/cityhash/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch23
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py58
-rw-r--r--var/spack/repos/builtin/packages/cube/package.py4
-rw-r--r--var/spack/repos/builtin/packages/datamash/package.py3
-rw-r--r--var/spack/repos/builtin/packages/eigen/package.py6
-rw-r--r--var/spack/repos/builtin/packages/espresso/package.py5
-rw-r--r--var/spack/repos/builtin/packages/expat/package.py17
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py5
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py7
-rw-r--r--var/spack/repos/builtin/packages/ghostscript/package.py12
-rw-r--r--var/spack/repos/builtin/packages/gmsh/package.py4
-rw-r--r--var/spack/repos/builtin/packages/jsoncpp/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libarchive/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libsplash/package.py58
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py4
-rw-r--r--var/spack/repos/builtin/packages/lua-luafilesystem/package.py4
-rw-r--r--var/spack/repos/builtin/packages/lz4/package.py45
-rw-r--r--var/spack/repos/builtin/packages/lzma/package.py49
-rw-r--r--var/spack/repos/builtin/packages/lzo/package.py6
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mxml/package.py5
-rw-r--r--var/spack/repos/builtin/packages/nano/package.py40
-rw-r--r--var/spack/repos/builtin/packages/ncdu/package.py3
-rw-r--r--var/spack/repos/builtin/packages/nco/package.py3
-rw-r--r--var/spack/repos/builtin/packages/nettle/package.py10
-rw-r--r--var/spack/repos/builtin/packages/nwchem/package.py5
-rw-r--r--var/spack/repos/builtin/packages/octopus/package.py11
-rw-r--r--var/spack/repos/builtin/packages/opari2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/opencoarrays/package.py53
-rw-r--r--var/spack/repos/builtin/packages/openjpeg/package.py4
-rw-r--r--var/spack/repos/builtin/packages/parallel/package.py3
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py4
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py14
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/pngwriter/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-alabaster/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cycler/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-docutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py82
-rw-r--r--var/spack/repos/builtin/packages/py-prettytable/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyside/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-snowballstemmer/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-tuiview/package.py6
-rw-r--r--var/spack/repos/builtin/packages/python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/qhull/package.py9
-rw-r--r--var/spack/repos/builtin/packages/qhull/qhull-iterator.patch45
-rw-r--r--var/spack/repos/builtin/packages/qt-creator/package.py46
-rw-r--r--var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch17
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py122
-rw-r--r--var/spack/repos/builtin/packages/qthreads/package.py23
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py8
-rw-r--r--var/spack/repos/builtin/packages/screen/package.py3
-rw-r--r--var/spack/repos/builtin/packages/swiftsim/package.py5
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py7
-rw-r--r--var/spack/repos/builtin/packages/xerces-c/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xz/package.py7
-rw-r--r--var/spack/repos/builtin/packages/zlib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/zsh/package.py8
81 files changed, 1254 insertions, 378 deletions
diff --git a/var/spack/repos/builtin/packages/ImageMagick/package.py b/var/spack/repos/builtin/packages/ImageMagick/package.py
index b0ccba1009..61d4cc0cb4 100644
--- a/var/spack/repos/builtin/packages/ImageMagick/package.py
+++ b/var/spack/repos/builtin/packages/ImageMagick/package.py
@@ -26,29 +26,14 @@ from spack import *
class Imagemagick(Package):
- """ImageMagick is a image processing library"""
- homepage = "http://www.imagemagic.org"
-
- # -------------------------------------------------------------------------
- # ImageMagick does not keep around anything but *-10 versions, so
- # this URL may change. If you want the bleeding edge, you can
- # uncomment it and see if it works but you may need to try to
- # fetch a newer version (-6, -7, -8, -9, etc.) or you can stick
- # wtih the older, stable, archived -10 versions below.
- #
- # TODO: would be nice if spack had a way to recommend avoiding a
- # TODO: bleeding edge version, but not comment it out.
- # -------------------------------------------------------------------------
- # version('6.9.0-6', 'c1bce7396c22995b8bdb56b7797b4a1b',
- # url="http://www.imagemagick.org/download/ImageMagick-6.9.0-6.tar.bz2")
-
- # -------------------------------------------------------------------------
- # *-10 versions are archived, so these versions should fetch reliably.
- # -------------------------------------------------------------------------
- version(
- '6.8.9-10',
- 'aa050bf9785e571c956c111377bbf57c',
- url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download")
+ """ImageMagick is a software suite to create, edit, compose,
+ or convert bitmap images."""
+
+ homepage = "http://www.imagemagick.org"
+ url = "https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz"
+
+ version('7.0.2-7', 'c59cdc8df50e481b2bd1afe09ac24c08')
+ version('7.0.2-6', 'aa5689129c39a5146a3212bf5f26d478')
depends_on('jpeg')
depends_on('libtool', type='build')
@@ -56,8 +41,14 @@ class Imagemagick(Package):
depends_on('freetype')
depends_on('fontconfig')
depends_on('libtiff')
+ depends_on('ghostscript')
+
+ def url_for_version(self, version):
+ return "https://github.com/ImageMagick/ImageMagick/archive/{0}.tar.gz".format(version)
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure('--prefix={0}'.format(prefix))
+
make()
- make("install")
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
index 59e0a451a9..01834383b8 100644
--- a/var/spack/repos/builtin/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -1,41 +1,127 @@
-import os
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
from spack import *
class Adios(Package):
- """
- The Adaptable IO System (ADIOS) provides a simple,
+ """The Adaptable IO System (ADIOS) provides a simple,
flexible way for scientists to describe the
data in their code that may need to be written,
- read, or processed outside of the running simulation
+ read, or processed outside of the running simulation.
"""
homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
- url = "https://github.com/ornladios/ADIOS/archive/v1.9.0.tar.gz"
+ url = "https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz"
+ version('1.10.0', 'eff450a4c0130479417cfd63186957f3')
version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')
+ variant('shared', default=True,
+ description='Builds a shared version of the library')
+
+ variant('fortran', default=False,
+ description='Enable Fortran bindings support')
+
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('infiniband', default=False, description='Enable infiniband support')
+
+ variant('zlib', default=True, description='Enable szip transform support')
+ variant('szip', default=False, description='Enable szip transform support')
+ variant('hdf5', default=False, description='Enable HDF5 transport support')
+ variant('netcdf', default=False, description='Enable NetCDF transport support')
+
# Lots of setting up here for this package
# module swap PrgEnv-intel PrgEnv-$COMP
# module load cray-netcdf/4.3.3.1
# module load cray-hdf5/1.8.14
# module load python/2.7.10
- depends_on('hdf5')
- depends_on('mxml')
+
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('python', type='build')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('mxml@2.9:')
+ # optional transformations
+ depends_on('zlib', when='+zlib')
+ depends_on('szip', when='+szip')
+ # optional transports
+ depends_on('hdf5', when='+hdf5')
+ depends_on('netcdf', when='+netcdf')
+
+ def validate(self, spec):
+ """
+ Checks if incompatible variants have been activated at the same time
+ :param spec: spec of the package
+ :raises RuntimeError: in case of inconsistencies
+ """
+ if '+fortran' in spec and not self.compiler.fc:
+ msg = 'cannot build a fortran variant without a fortran compiler'
+ raise RuntimeError(msg)
def install(self, spec, prefix):
- configure_args = ["--prefix=%s" % prefix,
- "--with-mxml=%s" % spec['mxml'].prefix,
- "--with-hdf5=%s" % spec['hdf5'].prefix,
- "--with-netcdf=%s" % os.environ["NETCDF_DIR"],
- "--with-infiniband=no",
- "MPICC=cc", "MPICXX=CC", "MPIFC=ftn",
- "CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK"]
-
- if spec.satisfies('%gcc'):
- configure_args.extend(["CC=gcc", "CXX=g++", "FC=gfortran"])
-
- configure(*configure_args)
+ self.validate(spec)
+ # Handle compilation after spec validation
+ extra_args = []
+
+ # required, otherwise building its python bindings on ADIOS will fail
+ extra_args.append("CFLAGS=-fPIC")
+
+ # always build external MXML, even in ADIOS 1.10.0+
+ extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)
+
+ if '+shared' in spec:
+ extra_args.append('--enable-shared')
+
+ if '+mpi' in spec:
+ extra_args.append('--with-mpi')
+ if '+infiniband' in spec:
+ extra_args.append('--with-infiniband')
+ else:
+ extra_args.append('--with-infiniband=no')
+
+ if '+fortran' in spec:
+ extra_args.append('--enable-fortran')
+ else:
+ extra_args.append('--disable-fortran')
+
+ if '+zlib' in spec:
+ extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)
+ if '+szip' in spec:
+ extra_args.append('--with-szip=%s' % spec['szip'].prefix)
+ if '+hdf5' in spec:
+ extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)
+ if '+netcdf' in spec:
+ extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)
+
+ sh = which('sh')
+ sh('./autogen.sh')
+
+ configure("--prefix=%s" % prefix,
+ *extra_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py
index 891061c62f..804460ce14 100644
--- a/var/spack/repos/builtin/packages/antlr/package.py
+++ b/var/spack/repos/builtin/packages/antlr/package.py
@@ -26,6 +26,11 @@ from spack import *
class Antlr(Package):
+ """ANTLR (ANother Tool for Language Recognition) is a powerful parser
+ generator for reading, processing, executing, or translating structured
+ text or binary files. It's widely used to build languages, tools, and
+ frameworks. From a grammar, ANTLR generates a parser that can build and
+ walk parse trees."""
homepage = "http://www.antlr.org"
url = "https://github.com/antlr/antlr/tarball/v2.7.7"
diff --git a/var/spack/repos/builtin/packages/ape/package.py b/var/spack/repos/builtin/packages/ape/package.py
index b1647798b5..48e436804f 100644
--- a/var/spack/repos/builtin/packages/ape/package.py
+++ b/var/spack/repos/builtin/packages/ape/package.py
@@ -45,6 +45,13 @@ class Ape(Package):
'--with-libxc-prefix=%s' % spec['libxc'].prefix
])
+ # When preprocessor expands macros (i.e. CFLAGS) defined as quoted
+ # strings the result may be > 132 chars and is terminated.
+ # This will look to a compiler as an Unterminated character constant
+ # and produce Line truncated errors. To vercome this, add flags to
+ # let compiler know that the entire line is meaningful.
+ # TODO: For the lack of better approach, assume that clang is mixed
+ # with GNU fortran.
if spec.satisfies('%clang') or spec.satisfies('%gcc'):
args.extend([
'FCFLAGS=-O2 -ffree-line-length-none'
diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py
index 728c2345f2..0e71125d41 100644
--- a/var/spack/repos/builtin/packages/arpack-ng/package.py
+++ b/var/spack/repos/builtin/packages/arpack-ng/package.py
@@ -26,8 +26,7 @@ from spack import *
class ArpackNg(Package):
- """
- ARPACK-NG is a collection of Fortran77 subroutines designed to solve large
+ """ARPACK-NG is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems.
Important Features:
@@ -53,6 +52,7 @@ class ArpackNg(Package):
arpack-ng is replacing arpack almost everywhere.
"""
+
homepage = 'https://github.com/opencollab/arpack-ng'
url = 'https://github.com/opencollab/arpack-ng/archive/3.3.0.tar.gz'
diff --git a/var/spack/repos/builtin/packages/asciidoc/package.py b/var/spack/repos/builtin/packages/asciidoc/package.py
index be8db684f5..811d34afa8 100644
--- a/var/spack/repos/builtin/packages/asciidoc/package.py
+++ b/var/spack/repos/builtin/packages/asciidoc/package.py
@@ -26,8 +26,9 @@ from spack import *
class Asciidoc(Package):
- """ A presentable text document format for writing articles, UNIX man
+ """A presentable text document format for writing articles, UNIX man
pages and other small to medium sized documents."""
+
homepage = "http://asciidoc.org"
url = "http://downloads.sourceforge.net/project/asciidoc/asciidoc/8.6.9/asciidoc-8.6.9.tar.gz"
diff --git a/var/spack/repos/builtin/packages/astyle/package.py b/var/spack/repos/builtin/packages/astyle/package.py
index 815c184577..eecdcfdad7 100644
--- a/var/spack/repos/builtin/packages/astyle/package.py
+++ b/var/spack/repos/builtin/packages/astyle/package.py
@@ -26,10 +26,10 @@ from spack import *
class Astyle(Package):
- """
- A Free, Fast, and Small Automatic Formatter for C, C++, C++/CLI,
+ """A Free, Fast, and Small Automatic Formatter for C, C++, C++/CLI,
Objective-C, C#, and Java Source Code.
"""
+
homepage = "http://astyle.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/astyle/astyle/astyle%202.04/astyle_2.04_linux.tar.gz"
diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py
index e5aed5ed65..113bef61b8 100644
--- a/var/spack/repos/builtin/packages/caliper/package.py
+++ b/var/spack/repos/builtin/packages/caliper/package.py
@@ -26,8 +26,7 @@ from spack import *
class Caliper(Package):
- """
- Caliper is a generic context annotation system. It gives programmers the
+ """Caliper is a generic context annotation system. It gives programmers the
ability to provide arbitrary program context information to (performance)
tools at runtime.
"""
diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py
index c68b3ffc0d..35d9662f6f 100644
--- a/var/spack/repos/builtin/packages/cfitsio/package.py
+++ b/var/spack/repos/builtin/packages/cfitsio/package.py
@@ -26,11 +26,12 @@ from spack import *
class Cfitsio(Package):
- """
- CFITSIO is a library of C and Fortran subroutines for reading and writing
+ """CFITSIO is a library of C and Fortran subroutines for reading and writing
data files in FITS (Flexible Image Transport System) data format.
"""
+
homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/'
+
version('3.370', 'abebd2d02ba5b0503c633581e3bfa116')
def url_for_version(self, v):
diff --git a/var/spack/repos/builtin/packages/cityhash/package.py b/var/spack/repos/builtin/packages/cityhash/package.py
index d6d7f51558..85d948cc57 100644
--- a/var/spack/repos/builtin/packages/cityhash/package.py
+++ b/var/spack/repos/builtin/packages/cityhash/package.py
@@ -27,6 +27,8 @@ from spack.util.environment import *
class Cityhash(Package):
+ """CityHash, a family of hash functions for strings."""
+
homepage = "https://github.com/google/cityhash"
url = "https://github.com/google/cityhash"
diff --git a/var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch b/var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch
new file mode 100644
index 0000000000..afe6f871ec
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch
@@ -0,0 +1,23 @@
+diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake
+index eb9602a..edca154 100644
+--- a/Modules/Compiler/Intel-C.cmake
++++ b/Modules/Compiler/Intel-C.cmake
+@@ -16,14 +16,14 @@ endif()
+
+ if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
+ set(CMAKE_C11_STANDARD_COMPILE_OPTION "${_std}=c11")
+- set(CMAKE_C11_EXTENSION_COMPILE_OPTION "${_std}=c11")
++ set(CMAKE_C11_EXTENSION_COMPILE_OPTION "${_std}=gnu11")
+ endif()
+
+-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
++if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
+ set(CMAKE_C90_STANDARD_COMPILE_OPTION "${_std}=c89")
+- set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=c89")
++ set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=gnu89")
+ set(CMAKE_C99_STANDARD_COMPILE_OPTION "${_std}=c99")
+- set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=c99")
++ set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=gnu99")
+ endif()
+
+ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 6b46d8a9ae..0c16adcef7 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -42,19 +42,28 @@ class Cmake(Package):
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f')
version('2.8.10.2', '097278785da7182ec0aea8769d06860c')
- variant('ncurses', default=True,
- description='Enables the build of the ncurses gui')
- variant('openssl', default=True,
- description="Enables CMake's OpenSSL features")
- variant('qt', default=False, description='Enables the build of cmake-gui')
- variant('doc', default=False,
- description='Enables the generation of html and man page docs')
-
- depends_on('ncurses', when='+ncurses')
- depends_on('openssl', when='+openssl')
- depends_on('qt', when='+qt')
+ variant('ownlibs', default=False, description='Use CMake-provided third-party libraries')
+ variant('qt', default=False, description='Enables the build of cmake-gui')
+ variant('doc', default=False, description='Enables the generation of html and man page documentation')
+ variant('openssl', default=True, description="Enables CMake's OpenSSL features")
+ variant('ncurses', default=True, description='Enables the build of the ncurses gui')
+
+ depends_on('curl', when='~ownlibs')
+ depends_on('expat', when='~ownlibs')
+ # depends_on('jsoncpp', when='~ownlibs') # circular dependency
+ depends_on('zlib', when='~ownlibs')
+ depends_on('bzip2', when='~ownlibs')
+ depends_on('xz', when='~ownlibs')
+ depends_on('libarchive', when='~ownlibs')
+ depends_on('qt', when='+qt')
depends_on('python@2.7.11:', when='+doc', type='build')
- depends_on('py-sphinx', when='+doc', type='build')
+ depends_on('py-sphinx', when='+doc', type='build')
+ depends_on('openssl', when='+openssl')
+ depends_on('ncurses', when='+ncurses')
+
+ # Cannot build with Intel, should be fixed in 3.6.2
+ # https://gitlab.kitware.com/cmake/cmake/issues/16226
+ patch('intel-c-gnu11.patch', when='@3.6.0:3.6.1')
def url_for_version(self, version):
"""Handle CMake's version-based custom URLs."""
@@ -77,12 +86,25 @@ class Cmake(Package):
# Consistency check
self.validate(spec)
- # configure, build, install:
- options = ['--prefix=%s' % prefix]
- options.append('--parallel=%s' % str(make_jobs))
+ options = [
+ '--prefix={0}'.format(prefix),
+ '--parallel={0}'.format(make_jobs),
+ # jsoncpp requires CMake to build
+ # use CMake-provided library to avoid circular dependency
+ '--no-system-jsoncpp'
+ ]
+
+ if '+ownlibs' in spec:
+ # Build and link to the CMake-provided third-party libraries
+ options.append('--no-system-libs')
+ else:
+ # Build and link to the Spack-installed third-party libraries
+ options.append('--system-libs')
if '+qt' in spec:
options.append('--qt-gui')
+ else:
+ options.append('--no-qt-gui')
if '+doc' in spec:
options.append('--sphinx-html')
@@ -92,6 +114,10 @@ class Cmake(Package):
options.append('--')
options.append('-DCMAKE_USE_OPENSSL=ON')
- configure(*options)
+ bootstrap = Executable('./bootstrap')
+ bootstrap(*options)
+
make()
+ if self.run_tests:
+ make('test') # some tests fail, takes forever
make('install')
diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py
index 09237f87c3..8c835b3886 100644
--- a/var/spack/repos/builtin/packages/cube/package.py
+++ b/var/spack/repos/builtin/packages/cube/package.py
@@ -22,13 +22,11 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
class Cube(Package):
- """
- Cube the profile viewer for Score-P and Scalasca profiles. It displays a
+ """Cube the profile viewer for Score-P and Scalasca profiles. It displays a
multi-dimensional performance space consisting of the dimensions:
- performance metric
- call path
diff --git a/var/spack/repos/builtin/packages/datamash/package.py b/var/spack/repos/builtin/packages/datamash/package.py
index ef30c50ebe..85adeca996 100644
--- a/var/spack/repos/builtin/packages/datamash/package.py
+++ b/var/spack/repos/builtin/packages/datamash/package.py
@@ -26,8 +26,7 @@ from spack import *
class Datamash(Package):
- """
- GNU datamash is a command-line program which performs basic numeric,
+ """GNU datamash is a command-line program which performs basic numeric,
textual and statistical operations on input textual data files.
"""
diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py
index 36d6850c1a..42dc24e373 100644
--- a/var/spack/repos/builtin/packages/eigen/package.py
+++ b/var/spack/repos/builtin/packages/eigen/package.py
@@ -26,10 +26,8 @@ from spack import *
class Eigen(Package):
- """
- Eigen is a C++ template library for linear algebra
-
- Matrices, vectors, numerical solvers, and related algorithms
+ """Eigen is a C++ template library for linear algebra matrices,
+ vectors, numerical solvers, and related algorithms.
"""
homepage = 'http://eigen.tuxfamily.org/'
diff --git a/var/spack/repos/builtin/packages/espresso/package.py b/var/spack/repos/builtin/packages/espresso/package.py
index 447964f286..3dca1ba187 100644
--- a/var/spack/repos/builtin/packages/espresso/package.py
+++ b/var/spack/repos/builtin/packages/espresso/package.py
@@ -23,17 +23,16 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-
import os
class Espresso(Package):
- """
- QE is an integrated suite of Open-Source computer codes for
+ """QE is an integrated suite of Open-Source computer codes for
electronic-structure calculations and materials modeling at
the nanoscale. It is based on density-functional theory, plane
waves, and pseudopotentials.
"""
+
homepage = 'http://quantum-espresso.org'
url = 'http://www.qe-forge.org/gf/download/frsrelease/204/912/espresso-5.3.0.tar.gz'
diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py
index 7d0fdae1d4..0262bf1e3f 100644
--- a/var/spack/repos/builtin/packages/expat/package.py
+++ b/var/spack/repos/builtin/packages/expat/package.py
@@ -28,15 +28,16 @@ from spack import *
class Expat(Package):
"""<eXpat/> is an XML parser library written in C"""
homepage = "http://expat.sourceforge.net/"
- url = "http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz"
- version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd')
-
- depends_on('cmake', type='build')
+ version('2.2.0', '2f47841c829facb346eb6e3fab5212e2',
+ url="http://downloads.sourceforge.net/project/expat/expat/2.2.0/expat-2.2.0.tar.bz2")
+ version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd',
+ url="http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz")
def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
- with working_dir('spack-build', create=True):
- cmake('..', *std_cmake_args)
- make()
- make('install')
+ make()
+ if self.run_tests:
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index 4fdfafc992..4f54b3a841 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -26,14 +26,13 @@ from spack import *
class Gdal(Package):
- """
- GDAL is a translator library for raster and vector geospatial
+ """GDAL is a translator library for raster and vector geospatial
data formats that is released under an X/MIT style Open Source
license by the Open Source Geospatial Foundation. As a library,
it presents a single raster abstract data model and vector
abstract data model to the calling application for all supported
formats. It also comes with a variety of useful command line
- utilities for data translation and processing
+ utilities for data translation and processing.
"""
homepage = "http://www.gdal.org/"
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
index 9145009fa4..a14e166ed4 100644
--- a/var/spack/repos/builtin/packages/gdb/package.py
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -22,16 +22,15 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
class Gdb(Package):
"""GDB, the GNU Project debugger, allows you to see what is going on
- `inside' another program while it executes -- or what another
- program was doing at the moment it crashed.
-
+ 'inside' another program while it executes -- or what another
+ program was doing at the moment it crashed.
"""
+
homepage = "https://www.gnu.org/software/gdb"
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz"
diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py
index c22b90088e..f63ebac0c1 100644
--- a/var/spack/repos/builtin/packages/ghostscript/package.py
+++ b/var/spack/repos/builtin/packages/ghostscript/package.py
@@ -26,16 +26,20 @@ from spack import *
class Ghostscript(Package):
- """an interpreter for the PostScript language and for PDF. """
+ """An interpreter for the PostScript language and for PDF."""
+
homepage = "http://ghostscript.com/"
- url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz"
+ url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz"
version('9.18', '33a47567d7a591c00a253caddd12a88a')
parallel = False
+ depends_on('libtiff')
+
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix, "--enable-shared")
+ configure('--prefix={0}'.format(prefix),
+ '--with-system-libtiff')
make()
- make("install")
+ make('install')
diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py
index 72f490e2f4..1d375f2186 100644
--- a/var/spack/repos/builtin/packages/gmsh/package.py
+++ b/var/spack/repos/builtin/packages/gmsh/package.py
@@ -26,8 +26,7 @@ from spack import *
class Gmsh(Package):
- """
- Gmsh is a free 3D finite element grid generator with a built-in CAD engine
+ """Gmsh is a free 3D finite element grid generator with a built-in CAD engine
and post-processor. Its design goal is to provide a fast, light and
user-friendly meshing tool with parametric input and advanced visualization
capabilities. Gmsh is built around four modules: geometry, mesh, solver and
@@ -35,6 +34,7 @@ class Gmsh(Package):
either interactively using the graphical user interface or in ASCII text
files using Gmsh's own scripting language.
"""
+
homepage = 'http://gmsh.info'
url = 'http://gmsh.info/src/gmsh-2.11.0-source.tgz'
diff --git a/var/spack/repos/builtin/packages/jsoncpp/package.py b/var/spack/repos/builtin/packages/jsoncpp/package.py
new file mode 100644
index 0000000000..5169b338ee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/jsoncpp/package.py
@@ -0,0 +1,49 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Jsoncpp(Package):
+ """JsonCpp is a C++ library that allows manipulating JSON values,
+ including serialization and deserialization to and from strings.
+ It can also preserve existing comment in unserialization/serialization
+ steps, making it a convenient format to store user input files."""
+
+ homepage = "https://github.com/open-source-parsers/jsoncpp"
+ url = "https://github.com/open-source-parsers/jsoncpp/archive/1.7.3.tar.gz"
+
+ version('1.7.3', 'aff6bfb5b81d9a28785429faa45839c5')
+
+ depends_on('cmake', type='build')
+ # depends_on('python', type='test')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('..', '-DBUILD_SHARED_LIBS=ON', *std_cmake_args)
+
+ make()
+ if self.run_tests:
+ make('test') # Python needed to run tests
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py
index 0cf3932957..e439bf894f 100644
--- a/var/spack/repos/builtin/packages/libarchive/package.py
+++ b/var/spack/repos/builtin/packages/libarchive/package.py
@@ -28,14 +28,30 @@ from spack import *
class Libarchive(Package):
"""libarchive: C library and command-line tools for reading and
writing tar, cpio, zip, ISO, and other archive formats."""
+
homepage = "http://www.libarchive.org"
url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"
+ version('3.2.1', 'afa257047d1941a565216edbf0171e72')
version('3.1.2', 'efad5a503f66329bb9d2f4308b5de98a')
version('3.1.1', '1f3d883daf7161a0065e42a15bbf168f')
version('3.1.0', '095a287bb1fd687ab50c85955692bf3a')
+ depends_on('zlib')
+ depends_on('bzip2')
+ depends_on('lzma')
+ depends_on('lz4')
+ depends_on('xz')
+ depends_on('lzo')
+ depends_on('nettle')
+ depends_on('openssl')
+ depends_on('libxml2')
+ depends_on('expat')
+
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure('--prefix={0}'.format(prefix))
+
make()
- make("install")
+ if self.run_tests:
+ make('check') # cannot build test suite with Intel compilers
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index a65b81b69b..1775a24ebc 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -33,7 +33,7 @@ class Libpciaccess(Package):
version('0.13.4', 'ace78aec799b1cf6dfaea55d3879ed9f')
- depends_on('libtool')
+ depends_on('libtool', type='build')
def install(self, spec, prefix):
# libpciaccess does not support OS X
diff --git a/var/spack/repos/builtin/packages/libsplash/package.py b/var/spack/repos/builtin/packages/libsplash/package.py
new file mode 100644
index 0000000000..21a6eede3f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libsplash/package.py
@@ -0,0 +1,58 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Libsplash(Package):
+ """libSplash aims at developing a HDF5-based I/O library for HPC
+ simulations. It is created as an easy-to-use frontend for the standard HDF5
+ library with support for MPI processes in a cluster environment. While the
+ standard HDF5 library provides detailed low-level control, libSplash
+ simplifies tasks commonly found in large-scale HPC simulations, such as
+ iterative computations and MPI distributed processes.
+ """
+
+ homepage = "https://github.com/ComputationalRadiationPhysics/libSplash"
+ url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
+
+ version('1.4.0', '2de37bcef6fafa1960391bf44b1b50e0')
+ version('1.3.1', '524580ba088d97253d03b4611772f37c')
+ version('1.2.4', '3fccb314293d22966beb7afd83b746d0')
+
+ variant('mpi', default=True,
+ description='Enable parallel I/O (one-file aggregation) support')
+
+ depends_on('cmake', type='build')
+ depends_on('hdf5@1.8.6:')
+ depends_on('hdf5+mpi', when='+mpi')
+ depends_on('mpi', when='+mpi')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '..', *std_cmake_args)
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 0f4810fa8a..0b55fe4d30 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -32,6 +32,7 @@ class Libxml2(Package):
homepage = "http://xmlsoft.org"
url = "http://xmlsoft.org/sources/libxml2-2.9.2.tar.gz"
+ version('2.9.4', 'ae249165c173b1ff386ee8ad676815f5')
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
variant('python', default=False, description='Enable Python support')
@@ -44,13 +45,16 @@ class Libxml2(Package):
def install(self, spec, prefix):
if '+python' in spec:
- python_args = ["--with-python=%s" % spec['python'].prefix,
- "--with-python-install-dir=%s" % site_packages_dir]
+ python_args = [
+ '--with-python={0}'.format(spec['python'].prefix),
+ '--with-python-install-dir={0}'.format(site_packages_dir)
+ ]
else:
- python_args = ["--without-python"]
+ python_args = ['--without-python']
- configure("--prefix=%s" % prefix,
- *python_args)
+ configure('--prefix={0}'.format(prefix), *python_args)
make()
- make("install")
+ if self.run_tests:
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index 69965bc423..c2daca80a5 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -27,14 +27,14 @@ from glob import glob
class Lmod(Package):
- """
- Lmod is a Lua based module system that easily handles the MODULEPATH
+ """Lmod is a Lua based module system that easily handles the MODULEPATH
Hierarchical problem. Environment Modules provide a convenient way to
dynamically change the users' environment through modulefiles. This
includes easily adding or removing directories to the PATH environment
variable. Modulefiles for Library packages provide environment variables
that specify where the library and header files can be found.
"""
+
homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod'
url = 'https://github.com/TACC/Lmod/archive/6.4.1.tar.gz'
diff --git a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
index a61b9dd675..9e0e449813 100644
--- a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
+++ b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
@@ -26,8 +26,7 @@ from spack import *
class LuaLuafilesystem(Package):
- """
- LuaFileSystem is a Lua library developed to complement the set of
+ """LuaFileSystem is a Lua library developed to complement the set of
functions related to file systems offered by the standard Lua distribution.
LuaFileSystem offers a portable way to access the underlying directory
@@ -35,6 +34,7 @@ class LuaLuafilesystem(Package):
LuaFileSystem is free software and uses the same license as Lua 5.1
"""
+
homepage = 'http://keplerproject.github.io/luafilesystem'
url = 'https://github.com/keplerproject/luafilesystem/archive/v_1_6_3.tar.gz'
diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py
new file mode 100644
index 0000000000..de7e566e70
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lz4/package.py
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Lz4(Package):
+ """LZ4 is lossless compression algorithm, providing compression speed
+ at 400 MB/s per core, scalable with multi-cores CPU. It also features
+ an extremely fast decoder, with speed in multiple GB/s per core,
+ typically reaching RAM speed limits on multi-core systems."""
+
+ homepage = "http://cyan4973.github.io/lz4/"
+ url = "https://github.com/Cyan4973/lz4/archive/r131.tar.gz"
+
+ version('131', '42b09fab42331da9d3fb33bd5c560de9')
+
+ # depends_on('valgrind', type='test')
+
+ def install(self, spec, prefix):
+ make()
+ if self.run_tests:
+ make('test') # requires valgrind to be installed
+ make('install', 'PREFIX={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/lzma/package.py b/var/spack/repos/builtin/packages/lzma/package.py
new file mode 100644
index 0000000000..23d697ffe8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lzma/package.py
@@ -0,0 +1,49 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Lzma(Package):
+ """LZMA Utils are legacy data compression software with high compression
+ ratio. LZMA Utils are no longer developed, although critical bugs may be
+ fixed as long as fixing them doesn't require huge changes to the code.
+
+ Users of LZMA Utils should move to XZ Utils. XZ Utils support the legacy
+ .lzma format used by LZMA Utils, and can also emulate the command line
+ tools of LZMA Utils. This should make transition from LZMA Utils to XZ
+ Utils relatively easy."""
+
+ homepage = "http://tukaani.org/lzma/"
+ url = "http://tukaani.org/lzma/lzma-4.32.7.tar.gz"
+
+ version('4.32.7', '2a748b77a2f8c3cbc322dbd0b4c9d06a')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ if self.run_tests:
+ make('check') # one of the tests fails for me
+ make('install')
diff --git a/var/spack/repos/builtin/packages/lzo/package.py b/var/spack/repos/builtin/packages/lzo/package.py
index 0961bbb58c..1c44ced4d4 100644
--- a/var/spack/repos/builtin/packages/lzo/package.py
+++ b/var/spack/repos/builtin/packages/lzo/package.py
@@ -29,7 +29,7 @@ class Lzo(Package):
"""Real-time data compression library"""
homepage = 'https://www.oberhumer.com/opensource/lzo/'
- url = 'https://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz'
+ url = 'http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz'
version('2.09', 'c7ffc9a103afe2d1bba0b015e7aa887f')
version('2.08', 'fcec64c26a0f4f4901468f360029678f')
@@ -45,5 +45,7 @@ class Lzo(Package):
]
configure(*configure_args)
make()
- make('check')
+ if self.run_tests:
+ make('check')
+ make('test') # more exhaustive test
make('install')
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index 17124a0572..54caf0e7e1 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -28,12 +28,14 @@ from spack import *
class Mvapich2(Package):
"""MVAPICH2 is an MPI implementation for Infiniband networks."""
homepage = "http://mvapich.cse.ohio-state.edu/"
- url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2b.tar.gz"
-
- version('2.2b', '5651e8b7a72d7c77ca68da48f3a5d108')
- version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2')
- version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
- version('1.9', '5dc58ed08fd3142c260b70fe297e127c')
+ url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2rc2.tar.gz"
+
+ version('2.2rc2', 'f9082ffc3b853ad1b908cf7f169aa878')
+ version('2.2b', '5651e8b7a72d7c77ca68da48f3a5d108')
+ version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2')
+ version('2.1', '0095ceecb19bbb7fb262131cb9c2cdd6')
+ version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
+ version('1.9', '5dc58ed08fd3142c260b70fe297e127c')
patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py
index 113c48c18f..29e3b27d6e 100644
--- a/var/spack/repos/builtin/packages/mxml/package.py
+++ b/var/spack/repos/builtin/packages/mxml/package.py
@@ -26,10 +26,9 @@ from spack import *
class Mxml(Package):
- """
- Mini-XML is a small XML library that you can use to read and write XML
+ """Mini-XML is a small XML library that you can use to read and write XML
and XML-like data files in your application without requiring large
- non-standard libraries
+ non-standard libraries.
"""
homepage = "http://www.msweet.org"
diff --git a/var/spack/repos/builtin/packages/nano/package.py b/var/spack/repos/builtin/packages/nano/package.py
new file mode 100644
index 0000000000..3e87ec8ffe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nano/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Nano(Package):
+ """Tiny little text editor"""
+
+ homepage = "http://www.nano-editor.org"
+ url = "https://www.nano-editor.org/dist/v2.6/nano-2.6.3.tar.gz"
+
+ version('2.6.3', '1213c7f17916e65afefc95054c1f90f9')
+ version('2.6.2', '58568a4b8a33841d774c25f285fc11c1')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/ncdu/package.py b/var/spack/repos/builtin/packages/ncdu/package.py
index 2147319d3f..0842a592cc 100644
--- a/var/spack/repos/builtin/packages/ncdu/package.py
+++ b/var/spack/repos/builtin/packages/ncdu/package.py
@@ -26,8 +26,7 @@ from spack import *
class Ncdu(Package):
- """
- Ncdu is a disk usage analyzer with an ncurses interface. It is designed
+ """Ncdu is a disk usage analyzer with an ncurses interface. It is designed
to find space hogs on a remote server where you don't have an entire
gaphical setup available, but it is a useful tool even on regular desktop
systems. Ncdu aims to be fast, simple and easy to use, and should be able
diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py
index 16d72b4593..a25d69d9f6 100644
--- a/var/spack/repos/builtin/packages/nco/package.py
+++ b/var/spack/repos/builtin/packages/nco/package.py
@@ -36,8 +36,11 @@ class Nco(Package):
# See "Compilation Requirements" at:
# http://nco.sourceforge.net/#bld
+ variant('mpi', default=True)
depends_on('netcdf')
+ depends_on('netcdf+mpi', when='+mpi')
+ depends_on('netcdf~mpi', when='~mpi')
depends_on('antlr@2.7.7+cxx') # (required for ncap2)
depends_on('gsl') # (desirable for ncap2)
depends_on('udunits2') # (allows dimensional unit transformations)
diff --git a/var/spack/repos/builtin/packages/nettle/package.py b/var/spack/repos/builtin/packages/nettle/package.py
index 02e9ef5f1e..b4c873a8a1 100644
--- a/var/spack/repos/builtin/packages/nettle/package.py
+++ b/var/spack/repos/builtin/packages/nettle/package.py
@@ -29,14 +29,18 @@ class Nettle(Package):
"""The Nettle package contains the low-level cryptographic library
that is designed to fit easily in many contexts."""
- homepage = "http://www.example.com"
+ homepage = "https://www.lysator.liu.se/~nisse/nettle/"
url = "http://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz"
+ version('3.2', 'afb15b4764ebf1b4e6d06c62bd4d29e4')
version('2.7', '2caa1bd667c35db71becb93c5d89737f')
depends_on('gmp')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure('--prefix={0}'.format(prefix))
+
make()
- make("install")
+ if self.run_tests:
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py
index 0dcd249f74..13c710a35a 100644
--- a/var/spack/repos/builtin/packages/nwchem/package.py
+++ b/var/spack/repos/builtin/packages/nwchem/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
import sys
+import os
class Nwchem(Package):
@@ -69,6 +70,10 @@ class Nwchem(Package):
args = []
args.extend([
'NWCHEM_TOP=%s' % self.stage.source_path,
+ # NWCHEM is picky about FC and CC. They should NOT be full path.
+ # see http://www.nwchem-sw.org/index.php/Special:AWCforum/sp/id7524
+ 'CC=%s' % os.path.basename(spack_cc),
+ 'FC=%s' % os.path.basename(spack_fc),
'USE_MPI=y',
'MPI_LOC=%s' % spec['mpi'].prefix,
'USE_PYTHONCONFIG=y',
diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py
index 6fa2e0368f..ff4a106940 100644
--- a/var/spack/repos/builtin/packages/octopus/package.py
+++ b/var/spack/repos/builtin/packages/octopus/package.py
@@ -70,10 +70,13 @@ class Octopus(Package):
# --with-berkeleygw-prefix=${prefix}
])
- # Supposedly configure does not pick up the required flags for gfortran
- # Without it there are:
- # Error: Line truncated @ global.F90:157:132
- # Error: Unterminated character constant @ global.F90:157:20
+ # When preprocessor expands macros (i.e. CFLAGS) defined as quoted
+ # strings the result may be > 132 chars and is terminated.
+ # This will look to a compiler as an Unterminated character constant
+ # and produce Line truncated errors. To vercome this, add flags to
+ # let compiler know that the entire line is meaningful.
+ # TODO: For the lack of better approach, assume that clang is mixed
+ # with GNU fortran.
if spec.satisfies('%clang') or spec.satisfies('%gcc'):
args.extend([
'FCFLAGS=-O2 -ffree-line-length-none'
diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py
index e901f8ed39..20c67716a4 100644
--- a/var/spack/repos/builtin/packages/opari2/package.py
+++ b/var/spack/repos/builtin/packages/opari2/package.py
@@ -22,13 +22,11 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
class Opari2(Package):
- """
- OPARI2 is a source-to-source instrumentation tool for OpenMP and hybrid
+ """OPARI2 is a source-to-source instrumentation tool for OpenMP and hybrid
codes. It surrounds OpenMP directives and runtime library calls with calls
to the POMP2 measurement interface. OPARI2 will provide you with a new
initialization method that allows for multi-directory and parallel builds
diff --git a/var/spack/repos/builtin/packages/opencoarrays/package.py b/var/spack/repos/builtin/packages/opencoarrays/package.py
new file mode 100644
index 0000000000..d9760e2afc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/opencoarrays/package.py
@@ -0,0 +1,53 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Opencoarrays(CMakePackage):
+ """OpenCoarrays is an open-source software project that produces an
+ application binary interface (ABI) supporting coarray Fortran (CAF)
+ compilers, an application programming interface (API) that supports users
+ of non-CAF compilers, and an associated compiler wrapper and program
+ launcher.
+ """
+
+ homepage = "http://www.opencoarrays.org/"
+ url = "https://github.com/sourceryinstitute/opencoarrays/releases/download/1.6.2/OpenCoarrays-1.6.2.tar.gz"
+
+ version('1.6.2', '5a4da993794f3e04ea7855a6678981ba')
+
+ depends_on('cmake', type='build')
+ depends_on('mpi')
+
+ provides('coarrays')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ args = std_cmake_args
+ args.append("-DCMAKE_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+ args.append("-DCMAKE_Fortran_COMPILER=%s" % self.spec['mpi'].mpifc)
+ cmake('..', *args)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/openjpeg/package.py b/var/spack/repos/builtin/packages/openjpeg/package.py
index 1bc5b04f6f..fc505e19a9 100644
--- a/var/spack/repos/builtin/packages/openjpeg/package.py
+++ b/var/spack/repos/builtin/packages/openjpeg/package.py
@@ -26,14 +26,14 @@ from spack import *
class Openjpeg(Package):
- """
- OpenJPEG is an open-source JPEG 2000 codec written in C language.
+ """OpenJPEG is an open-source JPEG 2000 codec written in C language.
It has been developed in order to promote the use of JPEG 2000, a
still-image compression standard from the Joint Photographic
Experts Group (JPEG).
Since April 2015, it is officially recognized by ISO/IEC and
ITU-T as a JPEG 2000 Reference Software.
"""
+
homepage = "https://github.com/uclouvain/openjpeg"
url = "https://github.com/uclouvain/openjpeg/archive/version.2.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/parallel/package.py b/var/spack/repos/builtin/packages/parallel/package.py
index 2306dace55..81c0195651 100644
--- a/var/spack/repos/builtin/packages/parallel/package.py
+++ b/var/spack/repos/builtin/packages/parallel/package.py
@@ -26,8 +26,7 @@ from spack import *
class Parallel(Package):
- """
- GNU parallel is a shell tool for executing jobs in parallel using
+ """GNU parallel is a shell tool for executing jobs in parallel using
one or more computers. A job can be a single command or a small
script that has to be run for each of the lines in the input.
"""
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index 6f306ab0f9..a2236e682b 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -32,10 +32,10 @@ class Pcre(Package):
homepage = "http://www.pcre.org"""
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2"
- version('8.36', 'b767bc9af0c20bc9c1fe403b0d41ad97')
+ version('8.39', 'e3fca7650a0556a2647821679d81f585')
version('8.38', '00aabbfe56d5a48b270f999b508c5ad2')
- patch("intel.patch")
+ patch("intel.patch", when='@8.38')
variant('utf', default=True,
description='Enable support for UTF-8/16/32, '
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
index 074d28540b..648b2fab98 100644
--- a/var/spack/repos/builtin/packages/pdt/package.py
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -22,7 +22,6 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
@@ -36,14 +35,15 @@ class Pdt(Package):
"""
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
+ url = "http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdt-3.22.1.tar.gz"
- version('3.21', '3092ca0d8833b69992c17e63ae66c263')
- version('3.19', '5c5e1e6607086aa13bf4b1b9befc5864')
-
- def url_for_version(self, version):
- return 'https://www.cs.uoregon.edu/research/tau/pdt_releases/pdtoolkit-%s.tar.gz' % (version)
+ version('3.22.1', 'be6fac0b1edb3e3287b0cb78741a24b6')
+ version('3.22', 'e6c7879fc49ac5ff67a76ce31ef9e251')
+ version('3.21', '8df94298b71703decf680709a4ddf68f')
+ version('3.19', 'ba5591994998771fdab216699e362228')
+ version('3.18.1', '05281b5c82a4754df936df99ad7eec0f')
def install(self, spec, prefix):
configure('-prefix=%s' % prefix)
make()
- make("install")
+ make('install')
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 66e1abdf1a..73091bb182 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -27,8 +27,7 @@ from spack import *
class Petsc(Package):
- """
- PETSc is a suite of data structures and routines for the scalable
+ """PETSc is a suite of data structures and routines for the scalable
(parallel) solution of scientific applications modeled by partial
differential equations.
"""
diff --git a/var/spack/repos/builtin/packages/pngwriter/package.py b/var/spack/repos/builtin/packages/pngwriter/package.py
new file mode 100644
index 0000000000..c51f1f82a8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pngwriter/package.py
@@ -0,0 +1,54 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Pngwriter(Package):
+ """PNGwriter is a very easy to use open source graphics library that uses
+ PNG as its output format. The interface has been designed to be as simple
+ and intuitive as possible. It supports plotting and reading pixels in the
+ RGB (red, green, blue), HSV (hue, saturation, value/brightness) and CMYK
+ (cyan, magenta, yellow, black) colour spaces, basic shapes, scaling,
+ bilinear interpolation, full TrueType antialiased and rotated text support,
+ bezier curves, opening existing PNG images and more.
+ """
+
+ homepage = "http://pngwriter.sourceforge.net/"
+ url = "https://github.com/pngwriter/pngwriter/archive/0.5.6.tar.gz"
+
+ version('0.5.6', 'c13bd1fdc0e331a246e6127b5f262136')
+
+ depends_on('cmake', type='build')
+ depends_on('libpng')
+ depends_on('zlib')
+ depends_on('freetype')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '..', *std_cmake_args)
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/py-alabaster/package.py b/var/spack/repos/builtin/packages/py-alabaster/package.py
new file mode 100644
index 0000000000..24cb5dce22
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-alabaster/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PyAlabaster(Package):
+ """Alabaster is a visually (c)lean, responsive, configurable theme
+ for the Sphinx documentation system."""
+
+ homepage = "https://pypi.python.org/pypi/alabaster"
+ url = "https://pypi.python.org/packages/source/a/alabaster/alabaster-0.7.9.tar.gz"
+
+ version('0.7.9', 'b29646a8bbe7aa52830375b7d17b5d7a',
+ url="https://pypi.python.org/packages/71/c3/70da7d8ac18a4f4c502887bd2549e05745fa403e2cd9d06a8a9910a762bc/alabaster-0.7.9.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
new file mode 100644
index 0000000000..8beb216fd3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PyBabel(Package):
+ """Babel is an integrated collection of utilities that assist in
+ internationalizing and localizing Python applications, with an
+ emphasis on web-based applications."""
+
+ homepage = "http://babel.pocoo.org/en/latest/"
+ url = "https://pypi.python.org/packages/source/B/Babel/Babel-2.3.4.tar.gz"
+
+ version('2.3.4', 'afa20bc55b0e991833030129ad498f35',
+ url="https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114/Babel-2.3.4.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pytz', type=nolink)
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index c2a698b0bd..1a5b6df3d7 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -27,7 +27,7 @@ from spack import *
class PyCoverage(Package):
""" Testing coverage checker for python """
- # FIXME: add a proper url for your package's homepage here.
+
homepage = "http://nedbatchelder.com/code/coverage/"
url = "https://pypi.python.org/packages/source/c/coverage/coverage-4.0a6.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py
new file mode 100644
index 0000000000..16da057f21
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-cycler/package.py
@@ -0,0 +1,42 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PyCycler(Package):
+ """Composable style cycles."""
+
+ homepage = "http://matplotlib.org/cycler/"
+ url = "https://github.com/matplotlib/cycler/archive/v0.10.0.tar.gz"
+
+ version('0.10.0', '83dd0df7810e838b59e4dd9fa6e2d198')
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six', type=nolink)
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-docutils/package.py b/var/spack/repos/builtin/packages/py-docutils/package.py
index 3a938d918b..114131df90 100644
--- a/var/spack/repos/builtin/packages/py-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils/package.py
@@ -40,4 +40,4 @@ class PyDocutils(Package):
extends('python')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix={0}'.format(prefix))
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
new file mode 100644
index 0000000000..941e64610e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PyImagesize(Package):
+ """Parses image file headers and returns image size. Supports PNG, JPEG,
+ JPEG2000, and GIF image file formats."""
+
+ homepage = "https://pypi.python.org/pypi/imagesize"
+ url = "https://pypi.python.org/packages/source/i/imagesize/imagesize-0.7.1.tar.gz"
+
+ version('0.7.1', '976148283286a6ba5f69b0f81aef8052',
+ url="https://pypi.python.org/packages/53/72/6c6f1e787d9cab2cc733cf042f125abec07209a58308831c9f292504e826/imagesize-0.7.1.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 943edf521a..8ef4f568c5 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -22,29 +22,28 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-from spack import depends_on, extends, version, nolink
-from spack import Package
+from spack import *
class PyJinja2(Package):
- """
- Jinja2 is a template engine written in pure Python. It provides
+ """Jinja2 is a template engine written in pure Python. It provides
a Django inspired non-XML syntax but supports inline expressions
- and an optional sandboxed environment.
- """
+ and an optional sandboxed environment."""
homepage = "http://jinja.pocoo.org/"
- url = "https://github.com/pallets/jinja/archive/2.8.tar.gz"
+ url = "https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz"
- version('2.8', '4114200650d7630594e3bc70af23f59e')
- version('2.7.3', '55b87bdc8e585b8b5b86734eefce2621')
- version('2.7.2', '8e8f226809ae6363009b9296e30adf30')
- version('2.7.1', '69b6675553c81b1087f95cae7f2179bb')
- version('2.7', 'ec70433f325051dcedacbb2465028a35')
+ version('2.8', 'edb51693fe22c53cee5403775c71a99e')
+ version('2.7.3', 'b9dffd2f3b43d673802fe857c8445b1a')
+ version('2.7.2', 'df1581455564e97010e38bc792012aa5')
+ version('2.7.1', '282aed153e69f970d6e76f78ed9d027a')
+ version('2.7', 'c2fb12cbbb523c57d3d15bfe4dc0e8fe')
- extends("python")
- depends_on("py-setuptools", type='build')
- depends_on("py-markupsafe", type=nolink)
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-markupsafe', type=nolink)
+ depends_on('py-babel@0.8:', type=nolink) # optional, required for i18n
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index 0a039d1d47..5ba5bfb997 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -22,29 +22,27 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-from spack import depends_on, extends, version
-from spack import Package
+from spack import *
class PyMarkupsafe(Package):
- """
- MarkupSafe is a library for Python that implements a unicode
- string that is aware of HTML escaping rules and can be used
- to implement automatic string escaping. It is used by Jinja 2,
- the Mako templating engine, the Pylons web framework and many more.
- """
+ """MarkupSafe is a library for Python that implements a unicode
+ string that is aware of HTML escaping rules and can be used to
+ implement automatic string escaping. It is used by Jinja 2, the
+ Mako templating engine, the Pylons web framework and many more."""
homepage = "http://www.pocoo.org/projects/markupsafe/"
- url = "https://github.com/pallets/markupsafe/archive/0.23.tar.gz"
+ url = "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz"
- version('0.23', '1a0dadc95169832367c9dcf142155cde')
- version('0.22', '7a2ac7427b58def567628d06dc328396')
- version('0.21', 'aebcd93ee05269773c8b80bb6c86fc2f')
- version('0.20', '0c1fef97c8fd6a986d708f08d7f84a02')
- version('0.19', '64b05361adb92c11839fc470e308c593')
+ version('0.23', 'f5ab3deee4c37cd6a922fb81e730da6e')
+ version('0.22', 'cb3ec29fd5361add24cfd0c6e2953b3e')
+ version('0.21', 'fde838d9337fa51744283f46a1db2e74')
+ version('0.20', '7da066d9cb191a70aa85d0a3d43565d1')
+ version('0.19', 'ccb3f746c807c5500850987006854a6d')
- extends("python")
- depends_on("py-setuptools", type='build')
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index c454a47ec3..0b8ff4715d 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -27,55 +27,73 @@ import os
class PyMatplotlib(Package):
- """Python plotting package."""
+ """matplotlib is a python 2D plotting library which produces publication
+ quality figures in a variety of hardcopy formats and interactive
+ environments across platforms."""
+
homepage = "https://pypi.python.org/pypi/matplotlib"
url = "https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.2.tar.gz"
- version('1.4.2', '7d22efb6cce475025733c50487bd8898')
+ version('1.5.1', 'f51847d8692cb63df64cd0bd0304fd20')
version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267')
+ version('1.4.2', '7d22efb6cce475025733c50487bd8898')
- variant('gui', default=False, description='Enable GUI')
+ variant('gui', default=False, description='Enable GUI')
variant('ipython', default=False, description='Enable ipython support')
+ # Python 2.7, 3.4, or 3.5
extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
- depends_on('py-setuptools', type='build')
+ # Required dependencies
+ depends_on('py-numpy@1.6:', type=nolink)
+ depends_on('py-setuptools', type='build')
+ depends_on('py-dateutil@1.1:', type=nolink)
+ depends_on('py-pyparsing', type=nolink)
+ depends_on('libpng@1.2:')
+ depends_on('py-pytz', type=nolink)
+ depends_on('freetype@2.3:')
+ depends_on('py-cycler@0.9:', type=nolink)
+
+ # Optional GUI framework
+ depends_on('tk@8.3:', when='+gui') # not 8.6.0 or 8.6.1
+ depends_on('qt', when='+gui')
depends_on('py-pyside', when='+gui', type=nolink)
- depends_on('py-ipython', when='+ipython', type=nolink)
- depends_on('py-pyparsing', type=nolink)
- depends_on('py-six', type=nolink)
- depends_on('py-dateutil', type=nolink)
- depends_on('py-pytz', type=nolink)
- depends_on('py-nose', type=nolink)
- depends_on('py-numpy', type=nolink)
- depends_on('py-mock', type=nolink)
- depends_on('py-pbr', type=nolink)
- depends_on('py-funcsigs', type=nolink)
+ # TODO: Add more GUI dependencies
+ # Optional external programs
+ # ffmpeg/avconv or mencoder
+ depends_on('ImageMagick')
+
+ # Optional dependencies
+ depends_on('py-pillow', type=nolink)
depends_on('pkg-config', type='build')
- depends_on('freetype')
- depends_on('qt', when='+gui')
- depends_on('bzip2')
- depends_on('tcl', when='+gui')
- depends_on('tk', when='+gui')
- depends_on('qhull')
+ depends_on('py-ipython', when='+ipython')
+
+ # Testing dependencies
+ depends_on('py-nose') # type='test'
+ depends_on('py-mock') # type='test'
+
+ # Required libraries that ship with matplotlib
+ # depends_on('agg@2.4:')
+ depends_on('qhull@2012.1:')
+ # depends_on('ttconv')
+ depends_on('py-six@1.9.0:', type=nolink)
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('build')
+ setup_py('install', '--prefix={0}'.format(prefix))
- if str(self.version) in ['1.4.2', '1.4.3']:
- # hack to fix configuration file
+ if '+gui' in spec:
+ # Set backend in matplotlib configuration file
config_file = None
for p, d, f in os.walk(prefix.lib):
for file in f:
if file.find('matplotlibrc') != -1:
config_file = join_path(p, 'matplotlibrc')
- print config_file
- if config_file is None:
- raise InstallError('could not find config file')
- filter_file(r'backend : pyside',
- 'backend : Qt4Agg',
- config_file)
- filter_file(r'#backend.qt4 : PyQt4',
- 'backend.qt4 : PySide',
- config_file)
+ if not config_file:
+ raise InstallError('Could not find matplotlibrc')
+
+ kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ rc = FileFilter(config_file)
+ rc.filter('^backend.*', 'backend : Qt4Agg', **kwargs)
+ rc.filter('^#backend.qt4.*', 'backend.qt4 : PySide', **kwargs)
diff --git a/var/spack/repos/builtin/packages/py-prettytable/package.py b/var/spack/repos/builtin/packages/py-prettytable/package.py
index cf814733d4..fa1c17ae8c 100644
--- a/var/spack/repos/builtin/packages/py-prettytable/package.py
+++ b/var/spack/repos/builtin/packages/py-prettytable/package.py
@@ -22,16 +22,15 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-from spack import depends_on, extends, version
-from spack import Package
+from spack import *
class PyPrettytable(Package):
- """
- PrettyTable is a simple Python library designed to make
+ """PrettyTable is a simple Python library designed to make
it quick and easy to represent tabular data in visually
- appealing ASCII tables
+ appealing ASCII tables.
"""
+
homepage = "https://code.google.com/archive/p/prettytable/"
url = "https://pypi.python.org/packages/e0/a1/36203205f77ccf98f3c6cf17cf068c972e6458d7e58509ca66da949ca347/prettytable-0.7.2.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py
index 2d22bd9f03..c61b080e14 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -27,14 +27,17 @@ from spack import *
class PyPygments(Package):
"""Pygments is a syntax highlighting package written in Python."""
+
homepage = "https://pypi.python.org/pypi/pygments"
url = "https://pypi.python.org/packages/source/P/Pygments/Pygments-2.0.1.tar.gz"
+ version('2.1.3', 'ed3fba2467c8afcda4d317e4ef2c6150')
version('2.0.1', 'e0daf4c14a4fe5b630da765904de4d6c')
version('2.0.2', '238587a1370d62405edabd0794b3ec4a')
extends('python')
+
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py
index 1cb3e4745f..e575864fab 100644
--- a/var/spack/repos/builtin/packages/py-pyside/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside/package.py
@@ -31,13 +31,16 @@ class PyPyside(Package):
homepage = "https://pypi.python.org/pypi/pyside"
url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz"
- version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d')
+ version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') # rpath problems
+ version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d', preferred=True)
depends_on('cmake', type='build')
extends('python')
depends_on('py-setuptools', type='build')
- depends_on('qt@:4')
+ depends_on('qt@4.5:4.9')
+ depends_on('libxml2@2.6.32:')
+ depends_on('libxslt@1.1.19:')
def patch(self):
"""Undo PySide RPATH handling and add Spack RPATH."""
@@ -58,12 +61,23 @@ class PyPyside(Package):
# PySide tries to patch ELF files to remove RPATHs
# Disable this and go with the one we set.
- filter_file(
- r'^\s*rpath_cmd\(pyside_path, srcpath\)',
- r'#rpath_cmd(pyside_path, srcpath)',
- 'pyside_postinstall.py')
+ if self.spec.satisfies('@1.2.4:'):
+ rpath_file = 'setup.py'
+ else:
+ rpath_file = 'pyside_postinstall.py'
+
+ filter_file(r'(^\s*)(rpath_cmd\(.*\))', r'\1#\2', rpath_file)
+
+ # TODO: rpath handling for PySide 1.2.4 still doesn't work.
+ # PySide can't find the Shiboken library, even though it comes
+ # bundled with it and is installed in the same directory.
+
+ # PySide does not provide official support for
+ # Python 3.5, but it should work fine
+ filter_file("'Programming Language :: Python :: 3.4'",
+ "'Programming Language :: Python :: 3.4',\r\n "
+ "'Programming Language :: Python :: 3.5'",
+ "setup.py")
def install(self, spec, prefix):
- python('setup.py', 'install',
- '--prefix=%s' % prefix,
- '--jobs=%s' % make_jobs)
+ setup_py('install', '--prefix=%s' % prefix, '--jobs=%s' % make_jobs)
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index 96f686d591..486b86a467 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -27,14 +27,19 @@ from spack import *
class PyPytz(Package):
"""World timezone definitions, modern and historical."""
+
homepage = "https://pypi.python.org/pypi/pytz"
url = "https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.gz"
+ version('2016.6.1', 'b6c28a3b968bc1d8badfb61b93874e03',
+ url="https://pypi.python.org/packages/5d/8e/6635d8f3f9f48c03bb925fab543383089858271f9cfd1216b83247e8df94/pytz-2016.6.1.tar.gz")
version('2014.10', 'eb1cb941a20c5b751352c52486aa1dd7')
version('2015.4', '417a47b1c432d90333e42084a605d3d8')
version('2016.3', 'abae92c3301b27bd8a9f56b14f52cb29')
extends('python')
+ depends_on('py-setuptools', type='build')
+
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 08d5e5d552..d696fdf776 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -32,6 +32,8 @@ class PySetuptools(Package):
homepage = "https://pypi.python.org/pypi/setuptools"
url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz"
+ version('25.2.0', 'a0dbb65889c46214c691f6c516cf959c',
+ url="https://pypi.python.org/packages/9f/32/81c324675725d78e7f6da777483a3453611a427db0145dfb878940469692/setuptools-25.2.0.tar.gz")
version('20.7.0', '5d12b39bf3e75e80fdce54e44b255615')
version('20.6.7', '45d6110f3ec14924e44c33411db64fe6')
version('20.5', 'fadc1e1123ddbe31006e5e43e927362b')
@@ -43,4 +45,4 @@ class PySetuptools(Package):
extends('python')
def install(self, spec, prefix):
- setup_py('install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index da0c7aa003..e7b7177586 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -27,14 +27,16 @@ from spack import *
class PySix(Package):
"""Python 2 and 3 compatibility utilities."""
+
homepage = "https://pypi.python.org/pypi/six"
url = "https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz"
- version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
version('1.10.0', '34eed507548117b2ab523ab14b2f8b55')
+ version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
extends('python')
+
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
new file mode 100644
index 0000000000..44c0548932
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PySnowballstemmer(Package):
+ """This package provides 16 stemmer algorithms (15 + Poerter
+ English stemmer) generated from Snowball algorithms."""
+
+ homepage = "https://pypi.python.org/pypi/snowballstemmer"
+ url = "https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer-1.2.1.tar.gz"
+
+ version('1.2.1', '643b019667a708a922172e33a99bf2fa')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
new file mode 100644
index 0000000000..9c57628e2c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
@@ -0,0 +1,42 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PySphinxRtdTheme(Package):
+ """ReadTheDocs.org theme for Sphinx."""
+
+ homepage = "https://pypi.python.org/pypi/sphinx_rtd_theme"
+ url = "https://pypi.python.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-0.1.10a0.tar.gz"
+
+ version('0.1.10a0', '83bd95cae55aa8b773a8cc3a41094282',
+ url="https://pypi.python.org/packages/da/6b/1b75f13d8aa3333f19c6cdf1f0bc9f52ea739cae464fbee050307c121857/sphinx_rtd_theme-0.1.10a0.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index 2295a6a0c3..923962a2dc 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -30,9 +30,25 @@ class PySphinx(Package):
homepage = "http://sphinx-doc.org"
url = "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-1.3.1.tar.gz"
+ version('1.4.5', '5c2cd2dac45dfa6123d067e32a89e89a',
+ url='https://pypi.python.org/packages/8b/78/eeea2b837f911cdc301f5f05163f9729a2381cadd03ccf35b25afe816c90/Sphinx-1.4.5.tar.gz')
version('1.3.1', '8786a194acf9673464c5455b11fd4332')
- extends('python')
+ extends('python', ignore='bin/(pybabel|pygmentize)')
+
+ # Most Python packages only require py-setuptools as a build dependency.
+ # However, py-sphinx requires py-setuptools during runtime as well.
+ depends_on('py-setuptools', type=nolink)
+
+ depends_on('py-six@1.4:', type=nolink)
+ depends_on('py-jinja2@2.3:', type=nolink)
+ depends_on('py-pygments@2.0:', type=nolink)
+ depends_on('py-docutils@0.11:', type=nolink)
+ depends_on('py-snowballstemmer@1.1:', type=nolink)
+ depends_on('py-babel@1.3:', type=nolink) # not 2.0
+ depends_on('py-alabaster@0.7:', type=nolink)
+ depends_on('py-imagesize', when='@1.4:', type=nolink)
+ depends_on('py-sphinx-rtd-theme@0.1:', type=nolink) # optional as of 1.4
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-tuiview/package.py b/var/spack/repos/builtin/packages/py-tuiview/package.py
index 672a3ee587..5caf3ff143 100644
--- a/var/spack/repos/builtin/packages/py-tuiview/package.py
+++ b/var/spack/repos/builtin/packages/py-tuiview/package.py
@@ -26,10 +26,10 @@ from spack import *
class PyTuiview(Package):
+ """TuiView is a lightweight raster GIS with powerful raster attribute
+ table manipulation abilities.
"""
- TuiView is a lightweight raster GIS with powerful raster attribute
- table manipulation abilities.
- """
+
homepage = "https://bitbucket.org/chchrsc/tuiview"
url = "https://bitbucket.org/chchrsc/tuiview/get/tuiview-1.1.7.tar.gz"
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index c4e6754969..57783b0542 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -133,6 +133,8 @@ class Python(Package):
# TODO: Once better testing support is integrated, add the following tests
# https://wiki.python.org/moin/TkInter
#
+ # Note: Only works if ForwardX11Trusted is enabled, i.e. `ssh -Y`
+ #
# if '+tk' in spec:
# env['TK_LIBRARY'] = join_path(spec['tk'].prefix.lib,
# 'tk{0}'.format(spec['tk'].version.up_to(2)))
diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py
index 2733d8b652..462a681ad9 100644
--- a/var/spack/repos/builtin/packages/qhull/package.py
+++ b/var/spack/repos/builtin/packages/qhull/package.py
@@ -37,16 +37,13 @@ class Qhull(Package):
homepage = "http://www.qhull.org"
- version('7.2.0', 'e6270733a826a6a7c32b796e005ec3dc',
+ version('2015.2', 'e6270733a826a6a7c32b796e005ec3dc',
url="http://www.qhull.org/download/qhull-2015-src-7.2.0.tgz")
- version('1.0', 'd0f978c0d8dfb2e919caefa56ea2953c',
+ version('2012.1', 'd0f978c0d8dfb2e919caefa56ea2953c',
url="http://www.qhull.org/download/qhull-2012.1-src.tgz")
- # https://github.com/qhull/qhull/pull/5
- patch('qhull-iterator.patch', when='@1.0')
-
- depends_on('cmake', type='build')
+ depends_on('cmake@2.6:', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
diff --git a/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch b/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch
deleted file mode 100644
index 88e931d84f..0000000000
--- a/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 93f4b306c54bb5be7724dcc19c6e747b62ac76dd Mon Sep 17 00:00:00 2001
-From: Ben Boeckel <mathstuf@gmail.com>
-Date: Thu, 28 May 2015 11:12:25 -0400
-Subject: [PATCH] iterator: use the header
-
-Standard libraries are doing funky things with inline namespaces which
-make these declarations impossible to get right. Just include the
-header.
----
- src/libqhullcpp/QhullIterator.h | 3 +--
- src/libqhullcpp/QhullLinkedList.h | 5 +----
- 2 files changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/src/libqhullcpp/QhullIterator.h b/src/libqhullcpp/QhullIterator.h
-index 9dde894..49f3a3b 100644
---- a/src/libqhullcpp/QhullIterator.h
-+++ b/src/libqhullcpp/QhullIterator.h
-@@ -14,10 +14,9 @@ extern "C" {
- }
-
- #include <assert.h>
-+#include <iterator>
- #include <string>
- #include <vector>
--//! Avoid dependence on <iterator>
--namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }
-
- namespace orgQhull {
-
-diff --git a/src/libqhullcpp/QhullLinkedList.h b/src/libqhullcpp/QhullLinkedList.h
-index d828ac6..00b9008 100644
---- a/src/libqhullcpp/QhullLinkedList.h
-+++ b/src/libqhullcpp/QhullLinkedList.h
-@@ -9,10 +9,7 @@
- #ifndef QHULLLINKEDLIST_H
- #define QHULLLINKEDLIST_H
-
--namespace std {
-- struct bidirectional_iterator_tag;
-- struct random_access_iterator_tag;
--}//std
-+#include <iterator>
-
- #include "QhullError.h"
- extern "C" {
diff --git a/var/spack/repos/builtin/packages/qt-creator/package.py b/var/spack/repos/builtin/packages/qt-creator/package.py
new file mode 100644
index 0000000000..347cf4d6ee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt-creator/package.py
@@ -0,0 +1,46 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program 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) version 2.1, February 1999.
+#
+# This program 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 terms and
+# conditions of 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+import os
+
+
+class QtCreator(Package):
+ """The Qt Creator IDE."""
+ homepage = 'https://www.qt.io/ide/'
+ url = 'http://download.qt.io/official_releases/qtcreator/4.1/4.1.0/qt-creator-opensource-src-4.1.0.tar.gz'
+
+ list_url = 'http://download.qt.io/official_releases/qtcreator/'
+ list_depth = 3
+
+ version('4.1.0', '657727e4209befa4bf5889dff62d9e0a')
+
+ depends_on("qt")
+
+ def install(self, spec, prefix):
+ os.environ['INSTALL_ROOT'] = self.prefix
+ qmake = which('qmake')
+ qmake('-r')
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch
new file mode 100644
index 0000000000..e6a27d5fab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch
@@ -0,0 +1,17 @@
+--- a/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp 2016-08-08 11:34:44.517184658 -0500
++++ b/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp 2016-08-08 11:36:42.371995567 -0500
+@@ -262,10 +262,10 @@
+ m_buttonsMap[BTN_TR2] = QGamepadManager::ButtonR2;
+ m_buttonsMap[BTN_THUMB] = m_buttonsMap[BTN_THUMBL] = QGamepadManager::ButtonL3;
+ m_buttonsMap[BTN_THUMBR] = QGamepadManager::ButtonR3;
+- m_buttonsMap[BTN_TRIGGER_HAPPY1] = QGamepadManager::ButtonLeft;
+- m_buttonsMap[BTN_TRIGGER_HAPPY2] = QGamepadManager::ButtonRight;
+- m_buttonsMap[BTN_TRIGGER_HAPPY3] = QGamepadManager::ButtonUp;
+- m_buttonsMap[BTN_TRIGGER_HAPPY4] = QGamepadManager::ButtonDown;
++ m_buttonsMap[0x2c0] = QGamepadManager::ButtonLeft;
++ m_buttonsMap[0x2c1] = QGamepadManager::ButtonRight;
++ m_buttonsMap[0x2c2] = QGamepadManager::ButtonUp;
++ m_buttonsMap[0x2c3] = QGamepadManager::ButtonDown;
+
+ if (m_productId)
+ m_backend->saveSettings(m_productId, QVariant());
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 4239fa292b..436702fa4e 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -29,7 +29,11 @@ import os
class Qt(Package):
"""Qt is a comprehensive cross-platform C++ application framework."""
homepage = 'http://qt.io'
+ url = 'http://download.qt.io/archive/qt/5.7/5.7.0/single/qt-everywhere-opensource-src-5.7.0.tar.gz'
+ list_url = 'http://download.qt.io/archive/qt/'
+ list_depth = 4
+ version('5.7.0', '9a46cce61fc64c20c3ac0a0e0fa41b42')
version('5.5.1', '59f0216819152b77536cf660b015d784')
version('5.4.2', 'fa1c4d819b401b267eb246a543a63ea5')
version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6')
@@ -40,17 +44,18 @@ class Qt(Package):
# Add patch for compile issues with qt3 found with use in the
# OpenSpeedShop project
- variant('krellpatch', default=False,
- description="Build with openspeedshop based patch.")
+ variant('krellpatch', default=False, description="Build with openspeedshop based patch.")
variant('mesa', default=False, description="Depend on mesa.")
variant('gtk', default=False, description="Build with gtkplus.")
patch('qt3krell.patch', when='@3.3.8b+krellpatch')
+ # https://github.com/xboxdrv/xboxdrv/issues/188
+ patch('btn_trigger_happy.patch', when='@5.7.0:')
+
# Use system openssl for security.
# depends_on("openssl")
- depends_on("glib")
depends_on("gtkplus", when='+gtk')
depends_on("libxml2")
depends_on("zlib")
@@ -73,29 +78,33 @@ class Qt(Package):
depends_on("libxcb")
def url_for_version(self, version):
- url = "http://download.qt.io/archive/qt/"
+ # URL keeps getting more complicated with every release
+ url = self.list_url
+
+ if version >= Version('4.0'):
+ url += version.up_to(2) + '/'
+ else:
+ url += version.up_to(1) + '/'
+
+ if version >= Version('4.8'):
+ url += str(version) + '/'
if version >= Version('5'):
- url += "%s/%s/single/qt-everywhere-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version, version)
- elif version >= Version('4.8'):
- url += "%s/%s/qt-everywhere-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version, version)
- elif version >= Version('4.6'):
- url += "%s/qt-everywhere-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version)
- elif version >= Version('4.0'):
- url += "%s/qt-x11-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version)
- elif version >= Version('3'):
- url += "%s/qt-x11-free-%s.tar.gz" % \
- (version.up_to(1), version)
+ url += 'single/'
+
+ url += 'qt-'
+
+ if version >= Version('4.6'):
+ url += 'everywhere-'
elif version >= Version('2.1'):
- url += "%s/qt-x11-%s.tar.gz" % \
- (version.up_to(1), version)
- else:
- url += "%s/qt-%s.tar.gz" % \
- (version.up_to(1), version)
+ url += 'x11-'
+
+ if version >= Version('4.0'):
+ url += 'opensource-src-'
+ elif version >= Version('3'):
+ url += 'free-'
+
+ url += str(version) + '.tar.gz'
return url
@@ -107,27 +116,34 @@ class Qt(Package):
def patch(self):
if self.spec.satisfies('@4'):
- qmake_conf = 'mkspecs/common/g++-base.conf'
- qmake_unix_conf = 'mkspecs/common/g++-unix.conf'
- elif self.spec.satisfies('@5'):
- qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
- qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf'
- else:
- return
-
- # Fix qmake compilers in the default mkspec
- filter_file(r'^QMAKE_COMPILER *=.*$',
- 'QMAKE_COMPILER = cc', qmake_conf)
- filter_file(r'^QMAKE_CC *=.*$',
- 'QMAKE_CC = cc', qmake_conf)
- filter_file(r'^QMAKE_CXX *=.*$',
- 'QMAKE_CXX = c++', qmake_conf)
- filter_file(r'^QMAKE_LFLAGS_NOUNDEF *\+?=.*$',
- 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf)
+ # Fix qmake compilers in the default mkspec
+ filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
+ 'mkspecs/common/g++-base.conf')
+ filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
+ 'mkspecs/common/g++-base.conf')
+
+ # Necessary to build with GCC 6 and other modern compilers
+ # http://stackoverflow.com/questions/10354371/
+ filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98',
+ 'mkspecs/common/gcc-base.conf')
+
+ filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
+ 'mkspecs/common/g++-unix.conf')
+ elif self.spec.satisfies('@5:'):
+ # Fix qmake compilers in the default mkspec
+ filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc',
+ 'qtbase/mkspecs/common/g++-base.conf')
+ filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
+ 'qtbase/mkspecs/common/g++-base.conf')
+ filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
+ 'qtbase/mkspecs/common/g++-base.conf')
+
+ filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
+ 'qtbase/mkspecs/common/g++-unix.conf')
@property
def common_config_args(self):
- config_args = [
+ return [
'-prefix', self.prefix,
'-v',
'-opensource',
@@ -144,19 +160,12 @@ class Qt(Package):
'-no-nis'
]
- if '+gtk' in self.spec:
- config_args.append('-gtkstyle')
- else:
- config_args.append('-no-gtkstyle')
-
- return config_args
-
# Don't disable all the database drivers, but should
# really get them into spack at some point.
@when('@3')
def configure(self):
- # An user report that this was necessary to link Qt3 on ubuntu
+ # A user reported that this was necessary to link Qt3 on ubuntu
os.environ['LD_LIBRARY_PATH'] = os.getcwd() + '/lib'
configure('-prefix', self.prefix,
'-v',
@@ -169,18 +178,27 @@ class Qt(Package):
def configure(self):
configure('-fast',
'-no-webkit',
+ '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'),
*self.common_config_args)
- @when('@5')
+ @when('@5.0:5.6')
def configure(self):
configure('-no-eglfs',
'-no-directfb',
'-qt-xcb',
- # If someone wants to get a webkit build working, be my
- # guest!
+ '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'),
'-skip', 'qtwebkit',
*self.common_config_args)
+ @when('@5.7:')
+ def configure(self):
+ configure('-no-eglfs',
+ '-no-directfb',
+ '-qt-xcb',
+ '{0}-gtk'.format('' if '+gtk' in self.spec else '-no'),
+ '-skip', 'webengine',
+ *self.common_config_args)
+
def install(self, spec, prefix):
self.configure()
make()
diff --git a/var/spack/repos/builtin/packages/qthreads/package.py b/var/spack/repos/builtin/packages/qthreads/package.py
index 2eaff0a240..634d934938 100644
--- a/var/spack/repos/builtin/packages/qthreads/package.py
+++ b/var/spack/repos/builtin/packages/qthreads/package.py
@@ -37,16 +37,31 @@ class Qthreads(Package):
either full or empty, and a thread can wait for any word to
attain either state."""
homepage = "http://www.cs.sandia.gov/qthreads/"
- url = "https://qthreads.googlecode.com/files/qthread-1.10.tar.bz2"
- version('1.10', '5af8c8bbe88c2a6d45361643780d1671')
+ # Google Code has stopped serving tarballs
+ # We assume the tarballs will soon be available on Github instead
+ # url = "https://qthreads.googlecode.com/files/qthread-1.10.tar.bz2"
+ # version('1.10', '5af8c8bbe88c2a6d45361643780d1671')
- patch("ldflags.patch")
+ # Temporarily install from a git branch
+ url = "https://github.com/Qthreads/qthreads"
+ version("1.10",
+ git="https://github.com/Qthreads/qthreads",
+ branch="release-1.10")
+
+ # patch("ldflags.patch")
patch("restrict.patch")
patch("trap.patch")
+ depends_on("autoconf", type="build")
+ depends_on("hwloc")
+
def install(self, spec, prefix):
+ autogen = Executable("./autogen.sh")
+ autogen()
configure("--prefix=%s" % prefix,
- "--enable-guard-pages")
+ "--enable-guard-pages",
+ "--with-topology=hwloc",
+ "--with-hwloc=%s" % spec["hwloc"].prefix)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index d40e08740f..e0f7972304 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -22,15 +22,13 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
class Scorep(Package):
- """
- The Score-P measurement infrastructure is a highly scalable and easy-to-use
- tool suite for profiling, event tracing, and online analysis of HPC
- applications.
+ """The Score-P measurement infrastructure is a highly scalable and
+ easy-to-use tool suite for profiling, event tracing, and online analysis
+ of HPC applications.
"""
homepage = "http://www.vi-hps.org/projects/score-p"
diff --git a/var/spack/repos/builtin/packages/screen/package.py b/var/spack/repos/builtin/packages/screen/package.py
index 17335603e6..7edfb44a4d 100644
--- a/var/spack/repos/builtin/packages/screen/package.py
+++ b/var/spack/repos/builtin/packages/screen/package.py
@@ -26,8 +26,7 @@ from spack import *
class Screen(Package):
- """
- Screen is a full-screen window manager that multiplexes a physical
+ """Screen is a full-screen window manager that multiplexes a physical
terminal between several processes, typically interactive shells.
"""
diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py
index 636aa26bd2..c591c48d19 100644
--- a/var/spack/repos/builtin/packages/swiftsim/package.py
+++ b/var/spack/repos/builtin/packages/swiftsim/package.py
@@ -22,15 +22,12 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
-
import llnl.util.tty as tty
class Swiftsim(Package):
- """
- SPH With Inter-dependent Fine-grained Tasking (SWIFT) provides
+ """SPH With Inter-dependent Fine-grained Tasking (SWIFT) provides
astrophysicists with a state of the art framework to perform
particle based simulations.
"""
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index a77df8d37c..1801b41c37 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -22,21 +22,18 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-
from spack import *
-
import os
import os.path
-
from llnl.util.filesystem import join_path
class Tau(Package):
- """
- A portable profiling and tracing toolkit for performance
+ """A portable profiling and tracing toolkit for performance
analysis of parallel programs written in Fortran, C, C++, UPC,
Java, Python.
"""
+
homepage = "http://www.cs.uoregon.edu/research/tau"
url = "https://www.cs.uoregon.edu/research/tau/tau_releases/tau-2.25.tar.gz"
diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py
index d0c2d3d497..9f3ad8a4dc 100644
--- a/var/spack/repos/builtin/packages/xerces-c/package.py
+++ b/var/spack/repos/builtin/packages/xerces-c/package.py
@@ -26,9 +26,9 @@ from spack import *
class XercesC(Package):
- """ Xerces-C++ is a validating XML parser written in a portable subset of C++.
- Xerces-C++ makes it easy to give your application the ability to read and
- write XML data. A shared library is provided for parsing, generating,
+ """Xerces-C++ is a validating XML parser written in a portable subset of
+ C++. Xerces-C++ makes it easy to give your application the ability to read
+ and write XML data. A shared library is provided for parsing, generating,
manipulating, and validating XML documents using the DOM, SAX, and SAX2
APIs.
"""
diff --git a/var/spack/repos/builtin/packages/xz/package.py b/var/spack/repos/builtin/packages/xz/package.py
index a8ab959a62..8b0609f50e 100644
--- a/var/spack/repos/builtin/packages/xz/package.py
+++ b/var/spack/repos/builtin/packages/xz/package.py
@@ -37,6 +37,9 @@ class Xz(Package):
version('5.2.2', 'f90c9a0c8b259aee2234c4e0d7fd70af')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure('--prefix={0}'.format(prefix))
+
make()
- make("install")
+ if self.run_tests:
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py
index 6d799fb05a..6f4d8a5bb8 100644
--- a/var/spack/repos/builtin/packages/zlib/package.py
+++ b/var/spack/repos/builtin/packages/zlib/package.py
@@ -35,7 +35,9 @@ class Zlib(Package):
version('1.2.8', '44d667c142d7cda120332623eab69f40')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ configure('--prefix={0}'.format(prefix))
make()
- make("install")
+ if self.run_tests:
+ make('test')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py
index 4c27cd3ec2..a70d307be9 100644
--- a/var/spack/repos/builtin/packages/zsh/package.py
+++ b/var/spack/repos/builtin/packages/zsh/package.py
@@ -26,11 +26,11 @@ from spack import *
class Zsh(Package):
+ """Zsh is a shell designed for interactive use, although it is also a
+ powerful scripting language. Many of the useful features of bash, ksh, and
+ tcsh were incorporated into zsh; many original features were added.
"""
- Zsh is a shell designed for interactive use, although it is also a powerful
- scripting language. Many of the useful features of bash, ksh, and tcsh were
- incorporated into zsh; many original features were added.
- """
+
homepage = "http://www.zsh.org"
url = "http://downloads.sourceforge.net/project/zsh/zsh/5.1.1/zsh-5.1.1.tar.gz"