summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake-client/package.py89
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake/package.py69
-rw-r--r--var/spack/repos/builtin/packages/dbus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py19
-rw-r--r--var/spack/repos/builtin/packages/environment-modules/package.py38
-rw-r--r--var/spack/repos/builtin/packages/git/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libxcb/package.py3
-rw-r--r--var/spack/repos/builtin/packages/metis/package.py18
-rw-r--r--var/spack/repos/builtin/packages/modules/package.py25
-rw-r--r--var/spack/repos/builtin/packages/netcdf-cxx/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mpmath/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py63
-rw-r--r--var/spack/repos/builtin/packages/py-sympy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/suite-sparse/package.py41
-rw-r--r--var/spack/repos/builtin/packages/tcl/package.py9
-rw-r--r--var/spack/repos/builtin/packages/tk/package.py6
16 files changed, 365 insertions, 40 deletions
diff --git a/var/spack/repos/builtin.mock/packages/cmake-client/package.py b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
new file mode 100644
index 0000000000..a5d3ef156a
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
@@ -0,0 +1,89 @@
+##############################################################################
+# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written 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 General Public License (as published by
+# the Free Software Foundation) version 2.1 dated 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 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
+
+def check(condition, msg):
+ """Raise an install error if condition is False."""
+ if not condition:
+ raise InstallError(msg)
+
+
+class CmakeClient(Package):
+ """A dumy package that uses cmake."""
+ homepage = 'https://www.example.com'
+ url = 'https://www.example.com/cmake-client-1.0.tar.gz'
+
+ version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+
+ depends_on('cmake')
+
+
+ def setup_environment(self, spack_env, run_env):
+ spack_cc # Ensure spack module-scope variable is avaiabl
+ check(from_cmake == "from_cmake",
+ "setup_environment couldn't read global set by cmake.")
+
+ check(self.spec['cmake'].link_arg == "test link arg",
+ "link arg on dependency spec not readable from setup_environment.")
+
+
+ def setup_dependent_environment(self, spack_env, run_env, dspec):
+ spack_cc # Ensure spack module-scope variable is avaiable
+ check(from_cmake == "from_cmake",
+ "setup_dependent_environment couldn't read global set by cmake.")
+
+ check(self.spec['cmake'].link_arg == "test link arg",
+ "link arg on dependency spec not readable from setup_dependent_environment.")
+
+
+ def setup_dependent_package(self, module, dspec):
+ spack_cc # Ensure spack module-scope variable is avaiable
+ check(from_cmake == "from_cmake",
+ "setup_dependent_package couldn't read global set by cmake.")
+
+ check(self.spec['cmake'].link_arg == "test link arg",
+ "link arg on dependency spec not readable from setup_dependent_package.")
+
+
+
+ def install(self, spec, prefix):
+ # check that cmake is in the global scope.
+ global cmake
+ check(cmake is not None, "No cmake was in environment!")
+
+ # check that which('cmake') returns the right one.
+ cmake = which('cmake')
+ check(cmake.exe[0].startswith(spec['cmake'].prefix.bin),
+ "Wrong cmake was in environment: %s" % cmake)
+
+ check(from_cmake == "from_cmake",
+ "Couldn't read global set by cmake.")
+
+ check(os.environ['from_cmake'] == 'from_cmake',
+ "Couldn't read env var set in envieonmnt by dependency")
+
+ mkdirp(prefix.bin)
+ touch(join_path(prefix.bin, 'dummy'))
diff --git a/var/spack/repos/builtin.mock/packages/cmake/package.py b/var/spack/repos/builtin.mock/packages/cmake/package.py
new file mode 100644
index 0000000000..deb44c2bf7
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/cmake/package.py
@@ -0,0 +1,69 @@
+##############################################################################
+# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Written 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 General Public License (as published by
+# the Free Software Foundation) version 2.1 dated 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 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
+
+def check(condition, msg):
+ """Raise an install error if condition is False."""
+ if not condition:
+ raise InstallError(msg)
+
+
+class Cmake(Package):
+ """A dumy package for the cmake build system."""
+ homepage = 'https://www.cmake.org'
+ url = 'https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz'
+
+ version('3.4.3', '4cb3ff35b2472aae70f542116d616e63',
+ url='https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz')
+
+
+ def setup_environment(self, spack_env, run_env):
+ spack_cc # Ensure spack module-scope variable is avaiable
+ spack_env.set('for_install', 'for_install')
+
+ def setup_dependent_environment(self, spack_env, run_env, dspec):
+ spack_cc # Ensure spack module-scope variable is avaiable
+ spack_env.set('from_cmake', 'from_cmake')
+
+
+ def setup_dependent_package(self, module, dspec):
+ spack_cc # Ensure spack module-scope variable is avaiable
+
+ self.spec.from_cmake = "from_cmake"
+ module.from_cmake = "from_cmake"
+
+ self.spec.link_arg = "test link arg"
+
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+
+ check(os.environ['for_install'] == 'for_install',
+ "Couldn't read env var set in compile envieonmnt")
+
+ cmake_exe = join_path(prefix.bin, 'cmake')
+ touch(cmake_exe)
+ set_executable(cmake_exe)
diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py
index 422f5a19eb..74ce8ef502 100644
--- a/var/spack/repos/builtin/packages/dbus/package.py
+++ b/var/spack/repos/builtin/packages/dbus/package.py
@@ -20,6 +20,8 @@ class Dbus(Package):
version('1.8.4', '4717cb8ab5b80978fcadf2b4f2f72e1b')
version('1.8.2', 'd6f709bbec0a022a1847c7caec9d6068')
+ depends_on('expat')
+
def install(self, spec, prefix):
configure(
"--prefix=%s" % prefix,
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 0b76db3827..1f763ad358 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -23,8 +23,10 @@ class Dealii(Package):
# required dependencies, light version
depends_on ("blas")
- depends_on ("boost", when='~mpi')
- depends_on ("boost+mpi", when='+mpi')
+ # Boost 1.58 is blacklisted, see https://github.com/dealii/dealii/issues/1591
+ # require at least 1.59
+ depends_on ("boost@1.59.0:", when='~mpi')
+ depends_on ("boost@1.59.0:+mpi", when='+mpi')
depends_on ("bzip2")
depends_on ("cmake")
depends_on ("lapack")
@@ -174,6 +176,19 @@ class Dealii(Package):
make('release')
make('run',parallel=False)
+ # An example which uses Metis + PETSc
+ # FIXME: switch step-18 to MPI
+ with working_dir('examples/step-18'):
+ print('=====================================')
+ print('============= Step-18 ===============')
+ print('=====================================')
+ # list the number of cycles to speed up
+ filter_file(r'(end_time = 10;)', ('end_time = 3;'), 'step-18.cc')
+ if '^petsc' in spec and '^metis' in spec:
+ cmake('.')
+ make('release')
+ make('run',parallel=False)
+
# take step-40 which can use both PETSc and Trilinos
# FIXME: switch step-40 to MPI run
with working_dir('examples/step-40'):
diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py
new file mode 100644
index 0000000000..45181da41b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/environment-modules/package.py
@@ -0,0 +1,38 @@
+from spack import *
+
+
+class EnvironmentModules(Package):
+ """The Environment Modules package provides for the dynamic
+ modification of a user's environment via modulefiles."""
+
+ homepage = "https://sourceforge.net/p/modules/wiki/Home/"
+ url = "http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz"
+
+ version('3.2.10', '8b097fdcb90c514d7540bb55a3cb90fb')
+
+ # Dependencies:
+ depends_on('tcl')
+
+ def install(self, spec, prefix):
+ tcl_spec = spec['tcl']
+
+ # See: https://sourceforge.net/p/modules/bugs/62/
+ CPPFLAGS = ['-DUSE_INTERP_ERRORLINE']
+ config_args = [
+ "--without-tclx",
+ "--with-tclx-ver=0.0",
+ "--prefix=%s" % prefix,
+ "--with-tcl=%s" % join_path(tcl_spec.prefix, 'lib'), # It looks for tclConfig.sh
+ "--with-tcl-ver=%d.%d" % (tcl_spec.version.version[0], tcl_spec.version.version[1]),
+ '--disable-debug',
+ '--disable-dependency-tracking',
+ '--disable-silent-rules',
+ '--disable-versioning',
+ '--datarootdir=%s' % prefix.share,
+ 'CPPFLAGS=%s' % ' '.join(CPPFLAGS)
+ ]
+
+
+ configure(*config_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py
index 586b6ce3c3..388f84aefd 100644
--- a/var/spack/repos/builtin/packages/git/package.py
+++ b/var/spack/repos/builtin/packages/git/package.py
@@ -36,6 +36,8 @@ class Git(Package):
depends_on("curl", when="+curl")
depends_on("expat", when="+expat")
+ # Also depends_on gettext: apt-get install gettext (Ubuntu)
+
# Use system perl for now.
# depends_on("perl")
# depends_on("pcre")
diff --git a/var/spack/repos/builtin/packages/libxcb/package.py b/var/spack/repos/builtin/packages/libxcb/package.py
index 1dd5954c99..d7d94c4546 100644
--- a/var/spack/repos/builtin/packages/libxcb/package.py
+++ b/var/spack/repos/builtin/packages/libxcb/package.py
@@ -14,6 +14,9 @@ class Libxcb(Package):
depends_on("python")
depends_on("xcb-proto")
+ # depends_on('pthread') # Ubuntu: apt-get install libpthread-stubs0-dev
+ # depends_on('xau') # Ubuntu: apt-get install libxau-dev
+
def patch(self):
filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')
diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py
index 9301135f9f..d3bab554fe 100644
--- a/var/spack/repos/builtin/packages/metis/package.py
+++ b/var/spack/repos/builtin/packages/metis/package.py
@@ -79,10 +79,28 @@ class Metis(Package):
if '+double' in spec:
filter_file('REALTYPEWIDTH 32', 'REALTYPEWIDTH 64', metis_header)
+ # Make clang 7.3 happy.
+ # Prevents "ld: section __DATA/__thread_bss extends beyond end of file"
+ # See upstream LLVM issue https://llvm.org/bugs/show_bug.cgi?id=27059
+ # Adopted from https://github.com/Homebrew/homebrew-science/blob/master/metis.rb
+ if spec.satisfies('%clang@7.3.0'):
+ filter_file('#define MAX_JBUFS 128', '#define MAX_JBUFS 24', join_path(source_directory, 'GKlib', 'error.c'))
+
with working_dir(build_directory, create=True):
cmake(source_directory, *options)
make()
make("install")
+ # now run some tests:
+ for f in ["4elt", "copter2", "mdual"]:
+ graph = join_path(source_directory,'graphs','%s.graph' % f)
+ Executable(join_path(prefix.bin,'graphchk'))(graph)
+ Executable(join_path(prefix.bin,'gpmetis'))(graph,'2')
+ Executable(join_path(prefix.bin,'ndmetis'))(graph)
+
+ graph = join_path(source_directory,'graphs','test.mgraph')
+ Executable(join_path(prefix.bin,'gpmetis'))(graph,'2')
+ graph = join_path(source_directory,'graphs','metis.mesh')
+ Executable(join_path(prefix.bin,'mpmetis'))(graph,'2')
# install GKlib headers, which will be needed for ParMETIS
GKlib_dist = join_path(prefix.include,'GKlib')
diff --git a/var/spack/repos/builtin/packages/modules/package.py b/var/spack/repos/builtin/packages/modules/package.py
deleted file mode 100644
index b014ee460c..0000000000
--- a/var/spack/repos/builtin/packages/modules/package.py
+++ /dev/null
@@ -1,25 +0,0 @@
-from spack import *
-
-class Modules(Package):
- """ The Environment Modules package provides for the dynamic modification of a user's environment via modulefiles. """
-
- homepage = "http://modules.sf.net"
- url = "http://downloads.sourceforge.net/project/modules/Modules/modules-3.2.10/modules-3.2.10.tar.gz"
-
- version('3.2.10', '8b097fdcb90c514d7540bb55a3cb90fb')
-
- depends_on("tcl")
-
- def install(self, spec, prefix):
-
- options = ['--prefix=%s' % prefix,
- '--disable-debug',
- '--disable-dependency-tracking',
- '--disable-silent-rules',
- '--disable-versioning',
- '--datarootdir=%s' % prefix.share,
- 'CPPFLAGS=-DUSE_INTERP_ERRORLINE']
-
- configure(*options)
- make()
- make("install")
diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
index 5334dfb853..8aa1d8b236 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
@@ -1,7 +1,11 @@
from spack import *
class NetcdfCxx(Package):
- """C++ compatibility bindings for NetCDF"""
+ """Deprecated C++ compatibility bindings for NetCDF.
+ These do NOT read or write NetCDF-4 files, and are no longer
+ maintained by Unidata. Developers should migrate to current
+ NetCDF C++ bindings, in Spack package netcdf-cxx4."""
+
homepage = "http://www.unidata.ucar.edu/software/netcdf"
url = "http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx-4.2.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py
new file mode 100644
index 0000000000..4d3261ae8f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mpmath/package.py
@@ -0,0 +1,13 @@
+from spack import *
+
+class PyMpmath(Package):
+ """A Python library for arbitrary-precision floating-point arithmetic."""
+ homepage = "http://mpmath.org"
+ url = "https://pypi.python.org/packages/source/m/mpmath/mpmath-all-0.19.tar.gz"
+
+ version('0.19', 'd1b7e19dd6830d0d7b5e1bc93d46c02c')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index adc8507bd5..66d9bb4382 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os
class PyPillow(Package):
"""Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities."""
@@ -7,8 +8,68 @@ class PyPillow(Package):
url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz"
version('3.0.0', 'fc8ac44e93da09678eac7e30c9b7377d')
+ provides('PIL')
+
+ # These defaults correspond to Pillow defaults
+ variant('jpeg', default=True, description='Provide JPEG functionality')
+ variant('zlib', default=True, description='Access to compressed PNGs')
+ variant('tiff', default=False, description='Access to TIFF files')
+ variant('freetype', default=False, description='Font related services')
+ variant('tk', default=False, description='Support for tkinter bitmap and photo images')
+ variant('lcms', default=False, description='Color management')
+
+ # Spack does not (yet) support these modes of building
+ # variant('webp', default=False, description='')
+ # variant('webpmux', default=False, description='')
+ # variant('jpeg2000', default=False, description='')
+
extends('python')
+ depends_on('binutils')
depends_on('py-setuptools')
+ depends_on('jpeg', when='+jpeg') # BUG: It will use the system libjpeg anyway
+ depends_on('zlib', when='+zlib')
+ depends_on('tiff', when='+tiff')
+ depends_on('freetype', when='+freetype')
+ depends_on('lcms', when='+lcms')
+ depends_on('tcl', when='+tk')
+ depends_on('tk', when='+tk')
+
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ libpath=[]
+
+ if '+jpeg' in spec:
+ libpath.append(join_path(spec['jpeg'].prefix, 'lib'))
+ if '+zlib' in spec:
+ libpath.append(join_path(spec['zlib'].prefix, 'lib'))
+ if '+tiff' in spec:
+ libpath.append(join_path(spec['tiff'].prefix, 'lib'))
+ if '+freetype' in spec:
+ libpath.append(join_path(spec['freetype'].prefix, 'lib'))
+ if '+lcms' in spec:
+ libpath.append(join_path(spec['lcms'].prefix, 'lib'))
+
+ # This has not been tested, and likely needs some other treatment.
+ #if '+tk' in spec:
+ # libpath.append(join_path(spec['tcl'].prefix, 'lib'))
+ # libpath.append(join_path(spec['tk'].prefix, 'lib'))
+
+ # -------- Building
+ cmd = ['build_ext',
+ '--%s-jpeg' % ('enable' if '+jpeg' in spec else 'disable'),
+ '--%s-zlib' % ('enable' if '+zlib' in spec else 'disable'),
+ '--%s-tiff' % ('enable' if '+tiff' in spec else 'disable'),
+ '--%s-freetype' % ('enable' if '+freetype' in spec else 'disable'),
+ '--%s-lcms' % ('enable' if '+lcms' in spec else 'disable'),
+ '-L'+':'.join(libpath) # NOTE: This does not make it find libjpeg
+ ]
+
+ #if '+tk' in spec:
+ # cmd.extend(['--enable-tcl', '--enable-tk'])
+ #else:
+ # cmd.extend(['--disable-tcl', '--disable-tk'])
+
+ # --------- Installation
+ cmd.extend(['install', '--prefix=%s' % prefix])
+
+ python('setup.py', *cmd)
diff --git a/var/spack/repos/builtin/packages/py-sympy/package.py b/var/spack/repos/builtin/packages/py-sympy/package.py
index c17e35b95f..bbce8c74e3 100644
--- a/var/spack/repos/builtin/packages/py-sympy/package.py
+++ b/var/spack/repos/builtin/packages/py-sympy/package.py
@@ -6,8 +6,10 @@ class PySympy(Package):
url = "https://pypi.python.org/packages/source/s/sympy/sympy-0.7.6.tar.gz"
version('0.7.6', '3d04753974306d8a13830008e17babca')
+ version('1.0', '43e797de799f00f9e8fd2307dba9fab1')
extends('python')
+ depends_on('py-mpmath', when='@1.0:')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py
index c2196dcec4..a4b3979a15 100644
--- a/var/spack/repos/builtin/packages/suite-sparse/package.py
+++ b/var/spack/repos/builtin/packages/suite-sparse/package.py
@@ -10,10 +10,18 @@ class SuiteSparse(Package):
version('4.5.1', 'f0ea9aad8d2d1ffec66a5b6bfeff5319')
+ # FIXME: (see below)
+ # variant('tbb', default=True, description='Build with Intel TBB')
+
depends_on('blas')
depends_on('lapack')
depends_on('metis@5.1.0', when='@4.5.1')
+ # FIXME:
+ # in @4.5.1. TBB support in SPQR seems to be broken as TBB-related linkng flags
+ # does not seem to be used, which leads to linking errors on Linux.
+ # Try re-enabling in future versions.
+ # depends_on('tbb', when='+tbb')
def install(self, spec, prefix):
# The build system of SuiteSparse is quite old-fashioned
@@ -21,16 +29,35 @@ class SuiteSparse(Package):
# with a lot of convoluted logic in it.
# Any kind of customization will need to go through filtering of that file
- # FIXME : this actually uses the current workaround
- # FIXME : (blas / lapack always provide libblas and liblapack as aliases)
- make('install', 'INSTALL=%s' % prefix,
+ make_args = ['INSTALL=%s' % prefix]
- # inject Spack compiler wrappers
+ # inject Spack compiler wrappers
+ make_args.extend([
'AUTOCC=no',
'CC=cc',
'CXX=c++',
'F77=f77',
+ ])
+
+ # use Spack's metis in CHOLMOD/Partition module,
+ # otherwise internal Metis will be compiled
+ make_args.extend([
+ 'MY_METIS_LIB=-L%s -lmetis' % spec['metis'].prefix.lib,
+ 'MY_METIS_INC=%s' % spec['metis'].prefix.include,
+ ])
+
+ # Intel TBB in SuiteSparseQR
+ if '+tbb' in spec:
+ make_args.extend([
+ 'SPQR_CONFIG=-DHAVE_TBB',
+ 'TBB=-L%s -ltbb' % spec['tbb'].prefix.lib,
+ ])
+
+ # BLAS arguments require path to libraries
+ # FIXME : (blas / lapack always provide libblas and liblapack as aliases)
+ make_args.extend([
+ 'BLAS=-lblas',
+ 'LAPACK=-llapack'
+ ])
- # BLAS arguments require path to libraries
- 'BLAS=-lblas',
- 'LAPACK=-llapack')
+ make('install', *make_args)
diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py
index 529adf7788..db8bee88d0 100644
--- a/var/spack/repos/builtin/packages/tcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl/package.py
@@ -10,8 +10,13 @@ class Tcl(Package):
extensible."""
homepage = "http://www.tcl.tk"
- version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f',
- url="http://prdownloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz")
+ def url_for_version(self, version):
+ return 'http://prdownloads.sourceforge.net/tcl/tcl%s-src.tar.gz' % version
+
+ version('8.6.5', '0e6426a4ca9401825fbc6ecf3d89a326')
+ version('8.6.4', 'd7cbb91f1ded1919370a30edd1534304')
+ version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f')
+ version('8.5.19', '0e6426a4ca9401825fbc6ecf3d89a326')
depends_on('zlib')
diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py
index 96736f6f95..839d217f34 100644
--- a/var/spack/repos/builtin/packages/tk/package.py
+++ b/var/spack/repos/builtin/packages/tk/package.py
@@ -8,9 +8,11 @@ class Tk(Package):
applications that run unchanged across Windows, Mac OS X, Linux
and more."""
homepage = "http://www.tcl.tk"
- url = "http://prdownloads.sourceforge.net/tcl/tk8.6.3-src.tar.gz"
- version('src', '85ca4dbf4dcc19777fd456f6ee5d0221')
+ def url_for_version(self, version):
+ return "http://prdownloads.sourceforge.net/tcl/tk%s-src.tar.gz" % version
+
+ version('8.6.3', '85ca4dbf4dcc19777fd456f6ee5d0221')
depends_on("tcl")