diff options
Diffstat (limited to 'var')
59 files changed, 747 insertions, 47 deletions
diff --git a/var/spack/mock_configs/site_spackconfig b/var/spack/mock_configs/site_spackconfig deleted file mode 100644 index 1358720362..0000000000 --- a/var/spack/mock_configs/site_spackconfig +++ /dev/null @@ -1,12 +0,0 @@ -[compiler "gcc@4.5.0"] - cc = /path/to/gcc - cxx = /path/to/g++ - f77 = /path/to/gfortran - fc = /path/to/gfortran - -[compiler "clang@3.3"] - cc = /path/to/clang - cxx = /path/to/clang++ - f77 = None - fc = None - diff --git a/var/spack/mock_configs/site_spackconfig/compilers.yaml b/var/spack/mock_configs/site_spackconfig/compilers.yaml new file mode 100644 index 0000000000..0a2dc893e2 --- /dev/null +++ b/var/spack/mock_configs/site_spackconfig/compilers.yaml @@ -0,0 +1,12 @@ +compilers: + all: + clang@3.3: + cc: /path/to/clang + cxx: /path/to/clang++ + f77: None + fc: None + gcc@4.5.0: + cc: /path/to/gcc + cxx: /path/to/g++ + f77: /path/to/gfortran + fc: /path/to/gfortran diff --git a/var/spack/mock_configs/user_spackconfig b/var/spack/mock_configs/user_spackconfig deleted file mode 100644 index e69de29bb2..0000000000 --- a/var/spack/mock_configs/user_spackconfig +++ /dev/null diff --git a/var/spack/mock_packages/a/package.py b/var/spack/mock_packages/a/package.py new file mode 100644 index 0000000000..fa63c08df0 --- /dev/null +++ b/var/spack/mock_packages/a/package.py @@ -0,0 +1,12 @@ +from spack import * + +class A(Package): + """Simple package with no dependencies""" + + homepage = "http://www.example.com" + url = "http://www.example.com/a-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + def install(self, spec, prefix): + pass diff --git a/var/spack/mock_packages/b/package.py b/var/spack/mock_packages/b/package.py new file mode 100644 index 0000000000..cb88aa2157 --- /dev/null +++ b/var/spack/mock_packages/b/package.py @@ -0,0 +1,12 @@ +from spack import * + +class B(Package): + """Simple package with no dependencies""" + + homepage = "http://www.example.com" + url = "http://www.example.com/b-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + def install(self, spec, prefix): + pass diff --git a/var/spack/mock_packages/c/package.py b/var/spack/mock_packages/c/package.py new file mode 100644 index 0000000000..f51b913fa9 --- /dev/null +++ b/var/spack/mock_packages/c/package.py @@ -0,0 +1,12 @@ +from spack import * + +class C(Package): + """Simple package with no dependencies""" + + homepage = "http://www.example.com" + url = "http://www.example.com/c-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + def install(self, spec, prefix): + pass diff --git a/var/spack/mock_packages/e/package.py b/var/spack/mock_packages/e/package.py new file mode 100644 index 0000000000..76c6b64c7f --- /dev/null +++ b/var/spack/mock_packages/e/package.py @@ -0,0 +1,12 @@ +from spack import * + +class E(Package): + """Simple package with no dependencies""" + + homepage = "http://www.example.com" + url = "http://www.example.com/e-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + def install(self, spec, prefix): + pass diff --git a/var/spack/mock_packages/mpich/package.py b/var/spack/mock_packages/mpich/package.py index 75a939a892..f77d3efc5d 100644 --- a/var/spack/mock_packages/mpich/package.py +++ b/var/spack/mock_packages/mpich/package.py @@ -30,6 +30,9 @@ class Mpich(Package): list_url = "http://www.mpich.org/static/downloads/" list_depth = 2 + variant('debug', default=False, + description="Compile MPICH with debug flags.") + version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0') version('3.0.3', 'foobarbaz') version('3.0.2', 'foobarbaz') diff --git a/var/spack/mock_packages/mpileaks/package.py b/var/spack/mock_packages/mpileaks/package.py index c6be37bc13..3989f1b452 100644 --- a/var/spack/mock_packages/mpileaks/package.py +++ b/var/spack/mock_packages/mpileaks/package.py @@ -33,6 +33,9 @@ class Mpileaks(Package): version(2.2, 'foobarbaz') version(2.3, 'foobarbaz') + variant('debug', default=False, description='Debug variant') + variant('opt', default=False, description='Optimized variant') + depends_on("mpi") depends_on("callpath") diff --git a/var/spack/mock_packages/optional-dep-test-2/package.py b/var/spack/mock_packages/optional-dep-test-2/package.py new file mode 100644 index 0000000000..ef0587588e --- /dev/null +++ b/var/spack/mock_packages/optional-dep-test-2/package.py @@ -0,0 +1,18 @@ +from spack import * + +class OptionalDepTest2(Package): + """Depends on the optional-dep-test package""" + + homepage = "http://www.example.com" + url = "http://www.example.com/optional-dep-test-2-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + variant('odt', default=False) + variant('mpi', default=False) + + depends_on('optional-dep-test', when='+odt') + depends_on('optional-dep-test+mpi', when='+mpi') + + def install(self, spec, prefix): + pass diff --git a/var/spack/mock_packages/optional-dep-test/package.py b/var/spack/mock_packages/optional-dep-test/package.py new file mode 100644 index 0000000000..bb57576ca9 --- /dev/null +++ b/var/spack/mock_packages/optional-dep-test/package.py @@ -0,0 +1,29 @@ +from spack import * + +class OptionalDepTest(Package): + """Description""" + + homepage = "http://www.example.com" + url = "http://www.example.com/optional_dep_test-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + version('1.1', '0123456789abcdef0123456789abcdef') + + variant('a', default=False) + variant('f', default=False) + variant('mpi', default=False) + + depends_on('a', when='+a') + depends_on('b', when='@1.1') + depends_on('c', when='%intel') + depends_on('d', when='%intel@64.1') + depends_on('e', when='%clang@34:40') + + depends_on('f', when='+f') + depends_on('g', when='^f') + depends_on('mpi', when='^g') + + depends_on('mpi', when='+mpi') + + def install(self, spec, prefix): + pass diff --git a/var/spack/packages/Mitos/package.py b/var/spack/packages/Mitos/package.py index 272360a55c..e3c9c7a5c3 100644 --- a/var/spack/packages/Mitos/package.py +++ b/var/spack/packages/Mitos/package.py @@ -7,9 +7,10 @@ class Mitos(Package): homepage = "https://github.com/scalability-llnl/Mitos" url = "https://github.com/scalability-llnl/Mitos" - version('0.7', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.7') + version('0.9', '8a8f05b35e04e9f37fa15436b98d5b25', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.9') - depends_on('dyninst') + depends_on('dyninst@8.2.1:') + depends_on('hwloc') def install(self, spec, prefix): with working_dir('spack-build', create=True): diff --git a/var/spack/packages/adept-utils/package.py b/var/spack/packages/adept-utils/package.py index 2515322ec2..e4a2e1523f 100644 --- a/var/spack/packages/adept-utils/package.py +++ b/var/spack/packages/adept-utils/package.py @@ -30,7 +30,8 @@ class AdeptUtils(Package): homepage = "https://github.com/scalability-llnl/adept-utils" url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz" - version('1.0', '5c6cd9badce56c945ac8551e34804397') + version('1.0.1', '731a310717adcb004d9d195130efee7d') + version('1.0', '5c6cd9badce56c945ac8551e34804397') depends_on("boost") depends_on("mpi") diff --git a/var/spack/packages/arpack/package.py b/var/spack/packages/arpack/package.py new file mode 100644 index 0000000000..8c67c536f3 --- /dev/null +++ b/var/spack/packages/arpack/package.py @@ -0,0 +1,41 @@ +from spack import * +import os +import shutil + +class Arpack(Package): + """A collection of Fortran77 subroutines designed to solve large scale + eigenvalue problems. + """ + homepage = "http://www.caam.rice.edu/software/ARPACK/" + url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz" + + version('96', 'fffaa970198b285676f4156cebc8626e') + + depends_on('blas') + depends_on('lapack') + + def patch(self): + # Filter the cray makefile to make a spack one. + shutil.move('ARMAKES/ARmake.CRAY', 'ARmake.inc') + makefile = FileFilter('ARmake.inc') + + # Be sure to use Spack F77 wrapper + makefile.filter('^FC.*', 'FC = f77') + makefile.filter('^FFLAGS.*', 'FFLAGS = -O2 -g') + + # Set up some variables. + makefile.filter('^PLAT.*', 'PLAT = ') + makefile.filter('^home.*', 'home = %s' % os.getcwd()) + makefile.filter('^BLASdir.*', 'BLASdir = %s' % self.spec['blas'].prefix) + makefile.filter('^LAPACKdir.*', 'LAPACKdir = %s' % self.spec['lapack'].prefix) + + # build the library in our own prefix. + makefile.filter('^ARPACKLIB.*', 'ARPACKLIB = %s/libarpack.a' % os.getcwd()) + + + def install(self, spec, prefix): + with working_dir('SRC'): + make('all') + + mkdirp(prefix.lib) + install('libarpack.a', prefix.lib) diff --git a/var/spack/packages/atlas/package.py b/var/spack/packages/atlas/package.py new file mode 100644 index 0000000000..fc683363a7 --- /dev/null +++ b/var/spack/packages/atlas/package.py @@ -0,0 +1,60 @@ +from spack import * +from spack.util.executable import Executable +import os + +class Atlas(Package): + """ + Automatically Tuned Linear Algebra Software, generic shared + ATLAS is an approach for the automatic generation and optimization of + numerical software. Currently ATLAS supplies optimized versions for the + complete set of linear algebra kernels known as the Basic Linear Algebra + Subroutines (BLAS), and a subset of the linear algebra routines in the + LAPACK library. + """ + homepage = "http://math-atlas.sourceforge.net/" + + version('3.11.34', '0b6c5389c095c4c8785fd0f724ec6825', + url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2/download') + version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da', + url='http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2') + + # TODO: make this provide BLAS once it works better. Create a way + # TODO: to mark "beta" packages and require explicit invocation. + + # provides('blas') + + + def patch(self): + # Disable thraed check. LLNL's environment does not allow + # disabling of CPU throttling in a way that ATLAS actually + # understands. + filter_file(r'^\s+if \(thrchk\) exit\(1\);', 'if (0) exit(1);', + 'CONFIG/src/config.c') + # TODO: investigate a better way to add the check back in + # TODO: using, say, MSRs. Or move this to a variant. + + @when('@:3.10') + def install(self, spec, prefix): + with working_dir('ATLAS-Build', create=True): + configure = Executable('../configure') + configure('--prefix=%s' % prefix, '-C', 'ic', 'cc', '-C', 'if', 'f77', "--dylibs") + make() + make('check') + make('ptcheck') + make('time') + make("install") + + + def install(self, spec, prefix): + with working_dir('ATLAS-Build', create=True): + configure = Executable('../configure') + configure('--incdir=%s' % prefix.include, + '--libdir=%s' % prefix.lib, + '--cc=cc', + "--shared") + + make() + make('check') + make('ptcheck') + make('time') + make("install") diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py new file mode 100644 index 0000000000..5a3059bbcf --- /dev/null +++ b/var/spack/packages/binutils/package.py @@ -0,0 +1,17 @@ +from spack import * + +class Binutils(Package): + """GNU binutils, which contain the linker, assembler, objdump and others""" + homepage = "http://www.gnu.org/software/binutils/" + url = "ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2" + + version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66') + version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b') + version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e') + version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764') + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix) + + make() + make("install") diff --git a/var/spack/packages/boxlib/package.py b/var/spack/packages/boxlib/package.py new file mode 100644 index 0000000000..4f1b71132f --- /dev/null +++ b/var/spack/packages/boxlib/package.py @@ -0,0 +1,25 @@ +from spack import * + +class Boxlib(Package): + """BoxLib, a software framework for massively parallel + block-structured adaptive mesh refinement (AMR) codes.""" + + homepage = "https://ccse.lbl.gov/BoxLib/" + url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git"; + + # TODO: figure out how best to version this. No tags in the repo! + version('master', git='https://ccse.lbl.gov/pub/Downloads/BoxLib.git') + + depends_on('mpi') + + def install(self, spec, prefix): + args = std_cmake_args + args += ['-DCCSE_ENABLE_MPI=1', + '-DCMAKE_C_COMPILER=%s' % which('mpicc'), + '-DCMAKE_CXX_COMPILER=%s' % which('mpicxx'), + '-DCMAKE_Fortran_COMPILER=%s' % which('mpif90')] + + cmake('.', *args) + make() + make("install") + diff --git a/var/spack/packages/cblas/package.py b/var/spack/packages/cblas/package.py new file mode 100644 index 0000000000..93cf5fb7b8 --- /dev/null +++ b/var/spack/packages/cblas/package.py @@ -0,0 +1,32 @@ +from spack import * +import os + +class Cblas(Package): + """The BLAS (Basic Linear Algebra Subprograms) are routines that + provide standard building blocks for performing basic vector and + matrix operations.""" + + homepage = "http://www.netlib.org/blas/_cblas/" + + # tarball has no version, but on the date below, this MD5 was correct. + version('2015-06-06', '1e8830f622d2112239a4a8a83b84209a', + url='http://www.netlib.org/blas/blast-forum/cblas.tgz') + + depends_on('blas') + parallel = False + + def patch(self): + mf = FileFilter('Makefile.in') + + mf.filter('^BLLIB =.*', 'BLLIB = %s/libblas.a' % self.spec['blas'].prefix.lib) + mf.filter('^CC =.*', 'CC = cc') + mf.filter('^FC =.*', 'FC = f90') + + + def install(self, spec, prefix): + make('all') + mkdirp(prefix.lib) + + # Rename the generated lib file to libcblas.a + install('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib) + diff --git a/var/spack/packages/cgm/package.py b/var/spack/packages/cgm/package.py new file mode 100644 index 0000000000..05d6395c5a --- /dev/null +++ b/var/spack/packages/cgm/package.py @@ -0,0 +1,30 @@ +from spack import * + +class Cgm(Package): + """The Common Geometry Module, Argonne (CGMA) is a code library + which provides geometry functionality used for mesh generation and + other applications.""" + homepage = "http://trac.mcs.anl.gov/projects/ITAPS/wiki/CGM" + url = "http://ftp.mcs.anl.gov/pub/fathom/cgm13.1.1.tar.gz" + + version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f') + version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028') + version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed') + + depends_on("mpi") + + def patch(self): + filter_file('^(#include "CGMParallelConventions.h")', + '//\1', + 'geom/parallel/CGMReadParallel.cpp') + + + def install(self, spec, prefix): + configure("--with-mpi", + "--prefix=%s" % prefix, + "CFLAGS=-static", + "CXXFLAGS=-static", + "FCFLAGS=-static") + + make() + make("install") diff --git a/var/spack/packages/cppcheck/package.py b/var/spack/packages/cppcheck/package.py new file mode 100644 index 0000000000..8e98f457ee --- /dev/null +++ b/var/spack/packages/cppcheck/package.py @@ -0,0 +1,15 @@ +from spack import * + +class Cppcheck(Package): + """A tool for static C/C++ code analysis.""" + homepage = "http://cppcheck.sourceforge.net/" + url = "http://downloads.sourceforge.net/project/cppcheck/cppcheck/1.68/cppcheck-1.68.tar.bz2" + + version('1.68', 'c015195f5d61a542f350269030150708') + + def install(self, spec, prefix): + # cppcheck does not have a configure script + make() + # manually install the final cppcheck binary + mkdirp(prefix.bin) + install('cppcheck', prefix.bin) diff --git a/var/spack/packages/dyninst/package.py b/var/spack/packages/dyninst/package.py index f3d661f9a9..41ec57dd2f 100644 --- a/var/spack/packages/dyninst/package.py +++ b/var/spack/packages/dyninst/package.py @@ -31,9 +31,8 @@ class Dyninst(Package): url = "http://www.dyninst.org/sites/default/files/downloads/dyninst/8.1.2/DyninstAPI-8.1.2.tgz" list_url = "http://www.dyninst.org/downloads/dyninst-8.x" -# Doesn't build right with boost@1.55.0 -# version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7', -# url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.1.tgz") + version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7', + url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.1.tgz") version('8.1.2', 'bf03b33375afa66fe0efa46ce3f4b17a', url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz") version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac', @@ -50,6 +49,9 @@ class Dyninst(Package): with working_dir('spack-build', create=True): cmake('..', + '-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include, + '-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib, + '-DBoost_NO_SYSTEM_PATHS=TRUE', '-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'), '-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'), '-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include, diff --git a/var/spack/packages/gcc/package.py b/var/spack/packages/gcc/package.py index 3da6c25d47..5e3d1a3efa 100644 --- a/var/spack/packages/gcc/package.py +++ b/var/spack/packages/gcc/package.py @@ -47,6 +47,7 @@ class Gcc(Package): depends_on("gmp") depends_on("mpc") # when @4.5: depends_on("libelf") + depends_on("binutils") # Save these until we can do optional deps. #depends_on("isl") @@ -73,6 +74,10 @@ class Gcc(Package): "--with-stage1-ldflags=%s" % self.rpath_args, "--with-boot-ldflags=%s" % self.rpath_args, "--enable-lto", + "--with-gnu-ld", + "--with-ld=%s/bin/ld" % spec['binutils'].prefix, + "--with-gnu-as", + "--with-as=%s/bin/as" % spec['binutils'].prefix, "--with-quad") make() make("install") diff --git a/var/spack/packages/hypre/package.py b/var/spack/packages/hypre/package.py new file mode 100644 index 0000000000..198b3f00dc --- /dev/null +++ b/var/spack/packages/hypre/package.py @@ -0,0 +1,32 @@ +from spack import * + +class Hypre(Package): + """Hypre is a library of high performance preconditioners that + features parallel multigrid methods for both structured and + unstructured grid problems.""" + + homepage = "https://computation.llnl.gov/project/linear_solvers/software.php" + url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz" + + version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') + + depends_on("mpi") + depends_on("blas") + depends_on("lapack") + + def install(self, spec, prefix): + blas_dir = spec['blas'].prefix + lapack_dir = spec['lapack'].prefix + + # Hypre's source is staged under ./src so we'll have to manually + # cd into it. + with working_dir("src"): + configure( + "--prefix=%s" % prefix, + "--with-blas-libs=blas", + "--with-blas-lib-dirs=%s/lib" % blas_dir, + "--with-lapack-libs=\"lapack blas\"", + "--with-lapack-lib-dirs=%s/lib" % lapack_dir, + "--with-MPI") + make() + make("install") diff --git a/var/spack/packages/lapack/package.py b/var/spack/packages/lapack/package.py new file mode 100644 index 0000000000..d9d37e3e4a --- /dev/null +++ b/var/spack/packages/lapack/package.py @@ -0,0 +1,45 @@ +from spack import * + +class Lapack(Package): + """ + LAPACK version 3.X is a comprehensive FORTRAN library that does + linear algebra operations including matrix inversions, least + squared solutions to linear sets of equations, eigenvector + analysis, singular value decomposition, etc. It is a very + comprehensive and reputable package that has found extensive + use in the scientific community. + """ + homepage = "http://www.netlib.org/lapack/" + url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz" + + version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf') + version('3.4.2', '61bf1a8a4469d4bdb7604f5897179478') + version('3.4.1', '44c3869c38c8335c2b9c2a8bb276eb55') + version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70') + version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4') + + # blas is a virtual dependency. + depends_on('blas') + + # Doesn't always build correctly in parallel + parallel = False + + @when('^netlib-blas') + def get_blas_libs(self): + blas = self.spec['netlib-blas'] + return [join_path(blas.prefix.lib, 'blas.a')] + + + @when('^atlas') + def get_blas_libs(self): + blas = self.spec['atlas'] + return [join_path(blas.prefix.lib, l) + for l in ('libf77blas.a', 'libatlas.a')] + + + def install(self, spec, prefix): + blas_libs = ";".join(self.get_blas_libs()) + cmake(".", '-DBLAS_LIBRARIES=' + blas_libs, *std_cmake_args) + make() + make("install") + diff --git a/var/spack/packages/libuuid/package.py b/var/spack/packages/libuuid/package.py new file mode 100644 index 0000000000..373c5bfcac --- /dev/null +++ b/var/spack/packages/libuuid/package.py @@ -0,0 +1,16 @@ +from spack import * + +class Libuuid(Package): + """Portable uuid C library""" + # FIXME: add a proper url for your package's homepage here. + homepage = "http://sourceforge.net/projects/libuuid/" + url = "http://downloads.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibuuid%2F&ts=1433881396&use_mirror=iweb" + + version('1.0.3', 'd44d866d06286c08ba0846aba1086d68') + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix) + + # FIXME: Add logic to build and install here + make() + make("install") diff --git a/var/spack/packages/memaxes/package.py b/var/spack/packages/memaxes/package.py index afa62009a6..76d5d3f831 100644 --- a/var/spack/packages/memaxes/package.py +++ b/var/spack/packages/memaxes/package.py @@ -5,12 +5,11 @@ class Memaxes(Package): homepage = "https://github.com/scalability-llnl/MemAxes" - version('0.5', 'b0f561d48aa7301e028d074bc4b5751b', + version('0.5', '5874f3fda9fd2d313c0ff9684f915ab5', url='https://github.com/scalability-llnl/MemAxes/archive/v0.5.tar.gz') depends_on("cmake@2.8.9:") depends_on("qt@5:") - depends_on("vtk") def install(self, spec, prefix): with working_dir('spack-build', create=True): diff --git a/var/spack/packages/metis/package.py b/var/spack/packages/metis/package.py index fa13d52127..7ce5ae1925 100644 --- a/var/spack/packages/metis/package.py +++ b/var/spack/packages/metis/package.py @@ -5,28 +5,23 @@ class Metis(Package): partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, - multilevel k-way, and multi-constraint partitioning schemes - developed in our lab.""" + multilevel k-way, and multi-constraint partitioning schemes.""" homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview" url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz" version('5.1.0', '5465e67079419a69e0116de24fce58fe') - # FIXME: Add dependencies if this package requires them. - # depends_on("foo") - - def patch(self): - filter_file(r'#define IDXTYPEWIDTH 32', '#define IDXTYPEWIDTH 64', 'include/metis.h', - string=True) - + depends_on('mpi') def install(self, spec, prefix): - with working_dir('spack-build', create=True): - cmake('..', - '-DGKLIB_PATH=../GKlib', - '-DBUILD_SHARED_LIBS=TRUE', - *std_cmake_args) - make() - make("install") - + cmake(".", + '-DGKLIB_PATH=%s/GKlib' % pwd(), + '-DSHARED=1', + '-DCMAKE_C_COMPILER=mpicc', + '-DCMAKE_CXX_COMPILER=mpicxx', + '-DSHARED=1', + *std_cmake_args) + + make() + make("install") diff --git a/var/spack/packages/netlib-blas/package.py b/var/spack/packages/netlib-blas/package.py new file mode 100644 index 0000000000..0a6cdb0442 --- /dev/null +++ b/var/spack/packages/netlib-blas/package.py @@ -0,0 +1,40 @@ +from spack import * +import os + + +class NetlibBlas(Package): + """Netlib reference BLAS""" + homepage = "http://www.netlib.org/lapack/" + url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz" + + version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf') + + # virtual dependency + provides('blas') + + # Doesn't always build correctly in parallel + parallel = False + + def patch(self): + os.symlink('make.inc.example', 'make.inc') + + mf = FileFilter('make.inc') + mf.filter('^FORTRAN.*', 'FORTRAN = f90') + mf.filter('^LOADER.*', 'LOADER = f90') + mf.filter('^CC =.*', 'CC = cc') + + + def install(self, spec, prefix): + make('blaslib') + + # Tests that blas builds correctly + make('blas_testing') + + # No install provided + mkdirp(prefix.lib) + install('librefblas.a', prefix.lib) + + # Blas virtual package should provide blas.a and libblas.a + with working_dir(prefix.lib): + symlink('librefblas.a', 'blas.a') + symlink('librefblas.a', 'libblas.a') diff --git a/var/spack/packages/nettle/package.py b/var/spack/packages/nettle/package.py index 0f20bc06df..cd600b0b87 100644 --- a/var/spack/packages/nettle/package.py +++ b/var/spack/packages/nettle/package.py @@ -9,6 +9,8 @@ class Nettle(Package): version('2.7', '2caa1bd667c35db71becb93c5d89737f') + depends_on('gmp') + def install(self, spec, prefix): configure("--prefix=%s" % prefix) make() diff --git a/var/spack/packages/parpack/package.py b/var/spack/packages/parpack/package.py new file mode 100644 index 0000000000..622aceca04 --- /dev/null +++ b/var/spack/packages/parpack/package.py @@ -0,0 +1,43 @@ +from spack import * +import os +import shutil + +class Parpack(Package): + """ARPACK is a collection of Fortran77 subroutines designed to solve large + scale eigenvalue problems.""" + + homepage = "http://www.caam.rice.edu/software/ARPACK/download.html" + url = "http://www.caam.rice.edu/software/ARPACK/SRC/parpack96.tar.Z" + + version('96', 'a175f70ff71837a33ff7e4b0b6054f43') + + depends_on('mpi') + depends_on('blas') + depends_on('lapack') + + def patch(self): + # Filter the CJ makefile to make a spack one. + shutil.move('ARMAKES/ARmake.CJ', 'ARmake.inc') + mf = FileFilter('ARmake.inc') + + # Be sure to use Spack F77 wrapper + mf.filter('^FC.*', 'FC = f77') + mf.filter('^FFLAGS.*', 'FFLAGS = -O2 -g') + + # Set up some variables. + mf.filter('^PLAT.*', 'PLAT = ') + mf.filter('^home.*', 'home = %s' % os.getcwd()) + mf.filter('^BLASdir.*', 'BLASdir = %s' % self.spec['blas'].prefix) + mf.filter('^LAPACKdir.*', 'LAPACKdir = %s' % self.spec['lapack'].prefix) + mf.filter('^MAKE.*', 'MAKE = make') + + # build the library in our own prefix. + mf.filter('^ARPACKLIB.*', 'PARPACKLIB = %s/libparpack.a' % os.getcwd()) + + + def install(self, spec, prefix): + with working_dir('PARPACK/SRC/MPI'): + make('all') + + mkdirp(prefix.lib) + install('libparpack.a', prefix.lib) diff --git a/var/spack/packages/petsc/package.py b/var/spack/packages/petsc/package.py new file mode 100644 index 0000000000..4864e39bf1 --- /dev/null +++ b/var/spack/packages/petsc/package.py @@ -0,0 +1,40 @@ +from spack import * + +class Petsc(Package): + """PETSc is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by + partial differential equations.""" + + homepage = "http://www.mcs.anl.gov/petsc/index.html" + url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.3.tar.gz" + + version('3.5.3', 'd4fd2734661e89f18ac6014b5dd1ef2f') + version('3.5.2', 'ad170802b3b058b5deb9cd1f968e7e13') + version('3.5.1', 'a557e029711ebf425544e117ffa44d8f') + + depends_on("boost") + depends_on("blas") + depends_on("lapack") + depends_on("hypre") + depends_on("parmetis") + depends_on("metis") + depends_on("hdf5") + depends_on("mpi") + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix, + "CC=cc", + "CXX=c++", + "FC=f90", + "--with-blas-lib=%s/libblas.a" % spec['blas'].prefix.lib, + "--with-lapack-lib=%s/liblapack.a" % spec['lapack'].prefix.lib, + "--with-boost-dir=%s" % spec['boost'].prefix, + "--with-hypre-dir=%s" % spec['hypre'].prefix, + "--with-parmetis-dir=%s" % spec['parmetis'].prefix, + "--with-metis-dir=%s" % spec['metis'].prefix, + "--with-hdf5-dir=%s" % spec['hdf5'].prefix, + "--with-shared-libraries=0") + + # PETSc has its own way of doing parallel make. + make('MAKE_NP=%s' % make_jobs, parallel=False) + make("install") diff --git a/var/spack/packages/py-cffi/package.py b/var/spack/packages/py-cffi/package.py new file mode 100644 index 0000000000..a4d37483fe --- /dev/null +++ b/var/spack/packages/py-cffi/package.py @@ -0,0 +1,17 @@ +from spack import * + +class PyCffi(Package): + """Foreign Function Interface for Python calling C code""" + homepage = "http://cffi.readthedocs.org/en/latest/" + # base https://pypi.python.org/pypi/cffi + url = "https://pypi.python.org/packages/source/c/cffi/cffi-1.1.2.tar.gz#md5=" + + version('1.1.2', 'ca6e6c45b45caa87aee9adc7c796eaea') + + extends('python') + depends_on('py-setuptools') + depends_on('py-pycparser') + depends_on('libffi') + + def install(self, spec, prefix): + python('setup.py', 'install', '--prefix=%s' % prefix) diff --git a/var/spack/packages/py-cython/package.py b/var/spack/packages/py-cython/package.py index af67a15526..68eb735ad9 100644 --- a/var/spack/packages/py-cython/package.py +++ b/var/spack/packages/py-cython/package.py @@ -3,9 +3,10 @@ from spack import * class PyCython(Package): """The Cython compiler for writing C extensions for the Python language.""" homepage = "https://pypi.python.org/pypi/cython" - url = "https://pypi.python.org/packages/source/C/Cython/Cython-0.21.2.tar.gz" + url = "https://pypi.python.org/packages/source/C/Cython/cython-0.22.tar.gz" version('0.21.2', 'd21adb870c75680dc857cd05d41046a4') + version('0.22', '1ae25add4ef7b63ee9b4af697300d6b6') extends('python') diff --git a/var/spack/packages/py-dateutil/package.py b/var/spack/packages/py-dateutil/package.py index 3bd2f2ca13..0a17f2f2d2 100644 --- a/var/spack/packages/py-dateutil/package.py +++ b/var/spack/packages/py-dateutil/package.py @@ -6,6 +6,7 @@ class PyDateutil(Package): url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.4.0.tar.gz" version('2.4.0', '75714163bb96bedd07685cdb2071b8bc') + version('2.4.2', '4ef68e1c485b09e9f034e10473e5add2') extends('python') depends_on('py-setuptools') diff --git a/var/spack/packages/py-genders/package.py b/var/spack/packages/py-genders/package.py new file mode 100644 index 0000000000..c49c8fd5b2 --- /dev/null +++ b/var/spack/packages/py-genders/package.py @@ -0,0 +1,15 @@ +from spack import * + +class PyGenders(Package): + """Genders is a static cluster configuration database used for cluster configuration management. It is used by a variety of tools and scripts for management of large clusters.""" + homepage = "https://github.com/chaos/genders" + url = "https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz" + + version('1.22', '9ea59a024dcbddb85b0ed25ddca9bc8e', url='https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz') + extends('python') + + def install(self, spec, prefix): + configure("--prefix=%s" %prefix) + make(parallel=False) + make("install") + diff --git a/var/spack/packages/py-h5py/package.py b/var/spack/packages/py-h5py/package.py index f72b3ac06e..6293da5407 100644 --- a/var/spack/packages/py-h5py/package.py +++ b/var/spack/packages/py-h5py/package.py @@ -7,8 +7,9 @@ class PyH5py(Package): url = "https://pypi.python.org/packages/source/h/h5py/h5py-2.4.0.tar.gz" version('2.4.0', '80c9a94ae31f84885cc2ebe1323d6758') + version('2.5.0', '6e4301b5ad5da0d51b0a1e5ac19e3b74') - extends('python', ignore=lambda f: re.match(r'cy*', f)) + extends('python', ignore=lambda f: re.match(r'bin/cy*', f)) depends_on('hdf5') depends_on('py-numpy') depends_on('py-cython') diff --git a/var/spack/packages/py-ipython/package.py b/var/spack/packages/py-ipython/package.py index 907ea9edcd..8d0e64a07f 100644 --- a/var/spack/packages/py-ipython/package.py +++ b/var/spack/packages/py-ipython/package.py @@ -6,6 +6,7 @@ class PyIpython(Package): url = "https://pypi.python.org/packages/source/i/ipython/ipython-2.3.1.tar.gz" version('2.3.1', '2b7085525dac11190bfb45bb8ec8dcbf') + version('3.1.0', 'a749d90c16068687b0ec45a27e72ef8f') extends('python') depends_on('py-pygments') diff --git a/var/spack/packages/py-matplotlib/package.py b/var/spack/packages/py-matplotlib/package.py index 04037f004e..e7ce3dfd24 100644 --- a/var/spack/packages/py-matplotlib/package.py +++ b/var/spack/packages/py-matplotlib/package.py @@ -7,6 +7,7 @@ class PyMatplotlib(Package): url = "https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.2.tar.gz" version('1.4.2', '7d22efb6cce475025733c50487bd8898') + version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267') extends('python', ignore=r'bin/nosetests.*$') @@ -28,7 +29,7 @@ class PyMatplotlib(Package): def install(self, spec, prefix): python('setup.py', 'install', '--prefix=%s' % prefix) - if str(self.version) == '1.4.2': + if str(self.version) in ['1.4.2', '1.4.3']: # hack to fix configuration file config_file = None for p,d,f in os.walk(prefix.lib): diff --git a/var/spack/packages/py-nose/package.py b/var/spack/packages/py-nose/package.py index 155019289d..e7c6cf0264 100644 --- a/var/spack/packages/py-nose/package.py +++ b/var/spack/packages/py-nose/package.py @@ -8,6 +8,7 @@ class PyNose(Package): url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.4.tar.gz" version('1.3.4', '6ed7169887580ddc9a8e16048d38274d') + version('1.3.6', '0ca546d81ca8309080fc80cb389e7a16') extends('python', ignore=r'bin/nosetests.*$') depends_on('py-setuptools') diff --git a/var/spack/packages/py-numpy/package.py b/var/spack/packages/py-numpy/package.py index e6cb6a464f..6534e063d2 100644 --- a/var/spack/packages/py-numpy/package.py +++ b/var/spack/packages/py-numpy/package.py @@ -6,6 +6,7 @@ class PyNumpy(Package): url = "https://pypi.python.org/packages/source/n/numpy/numpy-1.9.1.tar.gz" version('1.9.1', '78842b73560ec378142665e712ae4ad9') + version('1.9.2', 'a1ed53432dbcd256398898d35bc8e645') extends('python') depends_on('py-nose') diff --git a/var/spack/packages/py-pandas/package.py b/var/spack/packages/py-pandas/package.py new file mode 100644 index 0000000000..acbb5114a3 --- /dev/null +++ b/var/spack/packages/py-pandas/package.py @@ -0,0 +1,21 @@ +from spack import * +import os + +class PyPandas(Package): + """pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with relational or labeled data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language.""" + homepage = "http://pandas.pydata.org/" + url = "https://pypi.python.org/packages/source/p/pandas/pandas-0.16.0.tar.gz#md5=bfe311f05dc0c351f8955fbd1e296e73" + + version('0.16.0', 'bfe311f05dc0c351f8955fbd1e296e73') + version('0.16.1', 'fac4f25748f9610a3e00e765474bdea8') + + extends('python') + depends_on('py-dateutil') + depends_on('py-numpy') + depends_on('py-matplotlib') + depends_on('py-scipy') + depends_on('py-setuptools') + depends_on('py-pytz') + + def install(self, spec, prefix): + python('setup.py', 'install', '--prefix=%s' % prefix) diff --git a/var/spack/packages/py-pycparser/package.py b/var/spack/packages/py-pycparser/package.py new file mode 100644 index 0000000000..f2bb679d25 --- /dev/null +++ b/var/spack/packages/py-pycparser/package.py @@ -0,0 +1,15 @@ +from spack import * + +class PyPycparser(Package): + """pycparser is a complete parser of the C language, written in pure python""" + homepage = "https://github.com/eliben/pycparser" + url = "https://pypi.python.org/packages/source/p/pycparser/pycparser-2.13.tar.gz" + + version('2.13', 'e4fe1a2d341b22e25da0d22f034ef32f') + + + extends('python') + depends_on('py-setuptools') + + def install(self, spec, prefix): + python('setup.py', 'install', '--prefix=%s' % prefix) diff --git a/var/spack/packages/py-pygments/package.py b/var/spack/packages/py-pygments/package.py index 990eebde65..7e07bf6869 100644 --- a/var/spack/packages/py-pygments/package.py +++ b/var/spack/packages/py-pygments/package.py @@ -6,6 +6,7 @@ class PyPygments(Package): url = "https://pypi.python.org/packages/source/P/Pygments/Pygments-2.0.1.tar.gz" version('2.0.1', 'e0daf4c14a4fe5b630da765904de4d6c') + version('2.0.2', '238587a1370d62405edabd0794b3ec4a') extends('python') depends_on('py-setuptools') diff --git a/var/spack/packages/py-pylint/package.py b/var/spack/packages/py-pylint/package.py index 7a6ee7dbbc..9579708c29 100644 --- a/var/spack/packages/py-pylint/package.py +++ b/var/spack/packages/py-pylint/package.py @@ -7,6 +7,7 @@ class PyPylint(Package): url = "https://pypi.python.org/packages/source/p/pylint/pylint-1.4.1.tar.gz" version('1.4.1', 'df7c679bdcce5019389038847e4de622') + version('1.4.3', '5924c1c7ca5ca23647812f5971d0ea44') extends('python') depends_on('py-nose') diff --git a/var/spack/packages/py-pypar/package.py b/var/spack/packages/py-pypar/package.py new file mode 100644 index 0000000000..af9c76ccd8 --- /dev/null +++ b/var/spack/packages/py-pypar/package.py @@ -0,0 +1,14 @@ +from spack import * + +class PyPypar(Package): + """Pypar is an efficient but easy-to-use module that allows programs written in Python to run in parallel on multiple processors and communicate using MPI.""" + homepage = "http://code.google.com/p/pypar/" + url = "https://pypar.googlecode.com/files/pypar-2.1.5_108.tgz" + + version('2.1.5_108', '7a1f28327d2a3b679f9455c843d850b8', url='https://pypar.googlecode.com/files/pypar-2.1.5_108.tgz') + extends('python') + depends_on('mpi') + + def install(self, spec, prefix): + with working_dir('source'): + python('setup.py', 'install', '--prefix=%s' % prefix) diff --git a/var/spack/packages/py-pytz/package.py b/var/spack/packages/py-pytz/package.py index 80bcfe82ca..da6311a784 100644 --- a/var/spack/packages/py-pytz/package.py +++ b/var/spack/packages/py-pytz/package.py @@ -6,6 +6,7 @@ class PyPytz(Package): url = "https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.gz" version('2014.10', 'eb1cb941a20c5b751352c52486aa1dd7') + version('2015.4', '417a47b1c432d90333e42084a605d3d8') extends('python') diff --git a/var/spack/packages/py-rpy2/package.py b/var/spack/packages/py-rpy2/package.py index dd0c0672af..a0b03d03e3 100644 --- a/var/spack/packages/py-rpy2/package.py +++ b/var/spack/packages/py-rpy2/package.py @@ -6,6 +6,7 @@ class PyRpy2(Package): url = "https://pypi.python.org/packages/source/r/rpy2/rpy2-2.5.4.tar.gz" version('2.5.4', '115a20ac30883f096da2bdfcab55196d') + version('2.5.6', 'a36e758b633ce6aec6a5f450bfee980f') extends('python') depends_on('py-setuptools') diff --git a/var/spack/packages/py-scientificpython/package.py b/var/spack/packages/py-scientificpython/package.py index 020d830703..df2c86caac 100644 --- a/var/spack/packages/py-scientificpython/package.py +++ b/var/spack/packages/py-scientificpython/package.py @@ -7,8 +7,7 @@ class PyScientificpython(Package): visualization, and parallelization.""" homepage = "https://sourcesup.renater.fr/projects/scientific-py/" - url = "https://sourcesup.renater.fr/frs/download.php/4411/ScientificPython-2.8.1.tar.gz" - + url = "https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz" version('2.8.1', '73ee0df19c7b58cdf2954261f0763c77') extends('python') diff --git a/var/spack/packages/py-scikit-learn/package.py b/var/spack/packages/py-scikit-learn/package.py index c59c05a619..5b078ce901 100644 --- a/var/spack/packages/py-scikit-learn/package.py +++ b/var/spack/packages/py-scikit-learn/package.py @@ -6,6 +6,7 @@ class PyScikitLearn(Package): url = "https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.2.tar.gz" version('0.15.2', 'd9822ad0238e17b382a3c756ea94fe0d') + version('0.16.1', '363ddda501e3b6b61726aa40b8dbdb7e') extends('python') diff --git a/var/spack/packages/py-scipy/package.py b/var/spack/packages/py-scipy/package.py index b5325b919f..cdcf74534b 100644 --- a/var/spack/packages/py-scipy/package.py +++ b/var/spack/packages/py-scipy/package.py @@ -6,6 +6,7 @@ class PyScipy(Package): url = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz" version('0.15.0', '639112f077f0aeb6d80718dc5019dc7a') + version('0.15.1', 'be56cd8e60591d6332aac792a5880110') extends('python') depends_on('py-nose') diff --git a/var/spack/packages/py-setuptools/package.py b/var/spack/packages/py-setuptools/package.py index 755288d55c..d3f11ed469 100644 --- a/var/spack/packages/py-setuptools/package.py +++ b/var/spack/packages/py-setuptools/package.py @@ -6,6 +6,7 @@ class PySetuptools(Package): url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz" version('11.3.1', '01f69212e019a2420c1693fb43593930') + version('16.0', '0ace0b96233516fc5f7c857d086aa3ad') extends('python') diff --git a/var/spack/packages/py-sip/package.py b/var/spack/packages/py-sip/package.py index 6753bdd2a5..e4a6fb6961 100644 --- a/var/spack/packages/py-sip/package.py +++ b/var/spack/packages/py-sip/package.py @@ -7,6 +7,7 @@ class PySip(Package): url = "http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.5/sip-4.16.5.tar.gz" version('4.16.5', '6d01ea966a53e4c7ae5c5e48c40e49e5') + version('4.16.7', '32abc003980599d33ffd789734de4c36') extends('python') diff --git a/var/spack/packages/py-virtualenv/package.py b/var/spack/packages/py-virtualenv/package.py index 2d10d440a6..037a6fc59f 100644 --- a/var/spack/packages/py-virtualenv/package.py +++ b/var/spack/packages/py-virtualenv/package.py @@ -7,6 +7,7 @@ class PyVirtualenv(Package): url = "https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz" version('1.11.6', 'f61cdd983d2c4e6aeabb70b1060d6f49') + version('13.0.1', '1ffc011bde6667f0e37ecd976f4934db') extends('python') depends_on('py-setuptools') diff --git a/var/spack/packages/python/package.py b/var/spack/packages/python/package.py index 31a12ea653..000881a846 100644 --- a/var/spack/packages/python/package.py +++ b/var/spack/packages/python/package.py @@ -15,6 +15,7 @@ class Python(Package): extendable = True version('2.7.8', 'd235bdfa75b8396942e360a70487ee00') + version('2.7.10', 'c685ef0b8e9f27b5e3db5db12b268ac6') depends_on("openssl") depends_on("bzip2") @@ -139,7 +140,9 @@ class Python(Package): def activate(self, ext_pkg, **args): - args.update(ignore=self.python_ignore(ext_pkg, args)) + ignore=self.python_ignore(ext_pkg, args) + args.update(ignore=ignore) + super(Python, self).activate(ext_pkg, **args) exts = spack.install_layout.extension_map(self.spec) diff --git a/var/spack/packages/qt/package.py b/var/spack/packages/qt/package.py index 4a9a867511..0e4abe3b1d 100644 --- a/var/spack/packages/qt/package.py +++ b/var/spack/packages/qt/package.py @@ -50,9 +50,11 @@ class Qt(Package): def patch(self): if self.spec.satisfies('@4'): - qmake_conf = 'mkspecs/common/g++-base.conf' + 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_conf = 'qtbase/mkspecs/common/g++-base.conf' + qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf' else: return @@ -60,7 +62,7 @@ class Qt(Package): 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) @property diff --git a/var/spack/packages/stat/package.py b/var/spack/packages/stat/package.py index 05e74b6a84..c40d65ae78 100644 --- a/var/spack/packages/stat/package.py +++ b/var/spack/packages/stat/package.py @@ -5,16 +5,18 @@ class Stat(Package): homepage = "http://paradyn.org/STAT/STAT.html" url = "https://github.com/lee218llnl/stat/archive/v2.0.0.tar.gz" + version('2.2.0', '26bd69dd57a15afdd5d0ebdb0b7fb6fc') version('2.1.0', 'ece26beaf057aa9134d62adcdda1ba91') version('2.0.0', 'c7494210b0ba26b577171b92838e1a9b') + depends_on('libelf') depends_on('libdwarf') depends_on('dyninst') depends_on('graphlib') depends_on('launchmon') depends_on('mrnet') - patch('configure_mpicxx.patch', when='@2.1.0:') + patch('configure_mpicxx.patch', when='@2.1.0') def install(self, spec, prefix): configure( diff --git a/var/spack/packages/task/package.py b/var/spack/packages/task/package.py new file mode 100644 index 0000000000..07f44cc45b --- /dev/null +++ b/var/spack/packages/task/package.py @@ -0,0 +1,20 @@ +from spack import * + +class Task(Package): + """Feature-rich console based todo list manager""" + homepage = "http://www.taskwarrior.org" + url = "http://taskwarrior.org/download/task-2.4.4.tar.gz" + + version('2.4.4', '517450c4a23a5842df3e9905b38801b3') + + depends_on("gnutls") + depends_on("libuuid") + # depends_on("gcc@4.8:") + + def install(self, spec, prefix): + with working_dir('spack-build', create=True): + cmake('-DCMAKE_BUILD_TYPE=release', + '..', + *std_cmake_args) + make() + make("install") diff --git a/var/spack/packages/taskd/package.py b/var/spack/packages/taskd/package.py new file mode 100644 index 0000000000..66bc0cb484 --- /dev/null +++ b/var/spack/packages/taskd/package.py @@ -0,0 +1,20 @@ +from spack import * + +class Taskd(Package): + """TaskWarrior task synchronization daemon""" + # FIXME: add a proper url for your package's homepage here. + homepage = "http://www.taskwarrior.org" + url = "http://taskwarrior.org/download/taskd-1.1.0.tar.gz" + + version('1.1.0', 'ac855828c16f199bdbc45fbc227388d0') + + depends_on("libuuid") + depends_on("gnutls") + + def install(self, spec, prefix): + with working_dir('spack-build', create=True): + cmake('-DCMAKE_BUILD_TYPE=release', + '..', + *std_cmake_args) + make() + make("install") diff --git a/var/spack/packages/uncrustify/package.py b/var/spack/packages/uncrustify/package.py new file mode 100644 index 0000000000..d3f2d1b473 --- /dev/null +++ b/var/spack/packages/uncrustify/package.py @@ -0,0 +1,14 @@ +from spack import * + +class Uncrustify(Package): + """Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA""" + + homepage = "http://uncrustify.sourceforge.net/" + url = "http://downloads.sourceforge.net/project/uncrustify/uncrustify/uncrustify-0.61/uncrustify-0.61.tar.gz" + + version('0.61', 'b6140106e74c64e831d0b1c4b6cf7727') + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix) + make() + make("install") |