summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authoralalazo <massimiliano.culpo@googlemail.com>2016-08-11 08:55:20 +0200
committeralalazo <massimiliano.culpo@googlemail.com>2016-08-11 08:55:20 +0200
commitb4b9ebe7d718d169dd5f2ab41d4cbc00fed88641 (patch)
treec6a4c9d60798a9502a6d1e2a6d0641a2041053ee /var
parentb92deda41bf2995a8a7b717ea8149af7797e30d5 (diff)
parentf59653ac2c9b20ec5954d90fda019c7652644ac9 (diff)
downloadspack-b4b9ebe7d718d169dd5f2ab41d4cbc00fed88641.tar.gz
spack-b4b9ebe7d718d169dd5f2ab41d4cbc00fed88641.tar.bz2
spack-b4b9ebe7d718d169dd5f2ab41d4cbc00fed88641.tar.xz
spack-b4b9ebe7d718d169dd5f2ab41d4cbc00fed88641.zip
Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts: lib/spack/llnl/util/tty/log.py lib/spack/spack/__init__.py lib/spack/spack/cmd/install.py lib/spack/spack/cmd/setup.py lib/spack/spack/package.py var/spack/repos/builtin/packages/blitz/package.py var/spack/repos/builtin/packages/gmp/package.py var/spack/repos/builtin/packages/qhull/package.py var/spack/repos/builtin/packages/szip/package.py
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/a/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/b/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/c/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/callpath/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake-client/package.py15
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/direct_mpich/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/dyninst/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/e/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/externalmodule/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/externalprereq/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/externaltest/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/externaltool/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/externalvirtual/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/fake/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/git-test/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/hg-test/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/hypre/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/indirect_mpich/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/libdwarf/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/libelf/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich2/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/mpileaks/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod/package.py15
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-blas/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-lapack/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/openblas/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/python/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/svn-test/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py1
-rw-r--r--var/spack/repos/builtin.mock/packages/zmpi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/LuaJIT/package.py1
-rw-r--r--var/spack/repos/builtin/packages/R/package.py52
-rw-r--r--var/spack/repos/builtin/packages/SAMRAI/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ack/package.py51
-rw-r--r--var/spack/repos/builtin/packages/activeharmony/package.py7
-rw-r--r--var/spack/repos/builtin/packages/adept-utils/package.py1
-rw-r--r--var/spack/repos/builtin/packages/adol-c/package.py58
-rw-r--r--var/spack/repos/builtin/packages/antlr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/apex/package.py17
-rw-r--r--var/spack/repos/builtin/packages/apr-util/package.py1
-rw-r--r--var/spack/repos/builtin/packages/apr/package.py1
-rw-r--r--var/spack/repos/builtin/packages/armadillo/package.py8
-rw-r--r--var/spack/repos/builtin/packages/arpack-ng/package.py42
-rw-r--r--var/spack/repos/builtin/packages/asciidoc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/atk/package.py10
-rw-r--r--var/spack/repos/builtin/packages/atlas/package.py68
-rw-r--r--var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c49
-rw-r--r--var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output12
-rw-r--r--var/spack/repos/builtin/packages/atop/package.py3
-rw-r--r--var/spack/repos/builtin/packages/automaded/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bash/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bbcp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bcftools/package.py43
-rw-r--r--var/spack/repos/builtin/packages/bdw-gc/package.py53
-rw-r--r--var/spack/repos/builtin/packages/bear/package.py4
-rw-r--r--var/spack/repos/builtin/packages/bib2xhtml/package.py3
-rw-r--r--var/spack/repos/builtin/packages/bison/package.py5
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py24
-rw-r--r--var/spack/repos/builtin/packages/bowtie2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/boxlib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/bpp-core/package.py41
-rw-r--r--var/spack/repos/builtin/packages/bpp-phyl/package.py43
-rw-r--r--var/spack/repos/builtin/packages/bpp-seq/package.py42
-rw-r--r--var/spack/repos/builtin/packages/bpp-suite/package.py47
-rw-r--r--var/spack/repos/builtin/packages/bwa/package.py52
-rw-r--r--var/spack/repos/builtin/packages/bzip2/package.py30
-rw-r--r--var/spack/repos/builtin/packages/c-blosc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/caliper/package.py9
-rw-r--r--var/spack/repos/builtin/packages/callpath/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cantera/package.py15
-rw-r--r--var/spack/repos/builtin/packages/cask/package.py53
-rw-r--r--var/spack/repos/builtin/packages/cblas/package.py11
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis/package.py114
-rw-r--r--var/spack/repos/builtin/packages/cbtf-krell/package.py227
-rw-r--r--var/spack/repos/builtin/packages/cbtf-lanl/package.py89
-rw-r--r--var/spack/repos/builtin/packages/cbtf/package.py145
-rw-r--r--var/spack/repos/builtin/packages/cereal/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cfitsio/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cgal/package.py22
-rw-r--r--var/spack/repos/builtin/packages/cgm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cityhash/package.py8
-rw-r--r--var/spack/repos/builtin/packages/cleverleaf/package.py15
-rw-r--r--var/spack/repos/builtin/packages/cloog/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py13
-rw-r--r--var/spack/repos/builtin/packages/cmocka/package.py7
-rw-r--r--var/spack/repos/builtin/packages/cnmem/package.py7
-rw-r--r--var/spack/repos/builtin/packages/coreutils/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cp2k/package.py178
-rw-r--r--var/spack/repos/builtin/packages/cppcheck/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cram/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cryptopp/package.py11
-rw-r--r--var/spack/repos/builtin/packages/cscope/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cube/package.py9
-rw-r--r--var/spack/repos/builtin/packages/cuda/package.py38
-rw-r--r--var/spack/repos/builtin/packages/czmq/package.py20
-rw-r--r--var/spack/repos/builtin/packages/dakota/package.py38
-rw-r--r--var/spack/repos/builtin/packages/damselfly/package.py10
-rw-r--r--var/spack/repos/builtin/packages/datamash/package.py45
-rw-r--r--var/spack/repos/builtin/packages/dbus/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py75
-rw-r--r--var/spack/repos/builtin/packages/dia/package.py3
-rw-r--r--var/spack/repos/builtin/packages/doxygen/package.py5
-rw-r--r--var/spack/repos/builtin/packages/dri2proto/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dtcmp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py11
-rw-r--r--var/spack/repos/builtin/packages/eigen/package.py13
-rw-r--r--var/spack/repos/builtin/packages/elfutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/elpa/package.py3
-rw-r--r--var/spack/repos/builtin/packages/emacs/package.py3
-rw-r--r--var/spack/repos/builtin/packages/environment-modules/package.py9
-rw-r--r--var/spack/repos/builtin/packages/exodusii/package.py26
-rw-r--r--var/spack/repos/builtin/packages/exonerate/package.py45
-rw-r--r--var/spack/repos/builtin/packages/expat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/extrae/package.py38
-rw-r--r--var/spack/repos/builtin/packages/exuberant-ctags/package.py1
-rw-r--r--var/spack/repos/builtin/packages/fastx_toolkit/package.py43
-rw-r--r--var/spack/repos/builtin/packages/fenics/package.py20
-rw-r--r--var/spack/repos/builtin/packages/fftw/package.py34
-rw-r--r--var/spack/repos/builtin/packages/fish/package.py1
-rw-r--r--var/spack/repos/builtin/packages/fltk/package.py18
-rw-r--r--var/spack/repos/builtin/packages/flux/package.py11
-rw-r--r--var/spack/repos/builtin/packages/foam-extend/package.py26
-rw-r--r--var/spack/repos/builtin/packages/fontconfig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/gasnet/package.py29
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py7
-rw-r--r--var/spack/repos/builtin/packages/gdk-pixbuf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/geos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/gettext/package.py85
-rw-r--r--var/spack/repos/builtin/packages/gflags/package.py2
-rw-r--r--var/spack/repos/builtin/packages/git/package.py31
-rw-r--r--var/spack/repos/builtin/packages/gl2ps/package.py1
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py20
-rw-r--r--var/spack/repos/builtin/packages/glm/package.py7
-rw-r--r--var/spack/repos/builtin/packages/glog/package.py2
-rw-r--r--var/spack/repos/builtin/packages/glpk/package.py13
-rw-r--r--var/spack/repos/builtin/packages/gmp/package.py5
-rw-r--r--var/spack/repos/builtin/packages/gmsh/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gnu-prolog/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gnuplot/package.py17
-rw-r--r--var/spack/repos/builtin/packages/gnutls/package.py1
-rw-r--r--var/spack/repos/builtin/packages/googletest/package.py8
-rw-r--r--var/spack/repos/builtin/packages/gperf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gperftools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/graphlib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/graphviz/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gromacs/package.py35
-rw-r--r--var/spack/repos/builtin/packages/gsl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/gtkplus/package.py9
-rw-r--r--var/spack/repos/builtin/packages/guile/package.py68
-rw-r--r--var/spack/repos/builtin/packages/harminv/package.py54
-rw-r--r--var/spack/repos/builtin/packages/hdf/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hdf5-blosc/package.py27
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py11
-rw-r--r--var/spack/repos/builtin/packages/hoomd-blue/package.py7
-rw-r--r--var/spack/repos/builtin/packages/hpx5/package.py1
-rw-r--r--var/spack/repos/builtin/packages/htslib/package.py41
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/hydra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/hypre/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ibmisc/package.py25
-rw-r--r--var/spack/repos/builtin/packages/icu/package.py3
-rw-r--r--var/spack/repos/builtin/packages/icu4c/package.py7
-rw-r--r--var/spack/repos/builtin/packages/ilmbase/package.py42
-rw-r--r--var/spack/repos/builtin/packages/intel-parallel-studio/package.py227
-rw-r--r--var/spack/repos/builtin/packages/intel/package.py51
-rw-r--r--var/spack/repos/builtin/packages/intltool/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ior/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ipopt/package.py11
-rw-r--r--var/spack/repos/builtin/packages/isl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/jdk/package.py20
-rw-r--r--var/spack/repos/builtin/packages/jemalloc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/jpeg/package.py1
-rw-r--r--var/spack/repos/builtin/packages/judy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/kdiff3/package.py44
-rw-r--r--var/spack/repos/builtin/packages/kealib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/kripke/package.py1
-rw-r--r--var/spack/repos/builtin/packages/launchmon/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lcms/package.py1
-rw-r--r--var/spack/repos/builtin/packages/leveldb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libNBC/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libarchive/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libatomic-ops/package.py42
-rw-r--r--var/spack/repos/builtin/packages/libcerf/package.py7
-rw-r--r--var/spack/repos/builtin/packages/libcircle/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libctl/package.py48
-rw-r--r--var/spack/repos/builtin/packages/libdrm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/libedit/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libelf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libepoxy/package.py39
-rw-r--r--var/spack/repos/builtin/packages/libevent/package.py11
-rw-r--r--var/spack/repos/builtin/packages/libffi/package.py11
-rw-r--r--var/spack/repos/builtin/packages/libgcrypt/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libgd/package.py13
-rw-r--r--var/spack/repos/builtin/packages/libgpg-error/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libgtextutils/package.py40
-rw-r--r--var/spack/repos/builtin/packages/libhio/package.py45
-rw-r--r--var/spack/repos/builtin/packages/libiconv/package.py43
-rw-r--r--var/spack/repos/builtin/packages/libjpeg-turbo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libmng/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libpng/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libpthread-stubs/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libsigsegv/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libsodium/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libtermkey/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libtiff/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libunistring/package.py42
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libuuid/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libuv/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libvterm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libxau/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libxc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libxcb/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libxshmfence/package.py3
-rw-r--r--var/spack/repos/builtin/packages/libxslt/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py66
-rw-r--r--var/spack/repos/builtin/packages/llvm-lld/package.py1
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py351
-rw-r--r--var/spack/repos/builtin/packages/lmdb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lmod/fix_tclsh_paths.patch10
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py16
-rw-r--r--var/spack/repos/builtin/packages/lwgrp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lwm2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/m4/package.py7
-rw-r--r--var/spack/repos/builtin/packages/mafft/package.py42
-rw-r--r--var/spack/repos/builtin/packages/mbedtls/package.py16
-rw-r--r--var/spack/repos/builtin/packages/meep/package.py109
-rw-r--r--var/spack/repos/builtin/packages/memaxes/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mesa/package.py3
-rw-r--r--var/spack/repos/builtin/packages/metis/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py60
-rw-r--r--var/spack/repos/builtin/packages/mkl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mpc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mpe2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/mpfr/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mpibash/package.py2
-rw-r--r--var/spack/repos/builtin/packages/mpileaks/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py24
-rw-r--r--var/spack/repos/builtin/packages/msgpack-c/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py39
-rw-r--r--var/spack/repos/builtin/packages/munge/package.py5
-rw-r--r--var/spack/repos/builtin/packages/muparser/package.py1
-rw-r--r--var/spack/repos/builtin/packages/muster/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py40
-rw-r--r--var/spack/repos/builtin/packages/mxml/package.py24
-rw-r--r--var/spack/repos/builtin/packages/nag/package.py4
-rw-r--r--var/spack/repos/builtin/packages/nasm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nccmp/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ncdu/package.py9
-rw-r--r--var/spack/repos/builtin/packages/nco/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ncurses/package.py11
-rw-r--r--var/spack/repos/builtin/packages/ncview/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ndiff/package.py12
-rw-r--r--var/spack/repos/builtin/packages/netcdf-cxx/package.py1
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py27
-rw-r--r--var/spack/repos/builtin/packages/netgauge/package.py1
-rw-r--r--var/spack/repos/builtin/packages/netlib-lapack/package.py50
-rw-r--r--var/spack/repos/builtin/packages/netlib-scalapack/package.py3
-rw-r--r--var/spack/repos/builtin/packages/nettle/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nextflow/package.py42
-rw-r--r--var/spack/repos/builtin/packages/ninja/package.py2
-rw-r--r--var/spack/repos/builtin/packages/numdiff/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ocaml/package.py43
-rw-r--r--var/spack/repos/builtin/packages/oce/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ompss/package.py37
-rw-r--r--var/spack/repos/builtin/packages/ompt-openmp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/opari2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py9
-rw-r--r--var/spack/repos/builtin/packages/opencv/package.py177
-rw-r--r--var/spack/repos/builtin/packages/openexr/package.py54
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py3
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py495
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py67
-rw-r--r--var/spack/repos/builtin/packages/opium/package.py55
-rw-r--r--var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/otf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/otf2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/p4est/package.py40
-rw-r--r--var/spack/repos/builtin/packages/pango/package.py4
-rw-r--r--var/spack/repos/builtin/packages/papi/package.py3
-rw-r--r--var/spack/repos/builtin/packages/paradiseo/package.py71
-rw-r--r--var/spack/repos/builtin/packages/parallel-netcdf/package.py9
-rw-r--r--var/spack/repos/builtin/packages/parallel/package.py45
-rw-r--r--var/spack/repos/builtin/packages/paraver/package.py19
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py66
-rw-r--r--var/spack/repos/builtin/packages/parmetis/package.py10
-rw-r--r--var/spack/repos/builtin/packages/parpack/package.py5
-rw-r--r--var/spack/repos/builtin/packages/patchelf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py2
-rw-r--r--var/spack/repos/builtin/packages/pcre2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py20
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py75
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py69
-rw-r--r--var/spack/repos/builtin/packages/pgi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pidx/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pixman/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch34
-rw-r--r--var/spack/repos/builtin/packages/pkg-config/package.py24
-rw-r--r--var/spack/repos/builtin/packages/plumed/package.py112
-rw-r--r--var/spack/repos/builtin/packages/pmgr_collective/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ppl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/prank/package.py44
-rw-r--r--var/spack/repos/builtin/packages/proj/package.py1
-rw-r--r--var/spack/repos/builtin/packages/protobuf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/psi4/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-SQLAlchemy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-argcomplete/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-astroid/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-autopep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-biopython/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-blessings/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-bottleneck/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cffi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-csvkit/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-dask/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-dateutil/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-dbf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-decorator/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-epydoc/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-funcsigs/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-genders/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-gnuplot/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-ipython/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-jdcal/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-lockfile/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-logilab-common/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-mako/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-meep/package.py75
-rw-r--r--var/spack/repos/builtin/packages/py-mock/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-mpi4py/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-mpmath/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-mx/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-mysqldb1/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-netcdf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-networkx/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numexpr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-openpyxl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pbr/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-periodictable/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pexpect/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-phonopy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pmw/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-py2neo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pychecker/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pycparser/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pyelftools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pylint/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pypar/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyside/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pytables/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-python-daemon/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyyaml/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-rpy2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-scientificpython/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-image/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-shiboken/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-sip/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-sympy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-tappy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-tuiview/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-twisted/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-urwid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-xlrd/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-yapf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/python/package.py80
-rw-r--r--var/spack/repos/builtin/packages/qhull/package.py2
-rw-r--r--var/spack/repos/builtin/packages/qrupdate/package.py1
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py47
-rw-r--r--var/spack/repos/builtin/packages/qthreads/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-base64enc/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-boot/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-brew/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-car/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-caret/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-chron/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-class/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-cluster/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-codetools/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-crayon/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-cubature/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-curl/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-datatable/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-devtools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-diagrammer/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-doparallel/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-dplyr/package.py17
-rw-r--r--var/spack/repos/builtin/packages/r-dt/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-dygraphs/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-e1071/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-foreach/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-gdata/package.py59
-rw-r--r--var/spack/repos/builtin/packages/r-geosphere/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-ggmap/package.py57
-rw-r--r--var/spack/repos/builtin/packages/r-ggplot2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ggvis/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-glmnet/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-googlevis/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-gridbase/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-gridextra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-gtools/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-htmltools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-htmlwidgets/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-httpuv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-httr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-igraph/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-influencer/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-irlba/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-iterators/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-jpeg/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-jsonlite/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-leaflet/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-lme4/package.py53
-rw-r--r--var/spack/repos/builtin/packages/r-lmtest/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-lubridate/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-magic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mapproj/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-maps/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-maptools/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-markdown/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-matrix/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-matrixmodels/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-memoise/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mgcv/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-mime/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-minqa/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-multcomp/package.py51
-rw-r--r--var/spack/repos/builtin/packages/r-munsell/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mvtnorm/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-ncdf4/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-networkd3/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-nlme/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-nloptr/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-nmf/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-nnet/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-np/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-pbkrtest/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-pkgmaker/package.py53
-rw-r--r--var/spack/repos/builtin/packages/r-plotrix/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-plyr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-png/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-praise/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-proto/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-quantmod/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-quantreg/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-randomforest/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-raster/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-rcpp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-rcppeigen/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-registry/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-reshape2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rgooglemaps/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-rjava/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rjson/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-rjsonio/package.py55
-rw-r--r--var/spack/repos/builtin/packages/r-rmysql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rngtools/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-rodbc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-roxygen2/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-rpostgresql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rsqlite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rstan/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rstudioapi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-sandwich/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-scales/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-shiny/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-sp/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-sparsem/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-stringr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-survey/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-survival/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-tarifx/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-testthat/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-thdata/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-threejs/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-tibble/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tidyr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ttr/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-vcd/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-visnetwork/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnect/package.py5
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnectjars/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-xlsx/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-xlsxjars/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-xml/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-xts/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-yaml/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-zoo/package.py47
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py7
-rw-r--r--var/spack/repos/builtin/packages/ravel/package.py1
-rw-r--r--var/spack/repos/builtin/packages/readline/package.py1
-rw-r--r--var/spack/repos/builtin/packages/rose/package.py9
-rw-r--r--var/spack/repos/builtin/packages/rsync/package.py3
-rw-r--r--var/spack/repos/builtin/packages/rust/package.py1
-rw-r--r--var/spack/repos/builtin/packages/samtools/package.py26
-rw-r--r--var/spack/repos/builtin/packages/samtools/samtools1.2.patch20
-rw-r--r--var/spack/repos/builtin/packages/scalasca/package.py15
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py1
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py35
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py15
-rw-r--r--var/spack/repos/builtin/packages/scr/package.py7
-rw-r--r--var/spack/repos/builtin/packages/screen/package.py59
-rw-r--r--var/spack/repos/builtin/packages/seqtk/package.py43
-rw-r--r--var/spack/repos/builtin/packages/silo/package.py9
-rw-r--r--var/spack/repos/builtin/packages/snappy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/sparsehash/package.py1
-rw-r--r--var/spack/repos/builtin/packages/spindle/package.py1
-rw-r--r--var/spack/repos/builtin/packages/spot/package.py7
-rw-r--r--var/spack/repos/builtin/packages/sqlite/package.py1
-rw-r--r--var/spack/repos/builtin/packages/stat/package.py6
-rw-r--r--var/spack/repos/builtin/packages/subversion/package.py27
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py12
-rw-r--r--var/spack/repos/builtin/packages/superlu-dist/package.py2
-rw-r--r--var/spack/repos/builtin/packages/superlu-mt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/swiftsim/package.py6
-rw-r--r--var/spack/repos/builtin/packages/swig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch482
-rw-r--r--var/spack/repos/builtin/packages/tar/package.py12
-rw-r--r--var/spack/repos/builtin/packages/task/package.py1
-rw-r--r--var/spack/repos/builtin/packages/taskd/package.py1
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py36
-rw-r--r--var/spack/repos/builtin/packages/tbb/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tcl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/tetgen/package.py3
-rw-r--r--var/spack/repos/builtin/packages/texinfo/package.py11
-rw-r--r--var/spack/repos/builtin/packages/texlive/package.py58
-rw-r--r--var/spack/repos/builtin/packages/thrift/package.py23
-rw-r--r--var/spack/repos/builtin/packages/tmuxinator/package.py9
-rw-r--r--var/spack/repos/builtin/packages/tree/package.py46
-rw-r--r--var/spack/repos/builtin/packages/triangle/package.py1
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py37
-rw-r--r--var/spack/repos/builtin/packages/udunits2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/uncrustify/package.py3
-rw-r--r--var/spack/repos/builtin/packages/unibilium/package.py5
-rw-r--r--var/spack/repos/builtin/packages/unison/package.py51
-rw-r--r--var/spack/repos/builtin/packages/util-linux/package.py8
-rw-r--r--var/spack/repos/builtin/packages/valgrind/package.py16
-rw-r--r--var/spack/repos/builtin/packages/vim/package.py83
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py18
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py15
-rw-r--r--var/spack/repos/builtin/packages/wget/package.py11
-rw-r--r--var/spack/repos/builtin/packages/wx/package.py5
-rw-r--r--var/spack/repos/builtin/packages/wxpropgrid/package.py5
-rw-r--r--var/spack/repos/builtin/packages/xcb-proto/package.py1
-rw-r--r--var/spack/repos/builtin/packages/xerces-c/package.py9
-rw-r--r--var/spack/repos/builtin/packages/xorg-util-macros/package.py5
-rw-r--r--var/spack/repos/builtin/packages/xproto/package.py1
-rw-r--r--var/spack/repos/builtin/packages/xz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/yasm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/zeromq/package.py3
-rw-r--r--var/spack/repos/builtin/packages/zfp/package.py13
-rw-r--r--var/spack/repos/builtin/packages/zlib/package.py7
-rw-r--r--var/spack/repos/builtin/packages/zoltan/package.py48
-rw-r--r--var/spack/repos/builtin/packages/zsh/package.py1
586 files changed, 10253 insertions, 2116 deletions
diff --git a/var/spack/repos/builtin.mock/packages/a/package.py b/var/spack/repos/builtin.mock/packages/a/package.py
index 40b92240fc..0d75ee1256 100644
--- a/var/spack/repos/builtin.mock/packages/a/package.py
+++ b/var/spack/repos/builtin.mock/packages/a/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class A(Package):
"""Simple package with no dependencies"""
diff --git a/var/spack/repos/builtin.mock/packages/b/package.py b/var/spack/repos/builtin.mock/packages/b/package.py
index c447a56b48..5729f24e79 100644
--- a/var/spack/repos/builtin.mock/packages/b/package.py
+++ b/var/spack/repos/builtin.mock/packages/b/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class B(Package):
"""Simple package with no dependencies"""
diff --git a/var/spack/repos/builtin.mock/packages/c/package.py b/var/spack/repos/builtin.mock/packages/c/package.py
index 5b6079c4e3..80777a05bb 100644
--- a/var/spack/repos/builtin.mock/packages/c/package.py
+++ b/var/spack/repos/builtin.mock/packages/c/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class C(Package):
"""Simple package with no dependencies"""
diff --git a/var/spack/repos/builtin.mock/packages/callpath/package.py b/var/spack/repos/builtin.mock/packages/callpath/package.py
index c297a123b8..56b969df98 100644
--- a/var/spack/repos/builtin.mock/packages/callpath/package.py
+++ b/var/spack/repos/builtin.mock/packages/callpath/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Callpath(Package):
homepage = "https://github.com/tgamblin/callpath"
url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/cmake-client/package.py b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
index c58430317a..0c78f0bf68 100644
--- a/var/spack/repos/builtin.mock/packages/cmake-client/package.py
+++ b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
def check(condition, msg):
"""Raise an install error if condition is False."""
if not condition:
@@ -40,15 +41,14 @@ class CmakeClient(Package):
depends_on('cmake', type='build')
-
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.")
-
+ "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
@@ -56,8 +56,8 @@ class CmakeClient(Package):
"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.")
-
+ "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
@@ -65,9 +65,8 @@ class CmakeClient(Package):
"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.")
-
-
+ "link arg on dependency spec not readable from "
+ "setup_dependent_package.")
def install(self, spec, prefix):
# check that cmake is in the global scope.
diff --git a/var/spack/repos/builtin.mock/packages/cmake/package.py b/var/spack/repos/builtin.mock/packages/cmake/package.py
index 0356cf8afb..c8b6464e69 100644
--- a/var/spack/repos/builtin.mock/packages/cmake/package.py
+++ b/var/spack/repos/builtin.mock/packages/cmake/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
def check(condition, msg):
"""Raise an install error if condition is False."""
if not condition:
@@ -39,7 +40,6 @@ class Cmake(Package):
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')
@@ -48,7 +48,6 @@ class Cmake(Package):
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
@@ -57,7 +56,6 @@ class Cmake(Package):
self.spec.link_arg = "test link arg"
-
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/direct_mpich/package.py b/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
index 663908d56c..f38589ad4d 100644
--- a/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/direct_mpich/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class DirectMpich(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/direct_mpich-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/dyninst/package.py b/var/spack/repos/builtin.mock/packages/dyninst/package.py
index ad486011e2..daf1b82ec6 100644
--- a/var/spack/repos/builtin.mock/packages/dyninst/package.py
+++ b/var/spack/repos/builtin.mock/packages/dyninst/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Dyninst(Package):
homepage = "https://paradyn.org"
url = "http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz"
diff --git a/var/spack/repos/builtin.mock/packages/e/package.py b/var/spack/repos/builtin.mock/packages/e/package.py
index b951a3eaa6..c764007563 100644
--- a/var/spack/repos/builtin.mock/packages/e/package.py
+++ b/var/spack/repos/builtin.mock/packages/e/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class E(Package):
"""Simple package with no dependencies"""
diff --git a/var/spack/repos/builtin.mock/packages/externalmodule/package.py b/var/spack/repos/builtin.mock/packages/externalmodule/package.py
index f7b0da3fd9..f7c9b056a4 100644
--- a/var/spack/repos/builtin.mock/packages/externalmodule/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalmodule/package.py
@@ -25,6 +25,7 @@
##############################################################################
from spack import *
+
class Externalmodule(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/module-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/externalprereq/package.py b/var/spack/repos/builtin.mock/packages/externalprereq/package.py
index bd3c4348bf..226742f2cb 100644
--- a/var/spack/repos/builtin.mock/packages/externalprereq/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalprereq/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Externalprereq(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/prereq-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/externaltest/package.py b/var/spack/repos/builtin.mock/packages/externaltest/package.py
index 2318887aec..252c42556e 100644
--- a/var/spack/repos/builtin.mock/packages/externaltest/package.py
+++ b/var/spack/repos/builtin.mock/packages/externaltest/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Externaltest(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/test-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/externaltool/package.py b/var/spack/repos/builtin.mock/packages/externaltool/package.py
index 9ff2396f36..d2daddd350 100644
--- a/var/spack/repos/builtin.mock/packages/externaltool/package.py
+++ b/var/spack/repos/builtin.mock/packages/externaltool/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Externaltool(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/tool-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/externalvirtual/package.py b/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
index e19ef332f0..1f3553014b 100644
--- a/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Externalvirtual(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/stuff-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/fake/package.py b/var/spack/repos/builtin.mock/packages/fake/package.py
index 15aabf1101..b83eec7470 100644
--- a/var/spack/repos/builtin.mock/packages/fake/package.py
+++ b/var/spack/repos/builtin.mock/packages/fake/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Fake(Package):
homepage = "http://www.fake-spack-example.org"
url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/git-test/package.py b/var/spack/repos/builtin.mock/packages/git-test/package.py
index aeea41146f..730e71ac6b 100644
--- a/var/spack/repos/builtin.mock/packages/git-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-test/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class GitTest(Package):
"""Mock package that uses git for fetching."""
homepage = "http://www.git-fetch-example.com"
diff --git a/var/spack/repos/builtin.mock/packages/hg-test/package.py b/var/spack/repos/builtin.mock/packages/hg-test/package.py
index 64719eb53c..70a9b7f2c7 100644
--- a/var/spack/repos/builtin.mock/packages/hg-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/hg-test/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class HgTest(Package):
"""Test package that does fetching with mercurial."""
homepage = "http://www.hg-fetch-example.com"
diff --git a/var/spack/repos/builtin.mock/packages/hypre/package.py b/var/spack/repos/builtin.mock/packages/hypre/package.py
index 3aedea9bf2..b9e31b09dc 100644
--- a/var/spack/repos/builtin.mock/packages/hypre/package.py
+++ b/var/spack/repos/builtin.mock/packages/hypre/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Hypre(Package):
"""Hypre is included here as an example of a package that depends on
both LAPACK and BLAS."""
diff --git a/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py b/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
index 6ed779889b..bbbf196129 100644
--- a/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/indirect_mpich/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class IndirectMpich(Package):
"""Test case for a package that depends on MPI and one of its
dependencies requires a *particular version* of MPI.
diff --git a/var/spack/repos/builtin.mock/packages/libdwarf/package.py b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
index b53e295e23..0fcbe4a62e 100644
--- a/var/spack/repos/builtin.mock/packages/libdwarf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
@@ -23,11 +23,11 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
# Only build certain parts of dwarf because the other ones break.
dwarf_dirs = ['libdwarf', 'dwarfdump2']
+
class Libdwarf(Package):
homepage = "http://www.prevanders.net/dwarf.html"
url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/libelf/package.py b/var/spack/repos/builtin.mock/packages/libelf/package.py
index f52d8cefe1..90d00ad339 100644
--- a/var/spack/repos/builtin.mock/packages/libelf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libelf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libelf(Package):
homepage = "http://www.mr511.de/software/english.html"
url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/mpich/package.py b/var/spack/repos/builtin.mock/packages/mpich/package.py
index f278f26b8b..936127398c 100644
--- a/var/spack/repos/builtin.mock/packages/mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpich(Package):
homepage = "http://www.mpich.org"
url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/mpich2/package.py b/var/spack/repos/builtin.mock/packages/mpich2/package.py
index e6b68d2490..c92b4ba43a 100644
--- a/var/spack/repos/builtin.mock/packages/mpich2/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich2/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpich2(Package):
homepage = "http://www.mpich.org"
url = "http://www.mpich.org/static/downloads/1.5/mpich2-1.5.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/mpileaks/package.py b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
index bc26f539ba..10fbf3845e 100644
--- a/var/spack/repos/builtin.mock/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpileaks(Package):
homepage = "http://www.llnl.gov"
url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
@@ -35,6 +36,8 @@ class Mpileaks(Package):
variant('debug', default=False, description='Debug variant')
variant('opt', default=False, description='Optimized variant')
+ variant('shared', default=True, description='Build shared library')
+ variant('static', default=True, description='Build static library')
depends_on("mpi")
depends_on("callpath")
diff --git a/var/spack/repos/builtin.mock/packages/multimethod/package.py b/var/spack/repos/builtin.mock/packages/multimethod/package.py
index ca991632dd..fa3f815135 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod/package.py
@@ -22,12 +22,10 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import imp
-from llnl.util.filesystem import join_path
-from spack.util.naming import mod_to_class
from spack import *
import spack.architecture
+
class Multimethod(Package):
"""This package is designed for use with Spack's multimethod test.
It has a bunch of test cases for the @when decorator that the
@@ -52,7 +50,6 @@ class Multimethod(Package):
def no_version_2(self):
return 4
-
#
# These functions overlap, so there is ambiguity, but we'll take
# the first one.
@@ -65,7 +62,6 @@ class Multimethod(Package):
def version_overlap(self):
return 2
-
#
# More complicated case with cascading versions.
#
@@ -84,7 +80,6 @@ class Multimethod(Package):
def mpi_version(self):
return 1
-
#
# Use these to test whether the default method is called when no
# match is found. This also tests whether we can switch methods
@@ -101,8 +96,6 @@ class Multimethod(Package):
def has_a_default(self):
return 'intel'
-
-
#
# Make sure we can switch methods on different target
#
@@ -112,15 +105,16 @@ class Multimethod(Package):
targets = targets[:-1]
for target in targets:
- @when('target='+target.name)
+ @when('target=' + target.name)
def different_by_target(self):
- if isinstance(self.spec.architecture.target,basestring):
+ if isinstance(self.spec.architecture.target, basestring):
return self.spec.architecture.target
else:
return self.spec.architecture.target.name
#
# Make sure we can switch methods on different dependencies
#
+
@when('^mpich')
def different_by_dep(self):
return 'mpich'
@@ -129,7 +123,6 @@ class Multimethod(Package):
def different_by_dep(self):
return 'zmpi'
-
#
# Make sure we can switch on virtual dependencies
#
diff --git a/var/spack/repos/builtin.mock/packages/netlib-blas/package.py b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
index 9d567f2e9b..0a5b1d0e6a 100644
--- a/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
+++ b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class NetlibBlas(Package):
homepage = "http://www.netlib.org/lapack/"
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
diff --git a/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
index 46d6ae43dc..755d3001a4 100644
--- a/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class NetlibLapack(Package):
homepage = "http://www.netlib.org/lapack/"
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
diff --git a/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py b/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
index b36237c1e2..0f14fbaa61 100644
--- a/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
+++ b/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class OpenblasWithLapack(Package):
"""Dummy version of OpenBLAS that also provides LAPACK, for testing."""
homepage = "http://www.openblas.net"
diff --git a/var/spack/repos/builtin.mock/packages/openblas/package.py b/var/spack/repos/builtin.mock/packages/openblas/package.py
index 5b39447e83..f6cdeeea49 100644
--- a/var/spack/repos/builtin.mock/packages/openblas/package.py
+++ b/var/spack/repos/builtin.mock/packages/openblas/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Openblas(Package):
"""OpenBLAS: An optimized BLAS library"""
homepage = "http://www.openblas.net"
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
index f97959c763..337f54e24e 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class OptionalDepTest2(Package):
"""Depends on the optional-dep-test package"""
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
index d8fe33c3da..2904b3782d 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class OptionalDepTest3(Package):
"""Depends on the optional-dep-test package"""
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
index 80c1da55f8..2c07e61769 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class OptionalDepTest(Package):
"""Description"""
diff --git a/var/spack/repos/builtin.mock/packages/python/package.py b/var/spack/repos/builtin.mock/packages/python/package.py
index dc21b475e5..a5290161ad 100644
--- a/var/spack/repos/builtin.mock/packages/python/package.py
+++ b/var/spack/repos/builtin.mock/packages/python/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Python(Package):
"""Dummy Python package to demonstrate preferred versions."""
homepage = "http://www.python.org"
@@ -40,4 +41,3 @@ class Python(Package):
def install(self, spec, prefix):
pass
-
diff --git a/var/spack/repos/builtin.mock/packages/svn-test/package.py b/var/spack/repos/builtin.mock/packages/svn-test/package.py
index 2f197593e0..01d0929c28 100644
--- a/var/spack/repos/builtin.mock/packages/svn-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/svn-test/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class SvnTest(Package):
"""Mock package that uses svn for fetching."""
url = "http://www.example.com/svn-test-1.0.tar.gz"
diff --git a/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py b/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
index 7c65909ad2..2129d9788b 100644
--- a/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
+++ b/var/spack/repos/builtin.mock/packages/trivial_install_test_package/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class TrivialInstallTestPackage(Package):
"""This package is a stub with a trivial install method. It allows us
to test the install and uninstall logic of spack."""
diff --git a/var/spack/repos/builtin.mock/packages/zmpi/package.py b/var/spack/repos/builtin.mock/packages/zmpi/package.py
index fcd3afe93b..b6a5b33011 100644
--- a/var/spack/repos/builtin.mock/packages/zmpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/zmpi/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Zmpi(Package):
"""This is a fake MPI package used to demonstrate virtual package providers
with dependencies."""
diff --git a/var/spack/repos/builtin/packages/LuaJIT/package.py b/var/spack/repos/builtin/packages/LuaJIT/package.py
index db6f7d3cad..244c63c8fb 100644
--- a/var/spack/repos/builtin/packages/LuaJIT/package.py
+++ b/var/spack/repos/builtin/packages/LuaJIT/package.py
@@ -25,6 +25,7 @@
import os
from spack import *
+
class Luajit(Package):
"""Flast flexible JITed lua"""
homepage = "http://www.luajit.org"
diff --git a/var/spack/repos/builtin/packages/R/package.py b/var/spack/repos/builtin/packages/R/package.py
index 11c5909efa..e880a3aa66 100644
--- a/var/spack/repos/builtin/packages/R/package.py
+++ b/var/spack/repos/builtin/packages/R/package.py
@@ -22,10 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
-
from spack import *
from spack.util.environment import *
+import shutil
class R(Package):
@@ -74,6 +73,10 @@ class R(Package):
depends_on('pcre')
depends_on('jdk')
+ @property
+ def etcdir(self):
+ return join_path(prefix, 'rlib', 'R', 'etc')
+
def install(self, spec, prefix):
rlibdir = join_path(prefix, 'rlib')
configure_args = ['--prefix=%s' % prefix,
@@ -88,6 +91,12 @@ class R(Package):
make()
make('install')
+ # Make a copy of Makeconf because it will be needed to properly build R
+ # dependencies in Spack.
+ src_makeconf = join_path(self.etcdir, 'Makeconf')
+ dst_makeconf = join_path(self.etcdir, 'Makeconf.spack')
+ shutil.copy(src_makeconf, dst_makeconf)
+
self.filter_compilers(spec, prefix)
def filter_compilers(self, spec, prefix):
@@ -98,18 +107,16 @@ class R(Package):
cc and c++. We want them to be bound to whatever compiler
they were built with."""
- etcdir = join_path(prefix, 'rlib', 'R', 'etc')
-
kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
- filter_file(env['CC'], self.compiler.cc,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ filter_file(env['CC'], self.compiler.cc,
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['CXX'], self.compiler.cxx,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['F77'], self.compiler.f77,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['FC'], self.compiler.fc,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
# ========================================================================
# Set up environment to make install easy for R extensions.
@@ -117,7 +124,7 @@ class R(Package):
@property
def r_lib_dir(self):
- return os.path.join('rlib', 'R', 'library')
+ return join_path('rlib', 'R', 'library')
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
# Set R_LIBS to include the library dir for the
@@ -125,27 +132,42 @@ class R(Package):
r_libs_path = []
for d in extension_spec.traverse(deptype=nolink, deptype_query='run'):
if d.package.extends(self.spec):
- r_libs_path.append(os.path.join(d.prefix, self.r_lib_dir))
+ r_libs_path.append(join_path(d.prefix, self.r_lib_dir))
r_libs_path = ':'.join(r_libs_path)
spack_env.set('R_LIBS', r_libs_path)
+ spack_env.set('R_MAKEVARS_SITE',
+ join_path(self.etcdir, 'Makeconf.spack'))
+
+ # Use the number of make_jobs set in spack. The make program will
+ # determine how many jobs can actually be started.
+ spack_env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
# For run time environment set only the path for extension_spec and
# prepend it to R_LIBS
if extension_spec.package.extends(self.spec):
- run_env.prepend_path('R_LIBS', os.path.join(
+ run_env.prepend_path('R_LIBS', join_path(
extension_spec.prefix, self.r_lib_dir))
+ def setup_environment(self, spack_env, run_env):
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'rlib', 'R', 'lib'))
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'rlib', 'R', 'lib'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'rlib', 'R', 'include'))
+
def setup_dependent_package(self, module, ext_spec):
"""Called before R modules' install() methods. In most cases,
extensions will only need to have one line:
- R('CMD', 'INSTALL', '--library=%s' % self.module.r_lib_dir, '%s' %
- self.stage.source_path)"""
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)"""
+
# R extension builds can have a global R executable function
module.R = Executable(join_path(self.spec.prefix.bin, 'R'))
# Add variable for library directry
- module.r_lib_dir = os.path.join(ext_spec.prefix, self.r_lib_dir)
+ module.r_lib_dir = join_path(ext_spec.prefix, self.r_lib_dir)
# Make the site packages directory for extensions, if it does not exist
# already.
diff --git a/var/spack/repos/builtin/packages/SAMRAI/package.py b/var/spack/repos/builtin/packages/SAMRAI/package.py
index 73c51ced23..e0648290d6 100644
--- a/var/spack/repos/builtin/packages/SAMRAI/package.py
+++ b/var/spack/repos/builtin/packages/SAMRAI/package.py
@@ -24,12 +24,14 @@
##############################################################################
from spack import *
+
class Samrai(Package):
"""SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
- is an object-oriented C++ software library enables exploration of numerical,
- algorithmic, parallel computing, and software issues associated with applying
- structured adaptive mesh refinement (SAMR) technology in large-scale parallel
- application development.
+ is an object-oriented C++ software library enables exploration of
+ numerical, algorithmic, parallel computing, and software issues
+ associated with applying structured adaptive mesh refinement
+ (SAMR) technology in large-scale parallel application development.
+
"""
homepage = "https://computation.llnl.gov/project/SAMRAI/"
url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/ack/package.py b/var/spack/repos/builtin/packages/ack/package.py
new file mode 100644
index 0000000000..70249aebac
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ack/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 Ack(Package):
+ """ack 2.14 is a tool like grep, optimized for programmers.
+
+ Designed for programmers with large heterogeneous trees of
+ source code, ack is written purely in portable Perl 5 and takes
+ advantage of the power of Perl's regular expressions."""
+
+ homepage = "http://beyondgrep.com/"
+ url = "http://beyondgrep.com/ack-2.14-single-file"
+
+ version('2.14', 'e74150a1609d28a70b450ef9cc2ed56b', expand=False)
+
+ depends_on('perl')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ ack = 'ack-{0}-single-file'.format(self.version)
+
+ # rewrite the script's #! line to call the perl dependency
+ shbang = '#!' + join_path(spec['perl'].prefix.bin, 'perl')
+ filter_file(r'^#!/usr/bin/env perl', shbang, ack)
+
+ install(ack, join_path(prefix.bin, "ack"))
+ set_executable(join_path(prefix.bin, "ack"))
diff --git a/var/spack/repos/builtin/packages/activeharmony/package.py b/var/spack/repos/builtin/packages/activeharmony/package.py
index 9d15bd71d9..6a4e67a1ca 100644
--- a/var/spack/repos/builtin/packages/activeharmony/package.py
+++ b/var/spack/repos/builtin/packages/activeharmony/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class Activeharmony(Package):
- """Active Harmony: a framework for auto-tuning (the automated search for values to improve the performance of a target application)."""
+ """Active Harmony: a framework for auto-tuning (the automated search for
+ values to improve the performance of a target application)."""
homepage = "http://www.dyninst.org/harmony"
url = "http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
@@ -34,6 +36,3 @@ class Activeharmony(Package):
def install(self, spec, prefix):
make("CFLAGS=-O3")
make("install", 'PREFIX=%s' % prefix)
-
-from spack import *
-
diff --git a/var/spack/repos/builtin/packages/adept-utils/package.py b/var/spack/repos/builtin/packages/adept-utils/package.py
index 592681bb82..1a6998fd96 100644
--- a/var/spack/repos/builtin/packages/adept-utils/package.py
+++ b/var/spack/repos/builtin/packages/adept-utils/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class AdeptUtils(Package):
"""Utility libraries for LLNL performance tools."""
diff --git a/var/spack/repos/builtin/packages/adol-c/package.py b/var/spack/repos/builtin/packages/adol-c/package.py
index a6052ad7bd..c5d53de230 100644
--- a/var/spack/repos/builtin/packages/adol-c/package.py
+++ b/var/spack/repos/builtin/packages/adol-c/package.py
@@ -23,21 +23,24 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import sys
+
class AdolC(Package):
- """A package for the automatic differentiation of first and higher derivatives of vector functions in C and C++ programs by operator overloading."""
+ """A package for the automatic differentiation of first and higher
+ derivatives of vector functions in C and C++ programs by operator
+ overloading."""
homepage = "https://projects.coin-or.org/ADOL-C"
url = "http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz"
version('head', svn='https://projects.coin-or.org/svn/ADOL-C/trunk/')
version('2.6.1', '1032b28427d6e399af4610e78c0f087b')
-
+
variant('doc', default=True, description='Install documentation')
variant('openmp', default=False, description='Enable OpenMP support')
variant('sparse', default=False, description='Enable sparse drivers')
- variant('tests', default=True, description='Build all included examples as a test case')
-
+ variant('tests', default=True,
+ description='Build all included examples as a test case')
+
patch('openmp_exam.patch')
def install(self, spec, prefix):
@@ -49,10 +52,14 @@ class AdolC(Package):
if '+openmp' in spec:
if spec.satisfies('%gcc'):
make_args.extend([
- '--with-openmp-flag=-fopenmp' # FIXME: Is this required? -I <path to omp.h> -L <LLVM OpenMP library path>
+ # FIXME: Is this required? -I <path to omp.h> -L <LLVM
+ # OpenMP library path>
+ '--with-openmp-flag=-fopenmp'
])
else:
- raise InstallError("OpenMP flags for compilers other than GCC are not implemented.")
+ raise InstallError(
+ "OpenMP flags for compilers other than GCC "
+ "are not implemented.")
if '+sparse' in spec:
make_args.extend([
@@ -63,7 +70,7 @@ class AdolC(Package):
# whether Adol-C works as expected
if '+tests' in spec:
make_args.extend([
- '--enable-docexa', # Documeted examples
+ '--enable-docexa', # Documeted examples
'--enable-addexa' # Additional examples
])
if '+openmp' in spec:
@@ -74,31 +81,36 @@ class AdolC(Package):
configure(*make_args)
make()
make("install")
-
+
# Copy the config.h file, as some packages might require it
source_directory = self.stage.source_path
- config_h = join_path(source_directory,'ADOL-C','src','config.h')
- install(config_h, join_path(prefix.include,'adolc'))
-
+ config_h = join_path(source_directory, 'ADOL-C', 'src', 'config.h')
+ install(config_h, join_path(prefix.include, 'adolc'))
+
# Install documentation to {prefix}/share
if '+doc' in spec:
- install_tree(join_path('ADOL-C','doc'),
- join_path(prefix.share,'doc'))
-
+ install_tree(join_path('ADOL-C', 'doc'),
+ join_path(prefix.share, 'doc'))
+
# Install examples to {prefix}/share
if '+tests' in spec:
- install_tree(join_path('ADOL-C','examples'),
- join_path(prefix.share,'examples'))
-
+ install_tree(join_path('ADOL-C', 'examples'),
+ join_path(prefix.share, 'examples'))
+
# Run some examples that don't require user input
# TODO: Check that bundled examples produce the correct results
- with working_dir(join_path(source_directory,'ADOL-C','examples')):
+ with working_dir(join_path(
+ source_directory, 'ADOL-C', 'examples')):
Executable('./tapeless_scalar')()
Executable('./tapeless_vector')()
-
- with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
+
+ with working_dir(join_path(
+ source_directory,
+ 'ADOL-C', 'examples', 'additional_examples')):
Executable('./checkpointing/checkpointing')()
-
+
if '+openmp' in spec:
- with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
+ with working_dir(join_path(
+ source_directory,
+ 'ADOL-C', 'examples', 'additional_examples')):
Executable('./checkpointing/checkpointing')()
diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py
index eb67facaf3..891061c62f 100644
--- a/var/spack/repos/builtin/packages/antlr/package.py
+++ b/var/spack/repos/builtin/packages/antlr/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class Antlr(Package):
-
+
homepage = "http://www.antlr.org"
url = "https://github.com/antlr/antlr/tarball/v2.7.7"
@@ -41,22 +42,23 @@ class Antlr(Package):
# CharScanner.hpp must include this line: #include <cstring> or else
# ncap2 will not compile (this tarball is already patched).
version('2.7.7', '914865e853fe8e1e61a9f23d045cb4ab',
- # Patched version as described above
- url='http://dust.ess.uci.edu/tmp/antlr-2.7.7.tar.gz')
- # Unpatched version
- # url='http://dust.ess.uci.edu/nco/antlr-2.7.7.tar.gz')
+ # Patched version as described above
+ url='http://dust.ess.uci.edu/tmp/antlr-2.7.7.tar.gz')
+ # Unpatched version
+ # url='http://dust.ess.uci.edu/nco/antlr-2.7.7.tar.gz')
variant('cxx', default=False, description='Enable ANTLR for C++')
variant('java', default=False, description='Enable ANTLR for Java')
variant('python', default=False, description='Enable ANTLR for Python')
variant('csharp', default=False, description='Enable ANTLR for Csharp')
-
def install(self, spec, prefix):
# Check for future enabling of variants
for v in ('+java', '+python', '+csharp'):
if v in spec:
- raise Error('Illegal variant %s; for now, Spack only knows how to build antlr or antlr+cxx')
+ raise Error(
+ ('Illegal variant %s; ' % v) + 'for now, '
+ 'Spack only knows how to build antlr or antlr+cxx')
config_args = [
'--prefix=%s' % prefix,
diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py
index 59fbe50c93..832e10a1ec 100644
--- a/var/spack/repos/builtin/packages/apex/package.py
+++ b/var/spack/repos/builtin/packages/apex/package.py
@@ -25,6 +25,7 @@
from spack import *
from spack.util.environment import *
+
class Apex(Package):
homepage = "http://github.com/khuck/xpress-apex"
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
@@ -39,17 +40,17 @@ class Apex(Package):
def install(self, spec, prefix):
- path=get_path("PATH")
+ path = get_path("PATH")
path.remove(spec["binutils"].prefix.bin)
path_set("PATH", path)
with working_dir("build", create=True):
cmake('-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DUSE_BFD=TRUE',
- '-DBFD_ROOT=%s' % spec['binutils'].prefix,
- '-DUSE_ACTIVEHARMONY=TRUE',
- '-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
- '-DUSE_OMPT=TRUE',
- '-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
- '..', *std_cmake_args)
+ '-DUSE_BFD=TRUE',
+ '-DBFD_ROOT=%s' % spec['binutils'].prefix,
+ '-DUSE_ACTIVEHARMONY=TRUE',
+ '-DACTIVEHARMONY_ROOT=%s' % spec['activeharmony'].prefix,
+ '-DUSE_OMPT=TRUE',
+ '-DOMPT_ROOT=%s' % spec['ompt-openmp'].prefix,
+ '..', *std_cmake_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/apr-util/package.py b/var/spack/repos/builtin/packages/apr-util/package.py
index 05dc670aed..8e01d3bbdd 100644
--- a/var/spack/repos/builtin/packages/apr-util/package.py
+++ b/var/spack/repos/builtin/packages/apr-util/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class AprUtil(Package):
"""Apache Portable Runtime Utility"""
homepage = 'https://apr.apache.org/'
diff --git a/var/spack/repos/builtin/packages/apr/package.py b/var/spack/repos/builtin/packages/apr/package.py
index 398e1c323d..0cd51f52e3 100644
--- a/var/spack/repos/builtin/packages/apr/package.py
+++ b/var/spack/repos/builtin/packages/apr/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Apr(Package):
"""Apache portable runtime."""
homepage = 'https://apr.apache.org/'
diff --git a/var/spack/repos/builtin/packages/armadillo/package.py b/var/spack/repos/builtin/packages/armadillo/package.py
index b3e5994e30..4356f60aca 100644
--- a/var/spack/repos/builtin/packages/armadillo/package.py
+++ b/var/spack/repos/builtin/packages/armadillo/package.py
@@ -33,11 +33,13 @@ class Armadillo(Package):
homepage = "http://arma.sourceforge.net/"
url = "http://sourceforge.net/projects/arma/files/armadillo-7.200.1.tar.xz"
+ version('7.200.2', 'b21585372d67a8876117fd515d8cf0a2')
version('7.200.1', 'ed86d6df0058979e107502e1fe3e469e')
variant('hdf5', default=False, description='Include HDF5 support')
- depends_on('arpack')
+ depends_on('cmake@2.8:', type='build')
+ depends_on('arpack-ng') # old arpack causes undefined symbols
depends_on('blas')
depends_on('lapack')
depends_on('superlu@5.2:')
@@ -46,8 +48,8 @@ class Armadillo(Package):
def install(self, spec, prefix):
cmake_args = [
# ARPACK support
- '-DARPACK_LIBRARY={0}/libarpack.a'.format(
- spec['arpack'].prefix.lib),
+ '-DARPACK_LIBRARY={0}/libarpack.{1}'.format(
+ spec['arpack-ng'].prefix.lib, dso_suffix),
# BLAS support
'-DBLAS_LIBRARY={0}'.format(spec['blas'].blas_shared_lib),
# LAPACK support
diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py
index d5dc703c06..728c2345f2 100644
--- a/var/spack/repos/builtin/packages/arpack-ng/package.py
+++ b/var/spack/repos/builtin/packages/arpack-ng/package.py
@@ -59,7 +59,8 @@ class ArpackNg(Package):
version('3.4.0', 'ae9ca13f2143a7ea280cb0e2fd4bfae4')
version('3.3.0', 'ed3648a23f0a868a43ef44c97a21bad5')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
variant('mpi', default=False, description='Activates MPI support')
# The function pdlamch10 does not set the return variable.
@@ -86,10 +87,19 @@ class ArpackNg(Package):
options.extend(std_cmake_args)
options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
- # TODO:
- # Arpack calls directly find_package(BLAS REQUIRED) and
- # find_package(LAPACK REQUIRED). Make sure correct Blas/Lapack are
- # picked up.
+ # Make sure we use Spack's blas/lapack:
+ options.extend([
+ '-DLAPACK_FOUND=true',
+ '-DLAPACK_INCLUDE_DIRS=%s' % spec['lapack'].prefix.include,
+ '-DLAPACK_LIBRARIES=%s' % (
+ spec['lapack'].lapack_shared_lib if '+shared' in spec else
+ spec['lapack'].lapack_static_lib),
+ '-DBLAS_FOUND=true',
+ '-DBLAS_INCLUDE_DIRS=%s' % spec['blas'].prefix.include,
+ '-DBLAS_LIBRARIES=%s' % (
+ spec['blas'].blas_shared_lib if '+shared' in spec else
+ spec['blas'].blas_static_lib)
+ ])
if '+mpi' in spec:
options.append('-DMPI=ON')
@@ -101,9 +111,8 @@ class ArpackNg(Package):
cmake('.', *options)
make()
- # TODO: make test does not work
- # make('test')
-
+ if self.run_tests:
+ make('test')
make('install')
@when('@3.3.0')
@@ -120,10 +129,23 @@ class ArpackNg(Package):
'F77=%s' % spec['mpi'].mpif77
])
- if '~shared' in spec:
- options.append('--enable-shared=no')
+ if '+shared' in spec:
+ options.extend([
+ '--with-blas=%s' % to_link_flags(
+ spec['blas'].blas_shared_lib),
+ '--with-lapack=%s' % to_link_flags(
+ spec['lapack'].lapack_shared_lib)
+ ])
+ else:
+ options.extend([
+ '--with-blas=%s' % spec['blas'].blas_static_lib,
+ '--with-lapack=%s' % spec['lapack'].lapack_static_lib,
+ '--enable-shared=no'
+ ])
bootstrap()
configure(*options)
make()
+ if self.run_tests:
+ make('check')
make('install')
diff --git a/var/spack/repos/builtin/packages/asciidoc/package.py b/var/spack/repos/builtin/packages/asciidoc/package.py
index a846e0ba65..be8db684f5 100644
--- a/var/spack/repos/builtin/packages/asciidoc/package.py
+++ b/var/spack/repos/builtin/packages/asciidoc/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Asciidoc(Package):
""" A presentable text document format for writing articles, UNIX man
pages and other small to medium sized documents."""
diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py
index 1d26145fd1..d5b6933ec3 100644
--- a/var/spack/repos/builtin/packages/atk/package.py
+++ b/var/spack/repos/builtin/packages/atk/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Atk(Package):
"""ATK provides the set of accessibility interfaces that are
implemented by other toolkits and applications. Using the ATK
@@ -32,9 +33,16 @@ class Atk(Package):
homepage = "https://developer.gnome.org/atk/"
url = "http://ftp.gnome.org/pub/gnome/sources/atk/2.14/atk-2.14.0.tar.xz"
+ version('2.20.0', '5187b0972f4d3905f285540b31395e20')
version('2.14.0', 'ecb7ca8469a5650581b1227d78051b8b')
- depends_on("glib")
+ depends_on('glib')
+ depends_on('pkg-config', type='build')
+
+ def url_for_version(self, version):
+ """Handle atk's version-based custom URLs."""
+ url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
+ return 'url+/%s/atk-%s.tar.xz' % (version.up_to(2), version)
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/atlas/package.py b/var/spack/repos/builtin/packages/atlas/package.py
index c43d92c34f..f9d5da6166 100644
--- a/var/spack/repos/builtin/packages/atlas/package.py
+++ b/var/spack/repos/builtin/packages/atlas/package.py
@@ -23,20 +23,24 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+from spack.package_test import *
from spack.util.executable import Executable
import os.path
+
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.
+ """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.10.2', 'a4e21f343dec8f22e7415e339f09f6da',
- url='http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
+ url='https://sourceforge.net/projects/math-atlas/files/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
+ # not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0
+ # Lapack routines. Stick with 3.5.0 until this is fixed.
resource(name='lapack',
url='http://www.netlib.org/lapack/lapack-3.5.0.tgz',
md5='b1d3e3e425b2e44a06760ff173104bdf',
@@ -44,7 +48,7 @@ class Atlas(Package):
when='@3:')
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')
+ url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2')
variant('shared', default=True, description='Builds shared library')
@@ -66,9 +70,24 @@ class Atlas(Package):
options = []
if '+shared' in spec:
- options.append('--shared')
+ options.extend([
+ '--shared'
+ ])
+ # TODO: for non GNU add '-Fa', 'alg', '-fPIC' ?
+
+ # configure for 64-bit build
+ options.extend([
+ '-b', '64'
+ ])
- # Lapack resource
+ # set compilers:
+ options.extend([
+ '-C', 'ic', spack_cc,
+ '-C', 'if', spack_f77
+ ])
+
+ # Lapack resource to provide full lapack build. Note that
+ # ATLAS only provides a few LAPACK routines natively.
lapack_stage = self.stage[1]
lapack_tarfile = os.path.basename(lapack_stage.fetcher.url)
lapack_tarfile_path = join_path(lapack_stage.path, lapack_tarfile)
@@ -81,4 +100,35 @@ class Atlas(Package):
make('check')
make('ptcheck')
make('time')
+ if '+shared' in spec:
+ with working_dir('lib'):
+ make('shared_all')
+
make("install")
+ self.install_test()
+
+ def setup_dependent_package(self, module, dspec):
+ # libsatlas.[so,dylib,dll ] contains all serial APIs (serial lapack,
+ # serial BLAS), and all ATLAS symbols needed to support them. Whereas
+ # libtatlas.[so,dylib,dll ] is parallel (multithreaded) version.
+ name = 'libsatlas.%s' % dso_suffix
+ libdir = find_library_path(name,
+ self.prefix.lib64,
+ self.prefix.lib)
+
+ if '+shared' in self.spec:
+ self.spec.blas_shared_lib = join_path(libdir, name)
+ self.spec.lapack_shared_lib = self.spec.blas_shared_lib
+
+ def install_test(self):
+ source_file = join_path(os.path.dirname(self.module.__file__),
+ 'test_cblas_dgemm.c')
+ blessed_file = join_path(os.path.dirname(self.module.__file__),
+ 'test_cblas_dgemm.output')
+
+ include_flags = ["-I%s" % join_path(self.spec.prefix, "include")]
+ link_flags = ["-L%s" % join_path(self.spec.prefix, "lib"),
+ "-lsatlas"]
+
+ output = compile_c_and_execute(source_file, include_flags, link_flags)
+ compare_output_file(output, blessed_file)
diff --git a/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
new file mode 100644
index 0000000000..2cb90fb883
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
@@ -0,0 +1,49 @@
+#include <cblas.h>
+#include <stdio.h>
+
+double m[] = {
+ 3, 1, 3,
+ 1, 5, 9,
+ 2, 6, 5
+};
+
+double x[] = {
+ -1, 3, -3
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void dgesv_(int *n, int *nrhs, double *a, int *lda,
+ int *ipivot, double *b, int *ldb, int *info);
+
+#ifdef __cplusplus
+}
+#endif
+
+int main(void) {
+ int i;
+ // blas:
+ double A[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
+ double B[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
+ double C[9] = {.5, .5, .5, .5, .5, .5, .5, .5, .5};
+ cblas_dgemm(CblasColMajor, CblasNoTrans, CblasTrans,
+ 3, 3, 2, 1, A, 3, B, 3, 2, C, 3);
+ for (i = 0; i < 9; i++)
+ printf("%f\n", C[i]);
+
+ // lapack:
+ int ipiv[3];
+ int j;
+ int info;
+ int n = 1;
+ int nrhs = 1;
+ int lda = 3;
+ int ldb = 3;
+ dgesv_(&n,&nrhs, &m[0], &lda, ipiv, &x[0], &ldb, &info);
+ for (i=0; i<3; ++i)
+ printf("%5.1f\n", x[i]);
+
+ return 0;
+}
diff --git a/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output
new file mode 100644
index 0000000000..01404462c4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output
@@ -0,0 +1,12 @@
+11.000000
+-9.000000
+5.000000
+-9.000000
+21.000000
+-1.000000
+5.000000
+-1.000000
+3.000000
+ -0.3
+ 3.0
+ -3.0
diff --git a/var/spack/repos/builtin/packages/atop/package.py b/var/spack/repos/builtin/packages/atop/package.py
index 9cacafc634..e3a9d464a9 100644
--- a/var/spack/repos/builtin/packages/atop/package.py
+++ b/var/spack/repos/builtin/packages/atop/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Atop(Package):
"""Atop is an ASCII full-screen performance monitor for Linux"""
homepage = "http://www.atoptool.nl/index.php"
@@ -37,4 +38,4 @@ class Atop(Package):
install("atop", join_path(prefix.bin, "atop"))
mkdirp(join_path(prefix.man, "man1"))
install(join_path("man", "atop.1"),
- join_path(prefix.man, "man1", "atop.1"))
+ join_path(prefix.man, "man1", "atop.1"))
diff --git a/var/spack/repos/builtin/packages/automaded/package.py b/var/spack/repos/builtin/packages/automaded/package.py
index 2b4681778f..7e586b2991 100644
--- a/var/spack/repos/builtin/packages/automaded/package.py
+++ b/var/spack/repos/builtin/packages/automaded/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Automaded(Package):
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
tasks) is a tool for automatic diagnosis of performance and
diff --git a/var/spack/repos/builtin/packages/bash/package.py b/var/spack/repos/builtin/packages/bash/package.py
index 5820595be9..e0cd114635 100644
--- a/var/spack/repos/builtin/packages/bash/package.py
+++ b/var/spack/repos/builtin/packages/bash/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Bash(Package):
"""The GNU Project's Bourne Again SHell."""
diff --git a/var/spack/repos/builtin/packages/bbcp/package.py b/var/spack/repos/builtin/packages/bbcp/package.py
index 09e897f34e..f69ed395a3 100644
--- a/var/spack/repos/builtin/packages/bbcp/package.py
+++ b/var/spack/repos/builtin/packages/bbcp/package.py
@@ -24,18 +24,22 @@
##############################################################################
from spack import *
+
class Bbcp(Package):
"""Securely and quickly copy data from source to target"""
homepage = "http://www.slac.stanford.edu/~abh/bbcp/"
- version('git', git='http://www.slac.stanford.edu/~abh/bbcp/bbcp.git', branch="master")
+ version('git', git='http://www.slac.stanford.edu/~abh/bbcp/bbcp.git',
+ branch="master")
def install(self, spec, prefix):
cd("src")
make()
- # BBCP wants to build the executable in a directory whose name depends on the system type
+ # BBCP wants to build the executable in a directory whose name depends
+ # on the system type
makesname = Executable("../MakeSname")
- bbcp_executable_path = "../bin/%s/bbcp" % makesname(output=str).rstrip("\n")
+ bbcp_executable_path = "../bin/%s/bbcp" % makesname(
+ output=str).rstrip("\n")
destination_path = "%s/bin/" % prefix
mkdirp(destination_path)
install(bbcp_executable_path, destination_path)
diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py
new file mode 100644
index 0000000000..a1b4a06dbb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bcftools/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 Bcftools(Package):
+ """BCFtools is a set of utilities that manipulate variant calls in the
+ Variant Call Format (VCF) and its binary counterpart BCF. All
+ commands work transparently with both VCFs and BCFs, both
+ uncompressed and BGZF-compressed."""
+
+ homepage = "http://samtools.github.io/bcftools/"
+ url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
+
+ version('1.3.1', '575001e9fca37cab0c7a7287ad4b1cdb')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ make("prefix=%s" % prefix, "all")
+ make("prefix=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/bdw-gc/package.py b/var/spack/repos/builtin/packages/bdw-gc/package.py
new file mode 100644
index 0000000000..5120266319
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bdw-gc/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 BdwGc(Package):
+ """The Boehm-Demers-Weiser conservative garbage collector is a garbage
+ collecting replacement for C malloc or C++ new."""
+
+ homepage = "http://www.hboehm.info/gc/"
+ url = "http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz"
+
+ version('7.4.4', '96d18b0448a841c88d56e4ab3d180297')
+
+ variant('libatomic-ops', default=True,
+ description='Use external libatomic-ops')
+
+ depends_on('libatomic-ops', when='+libatomic-ops')
+
+ def install(self, spec, prefix):
+ config_args = [
+ '--prefix={0}'.format(prefix),
+ '--with-libatomic-ops={0}'.format(
+ 'yes' if '+libatomic-ops' in spec else 'no')
+ ]
+
+ configure(*config_args)
+
+ make()
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/bear/package.py b/var/spack/repos/builtin/packages/bear/package.py
index a137fded08..f52050d7b9 100644
--- a/var/spack/repos/builtin/packages/bear/package.py
+++ b/var/spack/repos/builtin/packages/bear/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class Bear(Package):
- """Bear is a tool that generates a compilation database for clang tooling from non-cmake build systems."""
+ """Bear is a tool that generates a compilation database for clang tooling
+ from non-cmake build systems."""
homepage = "https://github.com/rizsotto/Bear"
url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
diff --git a/var/spack/repos/builtin/packages/bib2xhtml/package.py b/var/spack/repos/builtin/packages/bib2xhtml/package.py
index a9cbd204b6..b356038180 100644
--- a/var/spack/repos/builtin/packages/bib2xhtml/package.py
+++ b/var/spack/repos/builtin/packages/bib2xhtml/package.py
@@ -25,10 +25,11 @@
from spack import *
from glob import glob
+
class Bib2xhtml(Package):
"""bib2xhtml is a program that converts BibTeX files into HTML."""
homepage = "http://www.spinellis.gr/sw/textproc/bib2xhtml/"
- url='http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'
+ url = 'http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'
version('3.0-15-gf506', 'a26ba02fe0053bbbf2277bdf0acf8645')
diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py
index c7a125df15..70795f05cc 100644
--- a/var/spack/repos/builtin/packages/bison/package.py
+++ b/var/spack/repos/builtin/packages/bison/package.py
@@ -24,9 +24,10 @@
##############################################################################
from spack import *
+
class Bison(Package):
- """Bison is a general-purpose parser generator that converts
- an annotated context-free grammar into a deterministic LR or
+ """Bison is a general-purpose parser generator that converts
+ an annotated context-free grammar into a deterministic LR or
generalized LR (GLR) parser employing LALR(1) parser tables."""
homepage = "http://www.gnu.org/software/bison/"
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 67294fb9a1..690a05a150 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -102,13 +102,18 @@ class Boost(Package):
for lib in all_libs:
variant(lib, default=(lib not in default_noinstall_libs),
- description="Compile with {0} library".format(lib))
-
- variant('debug', default=False, description='Switch to the debug version of Boost')
- variant('shared', default=True, description="Additionally build shared libraries")
- variant('multithreaded', default=True, description="Build multi-threaded versions of libraries")
- variant('singlethreaded', default=True, description="Build single-threaded versions of libraries")
- variant('icu_support', default=False, description="Include ICU support (for regex/locale libraries)")
+ description="Compile with {0} library".format(lib))
+
+ variant('debug', default=False,
+ description='Switch to the debug version of Boost')
+ variant('shared', default=True,
+ description="Additionally build shared libraries")
+ variant('multithreaded', default=True,
+ description="Build multi-threaded versions of libraries")
+ variant('singlethreaded', default=True,
+ description="Build single-threaded versions of libraries")
+ variant('icu_support', default=False,
+ description="Include ICU support (for regex/locale libraries)")
variant('graph', default=False, description="Build the Boost Graph library")
depends_on('icu', when='+icu_support')
@@ -128,8 +133,7 @@ class Boost(Package):
parts = [str(p) for p in Version(version)]
dots = ".".join(parts)
underscores = "_".join(parts)
- return "http://downloads.sourceforge.net/project/boost" \
- "/boost/%s/boost_%s.tar.bz2" % (dots, underscores)
+ return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (dots, underscores)
def determine_toolset(self, spec):
if spec.satisfies("platform=darwin"):
@@ -158,7 +162,7 @@ class Boost(Package):
with open('user-config.jam', 'w') as f:
compiler_wrapper = join_path(spack.build_env_path, 'c++')
f.write("using {0} : : {1} ;\n".format(boostToolsetId,
- compiler_wrapper))
+ compiler_wrapper))
if '+mpi' in spec:
f.write('using mpi : %s ;\n' %
diff --git a/var/spack/repos/builtin/packages/bowtie2/package.py b/var/spack/repos/builtin/packages/bowtie2/package.py
index 6d641da49b..a8a1a34ed4 100644
--- a/var/spack/repos/builtin/packages/bowtie2/package.py
+++ b/var/spack/repos/builtin/packages/bowtie2/package.py
@@ -24,12 +24,15 @@
##############################################################################
from spack import *
from glob import glob
+
+
class Bowtie2(Package):
"""Description"""
homepage = "bowtie-bio.sourceforge.net/bowtie2/index.shtml"
- version('2.2.5','51fa97a862d248d7ee660efc1147c75f', url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
+ version('2.2.5', '51fa97a862d248d7ee660efc1147c75f',
+ url="http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
- patch('bowtie2-2.5.patch',when='@2.2.5', level=0)
+ patch('bowtie2-2.5.patch', when='@2.2.5', level=0)
def install(self, spec, prefix):
make()
@@ -45,4 +48,3 @@ class Bowtie2(Package):
# install('bowtie2-inspect',prefix.bin)
# install('bowtie2-inspect-l',prefix.bin)
# install('bowtie2-inspect-s',prefix.bin)
-
diff --git a/var/spack/repos/builtin/packages/boxlib/package.py b/var/spack/repos/builtin/packages/boxlib/package.py
index 216ae1ec12..4f41aba6c6 100644
--- a/var/spack/repos/builtin/packages/boxlib/package.py
+++ b/var/spack/repos/builtin/packages/boxlib/package.py
@@ -24,12 +24,13 @@
##############################################################################
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";
+ 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')
@@ -47,4 +48,3 @@ class Boxlib(Package):
cmake('.', *args)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/bpp-core/package.py b/var/spack/repos/builtin/packages/bpp-core/package.py
new file mode 100644
index 0000000000..40360a03b3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bpp-core/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 BppCore(Package):
+ """Bio++ core library."""
+
+ homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
+ url = "http://biopp.univ-montp2.fr/repos/sources/bpp-core-2.2.0.tar.gz"
+
+ version('2.2.0', '5789ed2ae8687d13664140cd77203477')
+
+ depends_on('cmake')
+
+ def install(self, spec, prefix):
+ cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/bpp-phyl/package.py b/var/spack/repos/builtin/packages/bpp-phyl/package.py
new file mode 100644
index 0000000000..62db8d5545
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bpp-phyl/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 BppPhyl(Package):
+ """Bio++ phylogeny library."""
+
+ homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
+ url = "http://biopp.univ-montp2.fr/repos/sources/bpp-phyl-2.2.0.tar.gz"
+
+ version('2.2.0', '5c40667ec0bf37e0ecaba321be932770')
+
+ depends_on('cmake')
+ depends_on('bpp-core')
+ depends_on('bpp-seq')
+
+ def install(self, spec, prefix):
+ cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/bpp-seq/package.py b/var/spack/repos/builtin/packages/bpp-seq/package.py
new file mode 100644
index 0000000000..7132c668b3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bpp-seq/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 BppSeq(Package):
+ """Bio++ seq library."""
+
+ homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
+ url = "http://biopp.univ-montp2.fr/repos/sources/bpp-seq-2.2.0.tar.gz"
+
+ version('2.2.0', '44adef0ff4d5ca4e69ccf258c9270633')
+
+ depends_on('cmake')
+ depends_on('bpp-core')
+
+ def install(self, spec, prefix):
+ cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/bpp-suite/package.py b/var/spack/repos/builtin/packages/bpp-suite/package.py
new file mode 100644
index 0000000000..41e90e375d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bpp-suite/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 BppSuite(Package):
+ """BppSuite is a suite of ready-to-use programs for phylogenetic and
+ sequence analysis."""
+
+ homepage = "http://biopp.univ-montp2.fr/wiki/index.php/BppSuite"
+ url = "http://biopp.univ-montp2.fr/repos/sources/bppsuite/bppsuite-2.2.0.tar.gz"
+
+ version('2.2.0', 'd8b29ad7ccf5bd3a7beb701350c9e2a4')
+
+ # FIXME: Add dependencies if required.
+ depends_on('cmake')
+ depends_on('texinfo')
+ depends_on('bpp-core')
+ depends_on('bpp-seq')
+ depends_on('bpp-phyl')
+
+ def install(self, spec, prefix):
+ cmake('.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/bwa/package.py b/var/spack/repos/builtin/packages/bwa/package.py
new file mode 100644
index 0000000000..bb6763629b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bwa/package.py
@@ -0,0 +1,52 @@
+##############################################################################
+# 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 Bwa(Package):
+ """Burrow-Wheeler Aligner for pairwise alignment between DNA sequences."""
+
+ homepage = "http://github.com/lh3/bwa"
+ url = "https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2"
+
+ version('0.7.15', 'fcf470a46a1dbe2f96a1c5b87c530554')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ filter_file(r'^INCLUDES=',
+ "INCLUDES=-I%s" % spec['zlib'].prefix.include, 'Makefile')
+ filter_file(r'^LIBS=', "LIBS=-L%s " % spec['zlib'].prefix.lib,
+ 'Makefile')
+ make()
+
+ mkdirp(prefix.bin)
+ install('bwa', join_path(prefix.bin, 'bwa'))
+ set_executable(join_path(prefix.bin, 'bwa'))
+ mkdirp(prefix.doc)
+ install('README.md', prefix.doc)
+ install('NEWS.md', prefix.doc)
+ mkdirp(prefix.man1)
+ install('bwa.1', prefix.man1)
diff --git a/var/spack/repos/builtin/packages/bzip2/package.py b/var/spack/repos/builtin/packages/bzip2/package.py
index 27303293d2..9e5894a6a8 100644
--- a/var/spack/repos/builtin/packages/bzip2/package.py
+++ b/var/spack/repos/builtin/packages/bzip2/package.py
@@ -51,15 +51,23 @@ class Bzip2(Package):
kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
mf = FileFilter('Makefile-libbz2_so')
- mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3), # NOQA ignore=E501
- '$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), **kwargs) # NOQA ignore=E501
+ mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)' # noqa
+ .format(v2, v3),
+ '$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)' # noqa
+ .format(v1, v2, v3, v3),
+ **kwargs)
- mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3), # NOQA ignore=E501
- '$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), **kwargs) # NOQA ignore=E501
- mf.filter('rm -f libbz2.so.{0}'.format(v2),
- 'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
- mf.filter('ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
- 'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), **kwargs) # NOQA ignore=E501
+ mf.filter(
+ '$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3), # noqa
+ '$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'
+ .format(v3), **kwargs)
+ mf.filter(
+ 'rm -f libbz2.so.{0}'.format(v2),
+ 'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
+ mf.filter(
+ 'ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
+ 'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2),
+ **kwargs)
def install(self, spec, prefix):
# Build the dynamic library first
@@ -73,10 +81,12 @@ class Bzip2(Package):
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1, 2, 3))
if 'darwin' in self.spec.architecture:
lib = 'libbz2.dylib'
- lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
+ lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v)
+ for v in (v1, v2, v3))
else:
lib = 'libbz2.so'
- lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3)) # NOQA ignore=E501
+ lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v)
+ for v in (v1, v2, v3))
install(lib3, join_path(prefix.lib, lib3))
with working_dir(prefix.lib):
diff --git a/var/spack/repos/builtin/packages/c-blosc/package.py b/var/spack/repos/builtin/packages/c-blosc/package.py
index 49f9861126..4ebf3811a5 100644
--- a/var/spack/repos/builtin/packages/c-blosc/package.py
+++ b/var/spack/repos/builtin/packages/c-blosc/package.py
@@ -27,6 +27,7 @@ import sys
from spack import *
+
class CBlosc(Package):
"""Blosc, an extremely fast, multi-threaded, meta-compressor library"""
homepage = "http://www.blosc.org"
diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py
index 4a0fc54acc..e5aed5ed65 100644
--- a/var/spack/repos/builtin/packages/caliper/package.py
+++ b/var/spack/repos/builtin/packages/caliper/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Caliper(Package):
"""
Caliper is a generic context annotation system. It gives programmers the
@@ -44,7 +45,7 @@ class Caliper(Package):
depends_on('cmake', type='build')
def install(self, spec, prefix):
- with working_dir('build', create=True):
- cmake('..', *std_cmake_args)
- make()
- make("install")
+ with working_dir('build', create=True):
+ cmake('..', *std_cmake_args)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/callpath/package.py b/var/spack/repos/builtin/packages/callpath/package.py
index 2f171fb9ce..f8227fa49e 100644
--- a/var/spack/repos/builtin/packages/callpath/package.py
+++ b/var/spack/repos/builtin/packages/callpath/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Callpath(Package):
"""Library for representing callpaths consistently in
distributed-memory performance tools."""
diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py
index 8e4f23046b..9c9c035325 100644
--- a/var/spack/repos/builtin/packages/cantera/package.py
+++ b/var/spack/repos/builtin/packages/cantera/package.py
@@ -35,11 +35,16 @@ class Cantera(Package):
version('2.2.1', '9d1919bdef39ddec54485fc8a741a3aa')
- variant('lapack', default=True, description='Build with external BLAS/LAPACK libraries')
- variant('threadsafe', default=True, description='Build threadsafe, requires Boost')
- variant('sundials', default=True, description='Build with external Sundials')
- variant('python', default=False, description='Build the Cantera Python module')
- variant('matlab', default=False, description='Build the Cantera Matlab toolbox')
+ variant('lapack', default=True,
+ description='Build with external BLAS/LAPACK libraries')
+ variant('threadsafe', default=True,
+ description='Build threadsafe, requires Boost')
+ variant('sundials', default=True,
+ description='Build with external Sundials')
+ variant('python', default=False,
+ description='Build the Cantera Python module')
+ variant('matlab', default=False,
+ description='Build the Cantera Matlab toolbox')
# Required dependencies
depends_on('scons', type='build')
diff --git a/var/spack/repos/builtin/packages/cask/package.py b/var/spack/repos/builtin/packages/cask/package.py
new file mode 100644
index 0000000000..67cc48ab2a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cask/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
+##############################################################################
+#
+# Based on Homebrew's formula:
+# https://github.com/Homebrew/homebrew-core/blob/master/Formula/cask.rb
+#
+from spack import *
+from glob import glob
+
+
+class Cask(Package):
+ """Cask is a project management tool for Emacs Lisp to automate the package
+ development cycle; development, dependencies, testing, building,
+ packaging and more."""
+ homepage = "http://cask.readthedocs.io/en/latest/"
+ url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz"
+
+ version('0.7.4', 'c973a7db43bc980dd83759a5864a1260')
+
+ depends_on('emacs', type=nolink)
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install('bin/cask', prefix.bin)
+ install_tree('templates', join_path(prefix, 'templates'))
+ for el_file in glob("*.el"):
+ install(el_file, prefix)
+ for misc_file in ['COPYING', 'cask.png', 'README.md']:
+ install(misc_file, prefix)
+ # disable cask's automatic upgrading feature
+ touch(join_path(prefix, ".no-upgrade"))
diff --git a/var/spack/repos/builtin/packages/cblas/package.py b/var/spack/repos/builtin/packages/cblas/package.py
index 0b85c5842a..0828141307 100644
--- a/var/spack/repos/builtin/packages/cblas/package.py
+++ b/var/spack/repos/builtin/packages/cblas/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class Cblas(Package):
"""The BLAS (Basic Linear Algebra Subprograms) are routines that
@@ -42,11 +42,11 @@ class Cblas(Package):
def patch(self):
mf = FileFilter('Makefile.in')
- mf.filter('^BLLIB =.*', 'BLLIB = %s/libblas.a' % self.spec['blas'].prefix.lib)
+ 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)
@@ -54,6 +54,5 @@ class Cblas(Package):
# Rename the generated lib file to libcblas.a
install('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib)
- install('./include/cblas.h','%s' % prefix.include)
- install('./include/cblas_f77.h','%s' % prefix.include)
-
+ install('./include/cblas.h', '%s' % prefix.include)
+ install('./include/cblas_f77.h', '%s' % prefix.include)
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
index 321d02b556..cbf36c3b61 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -22,7 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-################################################################################
+##########################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it under
@@ -38,20 +38,24 @@
# You should have received a copy of the GNU 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 CbtfArgonavis(Package):
- """CBTF Argo Navis project contains the CUDA collector and supporting
- libraries that was done as a result of a DOE SBIR grant."""
+ """CBTF Argo Navis project contains the CUDA collector and supporting
+ libraries that was done as a result of a DOE SBIR grant.
+
+ """
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
# Mirror access template example
- #url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/cbtf-argonavis-1.6.tar.gz"
- #version('1.6', '0fafa0008478405c2c2319450f174ed4')
+ # url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/cbtf-argonavis-1.6.tar.gz"
+ # version('1.6', '0fafa0008478405c2c2319450f174ed4')
- version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
+ version('1.6', branch='master',
+ git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
depends_on("cmake@3.0.2", type='build')
depends_on("boost@1.50.0:")
@@ -60,17 +64,19 @@ class CbtfArgonavis(Package):
depends_on("cbtf")
depends_on("cbtf-krell")
depends_on("cuda@6.0.37")
- #depends_on("cuda")
+ # depends_on("cuda")
parallel = False
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
+ # Sets build type parameters into cmakeOptions the options that will
+ # enable the cbtf-krell built type settings
- compile_flags="-O2 -g"
+ compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
+ # stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -81,50 +87,54 @@ class CbtfArgonavis(Package):
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
cmakeOptions.remove(word)
BuildTypeOptions.extend([
- '-DCMAKE_VERBOSE_MAKEFILE=ON',
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
+ '-DCMAKE_VERBOSE_MAKEFILE=ON',
+ '-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags
])
cmakeOptions.extend(BuildTypeOptions)
-
def install(self, spec, prefix):
- # Look for package installation information in the cbtf and cbtf-krell prefixes
- cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
-
- with working_dir('CUDA'):
- with working_dir('build', create=True):
-
- cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DCUDA_DIR=%s' % spec['cuda'].prefix,
- '-DCUDA_INSTALL_PATH=%s' % spec['cuda'].prefix,
- '-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix,
- '-DCUPTI_DIR=%s' % join_path(spec['cuda'].prefix + '/extras/CUPTI'),
- '-DCUPTI_ROOT=%s' % join_path(spec['cuda'].prefix + '/extras/CUPTI'),
- '-DPAPI_ROOT=%s' % spec['papi'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DBoost_DIR=%s' % spec['boost'].prefix,
- '-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DBoost_NO_SYSTEM_PATHS=ON'
- ])
-
- # Add in the standard cmake arguments
- cmakeOptions.extend(std_cmake_args)
-
- # Adjust the standard cmake arguments to what we want the build type, etc to be
- self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
-
- # Invoke cmake
- cmake('..', *cmakeOptions)
-
- make("clean")
- make()
- make("install")
+ # Look for package installation information in the cbtf and cbtf-krell
+ # prefixes
+ cmake_prefix_path = join_path(
+ spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
+
+ with working_dir('CUDA'):
+ with working_dir('build', create=True):
+
+ cmakeOptions = []
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DCUDA_DIR=%s' % spec['cuda'].prefix,
+ '-DCUDA_INSTALL_PATH=%s' % spec['cuda'].prefix,
+ '-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix,
+ '-DCUPTI_DIR=%s' % join_path(
+ spec['cuda'].prefix + '/extras/CUPTI'),
+ '-DCUPTI_ROOT=%s' % join_path(
+ spec['cuda'].prefix + '/extras/CUPTI'),
+ '-DPAPI_ROOT=%s' % spec['papi'].prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DBoost_DIR=%s' % spec['boost'].prefix,
+ '-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DBoost_NO_SYSTEM_PATHS=ON'])
+
+ # Add in the standard cmake arguments
+ cmakeOptions.extend(std_cmake_args)
+
+ # Adjust the standard cmake arguments to what we want the build
+ # type, etc to be
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ # Invoke cmake
+ cmake('..', *cmakeOptions)
+
+ make("clean")
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
index acb78a7395..6f15c3f835 100644
--- a/var/spack/repos/builtin/packages/cbtf-krell/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -22,7 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-################################################################################
+##########################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it under
@@ -38,30 +38,40 @@
# You should have received a copy of the GNU 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 CbtfKrell(Package):
- """CBTF Krell project contains the Krell Institute contributions to the CBTF project.
- These contributions include many performance data collectors and support
- libraries as well as some example tools that drive the data collection at
- HPC levels of scale."""
+ """CBTF Krell project contains the Krell Institute contributions to the
+ CBTF project. These contributions include many performance data
+ collectors and support libraries as well as some example tools
+ that drive the data collection at HPC levels of scale.
+
+ """
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
# optional mirror access template
- #url = "file:/home/jeg/cbtf-krell-1.6.tar.gz"
- #version('1.6', 'edeb61cd488f16e7b124f77db9ce762d')
+ # url = "file:/home/jeg/cbtf-krell-1.6.tar.gz"
+ # version('1.6', 'edeb61cd488f16e7b124f77db9ce762d')
- version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-krell.git')
+ version('1.6', branch='master',
+ git='https://github.com/OpenSpeedShop/cbtf-krell.git')
# MPI variants
- variant('openmpi', default=False, description="Build mpi experiment collector for openmpi MPI when this variant is enabled.")
- variant('mpt', default=False, description="Build mpi experiment collector for SGI MPT MPI when this variant is enabled.")
- variant('mvapich2', default=False, description="Build mpi experiment collector for mvapich2 MPI when this variant is enabled.")
- variant('mvapich', default=False, description="Build mpi experiment collector for mvapich MPI when this variant is enabled.")
- variant('mpich2', default=False, description="Build mpi experiment collector for mpich2 MPI when this variant is enabled.")
- variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
+ variant('openmpi', default=False,
+ description="Build mpi experiment collector for openmpi MPI..")
+ variant('mpt', default=False,
+ description="Build mpi experiment collector for SGI MPT MPI.")
+ variant('mvapich2', default=False,
+ description="Build mpi experiment collector for mvapich2 MPI.")
+ variant('mvapich', default=False,
+ description="Build mpi experiment collector for mvapich MPI.")
+ variant('mpich2', default=False,
+ description="Build mpi experiment collector for mpich2 MPI.")
+ variant('mpich', default=False,
+ description="Build mpi experiment collector for mpich MPI.")
# Dependencies for cbtf-krell
depends_on("cmake@3.0.2", type='build')
@@ -83,7 +93,8 @@ class CbtfKrell(Package):
depends_on("papi")
# MPI Installations
- # These have not worked either for build or execution, commenting out for now
+ # These have not worked either for build or execution, commenting out for
+ # now
depends_on("openmpi", when='+openmpi')
depends_on("mpich", when='+mpich')
depends_on("mpich2", when='+mpich2')
@@ -94,11 +105,13 @@ class CbtfKrell(Package):
parallel = False
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
-
- compile_flags="-O2 -g"
+ # Sets build type parameters into cmakeOptions the options that will
+ # enable the cbtf-krell built type settings
+
+ compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
+ # stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -109,75 +122,76 @@ class CbtfKrell(Package):
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
cmakeOptions.remove(word)
BuildTypeOptions.extend([
- '-DCMAKE_VERBOSE_MAKEFILE=ON',
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
+ '-DCMAKE_VERBOSE_MAKEFILE=ON',
+ '-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags
])
cmakeOptions.extend(BuildTypeOptions)
-
-
def set_mpi_cmakeOptions(self, spec, cmakeOptions):
- # Appends to cmakeOptions the options that will enable the appropriate MPI implementations
-
+ # Appends to cmakeOptions the options that will enable the appropriate
+ # MPI implementations
+
MPIOptions = []
# openmpi
if '+openmpi' in spec:
MPIOptions.extend([
- '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
+ '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
])
# mpich
if '+mpich' in spec:
MPIOptions.extend([
- '-DMPICH_DIR=%s' % spec['mpich'].prefix
+ '-DMPICH_DIR=%s' % spec['mpich'].prefix
])
# mpich2
if '+mpich2' in spec:
MPIOptions.extend([
- '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
+ '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
])
# mvapich
if '+mvapich' in spec:
MPIOptions.extend([
- '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
+ '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
])
# mvapich2
if '+mvapich2' in spec:
MPIOptions.extend([
- '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
+ '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
])
# mpt
if '+mpt' in spec:
MPIOptions.extend([
- '-DMPT_DIR=%s' % spec['mpt'].prefix
+ '-DMPT_DIR=%s' % spec['mpt'].prefix
])
cmakeOptions.extend(MPIOptions)
def install(self, spec, prefix):
- # Add in paths for finding package config files that tell us where to find these packages
- #cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
- #'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path
+ # Add in paths for finding package config files that tell us
+ # where to find these packages
+ # cmake_prefix_path = \
+ # join_path(spec['cbtf'].prefix) + ':' + \
+ # join_path(spec['dyninst'].prefix)
+ # '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path
- # Build cbtf-krell with cmake
+ # Build cbtf-krell with cmake
with working_dir('build_cbtf_krell', create=True):
cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix,
- '-DBOOST_DIR=%s' % spec['boost'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix
- ])
-
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ '-DBOOST_DIR=%s' % spec['boost'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix])
# Add any MPI implementations coming from variant settings
self.set_mpi_cmakeOptions(spec, cmakeOptions)
@@ -185,9 +199,10 @@ class CbtfKrell(Package):
# Add in the standard cmake arguments
cmakeOptions.extend(std_cmake_args)
- # Adjust the standard cmake arguments to what we want the build type, etc to be
+ # Adjust the standard cmake arguments to what we want the build
+ # type, etc to be
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
-
+
# Invoke cmake
cmake('..', *cmakeOptions)
@@ -195,56 +210,54 @@ class CbtfKrell(Package):
make()
make("install")
-
-
- #if '+cray' in spec:
- #if 'cray' in self.spec.architecture:
+ # if '+cray' in spec:
+ # if 'cray' in self.spec.architecture:
# if '+runtime' in spec:
# with working_dir('build_cbtf_cray_runtime', create=True):
# python_vers='%d.%d' % spec['python'].version[:2]
# cmake .. \
- # -DCMAKE_BUILD_TYPE=Debug \
- # -DTARGET_OS="cray" \
- # -DRUNTIME_ONLY="true" \
- # -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
- # -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
- # -DCBTF_DIR=${CBTF_ROOT} \
- # -DBOOST_ROOT=${BOOST_INSTALL_PREFIX} \
- # -DXERCESC_DIR=${XERCESC_INSTALL_PREFIX} \
- # -DBINUTILS_DIR=${KRELL_ROOT} \
- # -DLIBMONITOR_DIR=${KRELL_ROOT_COMPUTE} \
- # -DLIBUNWIND_DIR=${KRELL_ROOT_COMPUTE} \
- # -DPAPI_DIR=${PAPI_ROOT} \
- # -DDYNINST_DIR=${DYNINST_CN_ROOT} \
- # -DMRNET_DIR=${MRNET_INSTALL_PREFIX} \
- # -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
+ # -DCMAKE_BUILD_TYPE=Debug \
+ # -DTARGET_OS="cray" \
+ # -DRUNTIME_ONLY="true" \
+ # -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
+ # -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
+ # -DCBTF_DIR=${CBTF_ROOT} \
+ # -DBOOST_ROOT=${BOOST_INSTALL_PREFIX} \
+ # -DXERCESC_DIR=${XERCESC_INSTALL_PREFIX} \
+ # -DBINUTILS_DIR=${KRELL_ROOT} \
+ # -DLIBMONITOR_DIR=${KRELL_ROOT_COMPUTE} \
+ # -DLIBUNWIND_DIR=${KRELL_ROOT_COMPUTE} \
+ # -DPAPI_DIR=${PAPI_ROOT} \
+ # -DDYNINST_DIR=${DYNINST_CN_ROOT} \
+ # -DMRNET_DIR=${MRNET_INSTALL_PREFIX} \
+ # -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
# else:
# with working_dir('build_cbtf_cray_frontend', create=True):
# python_vers='%d.%d' % spec['python'].version[:2]
# cmake .. \
- # -DCMAKE_BUILD_TYPE=Debug \
- # -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
- # -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
- # -DCBTF_DIR=${CBTF_ROOT} \
- # -DRUNTIME_TARGET_OS="cray" \
- # -DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_RUNTIME_ROOT} \
- # -DCBTF_CN_RUNTIME_DIR=${CBTF_CN_RUNTIME_ROOT} \
- # -DLIBMONITOR_CN_RUNTIME_DIR=${LIBMONITOR_CN_ROOT} \
- # -DLIBUNWIND_CN_RUNTIME_DIR=${LIBUNWIND_CN_ROOT} \
- # -DPAPI_CN_RUNTIME_DIR=${PAPI_CN_ROOT} \
- # -DXERCESC_CN_RUNTIME_DIR=/${XERCESC_CN_ROOT} \
- # -DMRNET_CN_RUNTIME_DIR=${MRNET_CN_ROOT} \
- # -DBOOST_CN_RUNTIME_DIR=${BOOST_CN_ROOT} \
- # -DDYNINST_CN_RUNTIME_DIR=${DYNINST_CN_ROOT} \
- # -DBOOST_ROOT=/${KRELL_ROOT} \
- # -DXERCESC_DIR=/${KRELL_ROOT} \
- # -DBINUTILS_DIR=/${KRELL_ROOT} \
- # -DLIBMONITOR_DIR=${KRELL_ROOT} \
- # -DLIBUNWIND_DIR=${KRELL_ROOT} \
- # -DPAPI_DIR=${PAPI_ROOT} \
- # -DDYNINST_DIR=${KRELL_ROOT} \
- # -DMRNET_DIR=${KRELL_ROOT} \
- # -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
+ # -DCMAKE_BUILD_TYPE=Debug \
+ # -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
+ # -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
+ # -DCBTF_DIR=${CBTF_ROOT} \
+ # -DRUNTIME_TARGET_OS="cray" \
+ # -DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_RUNTIME_ROOT} \
+ # -DCBTF_CN_RUNTIME_DIR=${CBTF_CN_RUNTIME_ROOT} \
+ # -DLIBMONITOR_CN_RUNTIME_DIR=${LIBMONITOR_CN_ROOT} \
+ # -DLIBUNWIND_CN_RUNTIME_DIR=${LIBUNWIND_CN_ROOT} \
+ # -DPAPI_CN_RUNTIME_DIR=${PAPI_CN_ROOT} \
+ # -DXERCESC_CN_RUNTIME_DIR=/${XERCESC_CN_ROOT} \
+ # -DMRNET_CN_RUNTIME_DIR=${MRNET_CN_ROOT} \
+ # -DBOOST_CN_RUNTIME_DIR=${BOOST_CN_ROOT} \
+ # -DDYNINST_CN_RUNTIME_DIR=${DYNINST_CN_ROOT} \
+ # -DBOOST_ROOT=/${KRELL_ROOT} \
+ # -DXERCESC_DIR=/${KRELL_ROOT} \
+ # -DBINUTILS_DIR=/${KRELL_ROOT} \
+ # -DLIBMONITOR_DIR=${KRELL_ROOT} \
+ # -DLIBUNWIND_DIR=${KRELL_ROOT} \
+ # -DPAPI_DIR=${PAPI_ROOT} \
+ # -DDYNINST_DIR=${KRELL_ROOT} \
+ # -DMRNET_DIR=${KRELL_ROOT} \
+ # -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
# fi
#
# make("clean")
@@ -264,22 +277,22 @@ class CbtfKrell(Package):
# fi
#
# else:
-# # Build cbtf-krell with cmake
+# # Build cbtf-krell with cmake
# with working_dir('build_cbtf_krell', create=True):
# cmake('..',
# '-DCMAKE_BUILD_TYPE=Debug',
-# '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
-# '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
-# '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
-# '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
-# '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
-# '-DPAPI_DIR=%s' % spec['papi'].prefix,
-# '-DBOOST_DIR=%s' % spec['boost'].prefix,
-# '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
-# '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
-# '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
-# '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
-# '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+# '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+# '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+# '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+# '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+# '-DLIBUNWIND_DIR=%s'% spec['libunwind'].prefix,
+# '-DPAPI_DIR=%s' % spec['papi'].prefix,
+# '-DBOOST_DIR=%s' % spec['boost'].prefix,
+# '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+# '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+# '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+# '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+# '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
# *std_cmake_args)
#
# make("clean")
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
index 5694535fcc..b614a325f9 100644
--- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -22,7 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-################################################################################
+##########################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it under
@@ -38,20 +38,22 @@
# You should have received a copy of the GNU 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 CbtfLanl(Package):
- """CBTF LANL project contains a memory tool and data center type system command monitoring tool."""
+ """CBTF LANL project contains a memory tool and data center type system
+ command monitoring tool."""
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
-
# Mirror access template example
- #url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
- #version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
+ # url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
+ # version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
- version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
+ version('1.6', branch='master',
+ git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
depends_on("cmake@3.0.2", type='build')
# Dependencies for cbtf-krell
@@ -63,11 +65,13 @@ class CbtfLanl(Package):
parallel = False
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
+ # Sets build type parameters into cmakeOptions the options that will
+ # enable the cbtf-krell built type settings
- compile_flags="-O2 -g"
+ compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
+ # stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -78,40 +82,43 @@ class CbtfLanl(Package):
if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
cmakeOptions.remove(word)
BuildTypeOptions.extend([
- '-DCMAKE_VERBOSE_MAKEFILE=ON',
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
+ '-DCMAKE_VERBOSE_MAKEFILE=ON',
+ '-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags
])
cmakeOptions.extend(BuildTypeOptions)
def install(self, spec, prefix):
- # Add in paths for finding package config files that tell us where to find these packages
- cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
-
- with working_dir('build', create=True):
- cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
- ])
-
- # Add in the standard cmake arguments
- cmakeOptions.extend(std_cmake_args)
-
- # Adjust the standard cmake arguments to what we want the build type, etc to be
- self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
-
- # Invoke cmake
- cmake('..', *cmakeOptions)
-
- make("clean")
- make()
- make("install")
-
+ # Add in paths for finding package config files that tell us where to
+ # find these packages
+ cmake_prefix_path = join_path(
+ spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
+
+ with working_dir('build', create=True):
+ cmakeOptions = []
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DCMAKE_MODULE_PATH=%s' % join_path(
+ prefix.share, 'KrellInstitute', 'cmake')])
+
+ # Add in the standard cmake arguments
+ cmakeOptions.extend(std_cmake_args)
+
+ # Adjust the standard cmake arguments to what we want the build
+ # type, etc to be
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ # Invoke cmake
+ cmake('..', *cmakeOptions)
+
+ make("clean")
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
index 017b897f3c..bc3116bf2a 100644
--- a/var/spack/repos/builtin/packages/cbtf/package.py
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -22,7 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-################################################################################
+##########################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it under
@@ -38,24 +38,30 @@
# You should have received a copy of the GNU 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 Cbtf(Package):
- """CBTF project contains the base code for CBTF that supports creating components,
- component networks and the support to connect these components and component
- networks into sequential and distributed network tools."""
+ """CBTF project contains the base code for CBTF that supports creating
+ components, component networks and the support to connect these
+ components and component networks into sequential and distributed
+ network tools.
+
+ """
homepage = "http://sourceforge.net/p/cbtf/wiki/Home"
# Mirror access template example
- #url = "file:/home/jeg/cbtf-1.6.tar.gz"
- #version('1.6', 'c1ef4e5aa4e470dffb042abdba0b9987')
+ # url = "file:/home/jeg/cbtf-1.6.tar.gz"
+ # version('1.6', 'c1ef4e5aa4e470dffb042abdba0b9987')
# Use when the git repository is available
- version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf.git')
+ version('1.6', branch='master',
+ git='https://github.com/OpenSpeedShop/cbtf.git')
- variant('runtime', default=False, description="build only the runtime libraries and collectors.")
+ variant('runtime', default=False,
+ description="build only the runtime libraries and collectors.")
depends_on("cmake@3.0.2", type='build')
depends_on("boost@1.50.0:")
@@ -67,11 +73,13 @@ class Cbtf(Package):
parallel = False
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
-
- compile_flags="-O2 -g"
+ # Sets build type parameters into cmakeOptions the options that will
+ # enable the cbtf-krell built type settings
+
+ compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
+ # stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -80,61 +88,66 @@ class Cbtf(Package):
if word.startswith('-DCMAKE_C_FLAGS'):
cmakeOptions.remove(word)
BuildTypeOptions.extend([
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
+ '-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags
])
cmakeOptions.extend(BuildTypeOptions)
def install(self, spec, prefix):
- with working_dir('build', create=True):
-
- # Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
- # in system paths (or other locations outside of BOOST_ROOT
- # or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
- # Defaults to OFF.
-
- if '+runtime' in spec:
- # Install message tag include file for use in Intel MIC cbtf-krell build
- # FIXME
- cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
- ])
-
- # Add in the standard cmake arguments
- cmakeOptions.extend(std_cmake_args)
-
- # Adjust the standard cmake arguments to what we want the build type, etc to be
- self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
-
- # Invoke cmake
- cmake('..', *cmakeOptions)
-
- else:
- cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake')
- ])
-
- # Add in the standard cmake arguments
- cmakeOptions.extend(std_cmake_args)
-
- # Adjust the standard cmake arguments to what we want the build type, etc to be
- self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
-
- # Invoke cmake
- cmake('..', *cmakeOptions)
-
- make("clean")
- make()
- make("install")
+ with working_dir('build', create=True):
+
+ # Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
+ # in system paths (or other locations outside of BOOST_ROOT
+ # or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
+ # Defaults to OFF.
+
+ if '+runtime' in spec:
+ # Install message tag include file for use in Intel MIC
+ # cbtf-krell build
+ # FIXME
+ cmakeOptions = []
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DCMAKE_MODULE_PATH=%s' % join_path(
+ prefix.share, 'KrellInstitute', 'cmake')])
+
+ # Add in the standard cmake arguments
+ cmakeOptions.extend(std_cmake_args)
+
+ # Adjust the standard cmake arguments to what we want the build
+ # type, etc to be
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ # Invoke cmake
+ cmake('..', *cmakeOptions)
+
+ else:
+ cmakeOptions = []
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DCMAKE_MODULE_PATH=%s' % join_path(
+ prefix.share, 'KrellInstitute', 'cmake')])
+
+ # Add in the standard cmake arguments
+ cmakeOptions.extend(std_cmake_args)
+
+ # Adjust the standard cmake arguments to what we want the build
+ # type, etc to be
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ # Invoke cmake
+ cmake('..', *cmakeOptions)
+
+ make("clean")
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/cereal/package.py b/var/spack/repos/builtin/packages/cereal/package.py
index 41dc9a274b..716e0103d1 100644
--- a/var/spack/repos/builtin/packages/cereal/package.py
+++ b/var/spack/repos/builtin/packages/cereal/package.py
@@ -26,8 +26,16 @@ from spack import *
import os
import shutil
+
class Cereal(Package):
- """cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone."""
+ """cereal is a header-only C++11 serialization library. cereal takes
+ arbitrary data types and reversibly turns them into different
+ representations, such as compact binary encodings, XML, or
+ JSON. cereal was designed to be fast, light-weight, and easy to
+ extend - it has no external dependencies and can be easily bundled
+ with other code or used standalone.
+
+ """
homepage = "http://uscilab.github.io/cereal/"
url = "https://github.com/USCiLab/cereal/archive/v1.1.2.tar.gz"
diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py
index ed49ae5808..c68b3ffc0d 100644
--- a/var/spack/repos/builtin/packages/cfitsio/package.py
+++ b/var/spack/repos/builtin/packages/cfitsio/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cfitsio(Package):
"""
CFITSIO is a library of C and Fortran subroutines for reading and writing
diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py
index 5c87978339..e522b4a5a0 100644
--- a/var/spack/repos/builtin/packages/cgal/package.py
+++ b/var/spack/repos/builtin/packages/cgal/package.py
@@ -27,10 +27,12 @@ from spack import *
class Cgal(Package):
- """
- CGAL is a software project that provides easy access to efficient and reliable geometric algorithms in the form of
- a C++ library. CGAL is used in various areas needing geometric computation, such as geographic information systems,
- computer aided design, molecular biology, medical imaging, computer graphics, and robotics.
+ """CGAL is a software project that provides easy access to efficient and
+ reliable geometric algorithms in the form of a C++ library. CGAL
+ is used in various areas needing geometric computation, such as
+ geographic information systems, computer aided design, molecular
+ biology, medical imaging, computer graphics, and robotics.
+
"""
homepage = 'http://www.cgal.org/'
url = 'https://github.com/CGAL/cgal/archive/releases/CGAL-4.7.tar.gz'
@@ -38,9 +40,12 @@ class Cgal(Package):
version('4.7', '4826714810f3b4c65cac96b90fb03b67')
version('4.6.3', 'e8ee2ecc8d2b09b94a121c09257b576d')
- # Installation instructions : http://doc.cgal.org/latest/Manual/installation.html
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ # Installation instructions :
+ # http://doc.cgal.org/latest/Manual/installation.html
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
depends_on('boost')
depends_on('mpfr')
@@ -55,7 +60,8 @@ class Cgal(Package):
options = []
options.extend(std_cmake_args)
- # CGAL supports only Release and Debug build type. Any other build type will raise an error at configure time
+ # CGAL supports only Release and Debug build type. Any other build type
+ # will raise an error at configure time
if '+debug' in spec:
options.append('-DCMAKE_BUILD_TYPE:STRING=Debug')
else:
diff --git a/var/spack/repos/builtin/packages/cgm/package.py b/var/spack/repos/builtin/packages/cgm/package.py
index c5da72d25a..5a998d471c 100644
--- a/var/spack/repos/builtin/packages/cgm/package.py
+++ b/var/spack/repos/builtin/packages/cgm/package.py
@@ -24,6 +24,7 @@
##############################################################################
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
@@ -33,7 +34,7 @@ class Cgm(Package):
version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f')
version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028')
- version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed')
+ version('13.1', '95f724bda04919fc76818a5b7bc0b4ed')
depends_on("mpi")
@@ -42,7 +43,6 @@ class Cgm(Package):
'//\1',
'geom/parallel/CGMReadParallel.cpp')
-
def install(self, spec, prefix):
configure("--with-mpi",
"--prefix=%s" % prefix,
diff --git a/var/spack/repos/builtin/packages/cityhash/package.py b/var/spack/repos/builtin/packages/cityhash/package.py
index caa15780e3..d6d7f51558 100644
--- a/var/spack/repos/builtin/packages/cityhash/package.py
+++ b/var/spack/repos/builtin/packages/cityhash/package.py
@@ -25,16 +25,18 @@
from spack import *
from spack.util.environment import *
+
class Cityhash(Package):
homepage = "https://github.com/google/cityhash"
url = "https://github.com/google/cityhash"
- version('2013-07-31', git='https://github.com/google/cityhash.git', commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
- version('master', branch='master', git='https://github.com/google/cityhash.git')
+ version('2013-07-31', git='https://github.com/google/cityhash.git',
+ commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
+ version('master', branch='master',
+ git='https://github.com/google/cityhash.git')
def install(self, spec, prefix):
configure('--enable-sse4.2', '--prefix=%s' % prefix)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py
index c258e89514..61e6dca433 100644
--- a/var/spack/repos/builtin/packages/cleverleaf/package.py
+++ b/var/spack/repos/builtin/packages/cleverleaf/package.py
@@ -24,18 +24,21 @@
##############################################################################
from spack import *
+
class Cleverleaf(Package):
- """
- CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with Adaptive
- Mesh Refinement using the SAMRAI toolkit from Lawrence Livermore National
- Laboratory. The primary goal of CleverLeaf is to evaluate the application of
- AMR to the Lagrangian-Eulerian hydrodynamics scheme used by CloverLeaf.
+ """CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with
+ Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
+ Livermore National Laboratory. The primary goal of CleverLeaf is
+ to evaluate the application of AMR to the Lagrangian-Eulerian
+ hydrodynamics scheme used by CloverLeaf.
+
"""
homepage = "http://uk-mac.github.io/CleverLeaf/"
url = "https://github.com/UK-MAC/CleverLeaf/tarball/master"
- version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git', branch='develop')
+ version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git',
+ branch='develop')
depends_on("SAMRAI@3.8.0:")
depends_on("hdf5+mpi")
diff --git a/var/spack/repos/builtin/packages/cloog/package.py b/var/spack/repos/builtin/packages/cloog/package.py
index db3d2ac928..a979ae83fc 100644
--- a/var/spack/repos/builtin/packages/cloog/package.py
+++ b/var/spack/repos/builtin/packages/cloog/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cloog(Package):
"""CLooG is a free software and library to generate code for
scanning Z-polyhedra. That is, it finds a code (e.g. in C,
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index bfb8764feb..90a7c20d19 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cmake(Package):
"""A cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software."""
@@ -40,10 +41,13 @@ 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('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 documentation')
+ variant('doc', default=False,
+ description='Enables the generation of html and man page docs')
depends_on('ncurses', when='+ncurses')
depends_on('openssl', when='+openssl')
@@ -53,7 +57,8 @@ class Cmake(Package):
def url_for_version(self, version):
"""Handle CMake's version-based custom URLs."""
- return 'https://cmake.org/files/v%s/cmake-%s.tar.gz' % (version.up_to(2), version)
+ return 'https://cmake.org/files/v%s/cmake-%s.tar.gz' % (
+ version.up_to(2), version)
def validate(self, spec):
"""
diff --git a/var/spack/repos/builtin/packages/cmocka/package.py b/var/spack/repos/builtin/packages/cmocka/package.py
index aa2b3cc3bb..274b78379a 100644
--- a/var/spack/repos/builtin/packages/cmocka/package.py
+++ b/var/spack/repos/builtin/packages/cmocka/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cmocka(Package):
"""Unit-testing framework in pure C"""
homepage = "https://cmocka.org/"
@@ -36,7 +37,7 @@ class Cmocka(Package):
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
- cmake('..', *std_cmake_args)
+ cmake('..', *std_cmake_args)
- make()
- make("install")
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/cnmem/package.py b/var/spack/repos/builtin/packages/cnmem/package.py
index f4c05f5b5f..0c62023952 100644
--- a/var/spack/repos/builtin/packages/cnmem/package.py
+++ b/var/spack/repos/builtin/packages/cnmem/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cnmem(Package):
"""CNMem mempool for CUDA devices"""
homepage = "https://github.com/NVIDIA/cnmem"
@@ -31,6 +32,6 @@ class Cnmem(Package):
version('git', git='https://github.com/NVIDIA/cnmem.git', branch="master")
def install(self, spec, prefix):
- cmake('.',*std_cmake_args)
- make()
- make('install')
+ cmake('.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/coreutils/package.py b/var/spack/repos/builtin/packages/coreutils/package.py
index cb8f596b41..94cfa11341 100644
--- a/var/spack/repos/builtin/packages/coreutils/package.py
+++ b/var/spack/repos/builtin/packages/coreutils/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Coreutils(Package):
"""The GNU Core Utilities are the basic file, shell and text
manipulation utilities of the GNU operating system. These are
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py
new file mode 100644
index 0000000000..5f59286323
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cp2k/package.py
@@ -0,0 +1,178 @@
+##############################################################################
+# 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
+##############################################################################
+import os
+import shutil
+import copy
+
+from spack import *
+
+
+class Cp2k(Package):
+ """CP2K is a quantum chemistry and solid state physics software package
+ that can perform atomistic simulations of solid state, liquid, molecular,
+ periodic, material, crystal, and biological systems
+ """
+ homepage = 'https://www.cp2k.org'
+ url = 'https://sourceforge.net/projects/cp2k/files/cp2k-3.0.tar.bz2'
+
+ version('3.0', 'c05bc47335f68597a310b1ed75601d35')
+
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('plumed', default=False, description='Enable PLUMED support')
+
+ depends_on('python') # Build dependency
+
+ depends_on('lapack')
+ depends_on('blas')
+ depends_on('fftw')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('scalapack', when='+mpi')
+ depends_on('plumed+shared+mpi', when='+plumed+mpi')
+ depends_on('plumed+shared~mpi', when='+plumed~mpi')
+
+ # TODO : add dependency on libint
+ # TODO : add dependency on libsmm, libxsmm
+ # TODO : add dependency on elpa
+ # TODO : add dependency on CUDA
+ # TODO : add dependency on PEXSI
+ # TODO : add dependency on QUIP
+ # TODO : add dependency on libwannier90
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ # Construct a proper filename for the architecture file
+ cp2k_architecture = '{0.architecture}-{0.compiler.name}'.format(spec)
+ cp2k_version = 'sopt' if '~mpi' in spec else 'popt'
+ makefile_basename = '.'.join([cp2k_architecture, cp2k_version])
+ makefile = join_path('arch', makefile_basename)
+
+ # Write the custom makefile
+ with open(makefile, 'w') as mkf:
+ # Optimization flags
+ optflags = {
+ 'gcc': ['-O2',
+ '-ffast-math',
+ '-ffree-form',
+ '-ffree-line-length-none',
+ '-ftree-vectorize',
+ '-funroll-loops',
+ '-mtune=native'],
+ 'intel': ['-O2',
+ '-pc64',
+ '-unroll',
+ '-heap-arrays 64']
+ }
+ cppflags = [
+ '-D__FFTW3',
+ '-I' + spec['fftw'].prefix.include
+ ]
+ fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
+ fcflags.extend([
+ '-I' + spec['fftw'].prefix.include
+ ])
+ ldflags = ['-L' + spec['fftw'].prefix.lib]
+ libs = []
+ if '+plumed' in self.spec:
+ # Include Plumed.inc in the Makefile
+ mkf.write('include {0}\n'.format(
+ join_path(self.spec['plumed'].prefix.lib,
+ 'plumed',
+ 'src',
+ 'lib',
+ 'Plumed.inc')
+ ))
+ # Add required macro
+ cppflags.extend(['-D__PLUMED2'])
+ libs.extend([
+ join_path(self.spec['plumed'].prefix.lib, 'libplumed.so')
+ ])
+
+ mkf.write('CC = {0.compiler.cc}\n'.format(self))
+ if '%intel' in self.spec:
+ # CPP is a commented command in Intel arch of CP2K
+ # This is the hack through which cp2k developers avoid doing :
+ #
+ # ${CPP} <file>.F > <file>.f90
+ #
+ # and use `-fpp` instead
+ mkf.write('CPP = # {0.compiler.cc} -P\n'.format(self))
+ mkf.write('AR = xiar -r\n')
+ else:
+ mkf.write('CPP = {0.compiler.cc} -E\n'.format(self))
+ mkf.write('AR = ar -r\n')
+ fc = self.compiler.fc if '~mpi' in spec else self.spec['mpi'].mpifc
+ mkf.write('FC = {0}\n'.format(fc))
+ mkf.write('LD = {0}\n'.format(fc))
+ # Intel
+ if '%intel' in self.spec:
+ cppflags.extend([
+ '-D__INTEL_COMPILER',
+ '-D__MKL'
+ ])
+ fcflags.extend([
+ '-diag-disable 8290,8291,10010,10212,11060',
+ '-free',
+ '-fpp'
+ ])
+ # MPI
+ if '+mpi' in self.spec:
+ cppflags.extend([
+ '-D__parallel',
+ '-D__SCALAPACK'
+ ])
+ ldflags.extend([
+ '-L' + spec['scalapack'].prefix.lib
+ ])
+ libs.extend(spec['scalapack'].scalapack_shared_libs)
+
+ # LAPACK / BLAS
+ ldflags.extend([
+ '-L' + spec['lapack'].prefix.lib,
+ '-L' + spec['blas'].prefix.lib
+ ])
+ libs.extend([
+ join_path(spec['fftw'].prefix.lib, 'libfftw3.so'),
+ spec['lapack'].lapack_shared_lib,
+ spec['blas'].blas_shared_lib
+ ])
+
+ # Write compiler flags to file
+ mkf.write('CPPFLAGS = {0}\n'.format(' '.join(cppflags)))
+ mkf.write('FCFLAGS = {0}\n'.format(' '.join(fcflags)))
+ mkf.write('LDFLAGS = {0}\n'.format(' '.join(ldflags)))
+ mkf.write('LIBS = {0}\n'.format(' '.join(libs)))
+
+ with working_dir('makefiles'):
+ # Apparently the Makefile bases its paths on PWD
+ # so we need to set PWD = os.getcwd()
+ pwd_backup = env['PWD']
+ env['PWD'] = os.getcwd()
+ make('ARCH={0}'.format(cp2k_architecture),
+ 'VERSION={0}'.format(cp2k_version))
+ env['PWD'] = pwd_backup
+ exe_dir = join_path('exe', cp2k_architecture)
+ shutil.copytree(exe_dir, self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cppcheck/package.py b/var/spack/repos/builtin/packages/cppcheck/package.py
index 16f052ef2f..fd48fcb7e3 100644
--- a/var/spack/repos/builtin/packages/cppcheck/package.py
+++ b/var/spack/repos/builtin/packages/cppcheck/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cppcheck(Package):
"""A tool for static C/C++ code analysis."""
homepage = "http://cppcheck.sourceforge.net/"
diff --git a/var/spack/repos/builtin/packages/cram/package.py b/var/spack/repos/builtin/packages/cram/package.py
index 283bc5adea..bef26cdcbd 100644
--- a/var/spack/repos/builtin/packages/cram/package.py
+++ b/var/spack/repos/builtin/packages/cram/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cram(Package):
"""Cram runs many small MPI jobs inside one large MPI job."""
homepage = "https://github.com/llnl/cram"
diff --git a/var/spack/repos/builtin/packages/cryptopp/package.py b/var/spack/repos/builtin/packages/cryptopp/package.py
index 77895a7331..e9294a14a6 100644
--- a/var/spack/repos/builtin/packages/cryptopp/package.py
+++ b/var/spack/repos/builtin/packages/cryptopp/package.py
@@ -25,12 +25,15 @@
import glob
from spack import *
+
class Cryptopp(Package):
"""Crypto++ is an open-source C++ library of cryptographic schemes. The
- library supports a number of different cryptography algorithms, including
- authenticated encryption schemes (GCM, CCM), hash functions (SHA-1, SHA2),
- public-key encryption (RSA, DSA), and a few obsolete/historical encryption
- algorithms (MD5, Panama)."""
+ library supports a number of different cryptography algorithms,
+ including authenticated encryption schemes (GCM, CCM), hash
+ functions (SHA-1, SHA2), public-key encryption (RSA, DSA), and a
+ few obsolete/historical encryption algorithms (MD5, Panama).
+
+ """
homepage = "http://www.cryptopp.com"
base_url = "http://www.cryptopp.com"
diff --git a/var/spack/repos/builtin/packages/cscope/package.py b/var/spack/repos/builtin/packages/cscope/package.py
index 88d522f486..f21226cce1 100644
--- a/var/spack/repos/builtin/packages/cscope/package.py
+++ b/var/spack/repos/builtin/packages/cscope/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Cscope(Package):
"""Cscope is a developer's tool for browsing source code."""
homepage = "http://http://cscope.sourceforge.net/"
diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py
index 40c2cc6893..09237f87c3 100644
--- a/var/spack/repos/builtin/packages/cube/package.py
+++ b/var/spack/repos/builtin/packages/cube/package.py
@@ -28,8 +28,8 @@ from spack import *
class Cube(Package):
"""
- Cube the profile viewer for Score-P and Scalasca profiles. It displays a multi-dimensional performance space
- consisting of the dimensions:
+ 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
- system resource
@@ -38,14 +38,17 @@ class Cube(Package):
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
+ version('4.3.4', '50f73060f55311cb12c5b3cb354d59fa',
+ url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.4.tar.gz')
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909',
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.3.tar.gz')
-
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20',
url="http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz")
# TODO : add variant that builds GUI on top of Qt
+ depends_on('zlib')
+
def install(self, spec, prefix):
configure_args = ["--prefix=%s" % prefix,
"--without-paraver",
diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py
index 96694670ad..558535bec6 100644
--- a/var/spack/repos/builtin/packages/cuda/package.py
+++ b/var/spack/repos/builtin/packages/cuda/package.py
@@ -26,22 +26,27 @@ from spack import *
from glob import glob
import os
+
class Cuda(Package):
- """CUDA is a parallel computing platform and programming model invented by
- NVIDIA. It enables dramatic increases in computing performance by harnessing
- the power of the graphics processing unit (GPU).
+ """CUDA is a parallel computing platform and programming model invented
+ by NVIDIA. It enables dramatic increases in computing performance by
+ harnessing the power of the graphics processing unit (GPU).
+
+ Note: NVIDIA does not provide a download URL for CUDA so you will
+ need to download it yourself. Go to
+ https://developer.nvidia.com/cuda-downloads and select your Operating
+ System, Architecture, Distribution, and Version. For the Installer
+ Type, select runfile and click Download. Spack will search your
+ current directory for this file. Alternatively, add this file to a
+ mirror so that Spack can find it. For instructions on how to set up a
+ mirror, see http://software.llnl.gov/spack/mirrors.html
- Note: NVIDIA does not provide a download URL for CUDA so you will need to
- download it yourself. Go to https://developer.nvidia.com/cuda-downloads
- and select your Operating System, Architecture, Distribution, and Version.
- For the Installer Type, select runfile and click Download. Spack will search
- your current directory for this file. Alternatively, add this file to a
- mirror so that Spack can find it. For instructions on how to set up a mirror,
- see http://software.llnl.gov/spack/mirrors.html
+ Note: This package does not currently install the drivers necessary
+ to run CUDA. These will need to be installed manually. See:
+ http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux for
+ details.
- Note: This package does not currently install the drivers necessary to run
- CUDA. These will need to be installed manually. See:
- http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux for details."""
+ """
homepage = "http://www.nvidia.com/object/cuda_home_new.html"
@@ -50,15 +55,15 @@ class Cuda(Package):
version('6.5.14', '90b1b8f77313600cc294d9271741f4da', expand=False,
url="file://%s/cuda_6.5.14_linux_64.run" % os.getcwd())
-
def install(self, spec, prefix):
runfile = glob(os.path.join(self.stage.path, 'cuda*.run'))[0]
chmod = which('chmod')
chmod('+x', runfile)
runfile = which(runfile)
- # Note: NVIDIA does not officially support many newer versions of compilers.
- # For example, on CentOS 6, you must use GCC 4.4.7 or older. See:
+ # Note: NVIDIA does not officially support many newer versions of
+ # compilers. For example, on CentOS 6, you must use GCC 4.4.7 or
+ # older. See:
# http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#system-requirements
# for details.
@@ -68,4 +73,3 @@ class Cuda(Package):
'--toolkit', # install CUDA Toolkit
'--toolkitpath=%s' % prefix
)
-
diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py
index a251a94470..ef6374619b 100644
--- a/var/spack/repos/builtin/packages/czmq/package.py
+++ b/var/spack/repos/builtin/packages/czmq/package.py
@@ -25,12 +25,14 @@
from spack import *
import os
+
class Czmq(Package):
""" A C interface to the ZMQ library """
homepage = "http://czmq.zeromq.org"
url = "https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz"
- version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
+ version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1',
+ url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
depends_on('libtool', type='build')
depends_on('automake', type='build')
@@ -39,19 +41,21 @@ class Czmq(Package):
depends_on('zeromq')
def install(self, spec, prefix):
- bash = which("bash")
# Work around autogen.sh oddities
+ # bash = which("bash")
# bash("./autogen.sh")
mkdirp("config")
autoreconf = which("autoreconf")
autoreconf("--install", "--verbose", "--force",
- "-I", "config",
- "-I", os.path.join(spec['pkg-config'].prefix, "share", "aclocal"),
- "-I", os.path.join(spec['automake'].prefix, "share", "aclocal"),
- "-I", os.path.join(spec['libtool'].prefix, "share", "aclocal"),
- )
+ "-I", "config",
+ "-I", os.path.join(spec['pkg-config'].prefix,
+ "share", "aclocal"),
+ "-I", os.path.join(spec['automake'].prefix,
+ "share", "aclocal"),
+ "-I", os.path.join(spec['libtool'].prefix,
+ "share", "aclocal"),
+ )
configure("--prefix=%s" % prefix)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/dakota/package.py b/var/spack/repos/builtin/packages/dakota/package.py
index d0d22d9728..e8f7d0889b 100644
--- a/var/spack/repos/builtin/packages/dakota/package.py
+++ b/var/spack/repos/builtin/packages/dakota/package.py
@@ -26,17 +26,22 @@ from spack import *
class Dakota(Package):
- """
- The Dakota toolkit provides a flexible, extensible interface between analysis codes and iterative systems
- analysis methods. Dakota contains algorithms for:
+ """The Dakota toolkit provides a flexible, extensible interface between
+ analysis codes and iterative systems analysis methods. Dakota
+ contains algorithms for:
- optimization with gradient and non gradient-based methods;
- - uncertainty quantification with sampling, reliability, stochastic expansion, and epistemic methods;
+ - uncertainty quantification with sampling, reliability, stochastic
+ - expansion, and epistemic methods;
- parameter estimation with nonlinear least squares methods;
- - sensitivity/variance analysis with design of experiments and parameter study methods.
+ - sensitivity/variance analysis with design of experiments and
+ - parameter study methods.
+
+ These capabilities may be used on their own or as components within
+ advanced strategies such as hybrid optimization, surrogate-based
+ optimization, mixed integer nonlinear programming, or optimization
+ under uncertainty.
- These capabilities may be used on their own or as components within advanced strategies such as hybrid optimization,
- surrogate-based optimization, mixed integer nonlinear programming, or optimization under uncertainty.
"""
homepage = 'https://dakota.sandia.gov/'
@@ -45,8 +50,10 @@ class Dakota(Package):
version('6.3', '05a58d209fae604af234c894c3f73f6d')
- variant('debug', default=False, description='Builds a debug version of the libraries')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
variant('mpi', default=True, description='Activates MPI support')
depends_on('blas')
@@ -64,12 +71,17 @@ class Dakota(Package):
options = []
options.extend(std_cmake_args)
- options.extend(['-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if '+shared' in spec else 'OFF')])
+ options.extend([
+ '-DCMAKE_BUILD_TYPE:STRING=%s' % (
+ 'Debug' if '+debug' in spec else 'Release'),
+ '-DBUILD_SHARED_LIBS:BOOL=%s' % (
+ 'ON' if '+shared' in spec else 'OFF')])
if '+mpi' in spec:
- options.extend(['-DDAKOTA_HAVE_MPI:BOOL=ON',
- '-DMPI_CXX_COMPILER:STRING=%s' % join_path(spec['mpi'].prefix.bin, 'mpicxx')])
+ options.extend([
+ '-DDAKOTA_HAVE_MPI:BOOL=ON',
+ '-DMPI_CXX_COMPILER:STRING=%s' % join_path(
+ spec['mpi'].prefix.bin, 'mpicxx')])
build_directory = join_path(self.stage.path, 'spack-build')
source_directory = self.stage.source_path
diff --git a/var/spack/repos/builtin/packages/damselfly/package.py b/var/spack/repos/builtin/packages/damselfly/package.py
index 427997072c..a37728c92b 100644
--- a/var/spack/repos/builtin/packages/damselfly/package.py
+++ b/var/spack/repos/builtin/packages/damselfly/package.py
@@ -24,17 +24,19 @@
##############################################################################
from spack import *
+
class Damselfly(Package):
"""Damselfly is a model-based parallel network simulator."""
homepage = "https://github.com/llnl/damselfly"
url = "https://github.com/llnl/damselfly"
- version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/llnl/damselfly.git', tag='v1.0')
+ version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895',
+ git='https://github.com/llnl/damselfly.git', tag='v1.0')
depends_on('cmake', type='build')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
- cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
- make()
- make('install')
+ cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/datamash/package.py b/var/spack/repos/builtin/packages/datamash/package.py
new file mode 100644
index 0000000000..ef30c50ebe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/datamash/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 Datamash(Package):
+ """
+ GNU datamash is a command-line program which performs basic numeric,
+ textual and statistical operations on input textual data files.
+ """
+
+ homepage = "https://www.gnu.org/software/datamash/"
+ url = "http://ftp.gnu.org/gnu/datamash/datamash-1.0.5.tar.gz"
+
+ version('1.1.0', '79a6affca08107a095e97e4237fc8775')
+ version('1.0.7', '9f317bab07454032ba9c068e7f17b04b')
+ version('1.0.6', 'ff26fdef0f343cb695cf1853e14a1a5b')
+ version('1.0.5', '9a29549dc7feca49fdc5fab696614e11')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py
index 130ba2ea1f..fdca68f53f 100644
--- a/var/spack/repos/builtin/packages/dbus/package.py
+++ b/var/spack/repos/builtin/packages/dbus/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Dbus(Package):
"""D-Bus is a message bus system, a simple way for applications to
talk to one another. D-Bus supplies both a system daemon (for
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 54604d351f..939d8fc013 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -40,25 +40,48 @@ class Dealii(Package):
version('develop', git='https://github.com/dealii/dealii.git')
variant('mpi', default=True, description='Compile with MPI')
- variant('arpack', default=True, description='Compile with Arpack and PArpack (only with MPI)')
- variant('doc', default=False, description='Compile with documentation')
+ variant('arpack', default=True,
+ description='Compile with Arpack and PArpack (only with MPI)')
+ variant('doc', default=False,
+ description='Compile with documentation')
variant('gsl', default=True, description='Compile with GSL')
- variant('hdf5', default=True, description='Compile with HDF5 (only with MPI)')
+ variant('hdf5', default=True,
+ description='Compile with HDF5 (only with MPI)')
variant('metis', default=True, description='Compile with Metis')
- variant('netcdf', default=True, description='Compile with Netcdf (only with MPI)')
+ variant('netcdf', default=True,
+ description='Compile with Netcdf (only with MPI)')
variant('oce', default=True, description='Compile with OCE')
- variant('p4est', default=True, description='Compile with P4est (only with MPI)')
- variant('petsc', default=True, description='Compile with Petsc (only with MPI)')
- variant('slepc', default=True, description='Compile with Slepc (only with Petsc and MPI)')
- variant('trilinos', default=True, description='Compile with Trilinos (only with MPI)')
+ variant('p4est', default=True,
+ description='Compile with P4est (only with MPI)')
+ variant('petsc', default=True,
+ description='Compile with Petsc (only with MPI)')
+ variant('slepc', default=True,
+ description='Compile with Slepc (only with Petsc and MPI)')
+ variant('trilinos', default=True,
+ description='Compile with Trilinos (only with MPI)')
+ variant('python', default=True,
+ description='Compile with Python bindings')
# required dependencies, light version
depends_on("blas")
# Boost 1.58 is blacklisted, see
# https://github.com/dealii/dealii/issues/1591
# Require at least 1.59
- depends_on("boost@1.59.0:+thread+system+serialization+iostreams", when='~mpi') # NOQA: ignore=E501
- depends_on("boost@1.59.0:+mpi+thread+system+serialization+iostreams", when='+mpi') # NOQA: ignore=E501
+ # +python won't affect @:8.4.1
+ depends_on("boost@1.59.0:+thread+system+serialization+iostreams",
+ when='@:8.4.1~mpi')
+ depends_on("boost@1.59.0:+thread+system+serialization+iostreams+mpi",
+ when='@:8.4.1+mpi')
+ # since @8.5.0: (and @develop) python bindings are introduced:
+ depends_on("boost@1.59.0:+thread+system+serialization+iostreams",
+ when='@8.5.0:~mpi~python')
+ depends_on("boost@1.59.0:+thread+system+serialization+iostreams+mpi",
+ when='@8.5.0:+mpi~python')
+ depends_on("boost@1.59.0:+thread+system+serialization+iostreams+python",
+ when='@8.5.0:~mpi+python')
+ depends_on(
+ "boost@1.59.0:+thread+system+serialization+iostreams+mpi+python",
+ when='@8.5.0:+mpi+python')
depends_on("bzip2")
depends_on("cmake", type='build')
depends_on("lapack")
@@ -120,6 +143,12 @@ class Dealii(Package):
'-DZLIB_DIR=%s' % spec['zlib'].prefix
])
+ if spec.satisfies('@8.5.0:'):
+ options.extend([
+ '-DDEAL_II_COMPONENT_PYTHON_BINDINGS=%s' %
+ ('ON' if '+python' in spec else 'OFF')
+ ])
+
# Set directory structure:
if spec.satisfies('@:8.2.1'):
options.extend(['-DDEAL_II_COMPONENT_COMPAT_FILES=OFF'])
@@ -145,7 +174,8 @@ class Dealii(Package):
# Optional dependencies for which librariy names are the same as CMake
# variables:
- for library in ('gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis'): # NOQA: ignore=E501
+ for library in (
+ 'gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis'):
if library in spec:
options.extend([
'-D%s_DIR=%s' % (library.upper(), spec[library].prefix),
@@ -276,15 +306,20 @@ class Dealii(Package):
print('=== Step-40 Trilinos SuperluDist ====')
print('=====================================')
# change to direct solvers
- filter_file(r'(LA::SolverCG solver\(solver_control\);)', ('TrilinosWrappers::SolverDirect::AdditionalData data(false,"Amesos_Superludist"); TrilinosWrappers::SolverDirect solver(solver_control,data);'), 'step-40.cc') # NOQA: ignore=E501
- filter_file(r'(LA::MPI::PreconditionAMG preconditioner;)',
- (''), 'step-40.cc')
- filter_file(r'(LA::MPI::PreconditionAMG::AdditionalData data;)', # NOQA: ignore=E501
- (''), 'step-40.cc')
- filter_file(r'(preconditioner.initialize\(system_matrix, data\);)', # NOQA: ignore=E501
- (''), 'step-40.cc')
- filter_file(r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc') # NOQA: ignore=E501
- filter_file(r'(preconditioner\);)', (''), 'step-40.cc')
+ filter_file(r'(LA::SolverCG solver\(solver_control\);)', ('TrilinosWrappers::SolverDirect::AdditionalData data(false,"Amesos_Superludist"); TrilinosWrappers::SolverDirect solver(solver_control,data);'), 'step-40.cc') # noqa
+ filter_file(
+ r'(LA::MPI::PreconditionAMG preconditioner;)',
+ (''), 'step-40.cc')
+ filter_file(
+ r'(LA::MPI::PreconditionAMG::AdditionalData data;)',
+ (''), 'step-40.cc')
+ filter_file(
+ r'(preconditioner.initialize\(system_matrix, data\);)',
+ (''), 'step-40.cc')
+ filter_file(
+ r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc') # noqa
+ filter_file(
+ r'(preconditioner\);)', (''), 'step-40.cc')
if '^trilinos+superlu-dist' in spec:
make('release')
make('run', paralle=False)
diff --git a/var/spack/repos/builtin/packages/dia/package.py b/var/spack/repos/builtin/packages/dia/package.py
index 1685f0009f..94cd75656d 100644
--- a/var/spack/repos/builtin/packages/dia/package.py
+++ b/var/spack/repos/builtin/packages/dia/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Dia(Package):
"""Dia is a program for drawing structured diagrams."""
homepage = 'https://wiki.gnome.org/Apps/Dia'
@@ -34,7 +35,7 @@ class Dia(Package):
depends_on('intltool', type='build')
depends_on('gtkplus@2.6.0:')
depends_on('cairo')
- #depends_on('libart') # optional dependency, not yet supported by spack.
+ # depends_on('libart') # optional dependency, not yet supported by spack.
depends_on('libpng')
depends_on('libxslt')
depends_on('python')
diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py
index 267ba61756..f29110ac1d 100644
--- a/var/spack/repos/builtin/packages/doxygen/package.py
+++ b/var/spack/repos/builtin/packages/doxygen/package.py
@@ -24,8 +24,6 @@
##############################################################################
from spack import *
-import sys
-
class Doxygen(Package):
"""Doxygen is the de facto standard tool for generating documentation
@@ -41,7 +39,8 @@ class Doxygen(Package):
version('1.8.10', '79767ccd986f12a0f949015efb5f058f')
# graphviz appears to be a run-time optional dependency
- variant('graphviz', default=True, description='Build with dot command support from Graphviz.') # NOQA: ignore=E501
+ variant('graphviz', default=True,
+ description='Build with dot command support from Graphviz.')
depends_on("cmake@2.8.12:", type='build')
depends_on("flex", type='build')
diff --git a/var/spack/repos/builtin/packages/dri2proto/package.py b/var/spack/repos/builtin/packages/dri2proto/package.py
index 25ea783c0c..65b86714f1 100644
--- a/var/spack/repos/builtin/packages/dri2proto/package.py
+++ b/var/spack/repos/builtin/packages/dri2proto/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Dri2proto(Package):
"""DRI2 Protocol Headers."""
homepage = "http://http://cgit.freedesktop.org/xorg/proto/dri2proto/"
diff --git a/var/spack/repos/builtin/packages/dtcmp/package.py b/var/spack/repos/builtin/packages/dtcmp/package.py
index b50b2ae3ae..e59e246d47 100644
--- a/var/spack/repos/builtin/packages/dtcmp/package.py
+++ b/var/spack/repos/builtin/packages/dtcmp/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Dtcmp(Package):
"""The Datatype Comparison Library provides comparison operations and
parallel sort algorithms for MPI applications."""
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index efe4de4abf..90c83bdc3a 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Dyninst(Package):
"""API for dynamic binary instrumentation. Modify programs while they
are executing without recompiling, re-linking, or re-executing."""
@@ -55,16 +56,18 @@ class Dyninst(Package):
'-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'),
+ '-DLIBELF_INCLUDE_DIR=%s' % join_path(
+ libelf.include, 'libelf'),
+ '-DLIBELF_LIBRARIES=%s' % join_path(
+ libelf.lib, 'libelf.so'),
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
- '-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
+ '-DLIBDWARF_LIBRARIES=%s' % join_path(
+ libdwarf.lib, 'libdwarf.so'),
*std_cmake_args)
make()
make("install")
-
@when('@:8.1')
def install(self, spec, prefix):
configure("--prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py
index 97343f499b..36d6850c1a 100644
--- a/var/spack/repos/builtin/packages/eigen/package.py
+++ b/var/spack/repos/builtin/packages/eigen/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,15 +35,19 @@ class Eigen(Package):
homepage = 'http://eigen.tuxfamily.org/'
url = 'http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2'
- version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184', url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2')
+ version('3.2.7', 'cc1bacbad97558b97da6b77c9644f184',
+ url='http://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2')
- variant('debug', default=False, description='Builds the library in debug mode')
+ variant('debug', default=False,
+ description='Builds the library in debug mode')
variant('metis', default=True, description='Enables metis backend')
variant('scotch', default=True, description='Enables scotch backend')
variant('fftw', default=True, description='Enables FFTW backend')
- variant('suitesparse', default=True, description='Enables SuiteSparse support')
- variant('mpfr', default=True, description='Enables support for multi-precisions floating points via mpfr')
+ variant('suitesparse', default=True,
+ description='Enables SuiteSparse support')
+ variant('mpfr', default=True,
+ description='Enables support for multi-precisions FP via mpfr')
# TODO : dependency on googlehash, superlu, adolc missing
depends_on('cmake', type='build')
diff --git a/var/spack/repos/builtin/packages/elfutils/package.py b/var/spack/repos/builtin/packages/elfutils/package.py
index ecb5759ddc..ef8c2433c9 100644
--- a/var/spack/repos/builtin/packages/elfutils/package.py
+++ b/var/spack/repos/builtin/packages/elfutils/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Elfutils(Package):
"""elfutils is a collection of various binary tools such as
eu-objdump, eu-readelf, and other utilities that allow you to
@@ -47,4 +48,3 @@ class Elfutils(Package):
configure('--prefix=%s' % prefix, '--enable-maintainer-mode')
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py
index ae81422495..f28d63f6c3 100644
--- a/var/spack/repos/builtin/packages/elpa/package.py
+++ b/var/spack/repos/builtin/packages/elpa/package.py
@@ -34,7 +34,8 @@ class Elpa(Package):
homepage = 'http://elpa.mpcdf.mpg.de/'
url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
- version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6', url='http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz')
+ version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6',
+ url='http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz')
variant('openmp', default=False, description='Activates OpenMP support')
diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py
index a9ebd6d42f..94d42a3c9f 100644
--- a/var/spack/repos/builtin/packages/emacs/package.py
+++ b/var/spack/repos/builtin/packages/emacs/package.py
@@ -35,7 +35,8 @@ class Emacs(Package):
version('24.5', 'd74b597503a68105e61b5b9f6d065b44')
variant('X', default=True, description="Enable a X toolkit (GTK+)")
- variant('gtkplus', default=False, description="Enable a GTK+ as X toolkit (this variant is ignored if ~X)")
+ variant('gtkplus', default=False,
+ description="Enable a GTK+ as X toolkit (ignored if ~X)")
depends_on('ncurses')
depends_on('libtiff', when='+X')
diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py
index 5d5bb3be02..85594bab47 100644
--- a/var/spack/repos/builtin/packages/environment-modules/package.py
+++ b/var/spack/repos/builtin/packages/environment-modules/package.py
@@ -46,17 +46,18 @@ class EnvironmentModules(Package):
"--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]),
+ # It looks for tclConfig.sh
+ "--with-tcl=%s" % join_path(tcl_spec.prefix, 'lib'),
+ "--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',
+ '--disable-versioning',
'--datarootdir=%s' % prefix.share,
'CPPFLAGS=%s' % ' '.join(CPPFLAGS)
]
-
configure(*config_args)
make()
make('install')
diff --git a/var/spack/repos/builtin/packages/exodusii/package.py b/var/spack/repos/builtin/packages/exodusii/package.py
index eb6c23afeb..15fe1e89a6 100644
--- a/var/spack/repos/builtin/packages/exodusii/package.py
+++ b/var/spack/repos/builtin/packages/exodusii/package.py
@@ -32,17 +32,22 @@ from spack import *
# TODO: Create installation options for NetCDF that support larger page size
# TODO: suggested by Exodus (see the repository "README" file).
+
class Exodusii(Package):
- """Exodus II is a C++/Fortran library developed to store and retrieve data for
- finite element analyses. It's used for preprocessing (problem definition),
- postprocessing (results visualization), and data transfer between codes.
- An Exodus II data file is a random access, machine independent, binary
- file that is written and read via C, C++, or Fortran API routines."""
+ """Exodus II is a C++/Fortran library developed to store and retrieve
+ data for finite element analyses. It's used for preprocessing
+ (problem definition), postprocessing (results visualization), and
+ data transfer between codes. An Exodus II data file is a random
+ access, machine independent, binary file that is written and read
+ via C, C++, or Fortran API routines.
+
+ """
homepage = "https://github.com/gsjaardema/seacas"
url = "https://github.com/gsjaardema/seacas/archive/master.zip"
- version('2016-02-08', git='https://github.com/gsjaardema/seacas.git', commit='dcf3529')
+ version('2016-02-08',
+ git='https://github.com/gsjaardema/seacas.git', commit='dcf3529')
depends_on('cmake@2.8.7:', type='build')
depends_on('hdf5~shared~mpi')
@@ -54,11 +59,14 @@ class Exodusii(Package):
ff = FileFilter('cmake-exodus')
ff.filter('CMAKE_INSTALL_PREFIX:PATH=${ACCESS}',
- 'CMAKE_INSTALL_PREFIX:PATH=%s' % self.spec.prefix, string=True)
+ 'CMAKE_INSTALL_PREFIX:PATH=%s' % self.spec.prefix,
+ string=True)
ff.filter('NetCDF_DIR:PATH=${TPL}',
- 'NetCDF_DIR:PATH=%s' % self.spec['netcdf'].prefix, string=True)
+ 'NetCDF_DIR:PATH=%s' % self.spec['netcdf'].prefix,
+ string=True)
ff.filter('HDF5_ROOT:PATH=${TPL}',
- 'HDF5_ROOT:PATH=%s' % self.spec['hdf5'].prefix, string=True)
+ 'HDF5_ROOT:PATH=%s' % self.spec['hdf5'].prefix,
+ string=True)
def install(self, spec, prefix):
mkdirp('build')
diff --git a/var/spack/repos/builtin/packages/exonerate/package.py b/var/spack/repos/builtin/packages/exonerate/package.py
new file mode 100644
index 0000000000..7921e64058
--- /dev/null
+++ b/var/spack/repos/builtin/packages/exonerate/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 Exonerate(Package):
+ """Pairwise sequence alignment of DNA and proteins"""
+
+ homepage = "http://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate"
+ url = "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/exonerate-2.2.0.tar.gz"
+
+ version('2.4.0', '126fbade003b80b663a1d530c56f1904')
+
+ depends_on('pkg-config', type="build")
+ depends_on('glib')
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix), '--disable-debug',
+ '--disable-dependency-tracking')
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py
index 2a9ac123f3..7d0fdae1d4 100644
--- a/var/spack/repos/builtin/packages/expat/package.py
+++ b/var/spack/repos/builtin/packages/expat/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Expat(Package):
"""<eXpat/> is an XML parser library written in C"""
homepage = "http://expat.sourceforge.net/"
@@ -39,4 +40,3 @@ class Expat(Package):
cmake('..', *std_cmake_args)
make()
make('install')
-
diff --git a/var/spack/repos/builtin/packages/extrae/package.py b/var/spack/repos/builtin/packages/extrae/package.py
index 84c410e4ba..72bfbe6326 100644
--- a/var/spack/repos/builtin/packages/extrae/package.py
+++ b/var/spack/repos/builtin/packages/extrae/package.py
@@ -25,7 +25,23 @@
from spack import *
# typical working line with extrae 3.0.1
-# ./configure --prefix=/usr/local --with-mpi=/usr/lib64/mpi/gcc/openmpi --with-unwind=/usr/local --with-papi=/usr --with-dwarf=/usr --with-elf=/usr --with-dyninst=/usr --with-binutils=/usr --with-xml-prefix=/usr --enable-openmp --enable-nanos --enable-pthread --disable-parallel-merge LDFLAGS=-pthread
+# ./configure
+# --prefix=/usr/local
+# --with-mpi=/usr/lib64/mpi/gcc/openmpi
+# --with-unwind=/usr/local
+# --with-papi=/usr
+# --with-dwarf=/usr
+# --with-elf=/usr
+# --with-dyninst=/usr
+# --with-binutils=/usr
+# --with-xml-prefix=/usr
+# --enable-openmp
+# --enable-nanos
+# --enable-pthread
+# --disable-parallel-merge
+#
+# LDFLAGS=-pthread
+
class Extrae(Package):
"""Extrae is the package devoted to generate tracefiles which can
@@ -55,16 +71,16 @@ class Extrae(Package):
elif 'mvapich2' in spec:
mpi = spec['mvapich2']
- configure("--prefix=%s" % prefix,
- "--with-mpi=%s" % mpi.prefix,
- "--with-unwind=%s" % spec['libunwind'].prefix,
- "--with-dyninst=%s" % spec['dyninst'].prefix,
- "--with-boost=%s" % spec['boost'].prefix,
- "--with-dwarf=%s" % spec['libdwarf'].prefix,
- "--with-papi=%s" % spec['papi'].prefix,
- "--with-dyninst-headers=%s" % spec['dyninst'].prefix.include,
- "--with-dyninst-libs=%s" % spec['dyninst'].prefix.lib)
+ configure("--prefix=%s" % prefix,
+ "--with-mpi=%s" % mpi.prefix,
+ "--with-unwind=%s" % spec['libunwind'].prefix,
+ "--with-dyninst=%s" % spec['dyninst'].prefix,
+ "--with-boost=%s" % spec['boost'].prefix,
+ "--with-dwarf=%s" % spec['libdwarf'].prefix,
+ "--with-papi=%s" % spec['papi'].prefix,
+ "--with-dyninst-headers=%s" % spec[
+ 'dyninst'].prefix.include,
+ "--with-dyninst-libs=%s" % spec['dyninst'].prefix.lib)
make()
make("install", parallel=False)
-
diff --git a/var/spack/repos/builtin/packages/exuberant-ctags/package.py b/var/spack/repos/builtin/packages/exuberant-ctags/package.py
index c49d0624f6..10be30ab8b 100644
--- a/var/spack/repos/builtin/packages/exuberant-ctags/package.py
+++ b/var/spack/repos/builtin/packages/exuberant-ctags/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class ExuberantCtags(Package):
"""The canonical ctags generator"""
homepage = "ctags.sourceforge.net"
diff --git a/var/spack/repos/builtin/packages/fastx_toolkit/package.py b/var/spack/repos/builtin/packages/fastx_toolkit/package.py
new file mode 100644
index 0000000000..04b4d24b39
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fastx_toolkit/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 FastxToolkit(Package):
+ """The FASTX-Toolkit is a collection of command line tools for
+ Short-Reads FASTA/FASTQ files preprocessing."""
+
+ homepage = "http://hannonlab.cshl.edu/fastx_toolkit/"
+ url = "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
+
+ version('0.0.14', 'bf1993c898626bb147de3d6695c20b40')
+
+ depends_on('libgtextutils')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py
index 465ab651be..eeeefc540d 100644
--- a/var/spack/repos/builtin/packages/fenics/package.py
+++ b/var/spack/repos/builtin/packages/fenics/package.py
@@ -36,7 +36,7 @@ class Fenics(Package):
homepage = "http://fenicsproject.org/"
url = "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-1.6.0.tar.gz"
- base_url = "https://bitbucket.org/fenics-project/{pkg}/downloads/{pkg}-{version}.tar.gz" # NOQA: ignore E501
+ base_url = "https://bitbucket.org/fenics-project/{pkg}/downloads/{pkg}-{version}.tar.gz"
variant('hdf5', default=True, description='Compile with HDF5')
variant('parmetis', default=True, description='Compile with ParMETIS')
@@ -44,13 +44,18 @@ class Fenics(Package):
variant('petsc', default=True, description='Compile with PETSc')
variant('slepc', default=True, description='Compile with SLEPc')
variant('trilinos', default=True, description='Compile with Trilinos')
- variant('suite-sparse', default=True, description='Compile with SuiteSparse solvers')
+ variant('suite-sparse', default=True,
+ description='Compile with SuiteSparse solvers')
variant('vtk', default=False, description='Compile with VTK')
variant('qt', default=False, description='Compile with QT')
- variant('mpi', default=True, description='Enables the distributed memory support')
- variant('openmp', default=True, description='Enables the shared memory support')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ variant('mpi', default=True,
+ description='Enables the distributed memory support')
+ variant('openmp', default=True,
+ description='Enables the shared memory support')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
# not part of spack list for now
# variant('petsc4py', default=True, description='Uses PETSc4py')
@@ -109,7 +114,8 @@ class Fenics(Package):
]
for release in releases:
- version(release['version'], release['md5'], url=base_url.format(pkg='dolfin', version=release['version']))
+ version(release['version'], release['md5'], url=base_url.format(
+ pkg='dolfin', version=release['version']))
for name, md5 in release['resources'].items():
resource(name=name,
url=base_url.format(pkg=name, **release),
diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py
index 434aeea616..570cd1bbdd 100644
--- a/var/spack/repos/builtin/packages/fftw/package.py
+++ b/var/spack/repos/builtin/packages/fftw/package.py
@@ -28,26 +28,36 @@ from spack import *
class Fftw(Package):
- """
- FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of
- arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine
- transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for
- most applications.
+ """FFTW is a C subroutine library for computing the discrete Fourier
+ transform (DFT) in one or more dimensions, of arbitrary input
+ size, and of both real and complex data (as well as of even/odd
+ data, i.e. the discrete cosine/sine transforms or DCT/DST). We
+ believe that FFTW, which is free software, should become the FFT
+ library of choice for most applications.
+
"""
homepage = "http://www.fftw.org"
url = "http://www.fftw.org/fftw-3.3.4.tar.gz"
version('3.3.4', '2edab8c06b24feeb3b82bbb3ebf3e7b3')
- variant('float', default=True, description='Produces a single precision version of the library')
- variant('long_double', default=True, description='Produces a long double precision version of the library')
- variant('quad', default=False, description='Produces a quad precision version of the library (works only with GCC and libquadmath)')
+ variant(
+ 'float', default=True,
+ description='Produces a single precision version of the library')
+ variant(
+ 'long_double', default=True,
+ description='Produces a long double precision version of the library')
+ variant(
+ 'quad', default=False,
+ description='Produces a quad precision version of the library '
+ '(works only with GCC and libquadmath)')
variant('openmp', default=False, description="Enable OpenMP support.")
variant('mpi', default=False, description='Activate MPI support')
depends_on('mpi', when='+mpi')
- # TODO : add support for architecture specific optimizations as soon as targets are supported
+ # TODO : add support for architecture specific optimizations as soon as
+ # targets are supported
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix,
@@ -57,9 +67,9 @@ class Fftw(Package):
if '+openmp' in spec:
# Note: Apple's Clang does not support OpenMP.
if spec.satisfies('%clang'):
- ver = str(self.compiler.version)
- if ver.endswith('-apple'):
- raise InstallError("Apple's clang does not support OpenMP")
+ ver = str(self.compiler.version)
+ if ver.endswith('-apple'):
+ raise InstallError("Apple's clang does not support OpenMP")
options.append('--enable-openmp')
if not self.compiler.f77 or not self.compiler.fc:
options.append("--disable-fortran")
diff --git a/var/spack/repos/builtin/packages/fish/package.py b/var/spack/repos/builtin/packages/fish/package.py
index 9d23a3d63d..0e85f410c1 100644
--- a/var/spack/repos/builtin/packages/fish/package.py
+++ b/var/spack/repos/builtin/packages/fish/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Fish(Package):
"""fish is a smart and user-friendly command line shell for OS X, Linux, and
the rest of the family.
diff --git a/var/spack/repos/builtin/packages/fltk/package.py b/var/spack/repos/builtin/packages/fltk/package.py
index f8ac5bc2a4..f29b64b02b 100644
--- a/var/spack/repos/builtin/packages/fltk/package.py
+++ b/var/spack/repos/builtin/packages/fltk/package.py
@@ -26,13 +26,16 @@ from spack import *
class Fltk(Package):
- """
- FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and
- MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its
- built-in GLUT emulation.
+ """FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for
+ UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides
+ modern GUI functionality without the bloat and supports 3D
+ graphics via OpenGL and its built-in GLUT emulation.
+
+ FLTK is designed to be small and modular enough to be statically
+ linked, but works fine as a shared library. FLTK also includes an
+ excellent UI builder called FLUID that can be used to create
+ applications in minutes.
- FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK
- also includes an excellent UI builder called FLUID that can be used to create applications in minutes.
"""
homepage = 'http://www.fltk.org/'
url = 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz'
@@ -41,7 +44,8 @@ class Fltk(Package):
patch('font.patch', when='@1.3.3')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix,
diff --git a/var/spack/repos/builtin/packages/flux/package.py b/var/spack/repos/builtin/packages/flux/package.py
index dec339a6af..2fd2392b5e 100644
--- a/var/spack/repos/builtin/packages/flux/package.py
+++ b/var/spack/repos/builtin/packages/flux/package.py
@@ -25,13 +25,15 @@
from spack import *
import os
+
class Flux(Package):
""" A next-generation resource manager (pre-alpha) """
homepage = "https://github.com/flux-framework/flux-core"
url = "https://github.com/flux-framework/flux-core"
- version('master', branch='master', git='https://github.com/flux-framework/flux-core')
+ version('master', branch='master',
+ git='https://github.com/flux-framework/flux-core')
# Also needs autotools, but should use the system version if available
depends_on("zeromq@4.0.4:")
@@ -52,12 +54,11 @@ class Flux(Package):
# Bootstrap with autotools
bash = which('bash')
bash('./autogen.sh')
- bash('./autogen.sh') #yes, twice, intentionally
+ bash('./autogen.sh') # yes, twice, intentionally
# Fix asciidoc dependency on xml style sheets and whatnot
- os.environ['XML_CATALOG_FILES'] = os.path.join(spec['docbook-xml'].prefix,
- 'catalog.xml')
+ os.environ['XML_CATALOG_FILES'] = os.path.join(
+ spec['docbook-xml'].prefix, 'catalog.xml')
# Configure, compile & install
configure("--prefix=" + prefix)
make("install", "V=1")
-
diff --git a/var/spack/repos/builtin/packages/foam-extend/package.py b/var/spack/repos/builtin/packages/foam-extend/package.py
index 0ff5765895..6b3b87a110 100644
--- a/var/spack/repos/builtin/packages/foam-extend/package.py
+++ b/var/spack/repos/builtin/packages/foam-extend/package.py
@@ -16,12 +16,24 @@ class FoamExtend(Package):
version('3.0', git='http://git.code.sf.net/p/foam-extend/foam-extend-3.0')
variant('paraview', default=False, description='Enable ParaFOAM')
- variant('scotch', default=True, description='Activate Scotch as a possible decomposition library')
- variant('ptscotch', default=True, description='Activate PT-Scotch as a possible decomposition library')
- variant('metis', default=True, description='Activate Metis as a possible decomposition library')
- variant('parmetis', default=True, description='Activate Parmetis as a possible decomposition library')
- variant('parmgridgen', default=True, description='Activate Parmgridgen support')
- variant('source', default=True, description='Installs also the source folder')
+ variant(
+ 'scotch', default=True,
+ description='Activate Scotch as a possible decomposition library')
+ variant(
+ 'ptscotch', default=True,
+ description='Activate PT-Scotch as a possible decomposition library')
+ variant(
+ 'metis', default=True,
+ description='Activate Metis as a possible decomposition library')
+ variant(
+ 'parmetis', default=True,
+ description='Activate Parmetis as a possible decomposition library')
+ variant(
+ 'parmgridgen', default=True,
+ description='Activate Parmgridgen support')
+ variant(
+ 'source', default=True,
+ description='Installs also the source folder')
supported_compilers = {'clang': 'Clang', 'gcc': 'Gcc', 'intel': 'Icc'}
@@ -80,7 +92,7 @@ class FoamExtend(Package):
filter_file(
r'-lMGridGen',
r'-lmgrid',
- 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options') # NOQA: ignore=501
+ 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options') # noqa
# Get the wmake arch and compiler
(arch, foam_compiler) = self.set_arch()
diff --git a/var/spack/repos/builtin/packages/fontconfig/package.py b/var/spack/repos/builtin/packages/fontconfig/package.py
index 76e9d8cb3f..0d7e47f228 100644
--- a/var/spack/repos/builtin/packages/fontconfig/package.py
+++ b/var/spack/repos/builtin/packages/fontconfig/package.py
@@ -24,12 +24,13 @@
##############################################################################
from spack import *
+
class Fontconfig(Package):
"""Fontconfig customizing font access"""
homepage = "http://www.freedesktop.org/wiki/Software/fontconfig/"
url = "http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz"
- version('2.11.1' , 'e75e303b4f7756c2b16203a57ac87eba')
+ version('2.11.1', 'e75e303b4f7756c2b16203a57ac87eba')
depends_on('freetype')
depends_on('libxml2')
diff --git a/var/spack/repos/builtin/packages/gasnet/package.py b/var/spack/repos/builtin/packages/gasnet/package.py
index b3bd6c25f2..12ecd9fd6f 100644
--- a/var/spack/repos/builtin/packages/gasnet/package.py
+++ b/var/spack/repos/builtin/packages/gasnet/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Gasnet(Package):
"""GASNet is a language-independent, low-level networking layer
that provides network-independent, high-performance communication
@@ -36,24 +37,24 @@ class Gasnet(Package):
version('1.24.0', 'c8afdf48381e8b5a7340bdb32ca0f41a')
-
def install(self, spec, prefix):
# TODO: don't use paths with @ in them.
change_sed_delimiter('@', ';', 'configure')
- configure("--prefix=%s" % prefix,
- # TODO: factor IB suport out into architecture description.
- "--enable-ibv",
- "--enable-udp",
- "--disable-mpi",
- "--enable-par",
- "--enable-mpi-compat",
- "--enable-segment-fast",
- "--disable-aligned-segments",
- # TODO: make an option so that Legion can request builds with/without this.
- # See the Legion webpage for details on when to/not to use.
- "--disable-pshm",
- "--with-segment-mmap-max=64MB")
+ configure(
+ "--prefix=%s" % prefix,
+ # TODO: factor IB suport out into architecture description.
+ "--enable-ibv",
+ "--enable-udp",
+ "--disable-mpi",
+ "--enable-par",
+ "--enable-mpi-compat",
+ "--enable-segment-fast",
+ "--disable-aligned-segments",
+ # TODO: make option so Legion can request builds with/without this.
+ # See the Legion webpage for details on when to/not to use.
+ "--disable-pshm",
+ "--with-segment-mmap-max=64MB")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 224105ea0f..72a5cb22f8 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -15,6 +15,7 @@ class Gcc(Package):
list_depth = 2
version('6.1.0', '8fb6cb98b8459f5863328380fbf06bd1')
+ version('5.4.0', '4c626ac2a83ef30dfb9260e6f59c2b30')
version('5.3.0', 'c9616fd448f980259c31de613e575719')
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index 9ed83bc3be..4fdfafc992 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Gdal(Package):
"""
GDAL is a translator library for raster and vector geospatial
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
index 78ad4b307d..9145009fa4 100644
--- a/var/spack/repos/builtin/packages/gdb/package.py
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -27,9 +27,10 @@ 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.
+ """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.
+
"""
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/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
index daf43f3256..d7a0200395 100644
--- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
+++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class GdkPixbuf(Package):
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer
manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
diff --git a/var/spack/repos/builtin/packages/geos/package.py b/var/spack/repos/builtin/packages/geos/package.py
index 88438b0a99..324186cfbc 100644
--- a/var/spack/repos/builtin/packages/geos/package.py
+++ b/var/spack/repos/builtin/packages/geos/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class Geos(Package):
"""GEOS (Geometry Engine - Open Source) is a C++ port of the Java
diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py
index df301aea3c..cf260c3f8a 100644
--- a/var/spack/repos/builtin/packages/gettext/package.py
+++ b/var/spack/repos/builtin/packages/gettext/package.py
@@ -24,31 +24,80 @@
##############################################################################
from spack import *
+
class Gettext(Package):
"""GNU internationalization (i18n) and localization (l10n) library."""
homepage = "https://www.gnu.org/software/gettext/"
url = "http://ftpmirror.gnu.org/gettext/gettext-0.19.7.tar.xz"
- version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5')
+ version('0.19.8.1', 'df3f5690eaa30fd228537b00cb7b7590')
+ version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5')
+
+ # Recommended variants
+ variant('curses', default=True, description='Use libncurses')
+ variant('libxml2', default=True, description='Use libxml2')
+ variant('git', default=True, description='Enable git support')
+ variant('tar', default=True, description='Enable tar support')
+ variant('bzip2', default=True, description='Enable bzip2 support')
+ variant('xz', default=True, description='Enable xz support')
+
+ # Optional variants
+ variant('libunistring', default=False, description='Use libunistring')
+
+ # Recommended dependencies
+ depends_on('ncurses', when='+curses')
+ depends_on('libxml2', when='+libxml2')
+ # Java runtime and compiler (e.g. GNU gcj or kaffe)
+ # C# runtime and compiler (e.g. pnet or mono)
+ depends_on('tar', when='+tar')
+ # depends_on('gzip', when='+gzip')
+ depends_on('bzip2', when='+bzip2')
+ depends_on('xz', when='+xz')
+
+ # Optional dependencies
+ # depends_on('glib') # circular dependency?
+ # depends_on('libcroco@0.6.1:')
+ depends_on('libunistring', when='+libunistring')
+ # depends_on('cvs')
def install(self, spec, prefix):
- options = ['--disable-dependency-tracking',
- '--disable-silent-rules',
- '--disable-debug',
- '--prefix=%s' % prefix,
- '--with-included-gettext',
- '--with-included-glib',
- '--with-included-libcroco',
- '--with-included-libunistring',
- '--with-emacs',
- '--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share,
- '--disable-java',
- '--disable-csharp',
- '--without-git', # Don't use VCS systems to create these archives
- '--without-cvs',
- '--without-xz']
-
- configure(*options)
+ config_args = [
+ '--prefix={0}'.format(prefix),
+ '--disable-java',
+ '--disable-csharp',
+ '--with-included-glib',
+ '--with-included-gettext',
+ '--with-included-libcroco',
+ '--without-emacs',
+ '--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share,
+ '--without-cvs'
+ ]
+
+ if '+curses' in spec:
+ config_args.append('--with-ncurses-prefix={0}'.format(
+ spec['ncurses'].prefix))
+ else:
+ config_args.append('--disable-curses')
+
+ if '+libxml2' in spec:
+ config_args.append('--with-libxml2-prefix={0}'.format(
+ spec['libxml2'].prefix))
+ else:
+ config_args.append('--with-included-libxml')
+
+ if '+bzip2' not in spec:
+ config_args.append('--without-bzip2')
+
+ if '+xz' not in spec:
+ config_args.append('--without-xz')
+
+ if '+libunistring' in spec:
+ config_args.append('--with-libunistring-prefix={0}'.format(
+ spec['libunistring'].prefix))
+ else:
+ config_args.append('--with-included-libunistring')
+
+ configure(*config_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/gflags/package.py b/var/spack/repos/builtin/packages/gflags/package.py
index 47bbf369ef..7e04c9b682 100644
--- a/var/spack/repos/builtin/packages/gflags/package.py
+++ b/var/spack/repos/builtin/packages/gflags/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Gflags(Package):
"""The gflags package contains a C++ library that implements
commandline flags processing. It includes built-in support for
diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py
index 4cbbaac342..3cc879088d 100644
--- a/var/spack/repos/builtin/packages/git/package.py
+++ b/var/spack/repos/builtin/packages/git/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Git(Package):
"""Git is a free and open source distributed version control
system designed to handle everything from small to very large
@@ -36,40 +37,36 @@ class Git(Package):
version('2.7.3', 'fa1c008b56618c355a32ba4a678305f6')
version('2.7.1', 'bf0706b433a8dedd27a63a72f9a66060')
-
# See here for info on vulnerable Git versions:
# http://www.theregister.co.uk/2016/03/16/git_server_client_patch_now/
# All the following are vulnerable
- #version('2.6.3', 'b711be7628a4a2c25f38d859ee81b423')
- #version('2.6.2', 'da293290da69f45a86a311ad3cd43dc8')
- #version('2.6.1', '4c62ee9c5991fe93d99cf2a6b68397fd')
- #version('2.6.0', 'eb76a07148d94802a1745d759716a57e')
- #version('2.5.4', '3eca2390cf1fa698b48e2a233563a76b')
- #version('2.2.1', 'ff41fdb094eed1ec430aed8ee9b9849c')
-
+ # version('2.6.3', 'b711be7628a4a2c25f38d859ee81b423')
+ # version('2.6.2', 'da293290da69f45a86a311ad3cd43dc8')
+ # version('2.6.1', '4c62ee9c5991fe93d99cf2a6b68397fd')
+ # version('2.6.0', 'eb76a07148d94802a1745d759716a57e')
+ # version('2.5.4', '3eca2390cf1fa698b48e2a233563a76b')
+ # version('2.2.1', 'ff41fdb094eed1ec430aed8ee9b9849c')
depends_on("openssl")
depends_on("autoconf", type='build')
depends_on("curl")
depends_on("expat")
-
- # Also depends_on gettext: apt-get install gettext (Ubuntu)
-
- # Use system perl for now.
- # depends_on("perl")
- # depends_on("pcre")
-
+ depends_on("gettext")
depends_on("zlib")
+ depends_on("pcre")
+ depends_on("perl")
def install(self, spec, prefix):
+ env['LDFLAGS'] = "-L%s" % spec['gettext'].prefix.lib + " -lintl"
configure_args = [
"--prefix=%s" % prefix,
- "--without-pcre",
+ "--with-libpcre=%s" % spec['pcre'].prefix,
"--with-openssl=%s" % spec['openssl'].prefix,
"--with-zlib=%s" % spec['zlib'].prefix,
"--with-curl=%s" % spec['curl'].prefix,
"--with-expat=%s" % spec['expat'].prefix,
- ]
+ "--with-perl=%s" % join_path(spec['perl'].prefix.bin, 'perl'),
+ ]
which('autoreconf')('-i')
configure(*configure_args)
diff --git a/var/spack/repos/builtin/packages/gl2ps/package.py b/var/spack/repos/builtin/packages/gl2ps/package.py
index 25172bd544..d5e7b00027 100644
--- a/var/spack/repos/builtin/packages/gl2ps/package.py
+++ b/var/spack/repos/builtin/packages/gl2ps/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Gl2ps(Package):
"""GL2PS is a C library providing high quality vector output for any
OpenGL application."""
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index 0a0a02f464..2720831e4f 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -23,7 +23,6 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import sys
class Glib(Package):
@@ -32,17 +31,24 @@ class Glib(Package):
and interfaces for such runtime functionality as an event loop,
threads, dynamic loading and an object system."""
homepage = "https://developer.gnome.org/glib/"
- url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
+ url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
+ version('2.49.4', 'e2c87c03017b0cd02c4c73274b92b148')
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
- depends_on("libffi")
- depends_on("zlib")
- depends_on("pkg-config", type='build')
- depends_on('gettext', when=sys.platform == 'darwin')
+ depends_on('libffi')
+ depends_on('zlib')
+ depends_on('pkg-config', type='build')
+ depends_on('gettext')
+ depends_on('pcre+utf', when='@2.49:')
# The following patch is needed for gcc-6.1
- patch('g_date_strftime.patch')
+ patch('g_date_strftime.patch', when='@2.42.1')
+
+ def url_for_version(self, version):
+ """Handle glib's version-based custom URLs."""
+ url = 'http://ftp.gnome.org/pub/gnome/sources/glib'
+ return url + '/%s/glib-%s.tar.xz' % (version.up_to(2), version)
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/glm/package.py b/var/spack/repos/builtin/packages/glm/package.py
index 442c1cdf40..c565b3cae7 100644
--- a/var/spack/repos/builtin/packages/glm/package.py
+++ b/var/spack/repos/builtin/packages/glm/package.py
@@ -26,9 +26,10 @@ from spack import *
class Glm(Package):
- """
- OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on
- the OpenGL Shading Language (GLSL) specification.
+ """OpenGL Mathematics (GLM) is a header only C++ mathematics library for
+ graphics software based on the OpenGL Shading Language (GLSL)
+ specification.
+
"""
homepage = "https://github.com/g-truc/glm"
diff --git a/var/spack/repos/builtin/packages/glog/package.py b/var/spack/repos/builtin/packages/glog/package.py
index 03ee092429..14f042732b 100644
--- a/var/spack/repos/builtin/packages/glog/package.py
+++ b/var/spack/repos/builtin/packages/glog/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Glog(Package):
"""C++ implementation of the Google logging module."""
diff --git a/var/spack/repos/builtin/packages/glpk/package.py b/var/spack/repos/builtin/packages/glpk/package.py
index 2ab3c38150..1b52643e59 100644
--- a/var/spack/repos/builtin/packages/glpk/package.py
+++ b/var/spack/repos/builtin/packages/glpk/package.py
@@ -22,22 +22,23 @@
# 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 Glpk(Package):
- """
- The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed
- integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in
- the form of a callable library
+ """The GLPK (GNU Linear Programming Kit) package is intended for solving
+ large-scale linear programming (LP), mixed integer programming
+ (MIP), and other related problems. It is a set of routines written
+ in ANSI C and organized in the form of a callable library
+
"""
homepage = "https://www.gnu.org/software/glpk"
url = "http://ftp.gnu.org/gnu/glpk/glpk-4.57.tar.gz"
version('4.57', '237531a54f73155842f8defe51aedb0f')
- variant('gmp', default=False, description='Activates support for GMP library')
+ variant('gmp', default=False,
+ description='Activates support for GMP library')
depends_on('gmp', when='+gmp')
diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py
index 9bec5a14c9..bd1f653bd7 100644
--- a/var/spack/repos/builtin/packages/gmp/package.py
+++ b/var/spack/repos/builtin/packages/gmp/package.py
@@ -32,8 +32,9 @@ class Gmp(AutotoolsPackage):
homepage = "https://gmplib.org"
url = "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2"
- version('6.1.0' , '86ee6e54ebfc4a90b643a65e402c4048')
+ version('6.1.1', '4c175f86e11eb32d8bf9872ca3a8e11d')
+ version('6.1.0', '86ee6e54ebfc4a90b643a65e402c4048')
version('6.0.0a', 'b7ff2d88cae7f8085bd5006096eed470')
- version('6.0.0' , '6ef5869ae735db9995619135bd856b84')
+ version('6.0.0', '6ef5869ae735db9995619135bd856b84')
depends_on("m4", type='build')
diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py
index fe26cb3bf2..72f490e2f4 100644
--- a/var/spack/repos/builtin/packages/gmsh/package.py
+++ b/var/spack/repos/builtin/packages/gmsh/package.py
@@ -41,15 +41,21 @@ class Gmsh(Package):
version('2.12.0', '7fbd2ec8071e79725266e72744d21e902d4fe6fa9e7c52340ad5f4be5c159d09')
version('2.11.0', 'f15b6e7ac9ca649c9a74440e1259d0db')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds the library in debug mode')
- variant('mpi', default=False, description='Builds MPI support for parser and solver')
- variant('fltk', default=False, description='Enables the build of the FLTK GUI')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds the library in debug mode')
+ variant('mpi', default=False,
+ description='Builds MPI support for parser and solver')
+ variant('fltk', default=False,
+ description='Enables the build of the FLTK GUI')
variant('hdf5', default=False, description='Enables HDF5 support')
- variant('compression', default=True, description='Enables IO compression through zlib')
+ variant('compression', default=True,
+ description='Enables IO compression through zlib')
variant('oce', default=False, description='Build with OCE')
variant('petsc', default=False, description='Build with PETSc')
- variant('slepc', default=False, description='Build with SLEPc (only when PETSc is enabled)')
+ variant('slepc', default=False,
+ description='Build with SLEPc (only when PETSc is enabled)')
depends_on('blas')
depends_on('lapack')
diff --git a/var/spack/repos/builtin/packages/gnu-prolog/package.py b/var/spack/repos/builtin/packages/gnu-prolog/package.py
index f497ed3001..1e0487c654 100644
--- a/var/spack/repos/builtin/packages/gnu-prolog/package.py
+++ b/var/spack/repos/builtin/packages/gnu-prolog/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class GnuProlog(Package):
"""A free Prolog compiler with constraint solving over finite domains."""
homepage = "http://www.gprolog.org/"
diff --git a/var/spack/repos/builtin/packages/gnuplot/package.py b/var/spack/repos/builtin/packages/gnuplot/package.py
index a76677e066..600b6d285f 100644
--- a/var/spack/repos/builtin/packages/gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/gnuplot/package.py
@@ -27,13 +27,18 @@ from spack import *
import os
+
class Gnuplot(Package):
- """
- Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other
- platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was
- originally created to allow scientists and students to visualize mathematical functions and data interactively,
- but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by
- third-party applications like Octave. Gnuplot has been supported and under active development since 1986
+ """Gnuplot is a portable command-line driven graphing utility for Linux,
+ OS/2, MS Windows, OSX, VMS, and many other platforms. The source
+ code is copyrighted but freely distributed (i.e., you don't have
+ to pay for it). It was originally created to allow scientists and
+ students to visualize mathematical functions and data
+ interactively, but has grown to support many non-interactive uses
+ such as web scripting. It is also used as a plotting engine by
+ third-party applications like Octave. Gnuplot has been supported
+ and under active development since 1986
+
"""
homepage = "http://www.gnuplot.info"
url = "http://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.1/gnuplot-5.0.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py
index 71b571bc88..5f7b0daf9b 100644
--- a/var/spack/repos/builtin/packages/gnutls/package.py
+++ b/var/spack/repos/builtin/packages/gnutls/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Gnutls(Package):
"""GnuTLS is a secure communications library implementing the SSL,
TLS and DTLS protocols and technologies around them. It
diff --git a/var/spack/repos/builtin/packages/googletest/package.py b/var/spack/repos/builtin/packages/googletest/package.py
index 1dc74fbcf4..6f3cafec06 100644
--- a/var/spack/repos/builtin/packages/googletest/package.py
+++ b/var/spack/repos/builtin/packages/googletest/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Googletest(Package):
"""Google test framework for C++. Also called gtest."""
homepage = "https://github.com/google/googletest"
@@ -40,9 +41,8 @@ class Googletest(Package):
# Google Test doesn't have a make install
# We have to do our own install here.
- install_tree('include', prefix.include)
+ install_tree('include', prefix.include)
mkdirp(prefix.lib)
- install('./libgtest.a', '%s' % prefix.lib)
- install('./libgtest_main.a', '%s' % prefix.lib)
-
+ install('./libgtest.a', '%s' % prefix.lib)
+ install('./libgtest_main.a', '%s' % prefix.lib)
diff --git a/var/spack/repos/builtin/packages/gperf/package.py b/var/spack/repos/builtin/packages/gperf/package.py
index af176afcf6..0e54d0e037 100644
--- a/var/spack/repos/builtin/packages/gperf/package.py
+++ b/var/spack/repos/builtin/packages/gperf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Gperf(Package):
"""GNU gperf is a perfect hash function generator. For a given
list of strings, it produces a hash function and hash table, in
diff --git a/var/spack/repos/builtin/packages/gperftools/package.py b/var/spack/repos/builtin/packages/gperftools/package.py
index 1f17ab71a4..c6ca6c8057 100644
--- a/var/spack/repos/builtin/packages/gperftools/package.py
+++ b/var/spack/repos/builtin/packages/gperftools/package.py
@@ -24,14 +24,20 @@
##############################################################################
from spack import *
+
class Gperftools(Package):
- """Google's fast malloc/free implementation, especially for multi-threaded applications.
- Contains tcmalloc, heap-checker, heap-profiler, and cpu-profiler."""
+ """Google's fast malloc/free implementation, especially for
+ multi-threaded applications. Contains tcmalloc, heap-checker,
+ heap-profiler, and cpu-profiler.
+
+ """
homepage = "https://code.google.com/p/gperftools"
url = "https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.3.tar.gz"
- version('2.4', '2171cea3bbe053036fb5d5d25176a160', url="https://github.com/gperftools/gperftools/releases/download/gperftools-2.4/gperftools-2.4.tar.gz")
- version('2.3', 'f54dd119f0e46ac1f13264f8d97adf90', url="https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.3.tar.gz")
+ version('2.4', '2171cea3bbe053036fb5d5d25176a160',
+ url="https://github.com/gperftools/gperftools/releases/download/gperftools-2.4/gperftools-2.4.tar.gz")
+ version('2.3', 'f54dd119f0e46ac1f13264f8d97adf90',
+ url="https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.3.tar.gz")
depends_on("libunwind")
diff --git a/var/spack/repos/builtin/packages/graphlib/package.py b/var/spack/repos/builtin/packages/graphlib/package.py
index 087a322acc..0c3cd9b649 100644
--- a/var/spack/repos/builtin/packages/graphlib/package.py
+++ b/var/spack/repos/builtin/packages/graphlib/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Graphlib(Package):
"""Library to create, manipulate, and export graphs Graphlib."""
homepage = "http://https://github.com/lee218llnl/graphlib"
diff --git a/var/spack/repos/builtin/packages/graphviz/package.py b/var/spack/repos/builtin/packages/graphviz/package.py
index e5898a6e59..b37121248c 100644
--- a/var/spack/repos/builtin/packages/graphviz/package.py
+++ b/var/spack/repos/builtin/packages/graphviz/package.py
@@ -37,7 +37,9 @@ class Graphviz(Package):
# related to missing Perl packages. If spack begins support for Perl in the
# future, this package can be updated to depend_on('perl') and the
# ncecessary devel packages.
- variant('perl', default=False, description='Enable if you need the optional Perl language bindings.') # NOQA: ignore=E501
+ variant(
+ 'perl', default=False,
+ description='Enable if you need the optional Perl language bindings.')
parallel = False
diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py
index 55eacc8d38..d39c9738ef 100644
--- a/var/spack/repos/builtin/packages/gromacs/package.py
+++ b/var/spack/repos/builtin/packages/gromacs/package.py
@@ -22,19 +22,21 @@
# 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 Gromacs(Package):
- """
- GROMACS (GROningen MAchine for Chemical Simulations) is a molecular dynamics package primarily designed for
- simulations of proteins, lipids and nucleic acids. It was originally developed in the Biophysical Chemistry
- department of University of Groningen, and is now maintained by contributors in universities and research centers
- across the world.
-
- GROMACS is one of the fastest and most popular software packages available and can run on CPUs as well as GPUs.
- It is free, open source released under the GNU General Public License. Starting from version 4.6, GROMACS is
- released under the GNU Lesser General Public License.
+ """GROMACS (GROningen MAchine for Chemical Simulations) is a molecular
+ dynamics package primarily designed for simulations of proteins, lipids
+ and nucleic acids. It was originally developed in the Biophysical
+ Chemistry department of University of Groningen, and is now maintained
+ by contributors in universities and research centers across the world.
+
+ GROMACS is one of the fastest and most popular software packages
+ available and can run on CPUs as well as GPUs. It is free, open source
+ released under the GNU General Public License. Starting from version 4.6,
+ GROMACS is released under the GNU Lesser General Public License.
"""
homepage = 'http://www.gromacs.org'
@@ -43,17 +45,26 @@ class Gromacs(Package):
version('5.1.2', '614d0be372f1a6f1f36382b7a6fcab98')
variant('mpi', default=True, description='Activate MPI support')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
variant('debug', default=False, description='Enables debug mode')
- variant('double', default=False, description='Produces a double precision version of the executables')
+ variant(
+ 'double', default=False,
+ description='Produces a double precision version of the executables')
+ variant('plumed', default=False, description='Enable PLUMED support')
depends_on('mpi', when='+mpi')
-
+ depends_on('plumed+mpi', when='+plumed+mpi')
+ depends_on('plumed~mpi', when='+plumed~mpi')
depends_on('fftw')
depends_on('cmake', type='build')
# TODO : add GPU support
+ def patch(self):
+ if '+plumed' in self.spec:
+ self.spec['plumed'].package.apply_patch(self)
+
def install(self, spec, prefix):
options = []
diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py
index c1695a6f02..574d3b9402 100644
--- a/var/spack/repos/builtin/packages/gsl/package.py
+++ b/var/spack/repos/builtin/packages/gsl/package.py
@@ -27,17 +27,19 @@ from spack import *
class Gsl(Package):
- """
- The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the
- GNU General Public License. The library provides a wide range of mathematical routines such as random number
- generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive
- test suite.
+ """The GNU Scientific Library (GSL) is a numerical library for C and C++
+ programmers. It is free software under the GNU General Public
+ License. The library provides a wide range of mathematical
+ routines such as random number generators, special functions and
+ least-squares fitting. There are over 1000 functions in total with
+ an extensive test suite.
+
"""
homepage = "http://www.gnu.org/software/gsl"
url = "http://mirror.switch.ch/ftp/mirror/gnu/gsl/gsl-2.1.tar.gz"
- version('2.1' , 'd8f70abafd3e9f0bae03c52d1f4e8de5')
- version('2.0' , 'ae44cdfed78ece40e73411b63a78c375')
+ version('2.1', 'd8f70abafd3e9f0bae03c52d1f4e8de5')
+ version('2.0', 'ae44cdfed78ece40e73411b63a78c375')
version('1.16', 'e49a664db13d81c968415cd53f62bc8b')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py
index c135e89f78..c85bbe4094 100644
--- a/var/spack/repos/builtin/packages/gtkplus/package.py
+++ b/var/spack/repos/builtin/packages/gtkplus/package.py
@@ -24,12 +24,15 @@
##############################################################################
from spack import *
+
class Gtkplus(Package):
- """The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications."""
+ """The GTK+ 2 package contains libraries used for creating graphical user
+ interfaces for applications."""
homepage = "http://www.gtk.org"
- version('2.24.25', '612350704dd3aacb95355a4981930c6f',
- url="http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.25.tar.xz")
+ version(
+ '2.24.25', '612350704dd3aacb95355a4981930c6f',
+ url="http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.25.tar.xz")
depends_on("atk")
depends_on("gdk-pixbuf")
diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py
new file mode 100644
index 0000000000..22aff1bddf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/guile/package.py
@@ -0,0 +1,68 @@
+##############################################################################
+# 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 Guile(Package):
+ """Guile is the GNU Ubiquitous Intelligent Language for Extensions,
+ the official extension language for the GNU operating system."""
+
+ homepage = "https://www.gnu.org/software/guile/"
+ url = "ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.gz"
+
+ version('2.0.11', 'e532c68c6f17822561e3001136635ddd')
+
+ variant('readline', default=True, description='Use the readline library')
+
+ depends_on('gmp@4.2:')
+ depends_on('gettext')
+ depends_on('libtool@1.5.6:')
+ depends_on('libunistring@0.9.3:')
+ depends_on('bdw-gc@7.0:')
+ depends_on('libffi')
+ depends_on('readline', when='+readline')
+ depends_on('pkg-config', type='build')
+
+ def install(self, spec, prefix):
+ config_args = [
+ '--prefix={0}'.format(prefix),
+ '--with-libunistring-prefix={0}'.format(
+ spec['libunistring'].prefix),
+ '--with-libltdl-prefix={0}'.format(spec['libtool'].prefix),
+ '--with-libgmp-prefix={0}'.format(spec['gmp'].prefix),
+ '--with-libintl-prefix={0}'.format(spec['gettext'].prefix)
+ ]
+
+ if '+readline' in spec:
+ config_args.append('--with-libreadline-prefix={0}'.format(
+ spec['readline'].prefix))
+ else:
+ config_args.append('--without-libreadline-prefix')
+
+ configure(*config_args)
+
+ make()
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py
new file mode 100644
index 0000000000..184535ebb0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/harminv/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 Harminv(Package):
+ """Harminv is a free program (and accompanying library) to solve the
+ problem of harmonic inversion - given a discrete-time, finite-length
+ signal that consists of a sum of finitely-many sinusoids (possibly
+ exponentially decaying) in a given bandwidth, it determines the
+ frequencies, decay constants, amplitudes, and phases of those sinusoids."""
+
+ homepage = "http://ab-initio.mit.edu/wiki/index.php/Harminv"
+ url = "http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz"
+
+ version('1.4', 'b95e24a9bc7e07d3d2202d1605e9e86f')
+
+ depends_on('blas')
+ depends_on('lapack')
+
+ def install(self, spec, prefix):
+ config_args = [
+ '--prefix={0}'.format(prefix),
+ '--with-blas={0}'.format(spec['blas'].prefix.lib),
+ '--with-lapack={0}'.format(spec['lapack'].prefix.lib),
+ '--enable-shared'
+ ]
+
+ configure(*config_args)
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/hdf/package.py b/var/spack/repos/builtin/packages/hdf/package.py
index 7ad4df2fde..aafb345be6 100644
--- a/var/spack/repos/builtin/packages/hdf/package.py
+++ b/var/spack/repos/builtin/packages/hdf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Hdf(Package):
"""HDF4 (also known as HDF) is a library and multi-object
file format for storing and managing data between machines."""
@@ -41,10 +42,9 @@ class Hdf(Package):
depends_on("szip", when='+szip')
depends_on("zlib")
-
def url_for_version(self, version):
- return "https://www.hdfgroup.org/ftp/HDF/releases/HDF" + str(version) + "/src/hdf-" + str(version) + ".tar.gz"
-
+ return "https://www.hdfgroup.org/ftp/HDF/releases/HDF" + str(
+ version) + "/src/hdf-" + str(version) + ".tar.gz"
def install(self, spec, prefix):
config_args = [
@@ -52,9 +52,9 @@ class Hdf(Package):
'--prefix=%s' % prefix,
'--with-jpeg=%s' % spec['jpeg'].prefix,
'--with-zlib=%s' % spec['zlib'].prefix,
- '--disable-netcdf', # must be disabled to build NetCDF with HDF4 support
+ '--disable-netcdf', # must be disabled to build NetCDF with HDF4
'--enable-fortran',
- '--disable-shared', # fortran and shared libraries are not compatible
+ '--disable-shared', # fortran and shared libs are not compatible
'--enable-static',
'--enable-production'
]
diff --git a/var/spack/repos/builtin/packages/hdf5-blosc/package.py b/var/spack/repos/builtin/packages/hdf5-blosc/package.py
index 28b65711b0..b9c19dff62 100644
--- a/var/spack/repos/builtin/packages/hdf5-blosc/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-blosc/package.py
@@ -29,6 +29,7 @@ import sys
from spack import *
+
def _install_shlib(name, src, dst):
"""Install a shared library from directory src to directory dst"""
if sys.platform == "darwin":
@@ -44,6 +45,7 @@ def _install_shlib(name, src, dst):
os.symlink(shlib000, join_path(dst, shlib0))
os.symlink(shlib0, join_path(dst, shlib))
+
class Hdf5Blosc(Package):
"""Blosc filter for HDF5"""
homepage = "https://github.com/Blosc/hdf5-blosc"
@@ -60,18 +62,21 @@ class Hdf5Blosc(Package):
def install(self, spec, prefix):
# The included cmake recipe doesn"t work for Darwin
# cmake(".", *std_cmake_args)
- #
+ #
# make()
# make("install")
# if sys.platform == "darwin":
# fix_darwin_install_name(prefix.lib)
libtool = Executable(join_path(spec["libtool"].prefix.bin, "libtool"))
- if "+mpi" in spec["hdf5"]:
- cc = "mpicc"
- else:
- cc = "cc"
- shlibext = "so" if sys.platform!="darwin" else "dylib"
+
+ # TODO: these vars are not used.
+ # if "+mpi" in spec["hdf5"]:
+ # cc = "mpicc"
+ # else:
+ # cc = "cc"
+ # shlibext = "so" if sys.platform != "darwin" else "dylib"
+
mkdirp(prefix.include)
mkdirp(prefix.lib)
@@ -118,7 +123,7 @@ class Hdf5Blosc(Package):
#include <stdio.h>
#include <stdlib.h>
-#define FILTER_BLOSC 32001 /* Blosc filter ID registered with the HDF group */
+#define FILTER_BLOSC 32001 /* Blosc filter ID registered with the HDF group */
int main(int argc, char **argv) {
herr_t herr;
@@ -184,13 +189,13 @@ Done.
if not success:
print "Produced output does not match expected output."
print "Expected output:"
- print "-"*80
+ print "-" * 80
print expected
- print "-"*80
+ print "-" * 80
print "Produced output:"
- print "-"*80
+ print "-" * 80
print output
- print "-"*80
+ print "-" * 80
print "Environment:"
env = which("env")
env()
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 3b2600e671..a7c4b2d85e 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -40,19 +40,22 @@ class Hdf5(AutotoolsPackage):
version('1.10.0-patch1', '9180ff0ef8dc2ef3f61bd37a7404f295')
version('1.10.0', 'bdc935337ee8282579cd6bc4270ad199')
- version('1.8.16', 'b8ed9a36ae142317f88b0c7ef4b9c618', preferred=True)
+ version('1.8.16', 'b8ed9a36ae142317f88b0c7ef4b9c618')
version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24')
version('1.8.13', 'c03426e9e77d7766944654280b467289')
- variant('debug', default=False, description='Builds a debug version of the library')
- variant('shared', default=True, description='Builds a shared version of the library')
+ variant('debug', default=False,
+ description='Builds a debug version of the library')
+ variant('shared', default=True,
+ description='Builds a shared version of the library')
variant('cxx', default=True, description='Enable C++ support')
variant('fortran', default=True, description='Enable Fortran support')
variant('mpi', default=False, description='Enable MPI support')
variant('szip', default=False, description='Enable szip support')
- variant('threadsafe', default=False, description='Enable thread-safe capabilities')
+ variant('threadsafe', default=False,
+ description='Enable thread-safe capabilities')
depends_on('mpi', when='+mpi')
depends_on('szip', when='+szip')
diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py
index 060cd0b713..79e99e7b89 100644
--- a/var/spack/repos/builtin/packages/hoomd-blue/package.py
+++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class HoomdBlue(Package):
"""HOOMD-blue is a general-purpose particle simulation toolkit. It scales
from a single CPU core to thousands of GPUs.
@@ -56,7 +57,7 @@ class HoomdBlue(Package):
cmake_args = [
'-DPYTHON_EXECUTABLE=%s/python' % spec['python'].prefix.bin,
- '-DBOOST_ROOT=%s' % spec['boost' ].prefix
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix
]
# MPI support
@@ -73,9 +74,9 @@ class HoomdBlue(Package):
cmake_args.append('-DENABLE_CUDA=OFF')
# CUDA-aware MPI library support
- #if '+cuda' in spec and '+mpi' in spec:
+ # if '+cuda' in spec and '+mpi' in spec:
# cmake_args.append('-DENABLE_MPI_CUDA=ON')
- #else:
+ # else:
# cmake_args.append('-DENABLE_MPI_CUDA=OFF')
# There may be a bug in the MPI-CUDA code. See:
diff --git a/var/spack/repos/builtin/packages/hpx5/package.py b/var/spack/repos/builtin/packages/hpx5/package.py
index cd0c0b7a7b..686e959719 100644
--- a/var/spack/repos/builtin/packages/hpx5/package.py
+++ b/var/spack/repos/builtin/packages/hpx5/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class Hpx5(Package):
"""The HPX-5 Runtime System. HPX-5 (High Performance ParalleX) is an
open source, portable, performance-oriented runtime developed at
diff --git a/var/spack/repos/builtin/packages/htslib/package.py b/var/spack/repos/builtin/packages/htslib/package.py
new file mode 100644
index 0000000000..1a8b8fd2f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/htslib/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 Htslib(Package):
+ """C library for high-throughput sequencing data formats."""
+
+ homepage = "https://github.com/samtools/htslib"
+ url = "https://github.com/samtools/htslib/releases/download/1.3.1/htslib-1.3.1.tar.bz2"
+
+ version('1.3.1', '16d78f90b72f29971b042e8da8be6843')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index ee0168c38e..c163628840 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Hwloc(Package):
"""The Portable Hardware Locality (hwloc) software package
provides a portable abstraction (across OS, versions,
diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py
index 3d56056022..eee346ba49 100644
--- a/var/spack/repos/builtin/packages/hydra/package.py
+++ b/var/spack/repos/builtin/packages/hydra/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Hydra(Package):
"""Hydra is a process management system for starting parallel jobs.
Hydra is designed to natively work with existing launcher daemons
@@ -37,7 +38,6 @@ class Hydra(Package):
version('3.2', '4d670916695bf7e3a869cc336a881b39')
-
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py
index 65fef57559..fdc236dcf4 100644
--- a/var/spack/repos/builtin/packages/hypre/package.py
+++ b/var/spack/repos/builtin/packages/hypre/package.py
@@ -39,9 +39,11 @@ class Hypre(Package):
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
# hypre does not know how to build shared libraries on Darwin
- variant('shared', default=(sys.platform != 'darwin'), description="Build shared library version (disables static library)")
+ variant('shared', default=(sys.platform != 'darwin'),
+ description="Build shared library (disables static library)")
# SuperluDist have conflicting headers with those in Hypre
- variant('internal-superlu', default=True, description="Use internal Superlu routines")
+ variant('internal-superlu', default=True,
+ description="Use internal Superlu routines")
depends_on("mpi")
depends_on("blas")
@@ -62,10 +64,10 @@ class Hypre(Package):
'--prefix=%s' % prefix,
'--with-lapack-libs=%s' % to_lib_name(
spec['lapack'].lapack_shared_lib),
- '--with-lapack-lib-dirs=%s/lib' % spec['lapack'].prefix,
+ '--with-lapack-lib-dirs=%s' % spec['lapack'].prefix.lib,
'--with-blas-libs=%s' % to_lib_name(
spec['blas'].blas_shared_lib),
- '--with-blas-lib-dirs=%s/lib' % spec['blas'].prefix
+ '--with-blas-lib-dirs=%s' % spec['blas'].prefix.lib
]
if '+shared' in self.spec:
diff --git a/var/spack/repos/builtin/packages/ibmisc/package.py b/var/spack/repos/builtin/packages/ibmisc/package.py
index 2c7ed4f2a7..dbfa09bc20 100644
--- a/var/spack/repos/builtin/packages/ibmisc/package.py
+++ b/var/spack/repos/builtin/packages/ibmisc/package.py
@@ -1,5 +1,6 @@
from spack import *
+
class Ibmisc(CMakePackage):
"""Misc. reusable utilities used by IceBin."""
@@ -8,14 +9,22 @@ class Ibmisc(CMakePackage):
version('0.1.0', '12f2a32432a11db48e00217df18e59fa')
- variant('everytrace', default=False, description='Report errors through Everytrace')
- variant('proj', default=True, description='Compile utilities for PROJ.4 library')
- variant('blitz', default=True, description='Compile utilities for Blitz library')
- variant('netcdf', default=True, description='Compile utilities for NetCDF library')
- variant('boost', default=True, description='Compile utilities for Boost library')
- variant('udunits2', default=True, description='Compile utilities for UDUNITS2 library')
- variant('googletest', default=True, description='Compile utilities for Google Test library')
- variant('python', default=True, description='Compile utilities for use with Python/Cython')
+ variant('everytrace', default=False,
+ description='Report errors through Everytrace')
+ variant('proj', default=True,
+ description='Compile utilities for PROJ.4 library')
+ variant('blitz', default=True,
+ description='Compile utilities for Blitz library')
+ variant('netcdf', default=True,
+ description='Compile utilities for NetCDF library')
+ variant('boost', default=True,
+ description='Compile utilities for Boost library')
+ variant('udunits2', default=True,
+ description='Compile utilities for UDUNITS2 library')
+ variant('googletest', default=True,
+ description='Compile utilities for Google Test library')
+ variant('python', default=True,
+ description='Compile utilities for use with Python/Cython')
extends('python')
diff --git a/var/spack/repos/builtin/packages/icu/package.py b/var/spack/repos/builtin/packages/icu/package.py
index c7cabb5d95..b8d366b905 100644
--- a/var/spack/repos/builtin/packages/icu/package.py
+++ b/var/spack/repos/builtin/packages/icu/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Icu(Package):
"""The International Components for Unicode (ICU) package is a
mature, widely used set of C/C++ libraries providing Unicode and
@@ -36,12 +37,10 @@ class Icu(Package):
version('54.1', 'e844caed8f2ca24c088505b0d6271bc0')
-
def url_for_version(self, version):
return "http://download.icu-project.org/files/icu4c/%s/icu4c-%s-src.tgz" % (
version, str(version).replace('.', '_'))
-
def install(self, spec, prefix):
with working_dir("source"):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py
index 6cfec99c3f..2bcf86cd13 100644
--- a/var/spack/repos/builtin/packages/icu4c/package.py
+++ b/var/spack/repos/builtin/packages/icu4c/package.py
@@ -24,9 +24,12 @@
##############################################################################
from spack import *
+
class Icu4c(Package):
- """ICU is a mature, widely used set of C/C++ and Java libraries
- providing Unicode and Globalization support for software applications."""
+ """ICU is a mature, widely used set of C/C++ and Java libraries providing
+ Unicode and Globalization support for software applications.
+
+ """
homepage = "http://site.icu-project.org/"
url = "http://downloads.sourceforge.net/project/icu/ICU4C/54.1/icu4c-54_1-src.tgz"
diff --git a/var/spack/repos/builtin/packages/ilmbase/package.py b/var/spack/repos/builtin/packages/ilmbase/package.py
new file mode 100644
index 0000000000..873c830623
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ilmbase/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 Ilmbase(Package):
+ """OpenEXR ILM Base libraries (high dynamic-range image file format)"""
+
+ homepage = "http://www.openexr.com/"
+ url = "http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.2.0.tar.gz"
+
+ version('2.2.0', 'b540db502c5fa42078249f43d18a4652')
+ version('2.1.0', 'af1115f4d759c574ce84efcde9845d29')
+ version('2.0.1', '74c0d0d2873960bd0dc1993f8e03f0ae')
+ version('1.0.2', '26c133ee8ca48e1196fbfb3ffe292ab4')
+ version('0.9.0', '4df45f8116cb7a013b286caf6da30a2e')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+ make('install')
diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
index 493ca16417..65db3351a1 100644
--- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
+++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
@@ -17,19 +17,19 @@ class IntelParallelStudio(IntelInstaller):
# TODO: can also try the online installer (will download files on demand)
version('composer.2016.2', '1133fb831312eb519f7da897fec223fa',
- url="file://%s/parallel_studio_xe_2016_composer_edition_update2.tgz" # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_composer_edition_update2.tgz"
% os.getcwd())
version('professional.2016.2', '70be832f2d34c9bf596a5e99d5f2d832',
- url="file://%s/parallel_studio_xe_2016_update2.tgz" % os.getcwd()) # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_update2.tgz" % os.getcwd())
version('cluster.2016.2', '70be832f2d34c9bf596a5e99d5f2d832',
- url="file://%s/parallel_studio_xe_2016_update2.tgz" % os.getcwd()) # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_update2.tgz" % os.getcwd())
version('composer.2016.3', '3208eeabee951fc27579177b593cefe9',
- url="file://%s/parallel_studio_xe_2016_composer_edition_update3.tgz" # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_composer_edition_update3.tgz"
% os.getcwd())
version('professional.2016.3', 'eda19bb0d0d19709197ede58f13443f3',
- url="file://%s/parallel_studio_xe_2016_update3.tgz" % os.getcwd()) # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_update3.tgz" % os.getcwd())
version('cluster.2016.3', 'eda19bb0d0d19709197ede58f13443f3',
- url="file://%s/parallel_studio_xe_2016_update3.tgz" % os.getcwd()) # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_update3.tgz" % os.getcwd())
variant('rpath', default=True, description="Add rpath to .cfg files")
variant('newdtags', default=False,
@@ -42,15 +42,32 @@ class IntelParallelStudio(IntelInstaller):
variant('daal',
default=True, description="Install the Intel DAAL libraries")
variant('ipp', default=True, description="Install the Intel IPP libraries")
- variant('tools', default=True, description="""Install the Intel Advisor,\
-VTune Amplifier, and Inspector tools""")
+ variant('tools', default=True, description="Install the Intel Advisor, "
+ "VTune Amplifier, and Inspector tools")
provides('mpi', when='@cluster:+mpi')
provides('mkl', when='+mkl')
provides('daal', when='+daal')
provides('ipp', when='+ipp')
+ # virtual dependency
+ provides('blas', when='+mkl')
+ provides('lapack', when='+mkl')
+ # TODO: MKL also provides implementation of Scalapack.
+
+ def check_variants(self, spec):
+ error_message = '\t{variant} can not be turned off if "+all" is set'
+
+ if self.spec.satisfies('+all'):
+ errors = [error_message.format(variant=x)
+ for x in ('mpi', 'mkl', 'daal', 'ipp', 'tools')
+ if ('~' + x) in self.spec]
+ if errors:
+ errors = ['incompatible variants given'] + errors
+ raise InstallError('\n'.join(errors))
+
def install(self, spec, prefix):
+ self.check_variants(spec)
base_components = "ALL" # when in doubt, install everything
mpi_components = ""
@@ -58,14 +75,12 @@ VTune Amplifier, and Inspector tools""")
daal_components = ""
ipp_components = ""
- if spec.satisfies('+all'):
- base_components = "ALL"
- else:
+ if not spec.satisfies('+all'):
all_components = get_all_components()
regex = '(comp|openmp|intel-tbb|icc|ifort|psxe|icsxe-pset)'
base_components = \
filter_pick(all_components, re.compile(regex).search)
- regex = '(icsxe|imb|mpi|itac|intel-tc|clck)'
+ regex = '(icsxe|imb|mpi|itac|intel-ta|intel-tc|clck)'
mpi_components = \
filter_pick(all_components, re.compile(regex).search)
mkl_components = \
@@ -77,10 +92,10 @@ VTune Amplifier, and Inspector tools""")
regex = '(gdb|vtune|inspector|advisor)'
tool_components = \
filter_pick(all_components, re.compile(regex).search)
+ components = base_components
- components = base_components
if not spec.satisfies('+all'):
- if spec.satisfies('+mpi') and 'cluster' in str(spec.version):
+ if spec.satisfies('+mpi'):
components += mpi_components
if spec.satisfies('+mkl'):
components += mkl_components
@@ -89,16 +104,20 @@ VTune Amplifier, and Inspector tools""")
if spec.satisfies('+ipp'):
components += ipp_components
if spec.satisfies('+tools') and (spec.satisfies('@cluster') or
- spec.satisfies('@professional')):
+ spec.satisfies('@professional')):
components += tool_components
- self.intel_components = ';'.join(components)
+ if spec.satisfies('+all'):
+ self.intel_components = 'ALL'
+ else:
+ self.intel_components = ';'.join(components)
IntelInstaller.install(self, spec, prefix)
- absbindir = os.path.dirname(os.path.realpath(os.path.join(
- self.prefix.bin, "icc")))
- abslibdir = os.path.dirname(os.path.realpath(os.path.join
- (self.prefix.lib, "intel64", "libimf.a")))
+ absbindir = os.path.dirname(
+ os.path.realpath(os.path.join(self.prefix.bin, "icc")))
+ abslibdir = os.path.dirname(
+ os.path.realpath(os.path.join(
+ self.prefix.lib, "intel64", "libimf.a")))
os.symlink(self.global_license_file, os.path.join(absbindir,
"license.lic"))
@@ -116,22 +135,31 @@ VTune Amplifier, and Inspector tools""")
if (spec.satisfies('+all') or spec.satisfies('+mpi')) and \
spec.satisfies('@cluster'):
- os.symlink(self.global_license_file, os.path.join(
- self.prefix, "itac_latest", "license.lic"))
- if spec.satisfies('~newdtags'):
- wrappers = ["mpif77", "mpif77", "mpif90", "mpif90",
- "mpigcc", "mpigcc", "mpigxx", "mpigxx",
- "mpiicc", "mpiicc", "mpiicpc", "mpiicpc",
- "mpiifort", "mpiifort"]
- wrapper_paths = []
- for root, dirs, files in os.walk(spec.prefix):
- for name in files:
- if name in wrappers:
- wrapper_paths.append(os.path.join(spec.prefix,
- root, name))
- for wrapper in wrapper_paths:
- filter_file(r'-Xlinker --enable-new-dtags', r' ',
- wrapper)
+ for ifile in os.listdir(os.path.join(self.prefix, "itac")):
+ if os.path.isdir(os.path.join(self.prefix, "itac", ifile)):
+ os.symlink(self.global_license_file,
+ os.path.join(self.prefix, "itac", ifile,
+ "license.lic"))
+ if os.path.isdir(os.path.join(self.prefix, "itac",
+ ifile, "intel64")):
+ os.symlink(self.global_license_file,
+ os.path.join(self.prefix, "itac",
+ ifile, "intel64",
+ "license.lic"))
+ if spec.satisfies('~newdtags'):
+ wrappers = ["mpif77", "mpif77", "mpif90", "mpif90",
+ "mpigcc", "mpigcc", "mpigxx", "mpigxx",
+ "mpiicc", "mpiicc", "mpiicpc", "mpiicpc",
+ "mpiifort", "mpiifort"]
+ wrapper_paths = []
+ for root, dirs, files in os.walk(spec.prefix):
+ for name in files:
+ if name in wrappers:
+ wrapper_paths.append(os.path.join(spec.prefix,
+ root, name))
+ for wrapper in wrapper_paths:
+ filter_file(r'-Xlinker --enable-new-dtags', r' ',
+ wrapper)
if spec.satisfies('+rpath'):
for compiler_command in ["icc", "icpc", "ifort"]:
@@ -142,3 +170,130 @@ VTune Amplifier, and Inspector tools""")
os.symlink(os.path.join(self.prefix.man, "common", "man1"),
os.path.join(self.prefix.man, "man1"))
+
+ def setup_dependent_package(self, module, dspec):
+ # For now use Single Dynamic Library:
+ # To set the threading layer at run time, use the
+ # mkl_set_threading_layer function or set MKL_THREADING_LAYER
+ # variable to one of the following values: INTEL, SEQUENTIAL, PGI.
+ # To set interface layer at run time, use the mkl_set_interface_layer
+ # function or set the MKL_INTERFACE_LAYER variable to LP64 or ILP64.
+
+ # Otherwise one would need to specify several libraries
+ # (e.g. mkl_intel_lp64;mkl_sequential;mkl_core), which reflect
+ # different interface and threading layers.
+
+ name = 'libmkl_rt.%s' % dso_suffix
+ libdir = find_library_path(name, self.prefix.lib64, self.prefix.lib)
+
+ self.spec.blas_shared_lib = join_path(libdir, name)
+ self.spec.lapack_shared_lib = self.spec.blas_shared_lib
+
+ def setup_environment(self, spack_env, run_env):
+ # TODO: Determine variables needed for the professional edition.
+
+ major_ver = self.version[1]
+
+ # Remove paths that were guessed but are incorrect for this package.
+ run_env.remove_path('LIBRARY_PATH',
+ join_path(self.prefix, 'lib'))
+ run_env.remove_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib'))
+ run_env.remove_path('CPATH',
+ join_path(self.prefix, 'include'))
+
+ # Add the default set of variables
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'intel64'))
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'intel64'))
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib',
+ 'intel64', 'gcc4.4'))
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib',
+ 'intel64', 'gcc4.4'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'tbb', 'include'))
+ run_env.prepend_path('MIC_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'mic'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'mic'))
+ run_env.prepend_path('MIC_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib', 'mic'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib', 'mic'))
+
+ if self.spec.satisfies('+all'):
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix,
+ 'debugger_{0}'.format(major_ver),
+ 'libipt', 'intel64', 'lib'))
+ run_env.set('GDBSERVER_MIC',
+ join_path(self.prefix,
+ 'debugger_{0}'.format(major_ver), 'gdb',
+ 'targets', 'mic', 'bin', 'gdbserver'))
+ run_env.set('GDB_CROSS',
+ join_path(self.prefix,
+ 'debugger_{0}'.format(major_ver),
+ 'gdb', 'intel64_mic', 'bin', 'gdb-mic'))
+ run_env.set('MPM_LAUNCHER',
+ join_path(self.prefix,
+ 'debugger_{0}'.format(major_ver), 'mpm',
+ 'mic',
+ 'bin', 'start_mpm.sh'))
+ run_env.set('INTEL_PYTHONHOME',
+ join_path(self.prefix,
+ 'debugger_{0}'.format(major_ver), 'python',
+ 'intel64'))
+
+ if (self.spec.satisfies('+all') or self.spec.satisfies('+mpi')):
+ # Only I_MPI_ROOT is set here because setting the various PATH
+ # variables will potentially be in conflict with other MPI
+ # environment modules. The I_MPI_ROOT environment variable can be
+ # used as a base to set necessary PATH variables for using Intel
+ # MPI. It is also possible to set the variables in the modules.yaml
+ # file if Intel MPI is the dominant, or only, MPI on a system.
+ run_env.set('I_MPI_ROOT', join_path(self.prefix, 'impi'))
+
+ if self.spec.satisfies('+all') or self.spec.satisfies('+mkl'):
+ spack_env.set('MKLROOT', self.prefix)
+
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'mkl', 'lib',
+ 'intel64'))
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'mkl', 'lib',
+ 'intel64'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'mkl', 'include'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'mkl', 'lib', 'mic'))
+ run_env.set('MKLROOT', join_path(self.prefix, 'mkl'))
+
+ if self.spec.satisfies('+all') or self.spec.satisfies('+daal'):
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'daal', 'lib',
+ 'intel64_lin'))
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'daal', 'lib',
+ 'intel64_lin'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'daal', 'include'))
+ run_env.prepend_path('CLASSPATH',
+ join_path(self.prefix, 'daal', 'lib',
+ 'daal.jar'))
+ run_env.set('DAALROOT', join_path(self.prefix, 'daal'))
+
+ if self.spec.satisfies('+all') or self.spec.satisfies('+ipp'):
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'ipp', 'lib',
+ 'intel64'))
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'ipp', 'lib',
+ 'intel64'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'ipp', 'include'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'ipp', 'lib', 'mic'))
+ run_env.set('IPPROOT', join_path(self.prefix, 'ipp'))
diff --git a/var/spack/repos/builtin/packages/intel/package.py b/var/spack/repos/builtin/packages/intel/package.py
index 56d9fabddf..26134a12ae 100644
--- a/var/spack/repos/builtin/packages/intel/package.py
+++ b/var/spack/repos/builtin/packages/intel/package.py
@@ -49,13 +49,6 @@ class IntelInstaller(Package):
def install(self, spec, prefix):
- # Remove the installation DB, otherwise it will try to install into
- # location of other Intel builds
- if os.path.exists(os.path.join(os.environ["HOME"], "intel",
- "intel_sdp_products.db")):
- os.remove(os.path.join(os.environ["HOME"], "intel",
- "intel_sdp_products.db"))
-
if not hasattr(self, "intel_prefix"):
self.intel_prefix = self.prefix
@@ -66,12 +59,14 @@ ACCEPT_EULA=accept
PSET_MODE=install
CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes
PSET_INSTALL_DIR=%s
+NONRPM_DB_DIR=%s
ACTIVATION_LICENSE_FILE=%s
ACTIVATION_TYPE=license_file
PHONEHOME_SEND_USAGE_DATA=no
CONTINUE_WITH_OPTIONAL_ERROR=yes
COMPONENTS=%s
-""" % (self.intel_prefix, self.global_license_file, self.intel_components))
+""" % (self.intel_prefix, self.intel_prefix, self.global_license_file,
+ self.intel_components))
install_script = Executable("./install.sh")
install_script('--silent', silent_config_filename)
@@ -88,10 +83,10 @@ class Intel(IntelInstaller):
# TODO: can also try the online installer (will download files on demand)
version('16.0.2', '1133fb831312eb519f7da897fec223fa',
- url="file://%s/parallel_studio_xe_2016_composer_edition_update2.tgz" # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_composer_edition_update2.tgz"
% os.getcwd())
version('16.0.3', '3208eeabee951fc27579177b593cefe9',
- url="file://%s/parallel_studio_xe_2016_composer_edition_update3.tgz" # NOQA: ignore=E501
+ url="file://%s/parallel_studio_xe_2016_composer_edition_update3.tgz"
% os.getcwd())
variant('rpath', default=True, description="Add rpath to .cfg files")
@@ -111,8 +106,8 @@ class Intel(IntelInstaller):
self.prefix.lib, "intel64", "libimf.a")))[0]
# symlink or copy?
- os.symlink(self.global_license_file, os.path.join(absbindir,
- "license.lic"))
+ os.symlink(self.global_license_file,
+ os.path.join(absbindir, "license.lic"))
if spec.satisfies('+rpath'):
for compiler_command in ["icc", "icpc", "ifort"]:
@@ -123,3 +118,35 @@ class Intel(IntelInstaller):
os.symlink(os.path.join(self.prefix.man, "common", "man1"),
os.path.join(self.prefix.man, "man1"))
+
+ def setup_environment(self, spack_env, run_env):
+
+ # Remove paths that were guessed but are incorrect for this package.
+ run_env.remove_path('LIBRARY_PATH',
+ join_path(self.prefix, 'lib'))
+ run_env.remove_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib'))
+ run_env.remove_path('CPATH',
+ join_path(self.prefix, 'include'))
+
+ # Add the default set of variables
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'intel64'))
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'intel64'))
+ run_env.prepend_path('LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib',
+ 'intel64', 'gcc4.4'))
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib',
+ 'intel64', 'gcc4.4'))
+ run_env.prepend_path('CPATH',
+ join_path(self.prefix, 'tbb', 'include'))
+ run_env.prepend_path('MIC_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'mic'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'lib', 'mic'))
+ run_env.prepend_path('MIC_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib', 'mic'))
+ run_env.prepend_path('MIC_LD_LIBRARY_PATH',
+ join_path(self.prefix, 'tbb', 'lib', 'mic'))
diff --git a/var/spack/repos/builtin/packages/intltool/package.py b/var/spack/repos/builtin/packages/intltool/package.py
index 48830c474a..e934734691 100644
--- a/var/spack/repos/builtin/packages/intltool/package.py
+++ b/var/spack/repos/builtin/packages/intltool/package.py
@@ -24,8 +24,12 @@
##############################################################################
from spack import *
+
class Intltool(Package):
- """intltool is a set of tools to centralize translation of many different file formats using GNU gettext-compatible PO files."""
+ """intltool is a set of tools to centralize translation of many different
+ file formats using GNU gettext-compatible PO files.
+
+ """
homepage = 'https://freedesktop.org/wiki/Software/intltool/'
version('0.51.0', '12e517cac2b57a0121cda351570f1e63')
@@ -37,7 +41,7 @@ class Intltool(Package):
def install(self, spec, prefix):
# configure, build, install:
- options = ['--prefix=%s' % prefix ]
+ options = ['--prefix=%s' % prefix]
configure(*options)
make()
make('install')
diff --git a/var/spack/repos/builtin/packages/ior/package.py b/var/spack/repos/builtin/packages/ior/package.py
index 6aa72e5cc9..b8825c0fe4 100644
--- a/var/spack/repos/builtin/packages/ior/package.py
+++ b/var/spack/repos/builtin/packages/ior/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class Ior(Package):
"""The IOR software is used for benchmarking parallel file systems
using POSIX, MPI-IO, or HDF5 interfaces."""
@@ -41,7 +42,6 @@ class Ior(Package):
depends_on('hdf5+mpi', when='+hdf5')
depends_on('netcdf+mpi', when='+ncmpi')
-
def install(self, spec, prefix):
os.system('./bootstrap')
diff --git a/var/spack/repos/builtin/packages/ipopt/package.py b/var/spack/repos/builtin/packages/ipopt/package.py
index 3bd21df89e..d5981e9975 100644
--- a/var/spack/repos/builtin/packages/ipopt/package.py
+++ b/var/spack/repos/builtin/packages/ipopt/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Ipopt(Package):
"""Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a
software package for large-scale nonlinear optimization."""
@@ -39,8 +40,8 @@ class Ipopt(Package):
depends_on("blas")
depends_on("lapack")
depends_on("pkg-config", type='build')
- depends_on("mumps+double~mpi")
-
+ depends_on("mumps+double~mpi")
+
def install(self, spec, prefix):
# Dependency directories
blas_dir = spec['blas'].prefix
@@ -55,7 +56,7 @@ class Ipopt(Package):
# By convention, spack links blas & lapack libs to libblas & liblapack
blas_lib = "-L%s" % blas_dir.lib + " -lblas"
lapack_lib = "-L%s" % lapack_dir.lib + " -llapack"
-
+
configure_args = [
"--prefix=%s" % prefix,
"--with-mumps-incdir=%s" % mumps_dir.include,
@@ -65,8 +66,8 @@ class Ipopt(Package):
"--with-blas-lib=%s" % blas_lib,
"--with-lapack-incdir=%s" % lapack_dir.include,
"--with-lapack-lib=%s" % lapack_lib
- ]
-
+ ]
+
configure(*configure_args)
# IPOPT does not build correctly in parallel on OS X
diff --git a/var/spack/repos/builtin/packages/isl/package.py b/var/spack/repos/builtin/packages/isl/package.py
index f456f62225..259f4881f5 100644
--- a/var/spack/repos/builtin/packages/isl/package.py
+++ b/var/spack/repos/builtin/packages/isl/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Isl(Package):
"""isl is a thread-safe C library for manipulating sets and
relations of integer points bounded by affine constraints."""
diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py
index 2ec86f05e3..63bf6514cb 100644
--- a/var/spack/repos/builtin/packages/jdk/package.py
+++ b/var/spack/repos/builtin/packages/jdk/package.py
@@ -22,24 +22,25 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-#------------------------------------------------------------------------------
+#
# Author: Justin Too <too1@llnl.gov>
-#------------------------------------------------------------------------------
-import distutils
-from distutils import dir_util
-from subprocess import call
+#
+import distutils.dir_util
import spack
from spack import *
import llnl.util.tty as tty
+
class Jdk(Package):
"""The Java Development Kit (JDK) released by Oracle Corporation
in the form of a binary product aimed at Java developers."""
homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
version('8u66-linux-x64', '88f31f3d642c3287134297b8c10e61bf',
- url="http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz")
+ url="http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz")
+ version('8u92-linux-x64', '65a1cc17ea362453a6e0eb4f13be76e4',
+ url="http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.tar.gz")
# Oracle requires that you accept their License Agreement in order
# to access the Java packages in download.oracle.com. In order to
@@ -47,9 +48,9 @@ class Jdk(Package):
# commandline options.
#
# See http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux
- curl_options=[
- '-j', # junk cookies
- '-H', # specify required License Agreement cookie
+ curl_options = [
+ '-j', # junk cookies
+ '-H', # specify required License Agreement cookie
'Cookie: oraclelicense=accept-securebackup-cookie']
def do_fetch(self, mirror_only=False):
@@ -65,6 +66,5 @@ class Jdk(Package):
# Now perform the actual fetch
super(Jdk, self).do_fetch(mirror_only)
-
def install(self, spec, prefix):
distutils.dir_util.copy_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py
index a67754a513..f5a983b7a9 100644
--- a/var/spack/repos/builtin/packages/jemalloc/package.py
+++ b/var/spack/repos/builtin/packages/jemalloc/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class Jemalloc(Package):
- """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support."""
+ """jemalloc is a general purpose malloc(3) implementation that emphasizes
+ fragmentation avoidance and scalable concurrency support."""
homepage = "http://www.canonware.com/jemalloc/"
url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
@@ -36,7 +38,7 @@ class Jemalloc(Package):
variant('prof', default=False, description='Enable heap profiling')
def install(self, spec, prefix):
- configure_args = ['--prefix=%s' % prefix,]
+ configure_args = ['--prefix=%s' % prefix, ]
if '+stats' in spec:
configure_args.append('--enable-stats')
diff --git a/var/spack/repos/builtin/packages/jpeg/package.py b/var/spack/repos/builtin/packages/jpeg/package.py
index e4a9d8535b..594240d950 100644
--- a/var/spack/repos/builtin/packages/jpeg/package.py
+++ b/var/spack/repos/builtin/packages/jpeg/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Jpeg(Package):
"""libjpeg is a widely used free library with functions for handling the
JPEG image data format. It implements a JPEG codec (encoding and decoding)
diff --git a/var/spack/repos/builtin/packages/judy/package.py b/var/spack/repos/builtin/packages/judy/package.py
index 8d47767ef0..8b8b261e53 100644
--- a/var/spack/repos/builtin/packages/judy/package.py
+++ b/var/spack/repos/builtin/packages/judy/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class Judy(Package):
- """A general-purpose dynamic array, associative array and hash-trie - Judy"""
+ """Judy: General-purpose dynamic array, associative array and hash-trie."""
homepage = "http://judy.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz"
diff --git a/var/spack/repos/builtin/packages/kdiff3/package.py b/var/spack/repos/builtin/packages/kdiff3/package.py
new file mode 100644
index 0000000000..48f4b9c379
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kdiff3/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 Kdiff3(Package):
+ """Compare and merge 2 or 3 files or directories."""
+ homepage = "http://kdiff3.sourceforge.net/"
+ url = "https://downloads.sourceforge.net/project/kdiff3/kdiff3/0.9.98/kdiff3-0.9.98.tar.gz"
+
+ version('0.9.98', 'b52f99f2cf2ea75ed5719315cbf77446')
+
+ depends_on("qt@5.2.0:")
+
+ def install(self, spec, prefix):
+ # make is done inside
+ configure('qt4')
+
+ # there is no make install, bummer...
+ mkdirp(self.prefix.bin)
+ install(join_path(self.stage.source_path, 'releaseQt', 'kdiff3'),
+ self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kealib/package.py b/var/spack/repos/builtin/packages/kealib/package.py
index 7c73c4518b..5346fc8cb9 100644
--- a/var/spack/repos/builtin/packages/kealib/package.py
+++ b/var/spack/repos/builtin/packages/kealib/package.py
@@ -24,20 +24,21 @@
##############################################################################
from spack import *
+
class Kealib(Package):
"""An HDF5 Based Raster File Format
-
+
KEALib provides an implementation of the GDAL data model.
The format supports raster attribute tables, image pyramids,
meta-data and in-built statistics while also handling very
large files and compression throughout.
-
+
Based on the HDF5 standard, it also provides a base from which
other formats can be derived and is a good choice for long
term data archiving. An independent software library (libkea)
provides complete access to the KEA image format and a GDAL
driver allowing KEA images to be used from any GDAL supported software.
-
+
Development work on this project has been funded by Landcare Research.
"""
homepage = "http://kealib.org/"
@@ -51,7 +52,8 @@ class Kealib(Package):
with working_dir('trunk', create=False):
cmake_args = []
cmake_args.append("-DCMAKE_INSTALL_PREFIX=%s" % prefix)
- cmake_args.append("-DHDF5_INCLUDE_DIR=%s" % spec['hdf5'].prefix.include)
+ cmake_args.append("-DHDF5_INCLUDE_DIR=%s" %
+ spec['hdf5'].prefix.include)
cmake_args.append("-DHDF5_LIB_PATH=%s" % spec['hdf5'].prefix.lib)
cmake('.', *cmake_args)
diff --git a/var/spack/repos/builtin/packages/kripke/package.py b/var/spack/repos/builtin/packages/kripke/package.py
index d405e9a51d..cf8d2b7e39 100644
--- a/var/spack/repos/builtin/packages/kripke/package.py
+++ b/var/spack/repos/builtin/packages/kripke/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Kripke(Package):
"""Kripke is a simple, scalable, 3D Sn deterministic particle
transport proxy/mini app.
diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py
index 8aa6d72727..d7c96a03d8 100644
--- a/var/spack/repos/builtin/packages/launchmon/package.py
+++ b/var/spack/repos/builtin/packages/launchmon/package.py
@@ -29,7 +29,7 @@ class Launchmon(Package):
"""Software infrastructure that enables HPC run-time tools to
co-locate tool daemons with a parallel job."""
homepage = "https://github.com/LLNL/LaunchMON"
- url = "https://github.com/LLNL/LaunchMON/releases/download/v1.0.2/launchmon-v1.0.2.tar.gz" # NOQA: ignore=E501
+ url = "https://github.com/LLNL/LaunchMON/releases/download/v1.0.2/launchmon-v1.0.2.tar.gz"
version('1.0.2', '8d6ba77a0ec2eff2fde2c5cc8fa7ff7a')
diff --git a/var/spack/repos/builtin/packages/lcms/package.py b/var/spack/repos/builtin/packages/lcms/package.py
index 434d8e6c98..4d3fc59568 100644
--- a/var/spack/repos/builtin/packages/lcms/package.py
+++ b/var/spack/repos/builtin/packages/lcms/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Lcms(Package):
"""Little cms is a color management library. Implements fast
transforms between ICC profiles. It is focused on speed, and is
diff --git a/var/spack/repos/builtin/packages/leveldb/package.py b/var/spack/repos/builtin/packages/leveldb/package.py
index 408f1d31c1..f571baa1ce 100644
--- a/var/spack/repos/builtin/packages/leveldb/package.py
+++ b/var/spack/repos/builtin/packages/leveldb/package.py
@@ -22,10 +22,10 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
import glob
from spack import *
+
class Leveldb(Package):
"""LevelDB is a fast key-value storage library written at Google
that provides an ordered mapping from string keys to string values."""
diff --git a/var/spack/repos/builtin/packages/libNBC/package.py b/var/spack/repos/builtin/packages/libNBC/package.py
index ed1d0ce96f..414498a37a 100644
--- a/var/spack/repos/builtin/packages/libNBC/package.py
+++ b/var/spack/repos/builtin/packages/libNBC/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libnbc(Package):
"""LibNBC is a prototypic implementation of a nonblocking
interface for MPI collective operations. Based on ANSI C and
diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py
index f11d732afa..0cf3932957 100644
--- a/var/spack/repos/builtin/packages/libarchive/package.py
+++ b/var/spack/repos/builtin/packages/libarchive/package.py
@@ -24,6 +24,7 @@
##############################################################################
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."""
diff --git a/var/spack/repos/builtin/packages/libatomic-ops/package.py b/var/spack/repos/builtin/packages/libatomic-ops/package.py
new file mode 100644
index 0000000000..0167fbcb33
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libatomic-ops/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 LibatomicOps(Package):
+ """This package provides semi-portable access to hardware-provided
+ atomic memory update operations on a number architectures."""
+
+ homepage = "https://github.com/ivmai/libatomic_ops"
+ url = "http://www.hboehm.info/gc/gc_source/libatomic_ops-7.4.4.tar.gz"
+
+ version('7.4.4', '426d804baae12c372967a6d183e25af2')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix),
+ '--enable-shared')
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libcerf/package.py b/var/spack/repos/builtin/packages/libcerf/package.py
index b30d76f4e9..7fb47f8dcd 100644
--- a/var/spack/repos/builtin/packages/libcerf/package.py
+++ b/var/spack/repos/builtin/packages/libcerf/package.py
@@ -27,9 +27,10 @@ from spack import *
class Libcerf(Package):
- """
- A self-contained C library providing complex error functions, based on Faddeeva's plasma dispersion function
- w(z). Also provides Dawson's integral and Voigt's convolution of a Gaussian and a Lorentzian
+ """A self-contained C library providing complex error functions, based
+ on Faddeeva's plasma dispersion function w(z). Also provides Dawson's
+ integral and Voigt's convolution of a Gaussian and a Lorentzian
+
"""
homepage = "http://sourceforge.net/projects/libcerf"
url = "http://downloads.sourceforge.net/project/libcerf/libcerf-1.3.tgz"
diff --git a/var/spack/repos/builtin/packages/libcircle/package.py b/var/spack/repos/builtin/packages/libcircle/package.py
index 75fdb96125..971c29f5f1 100644
--- a/var/spack/repos/builtin/packages/libcircle/package.py
+++ b/var/spack/repos/builtin/packages/libcircle/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Libcircle(Package):
"""libcircle provides an efficient distributed queue on a cluster,
using self-stabilizing work stealing."""
@@ -32,7 +32,7 @@ class Libcircle(Package):
homepage = "https://github.com/hpc/libcircle"
version('0.2.1-rc.1', '2b1369a5736457239f908abf88143ec2',
- url='https://github.com/hpc/libcircle/releases/download/0.2.1-rc.1/libcircle-0.2.1-rc.1.tar.gz')
+ url='https://github.com/hpc/libcircle/releases/download/0.2.1-rc.1/libcircle-0.2.1-rc.1.tar.gz')
depends_on('mpi')
diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py
new file mode 100644
index 0000000000..53d30ce5c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libctl/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 Libctl(Package):
+ """libctl is a free Guile-based library implementing flexible
+ control files for scientific simulations."""
+
+ homepage = "http://ab-initio.mit.edu/wiki/index.php/Libctl"
+ url = "http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz"
+
+ version('3.2.2', '5fd7634dc9ae8e7fa70a68473b9cbb68')
+
+ depends_on('guile')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix),
+ '--enable-shared',
+ 'GUILE={0}'.format(join_path(
+ spec['guile'].prefix.bin, 'guile')),
+ 'GUILE_CONFIG={0}'.format(join_path(
+ spec['guile'].prefix.bin, 'guile-config')))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py
index b05412e588..543eab11b3 100644
--- a/var/spack/repos/builtin/packages/libdrm/package.py
+++ b/var/spack/repos/builtin/packages/libdrm/package.py
@@ -24,12 +24,13 @@
##############################################################################
from spack import *
+
class Libdrm(Package):
"""A userspace library for accessing the DRM, direct
rendering manager, on Linux, BSD and other operating
systems that support the ioctl interface."""
- homepage = "http://dri.freedesktop.org/libdrm/" # no real website...
+ homepage = "http://dri.freedesktop.org/libdrm/" # no real website...
url = "http://dri.freedesktop.org/libdrm/libdrm-2.4.59.tar.gz"
version('2.4.59', '105ac7af1afcd742d402ca7b4eb168b6')
diff --git a/var/spack/repos/builtin/packages/libedit/package.py b/var/spack/repos/builtin/packages/libedit/package.py
index 4366344679..235e7648bc 100644
--- a/var/spack/repos/builtin/packages/libedit/package.py
+++ b/var/spack/repos/builtin/packages/libedit/package.py
@@ -24,12 +24,14 @@
##############################################################################
from spack import *
+
class Libedit(Package):
"""An autotools compatible port of the NetBSD editline library"""
homepage = "http://thrysoee.dk/editline/"
url = "http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz"
- version('3.1', '43cdb5df3061d78b5e9d59109871b4f6', url="http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz")
+ version('3.1', '43cdb5df3061d78b5e9d59109871b4f6',
+ url="http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz")
depends_on('ncurses')
diff --git a/var/spack/repos/builtin/packages/libelf/package.py b/var/spack/repos/builtin/packages/libelf/package.py
index 1e1deea818..3304d27bdb 100644
--- a/var/spack/repos/builtin/packages/libelf/package.py
+++ b/var/spack/repos/builtin/packages/libelf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libelf(Package):
"""libelf lets you read, modify or create ELF object files in an
architecture-independent way. The library takes care of size
diff --git a/var/spack/repos/builtin/packages/libepoxy/package.py b/var/spack/repos/builtin/packages/libepoxy/package.py
new file mode 100644
index 0000000000..364ea1e30c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libepoxy/package.py
@@ -0,0 +1,39 @@
+##############################################################################
+# 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 Libepoxy(Package):
+ """Epoxy is a library for handling OpenGL function pointer management for
+ you."""
+ homepage = "https://github.com/anholt/libepoxy"
+ url = "https://github.com/anholt/libepoxy/releases/download/v1.3.1/libepoxy-1.3.1.tar.bz2"
+
+ version('1.3.1', '96f6620a9b005a503e7b44b0b528287d')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libevent/package.py b/var/spack/repos/builtin/packages/libevent/package.py
index 3ae427a2eb..65b3a716c0 100644
--- a/var/spack/repos/builtin/packages/libevent/package.py
+++ b/var/spack/repos/builtin/packages/libevent/package.py
@@ -24,11 +24,13 @@
##############################################################################
from spack import *
+
class Libevent(Package):
"""The libevent API provides a mechanism to execute a callback function
- when a specific event occurs on a file descriptor or after a timeout has been
- reached. Furthermore, libevent also support callbacks due to signals or regular
- timeouts.
+ when a specific event occurs on a file descriptor or after a
+ timeout has been reached. Furthermore, libevent also support
+ callbacks due to signals or regular timeouts.
+
"""
homepage = "http://libevent.org"
@@ -46,7 +48,8 @@ class Libevent(Package):
version('2.0.13', 'af786b4b3f790c9d3279792edf7867fc')
version('2.0.12', '42986228baf95e325778ed328a93e070')
- variant('openssl', default=True, description="Build with encryption enabled at the libevent level.")
+ variant('openssl', default=True,
+ description="Build with encryption enabled at the libevent level.")
depends_on('openssl', when='+openssl')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/libffi/package.py b/var/spack/repos/builtin/packages/libffi/package.py
index 1d3c85c8e0..fa113ee86c 100644
--- a/var/spack/repos/builtin/packages/libffi/package.py
+++ b/var/spack/repos/builtin/packages/libffi/package.py
@@ -24,18 +24,21 @@
##############################################################################
from spack import *
+
class Libffi(Package):
"""The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer
to call any function specified by a call interface description at
run time."""
homepage = "https://sourceware.org/libffi/"
-
- version('3.2.1','83b89587607e3eb65c70d361f13bab43',url = "ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz")
- #version('3.1', 'f5898b29bbfd70502831a212d9249d10',url = "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz") # Has a bug $(lib64) instead of ${lib64} in libffi.pc
+
+ version('3.2.1', '83b89587607e3eb65c70d361f13bab43',
+ url="ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz")
+ # version('3.1', 'f5898b29bbfd70502831a212d9249d10',url =
+ # "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz") # Has a bug
+ # $(lib64) instead of ${lib64} in libffi.pc
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/libgcrypt/package.py b/var/spack/repos/builtin/packages/libgcrypt/package.py
index b1a316cc1b..b556def4d3 100644
--- a/var/spack/repos/builtin/packages/libgcrypt/package.py
+++ b/var/spack/repos/builtin/packages/libgcrypt/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libgcrypt(Package):
"""Libgcrypt is a general purpose cryptographic library based on
the code from GnuPG. It provides functions for all cryptographic
diff --git a/var/spack/repos/builtin/packages/libgd/package.py b/var/spack/repos/builtin/packages/libgd/package.py
index 938f4f6f3b..acfdebb972 100644
--- a/var/spack/repos/builtin/packages/libgd/package.py
+++ b/var/spack/repos/builtin/packages/libgd/package.py
@@ -27,11 +27,14 @@ from spack import *
class Libgd(Package):
- """
- GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and
- "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images,
- among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the
- fly. While not restricted to use on the web, the most common applications of GD involve website development.
+ """GD is an open source code library for the dynamic creation of images
+ by programmers. GD is written in C, and "wrappers" are available
+ for Perl, PHP and other languages. GD creates PNG, JPEG, GIF,
+ WebP, XPM, BMP images, among other formats. GD is commonly used to
+ generate charts, graphics, thumbnails, and most anything else, on
+ the fly. While not restricted to use on the web, the most common
+ applications of GD involve website development.
+
"""
homepage = "https://github.com/libgd/libgd"
diff --git a/var/spack/repos/builtin/packages/libgpg-error/package.py b/var/spack/repos/builtin/packages/libgpg-error/package.py
index 3fe82a69e7..a0e2acd516 100644
--- a/var/spack/repos/builtin/packages/libgpg-error/package.py
+++ b/var/spack/repos/builtin/packages/libgpg-error/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class LibgpgError(Package):
"""Libgpg-error is a small library that defines common error
values for all GnuPG components. Among these are GPG, GPGSM,
diff --git a/var/spack/repos/builtin/packages/libgtextutils/package.py b/var/spack/repos/builtin/packages/libgtextutils/package.py
new file mode 100644
index 0000000000..201e031869
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libgtextutils/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 Libgtextutils(Package):
+ """Gordon's Text utils Library."""
+
+ homepage = "https://github.com/agordon/libgtextutils"
+ url = "https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz"
+
+ version('0.7', '593c7c62e3c76ec49f5736eed4f96806')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libhio/package.py b/var/spack/repos/builtin/packages/libhio/package.py
new file mode 100644
index 0000000000..17bd86d310
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libhio/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 Libhio(Package):
+ """
+ A library for writing to hierarchical data store systems.
+ """
+
+ homepage = "https://github.com/hpc/libhio/"
+ url = "https://github.com/hpc/libhio/releases/download/hio.1.3.0.1/libhio-1.3.0.1.tar.gz"
+
+ version('1.3.0.1', 'c073541de8dd70aeb8878bd00d6d877f')
+
+ depends_on("libjson-c")
+ depends_on("bzip2")
+ depends_on("pkg-config", type="build")
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py
new file mode 100644
index 0000000000..f2eeb07b26
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libiconv/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 Libiconv(Package):
+ """GNU libiconv provides an implementation of the iconv() function
+ and the iconv program for character set conversion."""
+
+ homepage = "https://www.gnu.org/software/libiconv/"
+ url = "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz"
+
+ version('1.14', 'e34509b1623cec449dfeb73d7ce9c6c6')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix),
+ '--enable-extra-encodings')
+
+ make()
+ make('check')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
index d1239ba0d9..6252a88542 100644
--- a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
+++ b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class LibjpegTurbo(Package):
"""libjpeg-turbo is a fork of the original IJG libjpeg which uses
SIMD to accelerate baseline JPEG compression and
diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py
index dd0903c4bd..a77aada79c 100644
--- a/var/spack/repos/builtin/packages/libmng/package.py
+++ b/var/spack/repos/builtin/packages/libmng/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libmng(Package):
"""libmng -THE reference library for reading, displaying, writing
and examining Multiple-Image Network Graphics. MNG is the animation
@@ -39,7 +40,8 @@ class Libmng(Package):
def patch(self):
# jpeg requires stdio to beincluded before its headrs.
- filter_file(r'^(\#include \<jpeglib\.h\>)', '#include<stdio.h>\n\\1', 'libmng_types.h')
+ filter_file(r'^(\#include \<jpeglib\.h\>)',
+ '#include<stdio.h>\n\\1', 'libmng_types.h')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index 883d8af405..f680baa265 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -24,19 +24,19 @@
##############################################################################
from spack import *
+
class Libmonitor(Package):
"""Libmonitor is a library for process and thread control."""
- homepage = "http://hpctoolkit.org"
-
- version('20130218', svn='http://libmonitor.googlecode.com/svn/trunk/', revision=146)
- variant('krellpatch', default=False, description="build with openspeedshop based patch.")
-
+ homepage = "https://github.com/HPCToolkit/libmonitor"
+ version('20130218', git='https://github.com/HPCToolkit/libmonitor.git',
+ commit='4f2311e')
+ variant('krellpatch', default=False,
+ description="build with openspeedshop based patch.")
patch('libmonitorkrell-0000.patch', when='@20130218+krellpatch')
patch('libmonitorkrell-0001.patch', when='@20130218+krellpatch')
patch('libmonitorkrell-0002.patch', when='@20130218+krellpatch')
-
def install(self, spec, prefix):
configure("--prefix=" + prefix)
make()
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index 91cef95cec..a65b81b69b 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os.path
+
class Libpciaccess(Package):
"""Generic PCI access library."""
diff --git a/var/spack/repos/builtin/packages/libpng/package.py b/var/spack/repos/builtin/packages/libpng/package.py
index 951b91eabd..1afe4911e6 100644
--- a/var/spack/repos/builtin/packages/libpng/package.py
+++ b/var/spack/repos/builtin/packages/libpng/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libpng(Package):
"""libpng graphics file format"""
homepage = "http://www.libpng.org/pub/png/libpng.html"
diff --git a/var/spack/repos/builtin/packages/libpthread-stubs/package.py b/var/spack/repos/builtin/packages/libpthread-stubs/package.py
index 4bcca43c24..ea36758a83 100644
--- a/var/spack/repos/builtin/packages/libpthread-stubs/package.py
+++ b/var/spack/repos/builtin/packages/libpthread-stubs/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class LibpthreadStubs(Package):
"""The libpthread-stubs package provides weak aliases for pthread
functions not provided in libc or otherwise available by
diff --git a/var/spack/repos/builtin/packages/libsigsegv/package.py b/var/spack/repos/builtin/packages/libsigsegv/package.py
index 14acdcbcd2..715d24bcf7 100644
--- a/var/spack/repos/builtin/packages/libsigsegv/package.py
+++ b/var/spack/repos/builtin/packages/libsigsegv/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libsigsegv(Package):
"""GNU libsigsegv is a library for handling page faults in user mode."""
homepage = "https://www.gnu.org/software/libsigsegv/"
diff --git a/var/spack/repos/builtin/packages/libsodium/package.py b/var/spack/repos/builtin/packages/libsodium/package.py
index 831a75e659..1c930e21dd 100644
--- a/var/spack/repos/builtin/packages/libsodium/package.py
+++ b/var/spack/repos/builtin/packages/libsodium/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libsodium(Package):
"""Sodium is a modern, easy-to-use software library for encryption,
decryption, signatures, password hashing and more."""
diff --git a/var/spack/repos/builtin/packages/libtermkey/package.py b/var/spack/repos/builtin/packages/libtermkey/package.py
index c7db959a40..64688505c4 100644
--- a/var/spack/repos/builtin/packages/libtermkey/package.py
+++ b/var/spack/repos/builtin/packages/libtermkey/package.py
@@ -24,17 +24,17 @@
##############################################################################
from spack import *
+
class Libtermkey(Package):
"""Easy keyboard entry processing for terminal programs"""
homepage = "http://www.leonerd.org.uk/code/libtermkey/"
url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz"
- version('0.18' , '3be2e3e5a851a49cc5e8567ac108b520')
- version('0.17' , '20edb99e0d95ec1690fe90e6a555ae6d')
- version('0.16' , '7a24b675aaeb142d30db28e7554987d4')
+ version('0.18', '3be2e3e5a851a49cc5e8567ac108b520')
+ version('0.17', '20edb99e0d95ec1690fe90e6a555ae6d')
+ version('0.16', '7a24b675aaeb142d30db28e7554987d4')
version('0.15b', '27689756e6c86c56ae454f2ac259bc3d')
- version('0.14' , 'e08ce30f440f9715c459060e0e048978')
-
+ version('0.14', 'e08ce30f440f9715c459060e0e048978')
def install(self, spec, prefix):
make()
diff --git a/var/spack/repos/builtin/packages/libtiff/package.py b/var/spack/repos/builtin/packages/libtiff/package.py
index 4b03e7997b..cef9fcaae5 100644
--- a/var/spack/repos/builtin/packages/libtiff/package.py
+++ b/var/spack/repos/builtin/packages/libtiff/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libtiff(Package):
"""libtiff graphics format library"""
homepage = "http://www.remotesensing.org/libtiff/"
diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py
new file mode 100644
index 0000000000..5b8837e72b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libunistring/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 Libunistring(Package):
+ """This library provides functions for manipulating Unicode strings
+ and for manipulating C strings according to the Unicode standard."""
+
+ homepage = "https://www.gnu.org/software/libunistring/"
+ url = "http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.6.tar.xz"
+
+ version('0.9.6', 'cb09c398020c27edac10ca590e9e9ef3')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ # make('check') # test-verify fails for me, contacted developers
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index 980b765c02..63ab4aec59 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libunwind(Package):
"""A portable and efficient C programming interface (API) to determine
the call-chain of a program."""
diff --git a/var/spack/repos/builtin/packages/libuuid/package.py b/var/spack/repos/builtin/packages/libuuid/package.py
index 0dd32ec77d..553f0dddb8 100644
--- a/var/spack/repos/builtin/packages/libuuid/package.py
+++ b/var/spack/repos/builtin/packages/libuuid/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libuuid(Package):
"""Portable uuid C library"""
# FIXME: add a proper url for your package's homepage here.
diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py
index 0d29270b38..dae10809f2 100644
--- a/var/spack/repos/builtin/packages/libuv/package.py
+++ b/var/spack/repos/builtin/packages/libuv/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libuv(Package):
"""Multi-platform library with a focus on asynchronous IO"""
homepage = "http://libuv.org"
diff --git a/var/spack/repos/builtin/packages/libvterm/package.py b/var/spack/repos/builtin/packages/libvterm/package.py
index e57af273ad..2e1ef99b98 100644
--- a/var/spack/repos/builtin/packages/libvterm/package.py
+++ b/var/spack/repos/builtin/packages/libvterm/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libvterm(Package):
"""An abstract library implementation of a terminal emulator"""
homepage = "http://www.leonerd.org.uk/code/libvterm/"
diff --git a/var/spack/repos/builtin/packages/libxau/package.py b/var/spack/repos/builtin/packages/libxau/package.py
index 55816ecdbd..b9215bc601 100644
--- a/var/spack/repos/builtin/packages/libxau/package.py
+++ b/var/spack/repos/builtin/packages/libxau/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libxau(Package):
"""The libXau package contains a library implementing the X11
Authorization Protocol. This is useful for restricting client
@@ -34,11 +35,10 @@ class Libxau(Package):
version('1.0.8', '685f8abbffa6d145c0f930f00703b21b')
depends_on('xproto')
+ depends_on('pkg-config', type='build')
def install(self, spec, prefix):
- # FIXME: Modify the configure line to suit your build system here.
configure('--prefix=%s' % prefix)
- # FIXME: Add logic to build and install here
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py
index 87437373d6..9ea4d1c326 100644
--- a/var/spack/repos/builtin/packages/libxc/package.py
+++ b/var/spack/repos/builtin/packages/libxc/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libxc(Package):
"""Libxc is a library of exchange-correlation functionals for
density-functional theory."""
@@ -33,7 +34,6 @@ class Libxc(Package):
version('2.2.2', 'd9f90a0d6e36df6c1312b6422280f2ec')
-
def install(self, spec, prefix):
configure('--prefix=%s' % prefix,
'--enable-shared')
diff --git a/var/spack/repos/builtin/packages/libxcb/package.py b/var/spack/repos/builtin/packages/libxcb/package.py
index 586eb970d8..82ddb2742e 100644
--- a/var/spack/repos/builtin/packages/libxcb/package.py
+++ b/var/spack/repos/builtin/packages/libxcb/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libxcb(Package):
"""The X protocol C-language Binding (XCB) is a replacement
for Xlib featuring a small footprint, latency hiding, direct
@@ -43,11 +44,14 @@ class Libxcb(Package):
depends_on('libxau')
def patch(self):
- filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')
-
+ filter_file(
+ 'typedef struct xcb_auth_info_t {',
+ 'typedef struct {',
+ 'src/xcb.h')
def install(self, spec, prefix):
- env['PKG_CONFIG_PATH'] = env['PKG_CONFIG_PATH'] + ':/usr/lib64/pkgconfig'
+ env['PKG_CONFIG_PATH'] = env[
+ 'PKG_CONFIG_PATH'] + ':/usr/lib64/pkgconfig'
configure("--prefix=%s" % prefix)
make()
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index a6dabd2c05..0f4810fa8a 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -36,7 +36,9 @@ class Libxml2(Package):
variant('python', default=False, description='Enable Python support')
- extends('python', when='+python', ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|(lib/xml2.*$)|(lib/cmake.*$)')
+ extends('python', when='+python',
+ ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|'
+ '(lib/xml2.*$)|(lib/cmake.*$)')
depends_on('zlib')
depends_on('xz')
diff --git a/var/spack/repos/builtin/packages/libxshmfence/package.py b/var/spack/repos/builtin/packages/libxshmfence/package.py
index 6d63ea6426..fe5d5667e9 100644
--- a/var/spack/repos/builtin/packages/libxshmfence/package.py
+++ b/var/spack/repos/builtin/packages/libxshmfence/package.py
@@ -24,11 +24,12 @@
##############################################################################
from spack import *
+
class Libxshmfence(Package):
"""This is a tiny library that exposes a event API on top of Linux
futexes."""
- homepage = "http://keithp.com/blogs/dri3_extension/" # not really...
+ homepage = "http://keithp.com/blogs/dri3_extension/" # not really...
url = "http://xorg.freedesktop.org/archive/individual/lib/libxshmfence-1.2.tar.gz"
version('1.2', 'f0b30c0fc568b22ec524859ee28556f1')
diff --git a/var/spack/repos/builtin/packages/libxslt/package.py b/var/spack/repos/builtin/packages/libxslt/package.py
index c6c439ad09..47d1c170c6 100644
--- a/var/spack/repos/builtin/packages/libxslt/package.py
+++ b/var/spack/repos/builtin/packages/libxslt/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libxslt(Package):
"""Libxslt is the XSLT C library developed for the GNOME
project. XSLT itself is a an XML language to define
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
new file mode 100644
index 0000000000..a736490600
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -0,0 +1,66 @@
+##############################################################################
+# 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 Libxsmm(Package):
+ '''LIBXSMM is a library for small dense and small sparse matrix-matrix
+ multiplications targeting Intel Architecture (x86).'''
+
+ homepage = 'https://github.com/hfp/libxsmm'
+ url = 'https://github.com/hfp/libxsmm/archive/1.4.3.tar.gz'
+
+ version('1.4.3', '9839bf0fb8be7badf1e97ce4c817149b')
+ version('1.4.2', 'ea025761437f3b5c936821b9ca21ec31')
+ version('1.4.1', '71648500ea4510529845d329091917df')
+ version('1.4', 'b42f91bf5285e7ad0463446e55ebdc2b')
+
+ def patch(self):
+ kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
+ makefile = FileFilter('Makefile.inc')
+
+ # Spack sets CC, CXX, and FC to point to the compiler wrappers
+ # Don't let Makefile.inc overwrite these
+ makefile.filter('CC = icc', 'CC ?= icc', **kwargs)
+ makefile.filter('CC = gcc', 'CC ?= gcc', **kwargs)
+ makefile.filter('CXX = icpc', 'CXX ?= icpc', **kwargs)
+ makefile.filter('CXX = g++', 'CXX ?= g++', **kwargs)
+ makefile.filter('FC = ifort', 'FC ?= ifort', **kwargs)
+ makefile.filter('FC = gfortran', 'FC ?= gfortran', **kwargs)
+
+ def manual_install(self, prefix):
+ install_tree('include', prefix.include)
+ install_tree('lib', prefix.lib)
+ install_tree('documentation', prefix.share + '/libxsmm/doc')
+
+ def install(self, spec, prefix):
+ make_args = [
+ 'ROW_MAJOR=0',
+ 'INDICES_M={0}'.format(' '.join(str(i) for i in range(1, 25))),
+ 'INDICES_N={0}'.format(' '.join(str(i) for i in range(1, 25))),
+ 'INDICES_K={0}'.format(' '.join(str(i) for i in range(1, 25)))
+ ]
+ make(*make_args)
+ self.manual_install(prefix)
diff --git a/var/spack/repos/builtin/packages/llvm-lld/package.py b/var/spack/repos/builtin/packages/llvm-lld/package.py
index 127fe1204d..1dcf88e3c0 100644
--- a/var/spack/repos/builtin/packages/llvm-lld/package.py
+++ b/var/spack/repos/builtin/packages/llvm-lld/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class LlvmLld(Package):
"""lld - The LLVM Linker
lld is a new set of modular code for creating linker tools."""
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index e79c123a7e..61ea8daac4 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -23,32 +23,51 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os, glob
+import os
class Llvm(Package):
"""The LLVM Project is a collection of modular and reusable compiler and
- toolchain technologies. Despite its name, LLVM has little to do with
- traditional virtual machines, though it does provide helpful libraries
- that can be used to build them. The name "LLVM" itself is not an acronym;
- it is the full name of the project.
+ toolchain technologies. Despite its name, LLVM has little to do
+ with traditional virtual machines, though it does provide helpful
+ libraries that can be used to build them. The name "LLVM" itself
+ is not an acronym; it is the full name of the project.
+
"""
homepage = 'http://llvm.org/'
url = 'http://llvm.org/releases/3.7.1/llvm-3.7.1.src.tar.xz'
- version('3.0', 'a8e5f5f1c1adebae7b4a654c376a6005', url='http://llvm.org/releases/3.0/llvm-3.0.tar.gz') # currently required by mesa package
+ # currently required by mesa package
+ version('3.0', 'a8e5f5f1c1adebae7b4a654c376a6005',
+ url='http://llvm.org/releases/3.0/llvm-3.0.tar.gz')
- variant('debug', default=False, description="Build a debug version of LLVM, this increases binary size by an order of magnitude, make sure you have 20-30gb of space available to build this")
- variant('clang', default=True, description="Build the LLVM C/C++/Objective-C compiler frontend")
+ variant('debug', default=False,
+ description="Build a debug version of LLVM, this increases "
+ "binary size by an order of magnitude, make sure you have "
+ "20-30gb of space available to build this")
+ variant('clang', default=True,
+ description="Build the LLVM C/C++/Objective-C compiler frontend")
variant('lldb', default=True, description="Build the LLVM debugger")
- variant('internal_unwind', default=True, description="Build the libcxxabi libunwind")
- variant('polly', default=True, description="Build the LLVM polyhedral optimization plugin, only builds for 3.7.0+")
- variant('libcxx', default=True, description="Build the LLVM C++ standard library")
- variant('compiler-rt', default=True, description="Build the LLVM compiler runtime, including sanitizers")
- variant('gold', default=True, description="Add support for LTO with the gold linker plugin")
- variant('shared_libs', default=False, description="Build all components as shared libraries, faster, less memory to build, less stable")
- variant('link_dylib', default=False, description="Build and link the libLLVM shared library rather than static")
- variant('all_targets', default=True, description="Build all supported targets, default targets <current arch>,NVPTX,AMDGPU,CppBackend")
+ variant('internal_unwind', default=True,
+ description="Build the libcxxabi libunwind")
+ variant('polly', default=True,
+ description="Build the LLVM polyhedral optimization plugin, "
+ "only builds for 3.7.0+")
+ variant('libcxx', default=True,
+ description="Build the LLVM C++ standard library")
+ variant('compiler-rt', default=True,
+ description="Build LLVM compiler runtime, including sanitizers")
+ variant('gold', default=True,
+ description="Add support for LTO with the gold linker plugin")
+ variant('shared_libs', default=False,
+ description="Build all components as shared libraries, faster, "
+ "less memory to build, less stable")
+ variant('link_dylib', default=False,
+ description="Build and link the libLLVM shared library rather "
+ "than static")
+ variant('all_targets', default=True,
+ description="Build all supported targets, default targets "
+ "<current arch>,NVPTX,AMDGPU,CppBackend")
# Build dependency
depends_on('cmake@2.8.12.2:', type='build')
@@ -68,147 +87,147 @@ class Llvm(Package):
depends_on('gmp', when='@:3.6.999 +polly')
depends_on('isl', when='@:3.6.999 +polly')
- base_url = 'http://llvm.org/releases/%%(version)s/%(pkg)s-%%(version)s.src.tar.xz'
- llvm_url = base_url % { 'pkg' : 'llvm'}
+ base_url = 'http://llvm.org/releases/%%(version)s/%(pkg)s-%%(version)s.src.tar.xz'
+ llvm_url = base_url % {'pkg': 'llvm'}
resources = {
- 'compiler-rt' : {
- 'url' : base_url % { 'pkg' : 'compiler-rt'},
- 'destination' : 'projects',
- 'placement' : 'compiler-rt',
- },
- 'openmp' : {
- 'url' : base_url % { 'pkg' : 'openmp'},
- 'destination' : 'projects',
- 'placement' : 'openmp',
- },
- 'libcxx' : {
- 'url' : base_url % { 'pkg' : 'libcxx'},
- 'destination' : 'projects',
- 'placement' : 'libcxx',
- },
- 'libcxxabi' : {
- 'url' : base_url % { 'pkg' : 'libcxxabi'},
- 'destination' : 'projects',
- 'placement' : 'libcxxabi',
- },
- 'clang' : {
- 'url' : base_url % { 'pkg' : 'cfe'},
- 'destination' : 'tools',
- 'placement' : 'clang',
- },
- 'clang-tools-extra' : {
- 'url' : base_url % { 'pkg' : 'clang-tools-extra'},
- 'destination' : 'tools/clang/tools',
- 'placement' : 'extra',
- },
- 'lldb' : {
- 'url' : base_url % { 'pkg' : 'lldb'},
- 'destination' : 'tools',
- 'placement' : 'lldb',
- },
- 'polly' : {
- 'url' : base_url % { 'pkg' : 'polly'},
- 'destination' : 'tools',
- 'placement' : 'polly',
- },
- 'llvm-libunwind' : {
- 'url' : base_url % { 'pkg' : 'libunwind'},
- 'destination' : 'projects',
- 'placement' : 'libunwind',
- },
- }
+ 'compiler-rt': {
+ 'url': base_url % {'pkg': 'compiler-rt'},
+ 'destination': 'projects',
+ 'placement': 'compiler-rt',
+ },
+ 'openmp': {
+ 'url': base_url % {'pkg': 'openmp'},
+ 'destination': 'projects',
+ 'placement': 'openmp',
+ },
+ 'libcxx': {
+ 'url': base_url % {'pkg': 'libcxx'},
+ 'destination': 'projects',
+ 'placement': 'libcxx',
+ },
+ 'libcxxabi': {
+ 'url': base_url % {'pkg': 'libcxxabi'},
+ 'destination': 'projects',
+ 'placement': 'libcxxabi',
+ },
+ 'clang': {
+ 'url': base_url % {'pkg': 'cfe'},
+ 'destination': 'tools',
+ 'placement': 'clang',
+ },
+ 'clang-tools-extra': {
+ 'url': base_url % {'pkg': 'clang-tools-extra'},
+ 'destination': 'tools/clang/tools',
+ 'placement': 'extra',
+ },
+ 'lldb': {
+ 'url': base_url % {'pkg': 'lldb'},
+ 'destination': 'tools',
+ 'placement': 'lldb',
+ },
+ 'polly': {
+ 'url': base_url % {'pkg': 'polly'},
+ 'destination': 'tools',
+ 'placement': 'polly',
+ },
+ 'llvm-libunwind': {
+ 'url': base_url % {'pkg': 'libunwind'},
+ 'destination': 'projects',
+ 'placement': 'libunwind',
+ },
+ }
releases = [
- {
- 'version' : 'trunk',
- 'repo' : 'http://llvm.org/svn/llvm-project/llvm/trunk',
- 'resources' : {
- 'compiler-rt' : 'http://llvm.org/svn/llvm-project/compiler-rt/trunk',
- 'openmp' : 'http://llvm.org/svn/llvm-project/openmp/trunk',
- 'polly' : 'http://llvm.org/svn/llvm-project/polly/trunk',
- 'libcxx' : 'http://llvm.org/svn/llvm-project/libcxx/trunk',
- 'libcxxabi' : 'http://llvm.org/svn/llvm-project/libcxxabi/trunk',
- 'clang' : 'http://llvm.org/svn/llvm-project/cfe/trunk',
- 'clang-tools-extra' : 'http://llvm.org/svn/llvm-project/clang-tools-extra/trunk',
- 'lldb' : 'http://llvm.org/svn/llvm-project/lldb/trunk',
- 'llvm-libunwind' : 'http://llvm.org/svn/llvm-project/libunwind/trunk',
- }
- },
- {
- 'version' : '3.8.0',
- 'md5':'07a7a74f3c6bd65de4702bf941b511a0',
- 'resources' : {
- 'compiler-rt' : 'd6fcbe14352ffb708e4d1ac2e48bb025',
- 'openmp' : '8fd7cc35d48051613cf1e750e9f22e40',
- 'polly' : '1b3b20f52d34a4024e21a4ea7112caa7',
- 'libcxx' : 'd6e0bdbbee39f7907ad74fd56d03b88a',
- 'libcxxabi' : 'bbe6b4d72c7c5978550d370af529bcf7',
- 'clang' : 'cc99e7019bb74e6459e80863606250c5',
- 'clang-tools-extra' : 'c2344f50e0eea0b402f0092a80ddc036',
- 'lldb' : 'a5da35ed9cc8c8817ee854e3dbfba00e',
- 'llvm-libunwind' : '162ade468607f153cca12be90b5194fa',
- }
- },
- {
- 'version' : '3.7.1',
- 'md5':'bf8b3a2c79e61212c5409041dfdbd319',
- 'resources' : {
- 'compiler-rt' : '1c6975daf30bb3b0473b53c3a1a6ff01',
- 'openmp' : 'b4ad08cda4e5c22e42b66062b140438e',
- 'polly' : '3a2a7367002740881637f4d47bca4dc3',
- 'libcxx' : 'f9c43fa552a10e14ff53b94d04bea140',
- 'libcxxabi' : '52d925afac9f97e9dcac90745255c169',
- 'clang' : '0acd026b5529164197563d135a8fd83e',
- 'clang-tools-extra' : '5d49ff745037f061a7c86aeb6a24c3d2',
- 'lldb' : 'a106d8a0d21fc84d76953822fbaf3398',
- 'llvm-libunwind' : '814bd52c9247c5d04629658fbcb3ab8c',
- }
- },
- {
- 'version' : '3.7.0',
- 'md5':'b98b9495e5655a672d6cb83e1a180f8e',
- 'resources' : {
- 'compiler-rt' : '383c10affd513026f08936b5525523f5',
- 'openmp' : 'f482c86fdead50ba246a1a2b0bbf206f',
- 'polly' : '32f93ffc9cc7e042df22089761558f8b',
- 'libcxx' : '46aa5175cbe1ad42d6e9c995968e56dd',
- 'libcxxabi' : '5aa769e2fca79fa5335cfae8f6258772',
- 'clang' : '8f9d27335e7331cf0a4711e952f21f01',
- 'clang-tools-extra' : 'd5a87dacb65d981a427a536f6964642e',
- 'lldb' : 'e5931740400d1dc3e7db4c7ba2ceff68',
- 'llvm-libunwind' : '9a75392eb7eb8ed5c0840007e212baf5',
- }
- },
- {
- 'version' : '3.6.2',
- 'md5':'0c1ee3597d75280dee603bae9cbf5cc2',
- 'resources' : {
- 'compiler-rt' : 'e3bc4eb7ba8c39a6fe90d6c988927f3c',
- 'openmp' : '65dd5863b9b270960a96817e9152b123',
- 'libcxx' : '22214c90697636ef960a49aef7c1823a',
- 'libcxxabi' : '17518e361e4e228f193dd91e8ef54ba2',
- 'clang' : 'ff862793682f714bb7862325b9c06e20',
- 'clang-tools-extra' : '3ebc1dc41659fcec3db1b47d81575e06',
- 'lldb' : '51e5eb552f777b950bb0ff326e60d5f0',
- }
- },
- {
- 'version' : '3.5.1',
- 'md5':'2d3d8004f38852aa679e5945b8ce0b14',
- 'resources' : {
- 'compiler-rt' : 'd626cfb8a9712cb92b820798ab5bc1f8',
- 'openmp' : '121ddb10167d7fc38b1f7e4b029cf059',
- 'libcxx' : '406f09b1dab529f3f7879f4d548329d2',
- 'libcxxabi' : 'b22c707e8d474a99865ad3c521c3d464',
- 'clang' : '93f9532f8f7e6f1d8e5c1116907051cb',
- 'clang-tools-extra' : 'f13f31ed3038acadc6fa63fef812a246',
- 'lldb' : 'cc5ea8a414c62c33e760517f8929a204',
- }
- },
- ]
+ {
+ 'version': 'trunk',
+ 'repo': 'http://llvm.org/svn/llvm-project/llvm/trunk',
+ 'resources': {
+ 'compiler-rt': 'http://llvm.org/svn/llvm-project/compiler-rt/trunk',
+ 'openmp': 'http://llvm.org/svn/llvm-project/openmp/trunk',
+ 'polly': 'http://llvm.org/svn/llvm-project/polly/trunk',
+ 'libcxx': 'http://llvm.org/svn/llvm-project/libcxx/trunk',
+ 'libcxxabi': 'http://llvm.org/svn/llvm-project/libcxxabi/trunk',
+ 'clang': 'http://llvm.org/svn/llvm-project/cfe/trunk',
+ 'clang-tools-extra': 'http://llvm.org/svn/llvm-project/clang-tools-extra/trunk',
+ 'lldb': 'http://llvm.org/svn/llvm-project/lldb/trunk',
+ 'llvm-libunwind': 'http://llvm.org/svn/llvm-project/libunwind/trunk',
+ }
+ },
+ {
+ 'version': '3.8.0',
+ 'md5': '07a7a74f3c6bd65de4702bf941b511a0',
+ 'resources': {
+ 'compiler-rt': 'd6fcbe14352ffb708e4d1ac2e48bb025',
+ 'openmp': '8fd7cc35d48051613cf1e750e9f22e40',
+ 'polly': '1b3b20f52d34a4024e21a4ea7112caa7',
+ 'libcxx': 'd6e0bdbbee39f7907ad74fd56d03b88a',
+ 'libcxxabi': 'bbe6b4d72c7c5978550d370af529bcf7',
+ 'clang': 'cc99e7019bb74e6459e80863606250c5',
+ 'clang-tools-extra': 'c2344f50e0eea0b402f0092a80ddc036',
+ 'lldb': 'a5da35ed9cc8c8817ee854e3dbfba00e',
+ 'llvm-libunwind': '162ade468607f153cca12be90b5194fa',
+ }
+ },
+ {
+ 'version': '3.7.1',
+ 'md5': 'bf8b3a2c79e61212c5409041dfdbd319',
+ 'resources': {
+ 'compiler-rt': '1c6975daf30bb3b0473b53c3a1a6ff01',
+ 'openmp': 'b4ad08cda4e5c22e42b66062b140438e',
+ 'polly': '3a2a7367002740881637f4d47bca4dc3',
+ 'libcxx': 'f9c43fa552a10e14ff53b94d04bea140',
+ 'libcxxabi': '52d925afac9f97e9dcac90745255c169',
+ 'clang': '0acd026b5529164197563d135a8fd83e',
+ 'clang-tools-extra': '5d49ff745037f061a7c86aeb6a24c3d2',
+ 'lldb': 'a106d8a0d21fc84d76953822fbaf3398',
+ 'llvm-libunwind': '814bd52c9247c5d04629658fbcb3ab8c',
+ }
+ },
+ {
+ 'version': '3.7.0',
+ 'md5': 'b98b9495e5655a672d6cb83e1a180f8e',
+ 'resources': {
+ 'compiler-rt': '383c10affd513026f08936b5525523f5',
+ 'openmp': 'f482c86fdead50ba246a1a2b0bbf206f',
+ 'polly': '32f93ffc9cc7e042df22089761558f8b',
+ 'libcxx': '46aa5175cbe1ad42d6e9c995968e56dd',
+ 'libcxxabi': '5aa769e2fca79fa5335cfae8f6258772',
+ 'clang': '8f9d27335e7331cf0a4711e952f21f01',
+ 'clang-tools-extra': 'd5a87dacb65d981a427a536f6964642e',
+ 'lldb': 'e5931740400d1dc3e7db4c7ba2ceff68',
+ 'llvm-libunwind': '9a75392eb7eb8ed5c0840007e212baf5',
+ }
+ },
+ {
+ 'version': '3.6.2',
+ 'md5': '0c1ee3597d75280dee603bae9cbf5cc2',
+ 'resources': {
+ 'compiler-rt': 'e3bc4eb7ba8c39a6fe90d6c988927f3c',
+ 'openmp': '65dd5863b9b270960a96817e9152b123',
+ 'libcxx': '22214c90697636ef960a49aef7c1823a',
+ 'libcxxabi': '17518e361e4e228f193dd91e8ef54ba2',
+ 'clang': 'ff862793682f714bb7862325b9c06e20',
+ 'clang-tools-extra': '3ebc1dc41659fcec3db1b47d81575e06',
+ 'lldb': '51e5eb552f777b950bb0ff326e60d5f0',
+ }
+ },
+ {
+ 'version': '3.5.1',
+ 'md5': '2d3d8004f38852aa679e5945b8ce0b14',
+ 'resources': {
+ 'compiler-rt': 'd626cfb8a9712cb92b820798ab5bc1f8',
+ 'openmp': '121ddb10167d7fc38b1f7e4b029cf059',
+ 'libcxx': '406f09b1dab529f3f7879f4d548329d2',
+ 'libcxxabi': 'b22c707e8d474a99865ad3c521c3d464',
+ 'clang': '93f9532f8f7e6f1d8e5c1116907051cb',
+ 'clang-tools-extra': 'f13f31ed3038acadc6fa63fef812a246',
+ 'lldb': 'cc5ea8a414c62c33e760517f8929a204',
+ }
+ },
+ ]
for release in releases:
- if release['version'] == 'trunk' :
+ if release['version'] == 'trunk':
version(release['version'], svn=release['repo'])
for name, repo in release['resources'].items():
@@ -230,18 +249,19 @@ class Llvm(Package):
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compiler.cxx11_flag
- cmake_args = [ arg for arg in std_cmake_args if 'BUILD_TYPE' not in arg ]
+ cmake_args = [arg for arg in std_cmake_args if 'BUILD_TYPE' not in arg]
build_type = 'RelWithDebInfo' if '+debug' in spec else 'Release'
cmake_args.extend([
- '..',
- '-DCMAKE_BUILD_TYPE=' + build_type,
- '-DLLVM_REQUIRES_RTTI:BOOL=ON',
- '-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp',
- '-DPYTHON_EXECUTABLE:PATH=%s/bin/python' % spec['python'].prefix ])
+ '..',
+ '-DCMAKE_BUILD_TYPE=' + build_type,
+ '-DLLVM_REQUIRES_RTTI:BOOL=ON',
+ '-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp',
+ '-DPYTHON_EXECUTABLE:PATH=%s/bin/python' % spec['python'].prefix])
if '+gold' in spec:
- cmake_args.append('-DLLVM_BINUTILS_INCDIR=' + os.path.join( spec['binutils'].prefix, 'include'))
+ cmake_args.append('-DLLVM_BINUTILS_INCDIR=' +
+ os.path.join(spec['binutils'].prefix, 'include'))
if '+polly' in spec:
cmake_args.append('-DLINK_POLLY_INTO_TOOLS:Bool=ON')
else:
@@ -265,7 +285,7 @@ class Llvm(Package):
if '+link_dylib' in spec:
cmake_args.append('-DLLVM_LINK_LLVM_DYLIB:Bool=ON')
- if '+all_targets' not in spec: # all is default on cmake
+ if '+all_targets' not in spec: # all is default on cmake
targets = ['CppBackend', 'NVPTX', 'AMDGPU']
if 'x86' in spec.architecture.target.lower():
targets.append('X86')
@@ -279,13 +299,16 @@ class Llvm(Package):
'power' in spec.architecture.target.lower()):
targets.append('PowerPC')
- cmake_args.append('-DLLVM_TARGETS_TO_BUILD:Bool=' + ';'.join(targets))
+ cmake_args.append(
+ '-DLLVM_TARGETS_TO_BUILD:Bool=' + ';'.join(targets))
- if '+clang' not in spec:
+ if '+clang' not in spec:
if '+clang_extra' in spec:
- raise SpackException('The clang_extra variant requires the clang variant to be selected')
+ raise SpackException(
+ 'The clang_extra variant requires the `+clang` variant.')
if '+lldb' in spec:
- raise SpackException('The lldb variant requires the clang variant to be selected')
+ raise SpackException(
+ 'The lldb variant requires the `+clang` variant')
with working_dir('spack-build', create=True):
cmake(*cmake_args)
diff --git a/var/spack/repos/builtin/packages/lmdb/package.py b/var/spack/repos/builtin/packages/lmdb/package.py
index 79c020b2df..8c6c23d8dc 100644
--- a/var/spack/repos/builtin/packages/lmdb/package.py
+++ b/var/spack/repos/builtin/packages/lmdb/package.py
@@ -25,12 +25,12 @@
import os
from spack import *
+
class Lmdb(Package):
"""Read-only mirror of official repo on openldap.org. Issues and
pull requests here are ignored. Use OpenLDAP ITS for issues.
http://www.openldap.org/software/repo.html"""
-
homepage = "http://www.openldap.org/software/repo.html"
url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.16.tar.gz"
diff --git a/var/spack/repos/builtin/packages/lmod/fix_tclsh_paths.patch b/var/spack/repos/builtin/packages/lmod/fix_tclsh_paths.patch
new file mode 100644
index 0000000000..70f0d47925
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lmod/fix_tclsh_paths.patch
@@ -0,0 +1,10 @@
+--- a/Makefile.in 2016-07-21 13:03:27.861000000 -0400
++++ b/Makefile.in 2016-07-21 13:03:58.416000000 -0400
+@@ -197,6 +197,7 @@
+ -e 's|@colorize@|$(COLORIZE)|g' \
+ -e 's|@duplicate_paths@|$(DUPLICATE_PATHS)|g' \
+ -e 's|@allow_tcl_mfiles@|$(ALLOW_TCL_MFILES)|g' \
++ -e 's|@path_to_tclsh@|$(PATH_TO_TCLSH)|g' \
+ -e 's|@mpath_avail@|$(MPATH_AVAIL)|g' \
+ -e 's|@short_time@|$(SHORT_TIME)|g' \
+ -e 's|@cacheDirs@|$(SPIDER_CACHE_DIRS)|g' \
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index efa235f646..69965bc423 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -23,6 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+from glob import glob
class Lmod(Package):
@@ -34,9 +35,10 @@ class Lmod(Package):
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' # NOQA: ignore=E501
+ homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod'
url = 'https://github.com/TACC/Lmod/archive/6.4.1.tar.gz'
+ version('6.4.5', '14f6c58dbc0a5a75574d795eac2c1e3c')
version('6.4.1', '7978ba777c8aa41a4d8c05fec5f780f4')
version('6.3.7', '0fa4d5a24c41cae03776f781aa2dedc1')
version('6.0.1', '91abf52fe5033bd419ffe2842ebe7af9')
@@ -44,6 +46,7 @@ class Lmod(Package):
depends_on('lua@5.2:')
depends_on('lua-luaposix', type=nolink)
depends_on('lua-luafilesystem', type=nolink)
+ depends_on('tcl', type=nolink)
parallel = False
@@ -53,6 +56,17 @@ class Lmod(Package):
spack_env.append_path('LUA_PATH', stage_lua_path.format(
version=self.version), separator=';')
+ patch('fix_tclsh_paths.patch', when='@:6.4.3')
+
+ def patch(self):
+ """The tcl scripts should use the tclsh that was discovered
+ by the configure script. Touch up their #! lines so that the
+ sed in the Makefile's install step has something to work on.
+ Requires the change in the associated patch file.fg"""
+ if self.spec.version <= Version('6.4.3'):
+ for tclscript in glob('src/*.tcl'):
+ filter_file(r'^#!.*tclsh', '#!@path_to_tclsh@', tclscript)
+
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
make('install')
diff --git a/var/spack/repos/builtin/packages/lwgrp/package.py b/var/spack/repos/builtin/packages/lwgrp/package.py
index 471098c873..9322d69b9b 100644
--- a/var/spack/repos/builtin/packages/lwgrp/package.py
+++ b/var/spack/repos/builtin/packages/lwgrp/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Lwgrp(Package):
"""Thie light-weight group library provides process group
representations using O(log N) space and time."""
diff --git a/var/spack/repos/builtin/packages/lwm2/package.py b/var/spack/repos/builtin/packages/lwm2/package.py
index 340474b47e..063204b84a 100644
--- a/var/spack/repos/builtin/packages/lwm2/package.py
+++ b/var/spack/repos/builtin/packages/lwm2/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Lwm2(Package):
"""LWM2: Light Weight Measurement Module. This is a PMPI module
that can collect a number of time-sliced MPI and POSIX I/O
diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py
index dcb306dcd3..b3bb5e61ce 100644
--- a/var/spack/repos/builtin/packages/m4/package.py
+++ b/var/spack/repos/builtin/packages/m4/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class M4(Package):
"""GNU M4 is an implementation of the traditional Unix macro processor."""
homepage = "https://www.gnu.org/software/m4/m4.html"
@@ -33,14 +34,16 @@ class M4(Package):
patch('pgi.patch', when='@1.4.17')
- variant('sigsegv', default=True, description="Build the libsigsegv dependency")
+ variant('sigsegv', default=True,
+ description="Build the libsigsegv dependency")
depends_on('libsigsegv', when='+sigsegv')
def install(self, spec, prefix):
configure_args = []
if 'libsigsegv' in spec:
- configure_args.append('--with-libsigsegv-prefix=%s' % spec['libsigsegv'].prefix)
+ configure_args.append('--with-libsigsegv-prefix=%s' %
+ spec['libsigsegv'].prefix)
else:
configure_args.append('--without-libsigsegv-prefix')
diff --git a/var/spack/repos/builtin/packages/mafft/package.py b/var/spack/repos/builtin/packages/mafft/package.py
new file mode 100644
index 0000000000..131b8c58f9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mafft/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 Mafft(Package):
+ """MAFFT is a multiple sequence alignment program for unix-like
+ operating systems. It offers a range of multiple alignment
+ methods, L-INS-i (accurate; for alignment of <~200 sequences),
+ FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc."""
+
+ homepage = "http://mafft.cbrc.jp/alignment/software/index.html"
+ url = "http://mafft.cbrc.jp/alignment/software/mafft-7.221-with-extensions-src.tgz"
+
+ version('7.221', 'b1aad911e51024d631722a2e061ba215')
+
+ def install(self, spec, prefix):
+ with working_dir('core'):
+ make('PREFIX=%s' % prefix)
+ make('PREFIX=%s' % prefix, 'install')
diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py
index 13c0ce768f..e1a42c0d9a 100644
--- a/var/spack/repos/builtin/packages/mbedtls/package.py
+++ b/var/spack/repos/builtin/packages/mbedtls/package.py
@@ -24,17 +24,21 @@
##############################################################################
from spack import *
+
class Mbedtls(Package):
- """
- mbed TLS (formerly known as PolarSSL) makes it trivially easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) products, facilitating this functionality with a minimal coding footprint.
+ """mbed TLS (formerly known as PolarSSL) makes it trivially easy for
+ developers to include cryptographic and SSL/TLS capabilities in
+ their (embedded) products, facilitating this functionality with a
+ minimal coding footprint.
+
"""
homepage = "https://tls.mbed.org"
url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz"
- version('2.2.1' , '73a38f96898d6d03e32f55dd9f9a67be')
- version('2.2.0' , 'eaf4586c1ef93ae872e606b6c1203942')
- version('2.1.4' , '40cdf67b6c6d92c9cbcfd552d39ea3ae')
- version('2.1.3' , '7eb4cf1dfa68578a2c8dbd0b6fa752dd')
+ version('2.2.1', '73a38f96898d6d03e32f55dd9f9a67be')
+ version('2.2.0', 'eaf4586c1ef93ae872e606b6c1203942')
+ version('2.1.4', '40cdf67b6c6d92c9cbcfd552d39ea3ae')
+ version('2.1.3', '7eb4cf1dfa68578a2c8dbd0b6fa752dd')
version('1.3.16', '4144d7320c691f721aeb9e67a1bc38e0')
depends_on('cmake', type='build')
diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py
new file mode 100644
index 0000000000..2c1018e711
--- /dev/null
+++ b/var/spack/repos/builtin/packages/meep/package.py
@@ -0,0 +1,109 @@
+##############################################################################
+# 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 Meep(Package):
+ """Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation
+ software package developed at MIT to model electromagnetic systems."""
+
+ homepage = "http://ab-initio.mit.edu/wiki/index.php/Meep"
+
+ version('1.3', '18a5b9e18008627a0411087e0bb60db5')
+ version('1.2.1', '9be2e743c3a832ae922de9d955d016c5')
+ version('1.1.1', '415e0cd312b6caa22b5dd612490e1ccf')
+
+ variant('blas', default=True, description='Enable BLAS support')
+ variant('lapack', default=True, description='Enable LAPACK support')
+ variant('harminv', default=True, description='Enable Harminv support')
+ variant('guile', default=True, description='Enable Guilde support')
+ variant('libctl', default=True, description='Enable libctl support')
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('hdf5', default=True, description='Enable HDF5 support')
+ variant('gsl', default=True, description='Enable GSL support')
+
+ depends_on('blas', when='+blas')
+ depends_on('lapack', when='+lapack')
+ depends_on('harminv', when='+harminv')
+ depends_on('guile', when='+guile')
+ depends_on('libctl@3.2:', when='+libctl')
+ depends_on('mpi', when='+mpi')
+ depends_on('hdf5~mpi', when='+hdf5~mpi')
+ depends_on('hdf5+mpi', when='+hdf5+mpi')
+ depends_on('gsl', when='+gsl')
+
+ def url_for_version(self, version):
+ base_url = "http://ab-initio.mit.edu/meep"
+ if version > Version('1.1.1'):
+ return "{0}/meep-{1}.tar.gz".format(base_url, version)
+ else:
+ return "{0}/old/meep-{1}.tar.gz".format(base_url, version)
+
+ def install(self, spec, prefix):
+ config_args = [
+ '--prefix={0}'.format(prefix),
+ '--enable-shared'
+ ]
+
+ if '+blas' in spec:
+ config_args.append('--with-blas={0}'.format(
+ spec['blas'].prefix.lib))
+ else:
+ config_args.append('--without-blas')
+
+ if '+lapack' in spec:
+ config_args.append('--with-lapack={0}'.format(
+ spec['lapack'].prefix.lib))
+ else:
+ config_args.append('--without-lapack')
+
+ if '+libctl' in spec:
+ config_args.append('--with-libctl={0}'.format(
+ join_path(spec['libctl'].prefix.share, 'libctl')))
+ else:
+ config_args.append('--without-libctl')
+
+ if '+mpi' in spec:
+ config_args.append('--with-mpi')
+ else:
+ config_args.append('--without-mpi')
+
+ if '+hdf5' in spec:
+ config_args.append('--with-hdf5')
+ else:
+ config_args.append('--without-hdf5')
+
+ configure(*config_args)
+
+ make()
+
+ # aniso_disp test fails unless installed with harminv
+ # near2far test fails unless installed with gsl
+ if self.run_tests and '+harminv' in spec and '+gsl' in spec:
+ # Most tests fail when run in parallel
+ # 2D_convergence tests still fails to converge for unknown reasons
+ make('check', parallel=False)
+
+ make('install')
diff --git a/var/spack/repos/builtin/packages/memaxes/package.py b/var/spack/repos/builtin/packages/memaxes/package.py
index 31672abaec..ffad167788 100644
--- a/var/spack/repos/builtin/packages/memaxes/package.py
+++ b/var/spack/repos/builtin/packages/memaxes/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Memaxes(Package):
"""MemAxes is a visualizer for sampled memory trace data."""
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py
index 3bad17b5cb..299b9a9267 100644
--- a/var/spack/repos/builtin/packages/mesa/package.py
+++ b/var/spack/repos/builtin/packages/mesa/package.py
@@ -24,13 +24,13 @@
##############################################################################
from spack import *
+
class Mesa(Package):
"""Mesa is an open-source implementation of the OpenGL
specification - a system for rendering interactive 3D graphics."""
homepage = "http://www.mesa3d.org"
url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/8.0.5/MesaLib-8.0.5.tar.gz"
- # url = "ftp://ftp.freedesktop.org/pub/mesa/10.4.4/MesaLib-10.4.4.tar.gz"
# version('10.4.4', '8d863a3c209bf5116b2babfccccc68ce')
version('8.0.5', 'cda5d101f43b8784fa60bdeaca4056f2')
@@ -50,7 +50,6 @@ class Mesa(Package):
# depends_on("libxcb")
# depends_on("libxshmfence")
-
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py
index 2180f2cce2..9f8ed5c9e8 100644
--- a/var/spack/repos/builtin/packages/metis/package.py
+++ b/var/spack/repos/builtin/packages/metis/package.py
@@ -43,12 +43,16 @@ class Metis(Package):
version('5.0.2', 'acb521a4e8c2e6dd559a7f9abd0468c5')
version('4.0.3', 'd3848b454532ef18dc83e4fb160d1e10')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds the library in debug mode')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds the library in debug mode')
variant('gdb', default=False, description='Enables gdb support')
- variant('idx64', default=False, description='Use int64_t as default index type')
- variant('real64', default=False, description='Use double precision floating point types')
+ variant('idx64', default=False,
+ description='Use int64_t as default index type')
+ variant('real64', default=False,
+ description='Use double precision floating point types')
depends_on('cmake@2.8:', when='@5:', type='build')
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index e7a1d96388..fd91f705eb 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -23,7 +23,9 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import glob, string
+import glob
+import string
+
class Mfem(Package):
"""Free, lightweight, scalable C++ library for finite element methods."""
@@ -31,10 +33,12 @@ class Mfem(Package):
homepage = 'http://www.mfem.org'
url = 'https://github.com/mfem/mfem'
- version('3.2', '2938c3deed4ec4f7fd5b5f5cfe656845282e86e2dcd477d292390058b7b94340',
+ version('3.2',
+ '2938c3deed4ec4f7fd5b5f5cfe656845282e86e2dcd477d292390058b7b94340',
url='http://goo.gl/Y9T75B', expand=False, preferred=True)
- version('3.1', '841ea5cf58de6fae4de0f553b0e01ebaab9cd9c67fa821e8a715666ecf18fc57',
+ version('3.1',
+ '841ea5cf58de6fae4de0f553b0e01ebaab9cd9c67fa821e8a715666ecf18fc57',
url='http://goo.gl/xrScXn', expand=False)
# version('3.1', git='https://github.com/mfem/mfem.git',
# commit='dbae60fe32e071989b52efaaf59d7d0eb2a3b574')
@@ -71,8 +75,9 @@ class Mfem(Package):
if '+suite-sparse' in spec and ('+metis' not in spec or
'+lapack' not in spec):
raise InstallError('mfem+suite-sparse must be built with ' +
- '+metis and +lapack!')
- if 'metis@5:' in spec and '%clang' in spec and ('^cmake %gcc' not in spec):
+ '+metis and +lapack!')
+ if 'metis@5:' in spec and '%clang' in spec and (
+ '^cmake %gcc' not in spec):
raise InstallError('To work around CMake bug with clang, must ' +
'build mfem with mfem[+variants] %clang ' +
'^cmake %gcc to force CMake to build with gcc')
@@ -86,15 +91,17 @@ class Mfem(Package):
if '+lapack' in spec:
lapack_lib = '-L{0} -llapack -L{1} -lblas'.format(
spec['lapack'].prefix.lib, spec['blas'].prefix.lib)
- options.extend(['MFEM_USE_LAPACK=YES',
- 'LAPACK_OPT=-I%s' % spec['lapack'].prefix.include,
- 'LAPACK_LIB=%s' % lapack_lib])
+ options.extend([
+ 'MFEM_USE_LAPACK=YES',
+ 'LAPACK_OPT=-I%s' % spec['lapack'].prefix.include,
+ 'LAPACK_LIB=%s' % lapack_lib])
if '+hypre' in spec:
- options.extend(['HYPRE_DIR=%s' % spec['hypre'].prefix,
- 'HYPRE_OPT=-I%s' % spec['hypre'].prefix.include,
- 'HYPRE_LIB=-L%s' % spec['hypre'].prefix.lib +
- ' -lHYPRE'])
+ options.extend([
+ 'HYPRE_DIR=%s' % spec['hypre'].prefix,
+ 'HYPRE_OPT=-I%s' % spec['hypre'].prefix.include,
+ 'HYPRE_LIB=-L%s' % spec['hypre'].prefix.lib +
+ ' -lHYPRE'])
if '+metis' in spec:
metis_lib = '-L%s -lmetis' % spec['metis'].prefix.lib
@@ -102,22 +109,26 @@ class Mfem(Package):
metis_str = 'MFEM_USE_METIS_5=YES'
else:
metis_str = 'MFEM_USE_METIS_5=NO'
- options.extend([metis_str,
- 'METIS_DIR=%s' % spec['metis'].prefix,
- 'METIS_OPT=-I%s' % spec['metis'].prefix.include,
- 'METIS_LIB=%s' % metis_lib])
+ options.extend([
+ metis_str,
+ 'METIS_DIR=%s' % spec['metis'].prefix,
+ 'METIS_OPT=-I%s' % spec['metis'].prefix.include,
+ 'METIS_LIB=%s' % metis_lib])
- if '+mpi' in spec: options.extend(['MFEM_USE_MPI=YES'])
+ if '+mpi' in spec:
+ options.extend(['MFEM_USE_MPI=YES'])
if '+suite-sparse' in spec:
ssp = spec['suite-sparse'].prefix
ss_lib = '-L%s' % ssp.lib
ss_lib += (' -lumfpack -lcholmod -lcolamd -lamd -lcamd' +
- ' -lccolamd -lsuitesparseconfig')
+ ' -lccolamd -lsuitesparseconfig')
no_librt_archs = ['darwin-i686', 'darwin-x86_64']
- no_rt = any(map(lambda a: spec.satisfies('='+a), no_librt_archs))
- if not no_rt: ss_lib += ' -lrt'
+ no_rt = any(map(lambda a: spec.satisfies('=' + a),
+ no_librt_archs))
+ if not no_rt:
+ ss_lib += ' -lrt'
ss_lib += (' ' + metis_lib + ' ' + lapack_lib)
options.extend(['MFEM_USE_SUITESPARSE=YES',
@@ -125,10 +136,11 @@ class Mfem(Package):
'SUITESPARSE_OPT=-I%s' % ssp.include,
'SUITESPARSE_LIB=%s' % ss_lib])
- if '+debug' in spec: options.extend(['MFEM_DEBUG=YES'])
+ if '+debug' in spec:
+ options.extend(['MFEM_DEBUG=YES'])
# Dirty hack to cope with URL redirect
- tgz_file = string.split(self.url,'/')[-1]
+ tgz_file = string.split(self.url, '/')[-1]
tar = which('tar')
tar('xzvf', tgz_file)
cd(glob.glob('mfem*')[0])
@@ -138,12 +150,12 @@ class Mfem(Package):
make('all')
# Run a small test before installation
- args = ['-m', join_path('data','star.mesh'), '--no-visualization']
+ args = ['-m', join_path('data', 'star.mesh'), '--no-visualization']
if '+mpi' in spec:
Executable(join_path(spec['mpi'].prefix.bin,
'mpirun'))('-np',
'4',
- join_path('examples','ex1p'),
+ join_path('examples', 'ex1p'),
*args)
else:
Executable(join_path('examples', 'ex1'))(*args)
diff --git a/var/spack/repos/builtin/packages/mkl/package.py b/var/spack/repos/builtin/packages/mkl/package.py
index 6ea64f5313..71a233ff3e 100644
--- a/var/spack/repos/builtin/packages/mkl/package.py
+++ b/var/spack/repos/builtin/packages/mkl/package.py
@@ -12,9 +12,9 @@ class Mkl(IntelInstaller):
mirror, see http://software.llnl.gov/spack/mirrors.html.
To set the threading layer at run time set MKL_THREADING_LAYER
- variable to one of the following values: INTEL, SEQUENTIAL, PGI.
+ variable to one of the following values: INTEL (default), SEQUENTIAL, PGI.
To set interface layer at run time, use set the MKL_INTERFACE_LAYER
- variable to LP64 or ILP64.
+ variable to LP64 (default) or ILP64.
"""
homepage = "https://software.intel.com/en-us/intel-mkl"
@@ -38,6 +38,13 @@ class Mkl(IntelInstaller):
for f in os.listdir(mkl_dir):
os.symlink(os.path.join(mkl_dir, f), os.path.join(self.prefix, f))
+ # Unfortunately MKL libs are natively distrubted in prefix/lib/intel64.
+ # To make MKL play nice with Spack, symlink all files to prefix/lib:
+ mkl_lib_dir = os.path.join(prefix, "lib", "intel64")
+ for f in os.listdir(mkl_lib_dir):
+ os.symlink(os.path.join(mkl_lib_dir, f),
+ os.path.join(self.prefix, "lib", f))
+
def setup_dependent_package(self, module, dspec):
# For now use Single Dynamic Library:
# To set the threading layer at run time, use the
@@ -53,6 +60,7 @@ class Mkl(IntelInstaller):
name = 'libmkl_rt.%s' % dso_suffix
libdir = find_library_path(name, self.prefix.lib64, self.prefix.lib)
+ # Now set blas/lapack libs:
self.spec.blas_shared_lib = join_path(libdir, name)
self.spec.lapack_shared_lib = self.spec.blas_shared_lib
diff --git a/var/spack/repos/builtin/packages/mpc/package.py b/var/spack/repos/builtin/packages/mpc/package.py
index 92eb976f8b..71cacd5dfe 100644
--- a/var/spack/repos/builtin/packages/mpc/package.py
+++ b/var/spack/repos/builtin/packages/mpc/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpc(Package):
"""Gnu Mpc is a C library for the arithmetic of complex numbers
with arbitrarily high precision and correct rounding of the
diff --git a/var/spack/repos/builtin/packages/mpe2/package.py b/var/spack/repos/builtin/packages/mpe2/package.py
index f69ea2d65b..a129d59949 100644
--- a/var/spack/repos/builtin/packages/mpe2/package.py
+++ b/var/spack/repos/builtin/packages/mpe2/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class Mpe2(Package):
- """Message Passing Extensions (MPE) -- Parallel, shared X window graphics"""
+ """Message Passing Extensions (MPE): Parallel, shared X window graphics"""
homepage = "http://www.mcs.anl.gov/research/projects/perfvis/software/MPE/"
url = "ftp://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2-1.3.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py
index ed3926a8ab..5777cd1926 100644
--- a/var/spack/repos/builtin/packages/mpfr/package.py
+++ b/var/spack/repos/builtin/packages/mpfr/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpfr(Package):
"""The MPFR library is a C library for multiple-precision
floating-point computations with correct rounding."""
diff --git a/var/spack/repos/builtin/packages/mpibash/package.py b/var/spack/repos/builtin/packages/mpibash/package.py
index e659663d90..f3feaaaa42 100644
--- a/var/spack/repos/builtin/packages/mpibash/package.py
+++ b/var/spack/repos/builtin/packages/mpibash/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Mpibash(Package):
"""Parallel scripting right from the Bourne-Again Shell (Bash)"""
homepage = "http://www.ccs3.lanl.gov/~pakin/software/mpibash-4.3.html"
diff --git a/var/spack/repos/builtin/packages/mpileaks/package.py b/var/spack/repos/builtin/packages/mpileaks/package.py
index 51bc66a0eb..ec4e9b30cc 100644
--- a/var/spack/repos/builtin/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin/packages/mpileaks/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class Mpileaks(Package):
- """Tool to detect and report leaked MPI objects like MPI_Requests and MPI_Datatypes."""
+ """Tool to detect and report leaked MPI objects like MPI_Requests and
+ MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py
index 3380c7f823..490e99dd83 100644
--- a/var/spack/repos/builtin/packages/mrnet/package.py
+++ b/var/spack/repos/builtin/packages/mrnet/package.py
@@ -24,34 +24,40 @@
##############################################################################
from spack import *
+
class Mrnet(Package):
"""The MRNet Multi-Cast Reduction Network."""
homepage = "http://paradyn.org/mrnet"
url = "ftp://ftp.cs.wisc.edu/paradyn/mrnet/mrnet_5.0.1.tar.gz"
list_url = "http://ftp.cs.wisc.edu/paradyn/mrnet"
- version('5.0.1-2', git='https://github.com/dyninst/mrnet.git', commit='20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9')
+ version('5.0.1-2', git='https://github.com/dyninst/mrnet.git',
+ commit='20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9')
version('5.0.1', '17f65738cf1b9f9b95647ff85f69ecdd')
version('4.1.0', '5a248298b395b329e2371bf25366115c')
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
- # Add a patch that brings mrnet-5.0.1 up to date with the current development tree
- # The development tree contains fixes needed for the krell based tools
- variant('krellpatch', default=False, description="Build MRNet with krell openspeedshop based patch.")
+ # Add a patch that brings mrnet-5.0.1 up to date with the current
+ # development tree The development tree contains fixes needed for the
+ # krell based tools
+ variant('krellpatch', default=False,
+ description="Build MRNet with krell openspeedshop based patch.")
patch('krell-5.0.1.patch', when='@5.0.1+krellpatch')
- variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries")
+ variant('lwthreads', default=False,
+ description="Also build the MRNet LW threadsafe libraries")
parallel = False
depends_on("boost")
def install(self, spec, prefix):
- # Build the MRNet LW thread safe libraries when the krelloptions variant is present
+ # Build the MRNet LW thread safe libraries when the krelloptions
+ # variant is present
if '+lwthreads' in spec:
- configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe")
+ configure("--prefix=%s" % prefix, "--enable-shared",
+ "--enable-ltwt-threadsafe")
else:
- configure("--prefix=%s" %prefix, "--enable-shared")
+ configure("--prefix=%s" % prefix, "--enable-shared")
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/msgpack-c/package.py b/var/spack/repos/builtin/packages/msgpack-c/package.py
index d42ac255d0..9a726e2356 100644
--- a/var/spack/repos/builtin/packages/msgpack-c/package.py
+++ b/var/spack/repos/builtin/packages/msgpack-c/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class MsgpackC(Package):
"""A small, fast binary interchange format convertible to/from JSON"""
homepage = "http://www.msgpack.org"
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index b85a6d2b94..32bc42a9c3 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -36,15 +36,24 @@ class Mumps(Package):
version('5.0.1', 'b477573fdcc87babe861f62316833db0')
- variant('mpi', default=True, description='Activate the compilation of MUMPS with the MPI support')
- variant('scotch', default=False, description='Activate Scotch as a possible ordering library')
- variant('ptscotch', default=False, description='Activate PT-Scotch as a possible ordering library')
- variant('metis', default=False, description='Activate Metis as a possible ordering library')
- variant('parmetis', default=False, description='Activate Parmetis as a possible ordering library')
- variant('double', default=True, description='Activate the compilation of dmumps')
- variant('float', default=True, description='Activate the compilation of smumps')
- variant('complex', default=True, description='Activate the compilation of cmumps and/or zmumps')
- variant('idx64', default=False, description='Use int64_t/integer*8 as default index type')
+ variant('mpi', default=True,
+ description='Compile MUMPS with MPI support')
+ variant('scotch', default=False,
+ description='Activate Scotch as a possible ordering library')
+ variant('ptscotch', default=False,
+ description='Activate PT-Scotch as a possible ordering library')
+ variant('metis', default=False,
+ description='Activate Metis as a possible ordering library')
+ variant('parmetis', default=False,
+ description='Activate Parmetis as a possible ordering library')
+ variant('double', default=True,
+ description='Activate the compilation of dmumps')
+ variant('float', default=True,
+ description='Activate the compilation of smumps')
+ variant('complex', default=True,
+ description='Activate the compilation of cmumps and/or zmumps')
+ variant('idx64', default=False,
+ description='Use int64_t/integer*8 as default index type')
variant('shared', default=True, description='Build shared libraries')
depends_on('scotch + esmumps', when='~ptscotch+scotch')
@@ -61,8 +70,10 @@ class Mumps(Package):
# end before install
# def patch(self):
def write_makefile_inc(self):
- if ('+parmetis' in self.spec or '+ptscotch' in self.spec) and '+mpi' not in self.spec: # NOQA: ignore=E501
- raise RuntimeError('You cannot use the variants parmetis or ptscotch without mpi') # NOQA: ignore=E501
+ if ('+parmetis' in self.spec or '+ptscotch' in self.spec) and (
+ '+mpi' not in self.spec):
+ raise RuntimeError(
+ 'You cannot use the variants parmetis or ptscotch without mpi')
makefile_conf = ["LIBBLAS = %s" % to_link_flags(
self.spec['blas'].blas_shared_lib)
@@ -115,7 +126,7 @@ class Mumps(Package):
# the fortran compilation flags most probably are
# working only for intel and gnu compilers this is
# perhaps something the compiler should provide
- ['OPTF = %s -O -DALLOW_NON_INIT %s' % (fpic, '-fdefault-integer-8' if self.compiler.name == "gcc" else '-i8'), # NOQA: ignore=E501
+ ['OPTF = %s -O -DALLOW_NON_INIT %s' % (fpic, '-fdefault-integer-8' if self.compiler.name == "gcc" else '-i8'), # noqa
'OPTL = %s -O ' % fpic,
'OPTC = %s -O -DINTSIZE64' % fpic])
else:
@@ -148,13 +159,13 @@ class Mumps(Package):
# 10.10. Use gfortran. (Homebrew)
makefile_conf.extend([
'LIBEXT=.dylib',
- 'AR=%s -dynamiclib -Wl,-install_name -Wl,%s/$(notdir $@) -undefined dynamic_lookup -o ' % (os.environ['FC'], prefix.lib), # NOQA: ignore=E501
+ 'AR=%s -dynamiclib -Wl,-install_name -Wl,%s/$(notdir $@) -undefined dynamic_lookup -o ' % (os.environ['FC'], prefix.lib), # noqa
'RANLIB=echo'
])
else:
makefile_conf.extend([
'LIBEXT=.so',
- 'AR=$(FL) -shared -Wl,-soname -Wl,%s/$(notdir $@) -o' % prefix.lib, # NOQA: ignore=E501
+ 'AR=$(FL) -shared -Wl,-soname -Wl,%s/$(notdir $@) -o' % prefix.lib, # noqa
'RANLIB=echo'
])
else:
diff --git a/var/spack/repos/builtin/packages/munge/package.py b/var/spack/repos/builtin/packages/munge/package.py
index ebe3e18882..51455006e9 100644
--- a/var/spack/repos/builtin/packages/munge/package.py
+++ b/var/spack/repos/builtin/packages/munge/package.py
@@ -25,12 +25,14 @@
from spack import *
import os
+
class Munge(Package):
""" MUNGE Uid 'N' Gid Emporium """
homepage = "https://code.google.com/p/munge/"
url = "https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2"
- version('0.5.11', 'bd8fca8d5f4c1fcbef1816482d49ee01', url='https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2')
+ version('0.5.11', 'bd8fca8d5f4c1fcbef1816482d49ee01',
+ url='https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2')
depends_on('openssl')
depends_on('libgcrypt')
@@ -41,4 +43,3 @@ class Munge(Package):
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/muparser/package.py b/var/spack/repos/builtin/packages/muparser/package.py
index 47d1855329..1373c8cd7b 100644
--- a/var/spack/repos/builtin/packages/muparser/package.py
+++ b/var/spack/repos/builtin/packages/muparser/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Muparser(Package):
"""C++ math expression parser library."""
homepage = "http://muparser.beltoforion.de/"
diff --git a/var/spack/repos/builtin/packages/muster/package.py b/var/spack/repos/builtin/packages/muster/package.py
index 64b7324415..81817e48dc 100644
--- a/var/spack/repos/builtin/packages/muster/package.py
+++ b/var/spack/repos/builtin/packages/muster/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Muster(Package):
"""The Muster library provides implementations of sequential and
parallel K-Medoids clustering algorithms. It is intended as a
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index da386445bb..17124a0572 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -40,7 +40,8 @@ class Mvapich2(Package):
provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
provides('mpi@:3.0', when='@2.0:') # MVAPICH2-2.0 supports MPI 3.0
- variant('debug', default=False, description='Enables debug information and error messages at run-time')
+ variant('debug', default=False,
+ description='Enable debug info and error messages at run-time')
##########
# TODO : Process managers should be grouped into the same variant,
@@ -51,10 +52,14 @@ class Mvapich2(Package):
GFORKER = 'gforker'
REMSHELL = 'remshell'
SLURM_INCOMPATIBLE_PMS = (HYDRA, GFORKER, REMSHELL)
- variant(SLURM, default=False, description='Sets slurm as the only process manager')
- variant(HYDRA, default=False, description='Sets hydra as one of the process managers')
- variant(GFORKER, default=False, description='Sets gforker as one of the process managers')
- variant(REMSHELL, default=False, description='Sets remshell as one of the process managers')
+ variant(SLURM, default=False,
+ description='Set slurm as the only process manager')
+ variant(HYDRA, default=False,
+ description='Set hydra as one of the process managers')
+ variant(GFORKER, default=False,
+ description='Set gforker as one of the process managers')
+ variant(REMSHELL, default=False,
+ description='Set remshell as one of the process managers')
##########
##########
@@ -67,15 +72,28 @@ class Mvapich2(Package):
NEMESIS = 'nemesis'
MRAIL = 'mrail'
SUPPORTED_NETWORKS = (PSM, SOCK, NEMESIS, NEMESISIB, NEMESISIBTCP)
- variant(PSM, default=False, description='Configures a build for QLogic PSM-CH3')
- variant(SOCK, default=False, description='Configures a build for TCP/IP-CH3')
- variant(NEMESISIBTCP, default=False, description='Configures a build for both OFA-IB-Nemesis and TCP/IP-Nemesis')
- variant(NEMESISIB, default=False, description='Configures a build for OFA-IB-Nemesis')
- variant(NEMESIS, default=False, description='Configures a build for TCP/IP-Nemesis')
- variant(MRAIL, default=False, description='Configures a build for OFA-IB-CH3')
+ variant(
+ PSM, default=False,
+ description='Configure for QLogic PSM-CH3')
+ variant(
+ SOCK, default=False,
+ description='Configure for TCP/IP-CH3')
+ variant(
+ NEMESISIBTCP, default=False,
+ description='Configure for both OFA-IB-Nemesis and TCP/IP-Nemesis')
+ variant(
+ NEMESISIB, default=False,
+ description='Configure for OFA-IB-Nemesis')
+ variant(
+ NEMESIS, default=False,
+ description='Configure for TCP/IP-Nemesis')
+ variant(
+ MRAIL, default=False,
+ description='Configure for OFA-IB-CH3')
##########
# FIXME : CUDA support is missing
+ depends_on('libpciaccess')
def url_for_version(self, version):
base_url = "http://mvapich.cse.ohio-state.edu/download"
diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py
index 254a5f1595..113c48c18f 100644
--- a/var/spack/repos/builtin/packages/mxml/package.py
+++ b/var/spack/repos/builtin/packages/mxml/package.py
@@ -1,3 +1,27 @@
+##############################################################################
+# 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 *
diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py
index 63269a50b1..792e3fe3c7 100644
--- a/var/spack/repos/builtin/packages/nag/package.py
+++ b/var/spack/repos/builtin/packages/nag/package.py
@@ -43,8 +43,8 @@ class Nag(Package):
def url_for_version(self, version):
# TODO: url and checksum are architecture dependent
# TODO: We currently only support x86_64
- return 'http://www.nag.com/downloads/impl/npl6a%sna_amd64.tgz' % \
- str(version).replace('.', '')
+ return 'http://www.nag.com/downloads/impl/npl6a%sna_amd64.tgz' % str(
+ version).replace('.', '')
def install(self, spec, prefix):
# Set installation directories
diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py
index c955e6d13e..9faccccaae 100644
--- a/var/spack/repos/builtin/packages/nasm/package.py
+++ b/var/spack/repos/builtin/packages/nasm/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Nasm(Package):
"""NASM (Netwide Assembler) is an 80x86 assembler designed for
portability and modularity. It includes a disassembler as well."""
diff --git a/var/spack/repos/builtin/packages/nccmp/package.py b/var/spack/repos/builtin/packages/nccmp/package.py
index 68bddd6957..d59ca09381 100644
--- a/var/spack/repos/builtin/packages/nccmp/package.py
+++ b/var/spack/repos/builtin/packages/nccmp/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Nccmp(Package):
"""Compare NetCDF Files"""
homepage = "http://nccmp.sourceforge.net/"
diff --git a/var/spack/repos/builtin/packages/ncdu/package.py b/var/spack/repos/builtin/packages/ncdu/package.py
index 0f2f9cda45..2147319d3f 100644
--- a/var/spack/repos/builtin/packages/ncdu/package.py
+++ b/var/spack/repos/builtin/packages/ncdu/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Ncdu(Package):
"""
Ncdu is a disk usage analyzer with an ncurses interface. It is designed
@@ -38,15 +39,15 @@ class Ncdu(Package):
version('1.11', '9e44240a5356b029f05f0e70a63c4d12')
version('1.10', '7535decc8d54eca811493e82d4bfab2d')
- version('1.9' , '93258079db897d28bb8890e2db89b1fb')
- version('1.8' , '94d7a821f8a0d7ba8ef3dd926226f7d5')
- version('1.7' , '172047c29d232724cc62e773e82e592a')
+ version('1.9', '93258079db897d28bb8890e2db89b1fb')
+ version('1.8', '94d7a821f8a0d7ba8ef3dd926226f7d5')
+ version('1.7', '172047c29d232724cc62e773e82e592a')
depends_on("ncurses")
def install(self, spec, prefix):
configure('--prefix=%s' % prefix,
- '--with-ncurses=%s' % spec['ncurses'])
+ '--with-ncurses=%s' % spec['ncurses'])
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py
index 4bc4da68e3..16d72b4593 100644
--- a/var/spack/repos/builtin/packages/nco/package.py
+++ b/var/spack/repos/builtin/packages/nco/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class Nco(Package):
"""The NCO toolkit manipulates and analyzes data stored in
@@ -39,9 +39,9 @@ class Nco(Package):
depends_on('netcdf')
depends_on('antlr@2.7.7+cxx') # (required for ncap2)
- depends_on('gsl') # (desirable for ncap2)
+ depends_on('gsl') # (desirable for ncap2)
depends_on('udunits2') # (allows dimensional unit transformations)
- # depends_on('opendap') # (enables network transparency),
+ # depends_on('opendap') # (enables network transparency),
def install(self, spec, prefix):
opts = [
diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py
index 3ab2b0477d..aaacbac7b1 100644
--- a/var/spack/repos/builtin/packages/ncurses/package.py
+++ b/var/spack/repos/builtin/packages/ncurses/package.py
@@ -24,11 +24,14 @@
##############################################################################
from spack import *
+
class Ncurses(Package):
- """The ncurses (new curses) library is a free software emulation of curses
- in System V Release 4.0, and more. It uses terminfo format, supports pads and
- color and multiple highlights and forms characters and function-key mapping,
- and has all the other SYSV-curses enhancements over BSD curses.
+ """The ncurses (new curses) library is a free software emulation of
+ curses in System V Release 4.0, and more. It uses terminfo format,
+ supports pads and color and multiple highlights and forms
+ characters and function-key mapping, and has all the other
+ SYSV-curses enhancements over BSD curses.
+
"""
homepage = "http://invisible-island.net/ncurses/ncurses.html"
diff --git a/var/spack/repos/builtin/packages/ncview/package.py b/var/spack/repos/builtin/packages/ncview/package.py
index b39e17ca49..f61e6984b5 100644
--- a/var/spack/repos/builtin/packages/ncview/package.py
+++ b/var/spack/repos/builtin/packages/ncview/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Ncview(Package):
"""Simple viewer for NetCDF files."""
homepage = "http://meteora.ucsd.edu/~pierce/ncview_home_page.html"
diff --git a/var/spack/repos/builtin/packages/ndiff/package.py b/var/spack/repos/builtin/packages/ndiff/package.py
index 3c9dd4054a..dc41add03f 100644
--- a/var/spack/repos/builtin/packages/ndiff/package.py
+++ b/var/spack/repos/builtin/packages/ndiff/package.py
@@ -24,11 +24,15 @@
##############################################################################
from spack import *
+
class Ndiff(Package):
- """The ndiff tool is a binary utility that compares putatively similar files
- while ignoring small numeric differernces. This utility is most often used
- to compare files containing a lot of floating-point numeric data that
- may be slightly different due to numeric error."""
+ """The ndiff tool is a binary utility that compares putatively similar
+ files while ignoring small numeric differernces. This utility is
+ most often used to compare files containing a lot of
+ floating-point numeric data that may be slightly different due to
+ numeric error.
+
+ """
homepage = "http://ftp.math.utah.edu/pub/ndiff/"
url = "http://ftp.math.utah.edu/pub/ndiff/ndiff-2.00.tar.gz"
diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
index 994c51c0da..2c3ab73309 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class NetcdfCxx(Package):
"""Deprecated C++ compatibility bindings for NetCDF.
These do NOT read or write NetCDF-4 files, and are no longer
diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index ad4ee59640..ab40c14340 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -26,9 +26,11 @@ from spack import *
class Netcdf(Package):
- """NetCDF is a set of software libraries and self-describing, machine-independent
- data formats that support the creation, access, and sharing of array-oriented
- scientific data."""
+ """NetCDF is a set of software libraries and self-describing,
+ machine-independent data formats that support the creation, access,
+ and sharing of array-oriented scientific data.
+
+ """
homepage = "http://www.unidata.ucar.edu/software/netcdf"
url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.tar.gz"
@@ -74,18 +76,19 @@ class Netcdf(Package):
"--enable-dap"
]
- # Make sure Netcdf links against Spack's curl
- # Otherwise it may pick up system's curl, which could lead to link errors:
- # /usr/lib/x86_64-linux-gnu/libcurl.so: undefined reference to `SSL_CTX_use_certificate_chain_file@OPENSSL_1.0.0'
+ # Make sure Netcdf links against Spack's curl, otherwise
+ # otherwise it may pick up system's curl, which can give link
+ # errors, e.g.:
+ # undefined reference to `SSL_CTX_use_certificate_chain_file`
LIBS.append("-lcurl")
CPPFLAGS.append("-I%s" % spec['curl'].prefix.include)
- LDFLAGS.append( "-L%s" % spec['curl'].prefix.lib)
+ LDFLAGS.append("-L%s" % spec['curl'].prefix.lib)
if '+mpi' in spec:
config_args.append('--enable-parallel4')
CPPFLAGS.append("-I%s/include" % spec['hdf5'].prefix)
- LDFLAGS.append( "-L%s/lib" % spec['hdf5'].prefix)
+ LDFLAGS.append("-L%s/lib" % spec['hdf5'].prefix)
# HDF4 support
# As of NetCDF 4.1.3, "--with-hdf4=..." is no longer a valid option
@@ -93,13 +96,13 @@ class Netcdf(Package):
if '+hdf4' in spec:
config_args.append("--enable-hdf4")
CPPFLAGS.append("-I%s/include" % spec['hdf'].prefix)
- LDFLAGS.append( "-L%s/lib" % spec['hdf'].prefix)
- LIBS.append( "-l%s" % "jpeg")
+ LDFLAGS.append("-L%s/lib" % spec['hdf'].prefix)
+ LIBS.append("-l%s" % "jpeg")
if 'szip' in spec:
CPPFLAGS.append("-I%s/include" % spec['szip'].prefix)
- LDFLAGS.append( "-L%s/lib" % spec['szip'].prefix)
- LIBS.append( "-l%s" % "sz")
+ LDFLAGS.append("-L%s/lib" % spec['szip'].prefix)
+ LIBS.append("-l%s" % "sz")
# Fortran support
# In version 4.2+, NetCDF-C and NetCDF-Fortran have split.
diff --git a/var/spack/repos/builtin/packages/netgauge/package.py b/var/spack/repos/builtin/packages/netgauge/package.py
index be9292fabb..b57cdbe5f3 100644
--- a/var/spack/repos/builtin/packages/netgauge/package.py
+++ b/var/spack/repos/builtin/packages/netgauge/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Netgauge(Package):
"""Netgauge is a high-precision network parameter measurement
tool. It supports benchmarking of many different network protocols
diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py
index 70015baf1c..08c94a5c9b 100644
--- a/var/spack/repos/builtin/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py
@@ -26,11 +26,12 @@ from spack import *
class NetlibLapack(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.
+ """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"
@@ -44,9 +45,11 @@ class NetlibLapack(Package):
variant('debug', default=False, description='Activates the Debug build type')
variant('shared', default=True, description="Build shared library version")
- variant('external-blas', default=False, description='Build lapack with an external blas')
+ variant('external-blas', default=False,
+ description='Build lapack with an external blas')
- variant('lapacke', default=True, description='Activates the build of the LAPACKE C interface')
+ variant('lapacke', default=True,
+ description='Activates the build of the LAPACKE C interface')
# virtual dependency
provides('blas', when='~external-blas')
@@ -55,26 +58,30 @@ class NetlibLapack(Package):
depends_on('cmake', type='build')
depends_on('blas', when='+external-blas')
-
def patch(self):
# Fix cblas CMakeLists.txt -- has wrong case for subdirectory name.
if self.spec.satisfies('@3.6.0:'):
- filter_file('${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/',
- '${CMAKE_CURRENT_SOURCE_DIR}/cmake/', 'CBLAS/CMakeLists.txt', string=True)
+ filter_file(
+ '${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/',
+ '${CMAKE_CURRENT_SOURCE_DIR}/cmake/',
+ 'CBLAS/CMakeLists.txt', string=True)
def install_one(self, spec, prefix, shared):
- cmake_args = ['-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if shared else 'OFF'),
- '-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
- '-DLAPACKE:BOOL=%s' % ('ON' if '+lapacke' in spec else 'OFF')]
+ cmake_args = [
+ '-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if shared else 'OFF'),
+ '-DCMAKE_BUILD_TYPE:STRING=%s' % (
+ 'Debug' if '+debug' in spec else 'Release'),
+ '-DLAPACKE:BOOL=%s' % ('ON' if '+lapacke' in spec else 'OFF')]
if spec.satisfies('@3.6.0:'):
- cmake_args.extend(['-DCBLAS=ON']) # always build CBLAS
+ cmake_args.extend(['-DCBLAS=ON']) # always build CBLAS
if '+external-blas' in spec:
- # TODO : the mechanism to specify the library should be more general,
+ # TODO : mechanism to specify the library should be more general,
# TODO : but this allows to have an hook to an external blas
cmake_args.extend([
'-DUSE_OPTIMIZED_BLAS:BOOL=ON',
- '-DBLAS_LIBRARIES:PATH=%s' % join_path(spec['blas'].prefix.lib, 'libblas.a')
+ '-DBLAS_LIBRARIES:PATH=%s' % join_path(
+ spec['blas'].prefix.lib, 'libblas.a')
])
cmake_args.extend(std_cmake_args)
@@ -85,7 +92,6 @@ class NetlibLapack(Package):
make()
make("install")
-
def install(self, spec, prefix):
# Always build static libraries.
self.install_one(spec, prefix, False)
@@ -94,15 +100,17 @@ class NetlibLapack(Package):
if '+shared' in spec:
self.install_one(spec, prefix, True)
-
def setup_dependent_package(self, module, dspec):
# This is WIP for a prototype interface for virtual packages.
# We can update this as more builds start depending on BLAS/LAPACK.
- libdir = find_library_path('libblas.a', self.prefix.lib64, self.prefix.lib)
+ libdir = find_library_path(
+ 'libblas.a', self.prefix.lib64, self.prefix.lib)
self.spec.blas_static_lib = join_path(libdir, 'libblas.a')
self.spec.lapack_static_lib = join_path(libdir, 'liblapack.a')
if '+shared' in self.spec:
- self.spec.blas_shared_lib = join_path(libdir, 'libblas.%s' % dso_suffix)
- self.spec.lapack_shared_lib = join_path(libdir, 'liblapack.%s' % dso_suffix)
+ self.spec.blas_shared_lib = join_path(
+ libdir, 'libblas.%s' % dso_suffix)
+ self.spec.lapack_shared_lib = join_path(
+ libdir, 'liblapack.%s' % dso_suffix)
diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
index f7733249cf..49b8633209 100644
--- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
@@ -39,7 +39,8 @@ class NetlibScalapack(Package):
# versions before 2.0.0 are not using cmake and requires blacs as
# a separated package
- variant('shared', default=True, description='Build the shared library version')
+ variant('shared', default=True,
+ description='Build the shared library version')
variant('fpic', default=False, description="Build with -fpic compiler option")
provides('scalapack')
diff --git a/var/spack/repos/builtin/packages/nettle/package.py b/var/spack/repos/builtin/packages/nettle/package.py
index 56e4836611..02e9ef5f1e 100644
--- a/var/spack/repos/builtin/packages/nettle/package.py
+++ b/var/spack/repos/builtin/packages/nettle/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Nettle(Package):
"""The Nettle package contains the low-level cryptographic library
that is designed to fit easily in many contexts."""
diff --git a/var/spack/repos/builtin/packages/nextflow/package.py b/var/spack/repos/builtin/packages/nextflow/package.py
new file mode 100644
index 0000000000..54f3dbf915
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nextflow/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 Nextflow(Package):
+ """Data-driven computational pipelines"""
+
+ homepage = "http://www.nextflow.io"
+
+ version('0.20.1', '0e4e0e3eca1c2c97f9b4bffd944b923a',
+ url='https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow',
+ expand=False)
+
+ depends_on('jdk')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install("nextflow", join_path(prefix.bin, "nextflow"))
+ set_executable(join_path(prefix.bin, "nextflow"))
diff --git a/var/spack/repos/builtin/packages/ninja/package.py b/var/spack/repos/builtin/packages/ninja/package.py
index e3f3819289..dcd00576dd 100644
--- a/var/spack/repos/builtin/packages/ninja/package.py
+++ b/var/spack/repos/builtin/packages/ninja/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class Ninja(Package):
""" A small, fast Make alternative """
homepage = "https://martine.github.io/ninja/"
@@ -35,7 +36,6 @@ class Ninja(Package):
extends('python')
def install(self, spec, prefix):
- sh = which('sh')
python('configure.py', '--bootstrap')
cp = which('cp')
diff --git a/var/spack/repos/builtin/packages/numdiff/package.py b/var/spack/repos/builtin/packages/numdiff/package.py
index 97164165e0..fb897f560b 100644
--- a/var/spack/repos/builtin/packages/numdiff/package.py
+++ b/var/spack/repos/builtin/packages/numdiff/package.py
@@ -25,6 +25,7 @@
from spack import *
import sys
+
class Numdiff(Package):
"""Numdiff is a little program that can be used to compare putatively
similar files line by line and field by field, ignoring small numeric
@@ -35,7 +36,7 @@ class Numdiff(Package):
version('5.8.1', 'a295eb391f6cb1578209fc6b4f9d994e')
- depends_on('gettext', when=sys.platform=='darwin', type='build')
+ depends_on('gettext', when=sys.platform == 'darwin', type='build')
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix]
diff --git a/var/spack/repos/builtin/packages/ocaml/package.py b/var/spack/repos/builtin/packages/ocaml/package.py
new file mode 100644
index 0000000000..9488d3b7a6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ocaml/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 Ocaml(Package):
+ """OCaml is an industrial strength programming language supporting
+ functional, imperative and object-oriented styles"""
+
+ homepage = "http://ocaml.org/"
+ url = "http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03.0.tar.gz"
+
+ version('4.03.0', '43812739ea1b4641cf480f57f977c149')
+
+ depends_on('ncurses')
+
+ def install(self, spec, prefix):
+ configure('-prefix', '{0}'.format(prefix))
+
+ make('world.opt')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/oce/package.py b/var/spack/repos/builtin/packages/oce/package.py
index 108c8f8a41..4f9f7b2e12 100644
--- a/var/spack/repos/builtin/packages/oce/package.py
+++ b/var/spack/repos/builtin/packages/oce/package.py
@@ -40,7 +40,8 @@ class Oce(Package):
version('0.16.1', '4d591b240c9293e879f50d86a0cb2bb3')
version('0.16', '7a4b4df5a104d75a537e25e7dd387eca')
- variant('tbb', default=True, description='Build with Intel Threading Building Blocks')
+ variant('tbb', default=True,
+ description='Build with Intel Threading Building Blocks')
depends_on('cmake@2.8:', type='build')
depends_on('tbb', when='+tbb')
diff --git a/var/spack/repos/builtin/packages/ompss/package.py b/var/spack/repos/builtin/packages/ompss/package.py
index c0848ffd70..02925974ea 100644
--- a/var/spack/repos/builtin/packages/ompss/package.py
+++ b/var/spack/repos/builtin/packages/ompss/package.py
@@ -26,19 +26,18 @@ from spack import *
import os
import glob
-# working config lines for ompss 14.06 :
-#./nanox-0.7/config.log: $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-mcc=/usr/gapps/exmatex/ompss/ --with-hwloc=/usr
-#./mcxx-1.99.2/config.log: $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-nanox=/usr/gapps/exmatex/ompss --enable-ompss --with-mpi=/opt/mvapich2-intel-shmem-1.7 --enable-tl-openmp-profile --enable-tl-openmp-intel
class Ompss(Package):
- """OmpSs is an effort to integrate features from the StarSs
- programming model developed by BSC into a single programming
- model. In particular, our objective is to extend OpenMP with
- new directives to support asynchronous parallelism and
- heterogeneity (devices like GPUs). However, it can also be
- understood as new directives extending other accelerator based
- APIs like CUDA or OpenCL. Our OmpSs environment is built on top
- of our Mercurium compiler and Nanos++ runtime system."""
+ """OmpSs is an effort to integrate features from the StarSs programming
+ model developed by BSC into a single programming model. In
+ particular, our objective is to extend OpenMP with new directives
+ to support asynchronous parallelism and heterogeneity (devices
+ like GPUs). However, it can also be understood as new directives
+ extending other accelerator based APIs like CUDA or OpenCL. Our
+ OmpSs environment is built on top of our Mercurium compiler and
+ Nanos++ runtime system.
+
+ """
homepage = "http://pm.bsc.es/"
url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.10.tar.gz"
list_url = 'http://pm.bsc.es/ompss-downloads'
@@ -47,7 +46,7 @@ class Ompss(Package):
# all dependencies are optional, really
depends_on("mpi")
- #depends_on("openmp")
+ # depends_on("openmp")
depends_on("hwloc")
depends_on("extrae")
@@ -61,14 +60,22 @@ class Ompss(Package):
openmp_options = ["--enable-tl-openmp-profile"]
if spec.satisfies('%intel'):
- openmp_options.append( "--enable-tl-openmp-intel" )
+ openmp_options.append("--enable-tl-openmp-intel")
os.chdir(glob.glob('./nanox-*').pop())
- configure("--prefix=%s" % prefix, "--with-mcc=%s" % prefix, "--with-extrae=%s" % spec['extrae'].prefix, "--with-hwloc=%s" % spec['hwloc'].prefix)
+ configure("--prefix=%s" % prefix,
+ "--with-mcc=%s" % prefix,
+ "--with-extrae=%s" %
+ spec['extrae'].prefix,
+ "--with-hwloc=%s" % spec['hwloc'].prefix)
make()
make("install")
os.chdir(glob.glob('../mcxx-*').pop())
- configure("--prefix=%s" % prefix, "--with-nanox=%s" % prefix, "--enable-ompss", "--with-mpi=%s" % mpi.prefix, *openmp_options)
+ configure("--prefix=%s" % prefix,
+ "--with-nanox=%s" % prefix,
+ "--enable-ompss",
+ "--with-mpi=%s" % mpi.prefix,
+ *openmp_options)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/ompt-openmp/package.py b/var/spack/repos/builtin/packages/ompt-openmp/package.py
index 800c04ae0e..40159e4c6c 100644
--- a/var/spack/repos/builtin/packages/ompt-openmp/package.py
+++ b/var/spack/repos/builtin/packages/ompt-openmp/package.py
@@ -24,8 +24,14 @@
##############################################################################
from spack import *
+
class OmptOpenmp(Package):
- """LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP mirror. This library provides a drop-in replacement of the OpenMP runtimes for GCC, Intel and LLVM/Clang."""
+ """LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the
+ OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP
+ mirror. This library provides a drop-in replacement of the OpenMP
+ runtimes for GCC, Intel and LLVM/Clang.
+
+ """
homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp"
url = "http://github.com/khuck/LLVM-openmp/archive/v0.1.tar.gz"
@@ -35,13 +41,9 @@ class OmptOpenmp(Package):
def install(self, spec, prefix):
with working_dir("runtime/build", create=True):
-
- # FIXME: Modify the configure line to suit your build system here.
- cmake('-DCMAKE_C_COMPILER=%s' % self.compiler.cc,
+ cmake('-DCMAKE_C_COMPILER=%s' % self.compiler.cc,
'-DCMAKE_CXX_COMPILER=%s' % self.compiler.cxx,
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
'..', *std_cmake_args)
-
- # FIXME: Add logic to build and install here
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py
index 510fff9fc2..e901f8ed39 100644
--- a/var/spack/repos/builtin/packages/opari2/package.py
+++ b/var/spack/repos/builtin/packages/opari2/package.py
@@ -25,18 +25,24 @@
from spack import *
+
class Opari2(Package):
"""
- 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 as well as the usage of pre-instrumented
- libraries. Furthermore, an efficient way of tracking parent-child relationships was added. Additionally, we extended
- OPARI2 to support instrumentation of OpenMP 3.0 tied tasks.
+ 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
+ as well as the usage of pre-instrumented libraries. Furthermore, an
+ efficient way of tracking parent-child relationships was added.
+ Additionally, we extended OPARI2 to support instrumentation of OpenMP 3.0
+ tied tasks.
"""
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
+ version('2.0', '72350dbdb6139f2e68a5055a4f0ba16c',
+ url='http://www.vi-hps.org/upload/packages/opari2/opari2-2.0.tar.gz')
version('1.1.4', '245d3d11147a06de77909b0805f530c0',
url='http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.4.tar.gz')
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index d09ebd6739..37f7a7005d 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -37,9 +37,12 @@ class Openblas(Package):
version('0.2.16', 'fef46ab92463bdbb1479dcec594ef6dc')
version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
- variant('shared', default=True, description="Build shared libraries as well as static libs.") # NOQA: ignore=E501
- variant('openmp', default=False, description="Enable OpenMP support.")
- variant('fpic', default=True, description="Build position independent code") # NOQA: ignore=E501
+ variant('shared', default=True,
+ description="Build shared libraries as well as static libs.")
+ variant('openmp', default=False,
+ description="Enable OpenMP support.")
+ variant('fpic', default=True,
+ description="Build position independent code")
# virtual dependency
provides('blas')
diff --git a/var/spack/repos/builtin/packages/opencv/package.py b/var/spack/repos/builtin/packages/opencv/package.py
index ff551d0b92..8f592342b0 100644
--- a/var/spack/repos/builtin/packages/opencv/package.py
+++ b/var/spack/repos/builtin/packages/opencv/package.py
@@ -23,51 +23,186 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+from glob import glob
class Opencv(Package):
+ """OpenCV is released under a BSD license and hence it's free for both
+ academic and commercial use. It has C++, C, Python and Java interfaces and
+ supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
+ computational efficiency and with a strong focus on real-time applications.
+ Written in optimized C/C++, the library can take advantage of multi-core
+ processing. Enabled with OpenCL, it can take advantage of the hardware
+ acceleration of the underlying heterogeneous compute platform. Adopted all
+ around the world, OpenCV has more than 47 thousand people of user community
+ and estimated number of downloads exceeding 9 million. Usage ranges from
+ interactive art, to mines inspection, stitching maps on the web or through
+ advanced robotics.
"""
- OpenCV is released under a BSD license and hence it's free for both academic and commercial use. It has C++, C,
- Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
- computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library
- can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware
- acceleration of the underlying heterogeneous compute platform. Adopted all around the world, OpenCV has more than
- 47 thousand people of user community and estimated number of downloads exceeding 9 million. Usage ranges from
- interactive art, to mines inspection, stitching maps on the web or through advanced robotics.
- """
+
homepage = 'http://opencv.org/'
url = 'https://github.com/Itseez/opencv/archive/3.1.0.tar.gz'
version('3.1.0', '70e1dd07f0aa06606f1bc0e3fa15abd3')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
variant('eigen', default=True, description='Activates support for eigen')
variant('ipp', default=True, description='Activates support for IPP')
+ variant('jasper', default=True, description='Activates support for JasPer')
+ variant('cuda', default=False, description='Activates support for CUDA')
+ variant('gtk', default=False, description='Activates support for GTK')
+ variant('vtk', default=False, description='Activates support for VTK')
+ variant('qt', default=False, description='Activates support for QT')
+ variant('python', default=False,
+ description='Enables the build of Python extensions')
+ variant('java', default=False,
+ description='Activates support for Java')
+
+ depends_on('cmake', type='build')
+ depends_on('eigen', when='+eigen', type='build')
depends_on('zlib')
depends_on('libpng')
depends_on('libjpeg-turbo')
depends_on('libtiff')
- depends_on('python')
- depends_on('py-numpy')
+ depends_on('jasper', when='+jasper')
+ depends_on('cuda', when='+cuda')
+ depends_on('gtkplus', when='+gtk')
+ depends_on('vtk', when='+vtk')
+ depends_on('qt', when='+qt')
+ depends_on('jdk', when='+java')
+ depends_on('py-numpy', when='+python')
- depends_on('eigen', when='+eigen', type='build')
- depends_on('cmake', type='build')
-
- # FIXME : GUI extensions missing
- # FIXME : CUDA extensions still missing
+ extends('python', when='+python')
def install(self, spec, prefix):
cmake_options = []
cmake_options.extend(std_cmake_args)
- cmake_options.extend(['-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if '+shared' in spec else 'OFF'),
- '-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
- '-DWITH_IPP:BOOL=%s' % ('ON' if '+ipp' in spec else 'OFF')])
+ cmake_options.extend([
+ '-DCMAKE_BUILD_TYPE:STRING={0}'.format((
+ 'Debug' if '+debug' in spec else 'Release')),
+ '-DBUILD_SHARED_LIBS:BOOL={0}'.format((
+ 'ON' if '+shared' in spec else 'OFF')),
+ '-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
+ '-DWITH_IPP:BOOL={0}'.format((
+ 'ON' if '+ipp' in spec else 'OFF')),
+ '-DWITH_CUDA:BOOL={0}'.format((
+ 'ON' if '+cuda' in spec else 'OFF')),
+ '-DWITH_QT:BOOL={0}'.format((
+ 'ON' if '+qt' in spec else 'OFF')),
+ '-DWITH_VTK:BOOL={0}'.format((
+ 'ON' if '+vtk' in spec else 'OFF')),
+ '-DBUILD_opencv_java:BOOL={0}'.format((
+ 'ON' if '+java' in spec else 'OFF')),
+ ])
+
+ # Media I/O
+ zlib = spec['zlib']
+ cmake_options.extend([
+ '-DZLIB_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(zlib.prefix.lib,
+ 'libz.{0}'.format(dso_suffix))),
+ '-DZLIB_INCLUDE_DIR:PATH={0}'.format(zlib.prefix.include)
+ ])
+
+ libpng = spec['libpng']
+ cmake_options.extend([
+ '-DPNG_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(libpng.prefix.lib,
+ 'libpng.{0}'.format(dso_suffix))),
+ '-DPNG_INCLUDE_DIR:PATH={0}'.format(libpng.prefix.include)
+ ])
+
+ libjpeg = spec['libjpeg-turbo']
+ cmake_options.extend([
+ '-DJPEG_LIBRARY:FILEPATH={0}'.format(
+ join_path(libjpeg.prefix.lib,
+ 'libjpeg.{0}'.format(dso_suffix))),
+ '-DJPEG_INCLUDE_DIR:PATH={0}'.format(libjpeg.prefix.include)
+ ])
+
+ libtiff = spec['libtiff']
+ cmake_options.extend([
+ '-DTIFF_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(libtiff.prefix.lib,
+ 'libtiff.{0}'.format(dso_suffix))),
+ '-DTIFF_INCLUDE_DIR:PATH={0}'.format(libtiff.prefix.include)
+ ])
+
+ jasper = spec['jasper']
+ cmake_options.extend([
+ '-DJASPER_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(jasper.prefix.lib,
+ 'libjasper.{0}'.format(dso_suffix))),
+ '-DJASPER_INCLUDE_DIR:PATH={0}'.format(jasper.prefix.include)
+ ])
+
+ # GUI
+ if '+gtk' not in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=OFF',
+ '-DWITH_GTK_2_X:BOOL=OFF'
+ ])
+ elif '^gtkplus@3:' in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=ON',
+ '-DWITH_GTK_2_X:BOOL=OFF'
+ ])
+ elif '^gtkplus@2:3' in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=OFF',
+ '-DWITH_GTK_2_X:BOOL=ON'
+ ])
+
+ # Python
+ if '+python' in spec:
+ python = spec['python']
+
+ try:
+ python_lib = glob(join_path(
+ python.prefix.lib, 'libpython*.{0}'.format(dso_suffix)))[0]
+ except KeyError:
+ raise InstallError('Cannot find libpython')
+
+ try:
+ python_include_dir = glob(join_path(python.prefix.include,
+ 'python*'))[0]
+ except KeyError:
+ raise InstallError('Cannot find python include directory')
+
+ if '^python@3:' in spec:
+ python_exe = join_path(python.prefix.bin, 'python3')
+ cmake_options.extend([
+ '-DBUILD_opencv_python3=ON',
+ '-DPYTHON3_EXECUTABLE={0}'.format(python_exe),
+ '-DPYTHON3_LIBRARY={0}'.format(python_lib),
+ '-DPYTHON3_INCLUDE_DIR={0}'.format(python_include_dir),
+ '-DBUILD_opencv_python2=OFF',
+ ])
+ elif '^python@2:3' in spec:
+ python_exe = join_path(python.prefix.bin, 'python2')
+ cmake_options.extend([
+ '-DBUILD_opencv_python2=ON',
+ '-DPYTHON2_EXECUTABLE={0}'.format(python_exe),
+ '-DPYTHON2_LIBRARY={0}'.format(python_lib),
+ '-DPYTHON2_INCLUDE_DIR={0}'.format(python_include_dir),
+ '-DBUILD_opencv_python3=OFF',
+ ])
+ else:
+ cmake_options.extend([
+ '-DBUILD_opencv_python2=OFF',
+ '-DBUILD_opencv_python3=OFF'
+ ])
with working_dir('spack_build', create=True):
cmake('..', *cmake_options)
diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py
new file mode 100644
index 0000000000..3619bd063c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openexr/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 Openexr(Package):
+ """OpenEXR Graphics Tools (high dynamic-range image file format)"""
+
+ homepage = "http://www.openexr.com/"
+ url = "https://savannah.nongnu.org/download/openexr/openexr-2.2.0.tar.gz"
+
+ version('2.2.0', 'b64e931c82aa3790329c21418373db4e')
+ version('2.1.0', '33735d37d2ee01c6d8fbd0df94fb8b43')
+ version('2.0.1', '4387e6050d2faa65dd5215618ff2ddce')
+ version('1.7.0', '27113284f7d26a58f853c346e0851d7a')
+ version('1.6.1', '11951f164f9c872b183df75e66de145a')
+ version('1.5.0', '55342d2256ab3ae99da16f16b2e12ce9')
+ version('1.4.0a', 'd0a4b9a930c766fa51561b05fb204afe')
+ version('1.3.2', '1522fe69135016c52eb88fc7d8514409')
+
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
+
+ depends_on('pkg-config', type='build')
+ depends_on('ilmbase')
+
+ def install(self, spec, prefix):
+ configure_options = ['--prefix={0}'.format(prefix)]
+ if '+debug' not in spec:
+ configure_options.append('--disable-debug')
+ configure(*configure_options)
+ make('install')
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 3fcf942f05..b0efe27def 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -108,7 +108,8 @@ class Openmpi(Package):
depends_on('sqlite', when='+sqlite3')
def url_for_version(self, version):
- return "http://www.open-mpi.org/software/ompi/v%s/downloads/openmpi-%s.tar.bz2" % (version.up_to(2), version) # NOQA: ignore=E501
+ return "http://www.open-mpi.org/software/ompi/v%s/downloads/openmpi-%s.tar.bz2" % (
+ version.up_to(2), version)
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index 4e2694a53c..5e141060b2 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -22,7 +22,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-################################################################################
+##########################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it under
@@ -38,50 +38,72 @@
# You should have received a copy of the GNU 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 Openspeedshop(Package):
- """OpenSpeedShop is a community effort by The Krell Institute with current direct funding from DOEs NNSA.
- It builds on top of a broad list of community infrastructures, most notably Dyninst and MRNet from UW,
- libmonitor from Rice, and PAPI from UTK. OpenSpeedShop is an open source multi platform Linux performance
- tool which is targeted to support performance analysis of applications running on both single node and
- large scale IA64, IA32, EM64T, AMD64, PPC, ARM, Blue Gene and Cray platforms. OpenSpeedShop development
- is hosted by the Krell Institute. The infrastructure and base components of OpenSpeedShop are released
- as open source code primarily under LGPL.
+ """OpenSpeedShop is a community effort by The Krell Institute with
+ current direct funding from DOEs NNSA. It builds on top of a broad
+ list of community infrastructures, most notably Dyninst and MRNet
+ from UW, libmonitor from Rice, and PAPI from UTK. OpenSpeedShop is an
+ open source multi platform Linux performance tool which is targeted
+ to support performance analysis of applications running on both
+ single node and large scale IA64, IA32, EM64T, AMD64, PPC, ARM, Blue
+ Gene and Cray platforms. OpenSpeedShop development is hosted by the
+ Krell Institute. The infrastructure and base components of
+ OpenSpeedShop are released as open source code primarily under LGPL.
+
"""
homepage = "http://www.openspeedshop.org"
- url = "https://github.com/OpenSpeedShop"
+ url = "https://github.com/OpenSpeedShop"
version('2.2', '16cb051179c2038de4e8a845edf1d573')
# Use when the git repository is available
- version('2.2', branch='master', git='https://github.com/OpenSpeedShop/openspeedshop.git')
+ version('2.2', branch='master',
+ git='https://github.com/OpenSpeedShop/openspeedshop.git')
# Optional mirror template
- #url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.2.tar.gz"
- #version('2.2', '643337740dc6c2faca60f42d3620b0e1')
+ # url="file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.2.tar.gz"
+ # version('2.2', '643337740dc6c2faca60f42d3620b0e1')
parallel = False
- variant('offline', default=True, description="build with offline instrumentor enabled.")
- variant('cbtf', default=False, description="build with cbtf instrumentor enabled.")
- variant('runtime', default=False, description="build only the runtime libraries and collectors.")
- variant('frontend', default=False, description="build only the front-end tool using the runtime_dir to point to the target build.")
- variant('cuda', default=False, description="build with cuda packages included.")
- variant('ptgf', default=False, description="build with the PTGF based gui package enabled.")
- variant('rtfe', default=False, description="build for generic cluster platforms that have different processors on the fe and be nodes.")
+ variant('offline', default=True,
+ description="build with offline instrumentor enabled.")
+ variant('cbtf', default=False,
+ description="build with cbtf instrumentor enabled.")
+ variant('runtime', default=False,
+ description="build only the runtime libraries and collectors.")
+ variant('frontend', default=False,
+ description="build only the front-end tool using the runtime_dir "
+ "to point to the target build.")
+ variant('cuda', default=False,
+ description="build with cuda packages included.")
+ variant('ptgf', default=False,
+ description="build with the PTGF based gui package enabled.")
+ variant('rtfe', default=False,
+ description="build for generic cluster platforms that have "
+ "different processors on the fe and be nodes.")
# MPI variants
- variant('openmpi', default=False, description="Build mpi experiment collector for openmpi MPI when this variant is enabled.")
- variant('mpt', default=False, description="Build mpi experiment collector for SGI MPT MPI when this variant is enabled.")
- variant('mvapich2', default=False, description="Build mpi experiment collector for mvapich2 MPI when this variant is enabled.")
- variant('mvapich', default=False, description="Build mpi experiment collector for mvapich MPI when this variant is enabled.")
- variant('mpich2', default=False, description="Build mpi experiment collector for mpich2 MPI when this variant is enabled.")
- variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
+ variant('openmpi', default=False,
+ description="Build mpi experiment collector for openmpi MPI.")
+ variant('mpt', default=False,
+ description="Build mpi experiment collector for SGI MPT MPI.")
+ variant('mvapich2', default=False,
+ description="Build mpi experiment collector for mvapich2 MPI.")
+ variant('mvapich', default=False,
+ description="Build mpi experiment collector for mvapich MPI.")
+ variant('mpich2', default=False,
+ description="Build mpi experiment collector for mpich2 MPI.")
+ variant('mpich', default=False,
+ description="Build mpi experiment collector for mpich MPI.")
depends_on("cmake@3.0.2", type='build')
- # Dependencies for openspeedshop that are common to all the variants of the OpenSpeedShop build
+ # Dependencies for openspeedshop that are common to all the variants of
+ # the OpenSpeedShop build
depends_on("bison")
depends_on("flex")
depends_on("binutils@2.24+krellpatch")
@@ -111,11 +133,13 @@ class Openspeedshop(Package):
depends_on("mrnet@5.0.1:+lwthreads+krellpatch", when='+cbtf')
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will enable the cbtf-krell built type settings
+ # Sets build type parameters into cmakeOptions the options that will
+ # enable the cbtf-krell built type settings
- compile_flags="-O2 -g"
+ compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
+ # stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -124,63 +148,64 @@ class Openspeedshop(Package):
if word.startswith('-DCMAKE_C_FLAGS'):
cmakeOptions.remove(word)
BuildTypeOptions.extend([
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
+ '-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags
])
cmakeOptions.extend(BuildTypeOptions)
def set_mpi_cmakeOptions(self, spec, cmakeOptions):
- # Appends to cmakeOptions the options that will enable the appropriate MPI implementations
-
+ # Appends to cmakeOptions the options that will enable the appropriate
+ # MPI implementations
+
MPIOptions = []
# openmpi
if '+openmpi' in spec:
MPIOptions.extend([
- '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
+ '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
])
# mpich
if '+mpich' in spec:
MPIOptions.extend([
- '-DMPICH_DIR=%s' % spec['mpich'].prefix
+ '-DMPICH_DIR=%s' % spec['mpich'].prefix
])
# mpich2
if '+mpich2' in spec:
MPIOptions.extend([
- '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
+ '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
])
# mvapich
if '+mvapich' in spec:
MPIOptions.extend([
- '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
+ '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
])
# mvapich2
if '+mvapich2' in spec:
MPIOptions.extend([
- '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
+ '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
])
# mpt
if '+mpt' in spec:
MPIOptions.extend([
- '-DMPT_DIR=%s' % spec['mpt'].prefix
+ '-DMPT_DIR=%s' % spec['mpt'].prefix
])
cmakeOptions.extend(MPIOptions)
-
def install(self, spec, prefix):
- #openmpi_prefix_path = "/opt/openmpi-1.8.2"
- #mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
- #'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
- #'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
- #'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
+ # openmpi_prefix_path = "/opt/openmpi-1.8.2"
+ # mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
+ # '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
+ # '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+ # '-DMVAPICH_DIR=%s' % mvapich_prefix_path,
- # FIXME: How do we make this dynamic in spack? That is, can we specify the paths to cuda dynamically?
- # WAITING for external package support.
- #if '+cuda' in spec:
+ # FIXME: How do we make this dynamic in spack?
+ # FIXME: That is, can we specify the paths to cuda dynamically?
+ # WAITING for external package support.
+ # if '+cuda' in spec:
# cuda_prefix_path = "/usr/local/cuda-6.0"
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
@@ -190,19 +215,20 @@ class Openspeedshop(Package):
with working_dir('build_runtime', create=True):
cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix
- ])
-
+ cmakeOptions.extend([
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix])
+
# Add any MPI implementations coming from variant settings
self.set_mpi_cmakeOptions(spec, cmakeOptions)
cmakeOptions.extend(std_cmake_args)
- # Adjust the build options to the favored ones for this build
+ # Adjust the build options to the favored ones for this
+ # build
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
cmake('..', *cmakeOptions)
@@ -214,43 +240,49 @@ class Openspeedshop(Package):
cmake_prefix_path = join_path(spec['dyninst'].prefix)
with working_dir('build', create=True):
- #python_vers=join_path(spec['python'].version[:2])
- #'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
- #'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
- #'-DMPICH_DIR=%s' % spec['mpich'].prefix,
- #'-DMPICH2_DIR=%s' % spec['mpich2'].prefix,
- #'-DBoost_NO_SYSTEM_PATHS=TRUE',
- #'-DBOOST_ROOT=%s' % spec['boost'].prefix,
- #'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
+ # python_vers=join_path(spec['python'].version[:2])
+ # '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+ # '-DMVAPICH_DIR=%s' % mvapich_prefix_path,
+ # '-DMPICH_DIR=%s' % spec['mpich'].prefix,
+ # '-DMPICH2_DIR=%s' % spec['mpich2'].prefix,
+ # '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ # '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ # '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
- python_vers='%d.%d' % spec['python'].version[:2]
+ python_vers = '%d.%d' % spec['python'].version[:2]
cmakeOptions = []
- cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DQTLIB_DIR=%s' % spec['qt'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
- '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix
- ])
+ cmakeOptions.extend([
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
+ '-DQTLIB_DIR=%s' % spec['qt'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(
+ spec['python'].prefix, '/bin/python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(
+ spec['python'].prefix.include,
+ 'python' + python_vers),
+ '-DPYTHON_LIBRARY=%s' % join_path(
+ spec['python'].prefix.lib,
+ 'libpython' + python_vers + '.so'),
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix])
# Add any MPI implementations coming from variant settings
self.set_mpi_cmakeOptions(spec, cmakeOptions)
cmakeOptions.extend(std_cmake_args)
- # Adjust the build options to the favored ones for this build
+ # Adjust the build options to the favored ones for this
+ # build
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
cmake('..', *cmakeOptions)
@@ -261,160 +293,171 @@ class Openspeedshop(Package):
elif '+cbtf' in spec:
instrumentor_setting = "cbtf"
- resolve_symbols = "symtabapi"
- cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix) + ':' + join_path(spec['dyninst'].prefix)
- #runtime_platform_cray = "cray"
- #if '+cray' in spec:
+ cmake_prefix_path = ':'.join(spec['cbtf'].prefix,
+ spec['cbtf-krell'].prefix,
+ spec['dyninst'].prefix)
+
+ # resolve_symbols = "symtabapi"
+ # runtime_platform_cray = "cray"
+ # if '+cray' in spec:
# if '+runtime' in spec:
- # #-DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_INSTALL_DIR} \
- # with working_dir('build_cbtf_cray_runtime', create=True):
- # python_vers='%d.%d' % spec['python'].version[:2]
- # cmake('..',
- # '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- # '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- # '-DRUNTIME_PLATFORM=%s' % runtime_platform_cray,
- # '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- # '-DRESOLVE_SYMBOLS=%s' % resolve_symbols,
- # '-DINSTRUMENTOR=%s' % instrumentor_setting,
- # '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- # '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- # '-DCBTF_KRELL_CN_RUNTIME_DIR=%s' % spec['cbtf-krell'].prefix,
- # '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- # '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- # '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- # '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- # '-DPAPI_DIR=%s' % spec['papi'].prefix,
- # '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- # '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- # '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- # '-DBoost_NO_SYSTEM_PATHS=TRUE',
- # '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- # *std_cmake_args)
+ # #-DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_INSTALL_DIR} \
+ # with working_dir('build_cbtf_cray_runtime', create=True):
+ # python_vers='%d.%d' % spec['python'].version[:2]
+ # cmake('..',
+ # '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ # '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ # '-DRUNTIME_PLATFORM=%s' % runtime_platform_cray,
+ # '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ # '-DRESOLVE_SYMBOLS=%s' % resolve_symbols,
+ # '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ # '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ # '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ # '-DCBTF_KRELL_CN_RUNTIME_DIR=%s' % spec['cbtf-krell'].prefix,
+ # '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ # '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ # '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ # '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ # '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ # '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ # '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+ # '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ # '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ # '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ # *std_cmake_args)
# make("clean")
# make()
# make("install")
-
- #elif '+mic' in spec:
- # comment out else and shift over the default case below until arch detection is in
- #else:
+ # elif '+mic' in spec:
+ # comment out else and shift over the default case below
+ # until arch detection is in else:
if '+runtime' in spec:
with working_dir('build_cbtf_runtime', create=True):
- python_vers='%d.%d' % spec['python'].version[:2]
- cmake('..',
- '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
- '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- *std_cmake_args)
+ python_vers = '%d.%d' % spec['python'].version[:2]
+ cmake(
+ '..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(
+ spec['python'].prefix, 'bin', 'python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(
+ spec['python'].prefix.include,
+ 'python' + python_vers),
+ '-DPYTHON_LIBRARY=%s' % join_path(
+ spec['python'].prefix.lib,
+ 'libpython' + python_vers + '.so'),
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ *std_cmake_args)
+
make("clean")
make()
make("install")
else:
with working_dir('build_cbtf', create=True):
- python_vers='%d.%d' % spec['python'].version[:2]
- #python_vers=join_path(spec['python'].version[:2])
- cmake('..',
- '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DQTLIB_DIR=%s' % spec['qt'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
- '-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- *std_cmake_args)
+ python_vers = '%d.%d' % spec['python'].version[:2]
+ # python_vers=join_path(spec['python'].version[:2])
+ cmake(
+ '..',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
+ '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
+ '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
+ '-DQTLIB_DIR=%s' % spec['qt'].prefix,
+ '-DPYTHON_EXECUTABLE=%s' % join_path(
+ spec['python'].prefix, 'bin', 'python'),
+ '-DPYTHON_INCLUDE_DIR=%s' % join_path(
+ spec['python'].prefix.include,
+ 'python' + python_vers),
+ '-DPYTHON_LIBRARY=%s' % join_path(
+ spec['python'].prefix.lib,
+ 'libpython' + python_vers + '.so'),
+ '-DBoost_NO_SYSTEM_PATHS=TRUE',
+ '-DBOOST_ROOT=%s' % spec['boost'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ *std_cmake_args)
+
make("clean")
make()
make("install")
- #if '+frontend' in spec:
- # with working_dir('build_frontend', create=True):
- # tbd
-
-
-
- #if '+cbtf' in spec:
- # if cray build type detected:
- # if '+runtime' in spec:
- # with working_dir('build_cray_cbtf_compute', create=True):
- # tbd
- # else:
- # with working_dir('build_cray_cbtf_frontend', create=True):
- # tbd
- # with working_dir('build_cray_osscbtf_frontend', create=True):
- # tbd
- # fi
- # elif '+intelmic' in spec:
- # if '+runtime' in spec:
- # with working_dir('build_intelmic_cbtf_compute', create=True):
- # tbd
- # else:
- # with working_dir('build_intelmic_cbtf_frontend', create=True):
- # tbd
- # with working_dir('build_intelmic_osscbtf_frontend', create=True):
- # fi
- # else
- # with working_dir('build_cluster_cbtf', create=True):
- # tbd
- # with working_dir('build_cluster osscbtf', create=True):
- # tbd
- # fi
- #elif '+offline' in spec:
- # if cray build type detected:
- # if '+runtime' in spec:
- # with working_dir('build_cray_ossoff_compute', create=True):
- # tbd
- # else:
- # with working_dir('build_cray_ossoff_frontend', create=True):
- # tbd
- # fi
- # elif '+intelmic' in spec:
- # if '+runtime' in spec:
- # with working_dir('build_intelmic_ossoff_compute', create=True):
- # tbd
- # else:
- # with working_dir('build_intelmic_ossoff_frontend', create=True):
- # tbd
- # fi
- # elif bgq build type detected:
- # if '+runtime' in spec:
- # with working_dir('build_bgq_ossoff_compute', create=True):
- # tbd
- # else:
- # with working_dir('build_bgq_ossoff_frontend', create=True):
- # tbd
- # fi
- # else
- # with working_dir('build_cluster ossoff', create=True):
- # tbd
- # fi
- #fi
-
-
-
+# if '+frontend' in spec:
+# with working_dir('build_frontend', create=True):
+# tbd
+
+# if '+cbtf' in spec:
+# if cray build type detected:
+# if '+runtime' in spec:
+# with working_dir('build_cray_cbtf_compute', create=True):
+# tbd
+# else:
+# with working_dir('build_cray_cbtf_frontend', create=True):
+# tbd
+# with working_dir('build_cray_osscbtf_frontend', create=True):
+# tbd
+# fi
+# elif '+intelmic' in spec:
+# if '+runtime' in spec:
+# with working_dir('build_intelmic_cbtf_compute', create=True):
+# tbd
+# else:
+# with working_dir('build_intelmic_cbtf_frontend', create=True):
+# tbd
+# with working_dir('build_intelmic_osscbtf_frontend', create=True):
+# fi
+# else
+# with working_dir('build_cluster_cbtf', create=True):
+# tbd
+# with working_dir('build_cluster osscbtf', create=True):
+# tbd
+# fi
+# elif '+offline' in spec:
+# if cray build type detected:
+# if '+runtime' in spec:
+# with working_dir('build_cray_ossoff_compute', create=True):
+# tbd
+# else:
+# with working_dir('build_cray_ossoff_frontend', create=True):
+# tbd
+# fi
+# elif '+intelmic' in spec:
+# if '+runtime' in spec:
+# with working_dir('build_intelmic_ossoff_compute', create=True):
+# tbd
+# else:
+# with working_dir('build_intelmic_ossoff_frontend', create=True):
+# tbd
+# fi
+# elif bgq build type detected:
+# if '+runtime' in spec:
+# with working_dir('build_bgq_ossoff_compute', create=True):
+# tbd
+# else:
+# with working_dir('build_bgq_ossoff_frontend', create=True):
+# tbd
+# fi
+# else
+# with working_dir('build_cluster ossoff', create=True):
+# tbd
+# fi
+# fi
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index e7c105d5f5..8d9049a8f7 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/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
##############################################################################
-import urllib
import llnl.util.tty as tty
from spack import *
@@ -35,7 +34,7 @@ class Openssl(Package):
Transport Layer Security (TLS v1) protocols as well as a
full-strength general purpose cryptography library."""
homepage = "http://www.openssl.org"
- url = "https://www.openssl.org/source/openssl-1.0.1h.tar.gz"
+ url = "ftp://openssl.org/source/openssl-1.0.1h.tar.gz"
version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
version('1.0.1r', '1abd905e079542ccae948af37e393d28')
@@ -50,61 +49,15 @@ class Openssl(Package):
parallel = False
def url_for_version(self, version):
- # This URL is computed pinging the place where the latest version is
- # stored. To avoid slowdown due to repeated pinging, we store the URL
- # in a private class attribute to do the job only once per version
- openssl_urls = getattr(Openssl, '_openssl_url', {})
- openssl_url = openssl_urls.get(version, None)
- # Same idea, but just to avoid issuing the same message multiple times
- warnings_given_to_user = getattr(Openssl, '_warnings_given', {})
- if openssl_url is None:
- if self.spec.satisfies('@system'):
- # The version @system is reserved to system openssl. In that
- # case return a fake url and exit
- openssl_url = '@system (reserved version for system openssl)'
- if not warnings_given_to_user.get(version, False):
- tty.msg('Using openssl@system: '
- 'the version @system is reserved for system openssl')
- warnings_given_to_user[version] = True
- else:
- openssl_url = self.check_for_outdated_release(
- version, warnings_given_to_user) # Store the computed URL
- openssl_urls[version] = openssl_url
- # Store the updated dictionary of URLS
- Openssl._openssl_url = openssl_urls
- # Store the updated dictionary of warnings
- Openssl._warnings_given = warnings_given_to_user
-
- return openssl_url
-
- def check_for_outdated_release(self, version, warnings_given_to_user):
- latest = 'ftp://ftp.openssl.org/source/openssl-{version}.tar.gz'
- older = 'http://www.openssl.org/source/old/{version_number}/openssl-{version_full}.tar.gz' # NOQA: ignore=E501
- # Try to use the url where the latest tarballs are stored.
- # If the url does not exist (404), then return the url for
- # older format
- version_number = '.'.join([str(x) for x in version[:-1]])
- try:
- openssl_url = latest.format(version=version)
- urllib.urlopen(openssl_url)
- except IOError:
- openssl_url = older.format(
- version_number=version_number, version_full=version)
- # Checks if we already warned the user for this particular
- # version of OpenSSL. If not we display a warning message
- # and mark this version
- if not warnings_given_to_user.get(version, False):
- tty.warn(
- 'This installation depends on an old version of OpenSSL, '
- 'which may have known security issues. ')
- tty.warn(
- 'Consider updating to the latest version of this package.')
- tty.warn('More details at {homepage}'.format(
- homepage=Openssl.homepage))
- warnings_given_to_user[version] = True
-
- return openssl_url
-
+ if '@system' in self.spec:
+ return '@system (reserved version for system openssl)'
+ else:
+ return super(Openssl, self).url_for_version(self.version)
+
+ def handle_fetch_error(self, error):
+ tty.warn("Fetching OpenSSL failed. This may indicate that OpenSSL has "
+ "been updated, and the version in your instance of Spack is "
+ "insecure. Consider updating to the latest OpenSSL version.")
def install(self, spec, prefix):
# OpenSSL uses a variable APPS in its Makefile. If it happens to be set
diff --git a/var/spack/repos/builtin/packages/opium/package.py b/var/spack/repos/builtin/packages/opium/package.py
new file mode 100644
index 0000000000..2c81d92cc0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/opium/package.py
@@ -0,0 +1,55 @@
+##############################################################################
+# 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 Opium(Package):
+ """DFT pseudopotential generation project"""
+
+ homepage = "https://opium.sourceforge.net/index.html"
+ url = "https://downloads.sourceforge.net/project/opium/opium/opium-v3.8/opium-v3.8-src.tgz"
+
+ version('3.8', 'f710c0f869e70352b4a510c31e13bf9f')
+
+ depends_on('blas')
+ depends_on('lapack')
+
+ def install(self, spec, prefix):
+ options = [
+ 'LDFLAGS=%s %s' % (
+ to_link_flags(spec['lapack'].lapack_shared_lib),
+ to_link_flags(spec['blas'].blas_shared_lib)
+ )
+ ]
+
+ configure(*options)
+ with working_dir("src", create=False):
+ make("all-subdirs")
+ make("opium")
+
+ # opium not have a make install :-((
+ mkdirp(self.prefix.bin)
+ install(join_path(self.stage.source_path, 'opium'),
+ self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py
index 2104bf842b..161ba6254a 100644
--- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py
+++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class OsuMicroBenchmarks(Package):
"""The Ohio MicroBenchmark suite is a collection of independent MPI
message passing performance microbenchmarks developed and written at
@@ -41,7 +42,6 @@ class OsuMicroBenchmarks(Package):
depends_on('mpi')
depends_on('cuda', when='+cuda')
-
def install(self, spec, prefix):
config_args = [
'CC=%s' % spec['mpi'].prefix.bin + '/mpicc',
diff --git a/var/spack/repos/builtin/packages/otf/package.py b/var/spack/repos/builtin/packages/otf/package.py
index 4a7a00b212..39eb5a85aa 100644
--- a/var/spack/repos/builtin/packages/otf/package.py
+++ b/var/spack/repos/builtin/packages/otf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Otf(Package):
"""To improve scalability for very large and massively parallel
traces the Open Trace Format (OTF) is developed at ZIH as a
diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py
index 131836f8ac..ee39f448eb 100644
--- a/var/spack/repos/builtin/packages/otf2/package.py
+++ b/var/spack/repos/builtin/packages/otf2/package.py
@@ -27,8 +27,8 @@ from spack import *
class Otf2(Package):
- """
- The Open Trace Format 2 is a highly scalable, memory efficient event trace data format plus support library.
+ """The Open Trace Format 2 is a highly scalable, memory efficient event
+ trace data format plus support library.
"""
homepage = "http://www.vi-hps.org/score-p"
@@ -46,10 +46,10 @@ class Otf2(Package):
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
def install(self, spec, prefix):
- configure_args=["--prefix=%s" % prefix,
- "--enable-shared",
- "CFLAGS=-fPIC",
- "CXXFLAGS=-fPIC"]
+ configure_args = ["--prefix=%s" % prefix,
+ "--enable-shared",
+ "CFLAGS=-fPIC",
+ "CXXFLAGS=-fPIC"]
configure(*configure_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py
index 4bbf0c1311..114fd00011 100644
--- a/var/spack/repos/builtin/packages/p4est/package.py
+++ b/var/spack/repos/builtin/packages/p4est/package.py
@@ -24,46 +24,42 @@
##############################################################################
from spack import *
+
class P4est(Package):
- """Dynamic management of a collection (a forest) of adaptive octrees in parallel"""
+ """Dynamic management of a collection (a forest) of adaptive octrees in
+ parallel"""
homepage = "http://www.p4est.org"
url = "http://p4est.github.io/release/p4est-1.1.tar.gz"
version('1.1', '37ba7f4410958cfb38a2140339dbf64f')
- variant('tests', default=True, description='Run small tests')
-
# build dependencies
depends_on('automake', type='build')
depends_on('autoconf', type='build')
depends_on('libtool@2.4.2:', type='build')
# other dependencies
- depends_on('lua') # Needed for the submodule sc
+ depends_on('lua') # Needed for the submodule sc
depends_on('mpi')
depends_on('zlib')
def install(self, spec, prefix):
- options = ['--enable-mpi',
- '--enable-shared',
- '--disable-vtk-binary',
- '--without-blas',
- 'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
- 'CFLAGS=-O2',
- 'CC=%s' % self.spec['mpi'].mpicc,
- 'CXX=%s' % self.spec['mpi'].mpicxx,
- 'FC=%s' % self.spec['mpi'].mpifc,
- 'F77=%s' % self.spec['mpi'].mpif77
- ]
+ options = [
+ '--enable-mpi',
+ '--enable-shared',
+ '--disable-vtk-binary',
+ '--without-blas',
+ 'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
+ 'CFLAGS=-O2',
+ 'CC=%s' % self.spec['mpi'].mpicc,
+ 'CXX=%s' % self.spec['mpi'].mpicxx,
+ 'FC=%s' % self.spec['mpi'].mpifc,
+ 'F77=%s' % self.spec['mpi'].mpif77
+ ]
configure('--prefix=%s' % prefix, *options)
make()
- # Make tests optional as sometimes mpiexec can't be run with an error:
- # mpiexec has detected an attempt to run as root.
- # Running at root is *strongly* discouraged as any mistake (e.g., in
- # defining TMPDIR) or bug can result in catastrophic damage to the OS
- # file system, leaving your system in an unusable state.
- if '+tests' in self.spec:
- make("check")
+ if self.run_tests:
+ make("check")
make("install")
diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py
index a04f6d64e0..2da20e9dc2 100644
--- a/var/spack/repos/builtin/packages/pango/package.py
+++ b/var/spack/repos/builtin/packages/pango/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Pango(Package):
"""Pango is a library for laying out and rendering of text, with
an emphasis on internationalization. It can be used anywhere
@@ -31,8 +32,11 @@ class Pango(Package):
far has been done in the context of the GTK+ widget toolkit."""
homepage = "http://www.pango.org"
url = "http://ftp.gnome.org/pub/gnome/sources/pango/1.36/pango-1.36.8.tar.xz"
+ list_url = "http://ftp.gnome.org/pub/gnome/sources/pango/"
+ list_depth = 2
version('1.36.8', '217a9a753006275215fa9fa127760ece')
+ version('1.40.1', '6fc88c6529890d6c8e03074d57a3eceb')
depends_on("harfbuzz")
depends_on("cairo")
diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py
index ecd958407f..5c4abe1730 100644
--- a/var/spack/repos/builtin/packages/papi/package.py
+++ b/var/spack/repos/builtin/packages/papi/package.py
@@ -28,6 +28,7 @@ import os
import sys
from llnl.util.filesystem import fix_darwin_install_name
+
class Papi(Package):
"""PAPI provides the tool designer and application engineer with a
consistent interface and methodology for use of the performance
@@ -47,7 +48,7 @@ class Papi(Package):
def install(self, spec, prefix):
with working_dir("src"):
- configure_args=["--prefix=%s" % prefix]
+ configure_args = ["--prefix=%s" % prefix]
# PAPI uses MPI if MPI is present; since we don't require
# an MPI package, we ensure that all attempts to use MPI
diff --git a/var/spack/repos/builtin/packages/paradiseo/package.py b/var/spack/repos/builtin/packages/paradiseo/package.py
index 97d36d94a4..c91b01c964 100644
--- a/var/spack/repos/builtin/packages/paradiseo/package.py
+++ b/var/spack/repos/builtin/packages/paradiseo/package.py
@@ -23,40 +23,50 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import sys
+
class Paradiseo(Package):
- """A C++ white-box object-oriented framework dedicated to the reusable design of metaheuristics."""
+ """A C++ white-box object-oriented framework dedicated to the reusable
+ design of metaheuristics."""
homepage = "http://paradiseo.gforge.inria.fr/"
- # Installing from the development version is a better option at this
+ # Installing from the development version is a better option at this
# point than using the very old supplied packages
version('head', git='https://gforge.inria.fr/git/paradiseo/paradiseo.git')
- # This is a version that the package formula author has tested successfully.
- # However, the clone is very large (~1Gb git history). The history in the
- # head version has been trimmed significantly.
- version('dev-safe', git='https://gforge.inria.fr/git/paradiseo/paradiseo.git',
- commit='dbb8fbe9a786efd4d1c26408ac1883442e7643a6')
- variant('mpi', default=True, description='Compile with parallel and distributed metaheuristics module')
- variant('smp', default=True, description='Compile with symmetric multi-processing module ')
- variant('edo', default=True, description='Compile with (Experimental) EDO module')
- #variant('tests', default=False, description='Compile with build tests')
- #variant('doc', default=False, description='Compile with documentation')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ # This is a version that the package formula author has tested
+ # successfully. However, the clone is very large (~1Gb git
+ # history). The history in the head version has been trimmed
+ # significantly.
+ version(
+ 'dev-safe', git='https://gforge.inria.fr/git/paradiseo/paradiseo.git',
+ commit='dbb8fbe9a786efd4d1c26408ac1883442e7643a6')
+
+ variant('mpi', default=True,
+ description='Compile with parallel and distributed '
+ 'metaheuristics module')
+ variant('smp', default=True,
+ description='Compile with symmetric multi-processing module ')
+ variant('edo', default=True,
+ description='Compile with (Experimental) EDO module')
+
+ # variant('tests', default=False, description='Compile with build tests')
+ # variant('doc', default=False, description='Compile with documentation')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
variant('openmp', default=False, description='Enable OpenMP support')
variant('gnuplot', default=False, description='Enable GnuPlot support')
-
+
# Required dependencies
- depends_on ("cmake", type='build')
+ depends_on("cmake", type='build')
# Optional dependencies
- depends_on ("mpi", when="+mpi")
- depends_on ("doxygen", when='+doc', type='build')
- depends_on ("gnuplot", when='+gnuplot')
- depends_on ("eigen", when='+edo', type='build')
- depends_on ("boost~mpi", when='+edo~mpi')
- depends_on ("boost+mpi", when='+edo+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("doxygen", when='+doc', type='build')
+ depends_on("gnuplot", when='+gnuplot')
+ depends_on("eigen", when='+edo', type='build')
+ depends_on("boost~mpi", when='+edo~mpi')
+ depends_on("boost+mpi", when='+edo+mpi')
# Patches
patch('enable_eoserial.patch')
@@ -69,16 +79,21 @@ class Paradiseo(Package):
options.extend(std_cmake_args)
options.extend([
- '-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
+ '-DCMAKE_BUILD_TYPE:STRING=%s' % (
+ 'Debug' if '+debug' in spec else 'Release'),
'-DINSTALL_TYPE:STRING=MIN',
'-DMPI:BOOL=%s' % ('TRUE' if '+mpi' in spec else 'FALSE'),
- '-DSMP:BOOL=%s' % ('TRUE' if '+smp' in spec else 'FALSE'), # Note: This requires a C++11 compatible compiler
+ # Note: This requires a C++11 compatible compiler
+ '-DSMP:BOOL=%s' % ('TRUE' if '+smp' in spec else 'FALSE'),
'-DEDO:BOOL=%s' % ('TRUE' if '+edo' in spec else 'FALSE'),
- '-DENABLE_CMAKE_TESTING:BOOL=%s' % ('TRUE' if '+tests' in spec else 'FALSE'),
- '-DENABLE_OPENMP:BOOL=%s' % ('TRUE' if '+openmp' in spec else 'FALSE'),
- '-DENABLE_GNUPLOT:BOOL=%s' % ('TRUE' if '+gnuplot' in spec else 'FALSE')
+ '-DENABLE_CMAKE_TESTING:BOOL=%s' % (
+ 'TRUE' if '+tests' in spec else 'FALSE'),
+ '-DENABLE_OPENMP:BOOL=%s' % (
+ 'TRUE' if '+openmp' in spec else 'FALSE'),
+ '-DENABLE_GNUPLOT:BOOL=%s' % (
+ 'TRUE' if '+gnuplot' in spec else 'FALSE')
])
-
+
with working_dir('spack-build', create=True):
# Configure
cmake('..', *options)
diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
index deee46df8f..be4a8bc38b 100644
--- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py
+++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class ParallelNetcdf(Package):
"""Parallel netCDF (PnetCDF) is a library providing high-performance
parallel I/O while still maintaining file-format compatibility with
@@ -37,12 +38,14 @@ class ParallelNetcdf(Package):
variant('cxx', default=True, description='Build the C++ Interface')
variant('fortran', default=True, description='Build the Fortran Interface')
- variant('fpic', default=True, description='Produce position-independent code (for use with shared libraries)')
+ variant('fpic', default=True,
+ description='Produce position-independent code (for shared libs)')
depends_on("m4", type='build')
depends_on("mpi")
- # See: https://trac.mcs.anl.gov/projects/parallel-netcdf/browser/trunk/INSTALL
+ # See:
+ # https://trac.mcs.anl.gov/projects/parallel-netcdf/browser/trunk/INSTALL
def install(self, spec, prefix):
args = list()
if '+fpic' in spec:
@@ -53,7 +56,7 @@ class ParallelNetcdf(Package):
args.append('--disable-fortran')
args.extend(["--prefix=%s" % prefix,
- "--with-mpi=%s" % spec['mpi'].prefix])
+ "--with-mpi=%s" % spec['mpi'].prefix])
configure(*args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/parallel/package.py b/var/spack/repos/builtin/packages/parallel/package.py
new file mode 100644
index 0000000000..2306dace55
--- /dev/null
+++ b/var/spack/repos/builtin/packages/parallel/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 Parallel(Package):
+ """
+ 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.
+ """
+
+ homepage = "http://www.gnu.org/software/parallel/"
+ url = "http://ftp.gnu.org/gnu/parallel/parallel-20160422.tar.bz2"
+
+ version('20160422', '24621f684130472694333709bd4454cb')
+ version('20160322', '4e81e0d36902ab4c4e969ee6f35e6e57')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/paraver/package.py b/var/spack/repos/builtin/packages/paraver/package.py
index 50ce6b79fb..1b6e3ce8e6 100644
--- a/var/spack/repos/builtin/packages/paraver/package.py
+++ b/var/spack/repos/builtin/packages/paraver/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class Paraver(Package):
""""A very powerful performance visualization and analysis tool
based on traces that can be used to analyse any information that
@@ -36,7 +37,7 @@ class Paraver(Package):
version('4.5.3', '625de9ec0d639acd18d1aaa644b38f72')
depends_on("boost")
- #depends_on("extrae")
+ # depends_on("extrae")
depends_on("wx")
depends_on("wxpropgrid")
@@ -47,8 +48,11 @@ class Paraver(Package):
make("install")
os.chdir("../paraver-kernel")
- #"--with-extrae=%s" % spec['extrae'].prefix,
- configure("--prefix=%s" % prefix, "--with-ptools-common-files=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization")
+ # "--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix,
+ "--with-ptools-common-files=%s" % prefix,
+ "--with-boost=%s" % spec['boost'].prefix,
+ "--with-boost-serialization=boost_serialization")
make()
make("install")
@@ -58,8 +62,11 @@ class Paraver(Package):
make("install")
os.chdir("../wxparaver")
- #"--with-extrae=%s" % spec['extrae'].prefix,
- configure("--prefix=%s" % prefix, "--with-paraver=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization", "--with-wxdir=%s" % spec['wx'].prefix.bin)
+ # "--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix,
+ "--with-paraver=%s" % prefix,
+ "--with-boost=%s" % spec['boost'].prefix,
+ "--with-boost-serialization=boost_serialization",
+ "--with-wxdir=%s" % spec['wx'].prefix.bin)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index 75f5272006..68c781734e 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Paraview(Package):
homepage = 'http://www.paraview.org'
url = 'http://www.paraview.org/files/v5.0/ParaView-v'
@@ -52,23 +53,22 @@ class Paraview(Package):
depends_on('cmake', type='build')
depends_on('bzip2')
depends_on('freetype')
- #depends_on('hdf5+mpi', when='+mpi')
- #depends_on('hdf5~mpi', when='~mpi')
+ # depends_on('hdf5+mpi', when='+mpi')
+ # depends_on('hdf5~mpi', when='~mpi')
depends_on('jpeg')
depends_on('libpng')
depends_on('libtiff')
depends_on('libxml2')
- #depends_on('netcdf')
- #depends_on('netcdf-cxx')
- #depends_on('protobuf') # version mismatches?
- #depends_on('sqlite') # external version not supported
+ # depends_on('netcdf')
+ # depends_on('netcdf-cxx')
+ # depends_on('protobuf') # version mismatches?
+ # depends_on('sqlite') # external version not supported
depends_on('zlib')
def url_for_version(self, version):
"""Handle ParaView version-based custom URLs."""
return self._url_str % (version.up_to(2), version)
-
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
def feature_to_bool(feature, on='ON', off='OFF'):
@@ -80,34 +80,46 @@ class Paraview(Package):
return feature_to_bool(feature, on='OFF', off='ON')
feature_args = std_cmake_args[:]
- feature_args.append('-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % feature_to_bool('+qt'))
- feature_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=%s' % feature_to_bool('+python'))
+ feature_args.append(
+ '-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % feature_to_bool('+qt'))
+ feature_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=%s' %
+ feature_to_bool('+python'))
if '+python' in spec:
- feature_args.append('-DPYTHON_EXECUTABLE:FILEPATH=%s/bin/python' % spec['python'].prefix)
- feature_args.append('-DPARAVIEW_USE_MPI:BOOL=%s' % feature_to_bool('+mpi'))
+ feature_args.append(
+ '-DPYTHON_EXECUTABLE:FILEPATH=%s/bin/python'
+ % spec['python'].prefix)
+ feature_args.append('-DPARAVIEW_USE_MPI:BOOL=%s' %
+ feature_to_bool('+mpi'))
if '+mpi' in spec:
- feature_args.append('-DMPIEXEC:FILEPATH=%s/bin/mpiexec' % spec['mpi'].prefix)
- feature_args.append('-DVTK_ENABLE_TCL_WRAPPING:BOOL=%s' % feature_to_bool('+tcl'))
- feature_args.append('-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' % feature_to_bool('+osmesa'))
- feature_args.append('-DVTK_USE_X:BOOL=%s' % nfeature_to_bool('+osmesa'))
- feature_args.append('-DVTK_RENDERING_BACKEND:STRING=%s' % feature_to_bool('+opengl2', 'OpenGL2', 'OpenGL'))
+ feature_args.append(
+ '-DMPIEXEC:FILEPATH=%s/bin/mpiexec' % spec['mpi'].prefix)
+ feature_args.append(
+ '-DVTK_ENABLE_TCL_WRAPPING:BOOL=%s' % feature_to_bool('+tcl'))
+ feature_args.append('-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' %
+ feature_to_bool('+osmesa'))
+ feature_args.append('-DVTK_USE_X:BOOL=%s' %
+ nfeature_to_bool('+osmesa'))
+ feature_args.append(
+ '-DVTK_RENDERING_BACKEND:STRING=%s' %
+ feature_to_bool('+opengl2', 'OpenGL2', 'OpenGL'))
feature_args.extend(std_cmake_args)
if 'darwin' in self.spec.architecture:
feature_args.append('-DVTK_USE_X:BOOL=OFF')
- feature_args.append('-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON')
+ feature_args.append(
+ '-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON')
cmake('..',
- '-DCMAKE_INSTALL_PREFIX:PATH=%s' % prefix,
- '-DBUILD_TESTING:BOOL=OFF',
- '-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON',
- '-DVTK_USE_SYSTEM_HDF5:BOOL=OFF',
- '-DVTK_USE_SYSTEM_JPEG:BOOL=ON',
- '-DVTK_USE_SYSTEM_LIBXML2:BOOL=ON',
- '-DVTK_USE_SYSTEM_NETCDF:BOOL=OFF',
- '-DVTK_USE_SYSTEM_TIFF:BOOL=ON',
- '-DVTK_USE_SYSTEM_ZLIB:BOOL=ON',
- *feature_args)
+ '-DCMAKE_INSTALL_PREFIX:PATH=%s' % prefix,
+ '-DBUILD_TESTING:BOOL=OFF',
+ '-DVTK_USE_SYSTEM_FREETYPE:BOOL=ON',
+ '-DVTK_USE_SYSTEM_HDF5:BOOL=OFF',
+ '-DVTK_USE_SYSTEM_JPEG:BOOL=ON',
+ '-DVTK_USE_SYSTEM_LIBXML2:BOOL=ON',
+ '-DVTK_USE_SYSTEM_NETCDF:BOOL=OFF',
+ '-DVTK_USE_SYSTEM_TIFF:BOOL=ON',
+ '-DVTK_USE_SYSTEM_ZLIB:BOOL=ON',
+ *feature_args)
make()
make('install')
diff --git a/var/spack/repos/builtin/packages/parmetis/package.py b/var/spack/repos/builtin/packages/parmetis/package.py
index b2ceadc128..2750df2bdb 100644
--- a/var/spack/repos/builtin/packages/parmetis/package.py
+++ b/var/spack/repos/builtin/packages/parmetis/package.py
@@ -38,8 +38,10 @@ class Parmetis(Package):
version('4.0.3', 'f69c479586bf6bb7aff6a9bc0c739628')
version('4.0.2', '0912a953da5bb9b5e5e10542298ffdce')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds the library in debug mode')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds the library in debug mode')
variant('gdb', default=False, description='Enables gdb support')
depends_on('cmake@2.8:', type='build') # build dependency
@@ -48,9 +50,9 @@ class Parmetis(Package):
patch('enable_external_metis.patch')
# bug fixes from PETSc developers
- # https://bitbucket.org/petsc/pkg-parmetis/commits/1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b/raw/ # NOQA: ignore=E501
+ # https://bitbucket.org/petsc/pkg-parmetis/commits/1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b/raw/
patch('pkg-parmetis-1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b.patch')
- # https://bitbucket.org/petsc/pkg-parmetis/commits/82409d68aa1d6cbc70740d0f35024aae17f7d5cb/raw/ # NOQA: ignore=E501
+ # https://bitbucket.org/petsc/pkg-parmetis/commits/82409d68aa1d6cbc70740d0f35024aae17f7d5cb/raw/
patch('pkg-parmetis-82409d68aa1d6cbc70740d0f35024aae17f7d5cb.patch')
def url_for_version(self, version):
diff --git a/var/spack/repos/builtin/packages/parpack/package.py b/var/spack/repos/builtin/packages/parpack/package.py
index 5930dada85..84bc88b3b0 100644
--- a/var/spack/repos/builtin/packages/parpack/package.py
+++ b/var/spack/repos/builtin/packages/parpack/package.py
@@ -26,6 +26,7 @@ from spack import *
import os
import shutil
+
class Parpack(Package):
"""ARPACK is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems."""
@@ -52,13 +53,13 @@ class Parpack(Package):
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('^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')
diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py
index 3860875bcc..cd1f679062 100644
--- a/var/spack/repos/builtin/packages/patchelf/package.py
+++ b/var/spack/repos/builtin/packages/patchelf/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class Patchelf(Package):
- """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables."""
+ """PatchELF is a small utility to modify the dynamic linker and RPATH of
+ ELF executables."""
homepage = "https://nixos.org/patchelf.html"
url = "http://nixos.org/releases/patchelf/patchelf-0.8/patchelf-0.8.tar.gz"
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index a43729a1ac..6f306ab0f9 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -29,7 +29,6 @@ class Pcre(Package):
"""The PCRE package contains Perl Compatible Regular Expression
libraries. These are useful for implementing regular expression
pattern matching using the same syntax and semantics as Perl 5."""
-
homepage = "http://www.pcre.org"""
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2"
@@ -46,6 +45,7 @@ class Pcre(Package):
configure_args = ['--prefix=%s' % prefix]
if '+utf' in spec:
configure_args.append('--enable-utf')
+ configure_args.append('--enable-unicode-properties')
configure(*configure_args)
make()
diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py
index b013685f05..a2739e0584 100644
--- a/var/spack/repos/builtin/packages/pcre2/package.py
+++ b/var/spack/repos/builtin/packages/pcre2/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Pcre2(Package):
"""The PCRE2 package contains Perl Compatible Regular Expression
libraries. These are useful for implementing regular expression
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
index 60136fc0cd..074d28540b 100644
--- a/var/spack/repos/builtin/packages/pdt/package.py
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -27,17 +27,21 @@ from spack import *
class Pdt(Package):
- """
- Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages
- and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements
- a standard program representation, the program database (PDB), that can be accessed in a uniform way through a
- class library supporting common PDB operations.
+ """Program Database Toolkit (PDT) is a framework for analyzing source
+ code written in several programming languages and for making rich
+ program knowledge accessible to developers of static and dynamic
+ analysis tools. PDT implements a standard program representation,
+ the program database (PDB), that can be accessed in a uniform way
+ through a class library supporting common PDB operations.
+
"""
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
- url = "https://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-3.21.tar.gz"
- version('3.21', '8df94298b71703decf680709a4ddf68f')
- version('3.19', 'ba5591994998771fdab216699e362228')
+ 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)
def install(self, spec, prefix):
configure('-prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
new file mode 100644
index 0000000000..d71a7492ba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -0,0 +1,75 @@
+##############################################################################
+# 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
+##############################################################################
+#
+# Author: George Hartzell <hartzell@alerce.com>
+# Date: July 21, 2016
+# Author: Justin Too <justin@doubleotoo.com>
+# Date: September 6, 2015
+#
+from spack import *
+
+
+class Perl(Package):
+ """Perl 5 is a highly capable, feature-rich programming language with over
+ 27 years of development."""
+ homepage = "http://www.perl.org"
+ url = "http://www.cpan.org/src/5.0/perl-5.22.2.tar.gz"
+
+ version('5.24.0', 'c5bf7f3285439a2d3b6a488e14503701')
+ version('5.22.2', '5767e2a10dd62a46d7b57f74a90d952b')
+ version('5.20.3', 'd647d0ea5a7a8194c34759ab9f2610cd')
+ # 5.18.4 fails with gcc-5
+ # https://rt.perl.org/Public/Bug/Display.html?id=123784
+ # version('5.18.4' , '1f9334ff730adc05acd3dd7130d295db')
+
+ # Installing cpanm alongside the core makes it safe and simple for
+ # people/projects to install their own sets of perl modules. Not
+ # having it in core increases the "energy of activation" for doing
+ # things cleanly.
+ variant('cpanm', default=True,
+ description='Optionally install cpanm with the core packages.')
+
+ resource(
+ name="cpanm",
+ url="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7042.tar.gz",
+ md5="e87f55fbcb3c13a4754500c18e89219f",
+ destination="cpanm",
+ placement="cpanm"
+ )
+
+ def install(self, spec, prefix):
+ configure = Executable('./Configure')
+ configure("-des", "-Dprefix=" + prefix)
+ make()
+ if self.run_tests:
+ make("test")
+ make("install")
+
+ if '+cpanm' in spec:
+ with working_dir(join_path('cpanm', 'cpanm')):
+ perl = Executable(join_path(prefix.bin, 'perl'))
+ perl('Makefile.PL')
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 11f5c36c22..66e1abdf1a 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -44,18 +44,25 @@ class Petsc(Package):
version('3.5.1', 'a557e029711ebf425544e117ffa44d8f')
version('3.4.4', '7edbc68aa6d8d6a3295dd5f6c2f6979d')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
variant('mpi', default=True, description='Activates MPI support')
- variant('double', default=True, description='Switches between single and double precision')
+ variant('double', default=True,
+ description='Switches between single and double precision')
variant('complex', default=False, description='Build with complex numbers')
variant('debug', default=False, description='Compile in debug mode')
- variant('metis', default=True, description='Activates support for metis and parmetis')
- variant('hdf5', default=True, description='Activates support for HDF5 (only parallel)')
+ variant('metis', default=True,
+ description='Activates support for metis and parmetis')
+ variant('hdf5', default=True,
+ description='Activates support for HDF5 (only parallel)')
variant('boost', default=True, description='Activates support for Boost')
- variant('hypre', default=True, description='Activates support for Hypre (only parallel)')
- variant('mumps', default=True, description='Activates support for MUMPS (only parallel)')
- variant('superlu-dist', default=True, description='Activates support for SuperluDist (only parallel)')
+ variant('hypre', default=True,
+ description='Activates support for Hypre (only parallel)')
+ variant('mumps', default=True,
+ description='Activates support for MUMPS (only parallel)')
+ variant('superlu-dist', default=True,
+ description='Activates support for SuperluDist (only parallel)')
# Virtual dependencies
depends_on('blas')
@@ -74,7 +81,7 @@ class Petsc(Package):
# Hypre does not support complex numbers.
# Also PETSc prefer to build it without internal superlu, likely due to
# conflict in headers see
- # https://bitbucket.org/petsc/petsc/src/90564b43f6b05485163c147b464b5d6d28cde3ef/config/BuildSystem/config/packages/hypre.py # NOQA: ignore=E501
+ # https://bitbucket.org/petsc/petsc/src/90564b43f6b05485163c147b464b5d6d28cde3ef/config/BuildSystem/config/packages/hypre.py
depends_on('hypre~internal-superlu', when='+hypre+mpi~complex')
depends_on('superlu-dist@:4.3', when='@:3.6.4+superlu-dist+mpi')
depends_on('superlu-dist@5.0.0:', when='@3.7:+superlu-dist+mpi')
@@ -85,17 +92,21 @@ class Petsc(Package):
if '~mpi' in self.spec:
compiler_opts = [
'--with-cc=%s' % os.environ['CC'],
- '--with-cxx=%s' % (os.environ['CXX'] if self.compiler.cxx is not None else '0'), # NOQA: ignore=E501
- '--with-fc=%s' % (os.environ['FC'] if self.compiler.fc is not None else '0'), # NOQA: ignore=E501
+ '--with-cxx=%s' % (os.environ['CXX']
+ if self.compiler.cxx is not None else '0'),
+ '--with-fc=%s' % (os.environ['FC']
+ if self.compiler.fc is not None else '0'),
'--with-mpi=0'
]
- error_message_fmt = '\t{library} support requires "+mpi" to be activated' # NOQA: ignore=E501
+ error_message_fmt = \
+ '\t{library} support requires "+mpi" to be activated'
# If mpi is disabled (~mpi), it's an error to have any of these
# enabled. This generates a list of any such errors.
- errors = [error_message_fmt.format(library=x)
- for x in ('hdf5', 'hypre', 'parmetis', 'mumps', 'superlu-dist') # NOQA: ignore=E501
- if ('+' + x) in self.spec]
+ errors = [
+ error_message_fmt.format(library=x)
+ for x in ('hdf5', 'hypre', 'parmetis', 'mumps', 'superlu-dist')
+ if ('+' + x) in self.spec]
if errors:
errors = ['incompatible variants given'] + errors
raise RuntimeError('\n'.join(errors))
@@ -110,8 +121,10 @@ class Petsc(Package):
options = ['--with-ssl=0']
options.extend(self.mpi_dependent_options())
options.extend([
- '--with-precision=%s' % ('double' if '+double' in spec else 'single'), # NOQA: ignore=E501
- '--with-scalar-type=%s' % ('complex' if '+complex' in spec else 'real'), # NOQA: ignore=E501
+ '--with-precision=%s' % (
+ 'double' if '+double' in spec else 'single'),
+ '--with-scalar-type=%s' % (
+ 'complex' if '+complex' in spec else 'real'),
'--with-shared-libraries=%s' % ('1' if '+shared' in spec else '0'),
'--with-debugging=%s' % ('1' if '+debug' in spec else '0'),
'--with-blas-lapack-dir=%s' % spec['lapack'].prefix
@@ -120,11 +133,13 @@ class Petsc(Package):
for library in ('metis', 'boost', 'hdf5', 'hypre', 'parmetis',
'mumps', 'scalapack'):
options.append(
- '--with-{library}={value}'.format(library=library, value=('1' if library in spec else '0')) # NOQA: ignore=E501
+ '--with-{library}={value}'.format(
+ library=library, value=('1' if library in spec else '0'))
)
if library in spec:
options.append(
- '--with-{library}-dir={path}'.format(library=library, path=spec[library].prefix) # NOQA: ignore=E501
+ '--with-{library}-dir={path}'.format(
+ library=library, path=spec[library].prefix)
)
# PETSc does not pick up SuperluDist from the dir as they look for
# superlu_dist_4.1.a
@@ -158,13 +173,25 @@ class Petsc(Package):
run = Executable(join_path(spec['mpi'].prefix.bin, 'mpirun'))
run('ex50', '-da_grid_x', '4', '-da_grid_y', '4')
if 'superlu-dist' in spec:
- run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'superlu_dist') # NOQA: ignore=E501
+ run('ex50',
+ '-da_grid_x', '4',
+ '-da_grid_y', '4',
+ '-pc_type', 'lu',
+ '-pc_factor_mat_solver_package', 'superlu_dist')
if 'mumps' in spec:
- run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'mumps') # NOQA: ignore=E501
+ run('ex50',
+ '-da_grid_x', '4',
+ '-da_grid_y', '4',
+ '-pc_type', 'lu',
+ '-pc_factor_mat_solver_package', 'mumps')
if 'hypre' in spec:
- run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'hypre', '-pc_hypre_type', 'boomeramg') # NOQA: ignore=E501
+ run('ex50',
+ '-da_grid_x', '4',
+ '-da_grid_y', '4',
+ '-pc_type', 'hypre',
+ '-pc_hypre_type', 'boomeramg')
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
# set up PETSC_DIR for everyone using PETSc package
diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py
index 7170c65303..c58d563682 100644
--- a/var/spack/repos/builtin/packages/pgi/package.py
+++ b/var/spack/repos/builtin/packages/pgi/package.py
@@ -41,6 +41,7 @@ class Pgi(Package):
homepage = "http://www.pgroup.com/"
url = "file://%s/pgi-16.3.tar.gz" % os.getcwd()
+ version('16.5', 'a40e8852071b5d600cb42f31631b3de1')
version('16.3', '618cb7ddbc57d4e4ed1f21a0ab25f427')
variant('network', default=True,
diff --git a/var/spack/repos/builtin/packages/pidx/package.py b/var/spack/repos/builtin/packages/pidx/package.py
index e7b18ce7a8..e19bb9e470 100644
--- a/var/spack/repos/builtin/packages/pidx/package.py
+++ b/var/spack/repos/builtin/packages/pidx/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Pidx(Package):
"""PIDX Parallel I/O Library.
diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py
index 34d8dfea0d..3d7e332a3f 100644
--- a/var/spack/repos/builtin/packages/pixman/package.py
+++ b/var/spack/repos/builtin/packages/pixman/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Pixman(Package):
"""The Pixman package contains a library that provides low-level
pixel manipulation features such as image compositing and
diff --git a/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch
new file mode 100644
index 0000000000..9538f23875
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch
@@ -0,0 +1,34 @@
+From 00148329967adb196138372771052a3f606a6ea3 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:43:10 +0200
+Subject: [PATCH 2/2] gdate: Suppress string format literal warning
+
+Newer versions of GCC emit an error here, but we know it's safe.
+https://bugzilla.gnome.org/761550
+---
+ glib/glib/gdate.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glib/glib/gdate.c b/glib/glib/gdate.c
+index 4aece02..92c34d2 100644
+--- a/glib/glib/gdate.c
++++ b/glib/glib/gdate.c
+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d,
+ *
+ * Returns: number of characters written to the buffer, or 0 the buffer was too small
+ */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++
+ gsize
+ g_date_strftime (gchar *s,
+ gsize slen,
+@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s,
+ return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
+--
+2.7.1
+
diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py
index ddbc151767..45e8e8b74e 100644
--- a/var/spack/repos/builtin/packages/pkg-config/package.py
+++ b/var/spack/repos/builtin/packages/pkg-config/package.py
@@ -24,23 +24,29 @@
##############################################################################
from spack import *
+
class PkgConfig(Package):
- """pkg-config is a helper tool used when compiling applications and libraries"""
+ """pkg-config is a helper tool used when compiling applications
+ and libraries"""
+
homepage = "http://www.freedesktop.org/wiki/Software/pkg-config/"
url = "http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz"
- version('0.28', 'aa3c86e67551adc3ac865160e34a2a0d')
+ version('0.29.1', 'f739a28cae4e0ca291f82d1d41ef107d')
+ version('0.28', 'aa3c86e67551adc3ac865160e34a2a0d')
parallel = False
+ # The following patch is needed for gcc-6.1
+ patch('g_date_strftime.patch')
+
def install(self, spec, prefix):
- configure("--prefix=%s" %prefix,
- "--enable-shared",
- "--with-internal-glib") # There's a bootstrapping problem here;
- # glib uses pkg-config as well, so
- # break the cycle by using the internal
- # glib.
+ configure("--prefix={0}".format(prefix),
+ "--enable-shared",
+ # There's a bootstrapping problem here;
+ # glib uses pkg-config as well, so break
+ # the cycle by using the internal glib.
+ "--with-internal-glib")
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py
new file mode 100644
index 0000000000..b670b4c2b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/plumed/package.py
@@ -0,0 +1,112 @@
+##############################################################################
+# 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
+##############################################################################
+import subprocess
+
+from spack import *
+
+
+class Plumed(Package):
+ """PLUMED is an open source library for free energy calculations in
+ molecular systems which works together with some of the most popular
+ molecular dynamics engines.
+
+ Free energy calculations can be performed as a function of many order
+ parameters with a particular focus on biological problems, using state
+ of the art methods such as metadynamics, umbrella sampling and
+ Jarzynski-equation based steered MD.
+
+ The software, written in C++, can be easily interfaced with both fortran
+ and C/C++ codes.
+ """
+ homepage = 'http://www.plumed.org/'
+ url = 'https://github.com/plumed/plumed2/archive/v2.2.3.tar.gz'
+
+ version('2.2.3', 'a6e3863e40aac07eb8cf739cbd14ecf8')
+
+ variant('shared', default=True, description='Builds shared libraries')
+ variant('mpi', default=True, description='Activates MPI support')
+ variant('gsl', default=True, description='Activates GSL support')
+
+ depends_on('zlib')
+ depends_on('blas')
+ depends_on('lapack')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('gsl', when='+gsl')
+
+ # Dictionary mapping PLUMED versions to the patches it provides
+ # interactively
+ plumed_patches = {
+ '2.2.3': {
+ 'amber-14': '1',
+ 'gromacs-4.5.7': '2',
+ 'gromacs-4.6.7': '3',
+ 'gromacs-5.0.7': '4',
+ 'gromacs-5.1.2': '5',
+ 'lammps-6Apr13': '6',
+ 'namd-2.8': '7',
+ 'namd-2.9': '8',
+ 'espresso-5.0.2': '9'
+ }
+ }
+
+ def apply_patch(self, other):
+ plumed = subprocess.Popen(
+ [join_path(self.spec.prefix.bin, 'plumed'), 'patch', '-p'],
+ stdin=subprocess.PIPE
+ )
+ opts = Plumed.plumed_patches[str(self.version)]
+ search = '{0.name}-{0.version}'.format(other)
+ choice = opts[search] + '\n'
+ plumed.stdin.write(choice)
+ plumed.wait()
+
+ def setup_dependent_package(self, module, ext_spec):
+ # Make plumed visible from dependent packages
+ module.plumed = Executable(join_path(self.spec.prefix.bin, 'plumed'))
+
+ def install(self, spec, prefix):
+ # From plumed docs :
+ # Also consider that this is different with respect to what some other
+ # configure script does in that variables such as MPICXX are
+ # completely ignored here. In case you work on a machine where CXX is
+ # set to a serial compiler and MPICXX to a MPI compiler, to compile
+ # with MPI you should use:
+ #
+ # > ./configure CXX="$MPICXX"
+ configure_opts = [
+ 'CXX={0}'.format(spec['mpi'].mpicxx)
+ ] if '+mpi' in self.spec else []
+
+ configure_opts.extend([
+ '--prefix={0}'.format(prefix),
+ '--enable-shared={0}'.format('yes' if '+shared' in spec else 'no'),
+ '--enable-mpi={0}'.format('yes' if '+mpi' in spec else 'no'),
+ '--enable-gsl={0}'.format('yes' if '+gsl' in spec else 'no')
+ ])
+
+ configure(*configure_opts)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/pmgr_collective/package.py b/var/spack/repos/builtin/packages/pmgr_collective/package.py
index a6e3b8e2a2..f6466a7954 100644
--- a/var/spack/repos/builtin/packages/pmgr_collective/package.py
+++ b/var/spack/repos/builtin/packages/pmgr_collective/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PmgrCollective(Package):
"""PMGR_COLLECTIVE provides a scalable network for bootstrapping
MPI jobs."""
diff --git a/var/spack/repos/builtin/packages/ppl/package.py b/var/spack/repos/builtin/packages/ppl/package.py
index a54c6ce221..73404103f0 100644
--- a/var/spack/repos/builtin/packages/ppl/package.py
+++ b/var/spack/repos/builtin/packages/ppl/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Ppl(Package):
"""The Parma Polyhedra Library (PPL) provides numerical
abstractions especially targeted at applications in the field of
diff --git a/var/spack/repos/builtin/packages/prank/package.py b/var/spack/repos/builtin/packages/prank/package.py
new file mode 100644
index 0000000000..d627e8a0b6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/prank/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 Prank(Package):
+ """A powerful multiple sequence alignment browser."""
+
+ homepage = "http://wasabiapp.org/software/prank/"
+ url = "http://wasabiapp.org/download/prank/prank.source.140603.tgz"
+
+ version('150803', '71ac2659e91c385c96473712c0a23e8a')
+
+ depends_on('mafft')
+ depends_on('exonerate')
+ depends_on('bpp-suite') # for bppancestor
+
+ def install(self, spec, prefix):
+ with working_dir('src'):
+ make()
+ mkdirp(prefix.bin)
+ install('prank', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py
index 20dd4f5f69..06ab6108b6 100644
--- a/var/spack/repos/builtin/packages/proj/package.py
+++ b/var/spack/repos/builtin/packages/proj/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Proj(Package):
"""Cartographic Projections"""
homepage = "https://github.com/OSGeo/proj.4/wiki"
diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py
index d4befc34ab..bf0073b16a 100644
--- a/var/spack/repos/builtin/packages/protobuf/package.py
+++ b/var/spack/repos/builtin/packages/protobuf/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Protobuf(Package):
"""Google's data interchange format."""
diff --git a/var/spack/repos/builtin/packages/psi4/package.py b/var/spack/repos/builtin/packages/psi4/package.py
index 192dd86e0e..6296d0cee6 100644
--- a/var/spack/repos/builtin/packages/psi4/package.py
+++ b/var/spack/repos/builtin/packages/psi4/package.py
@@ -39,7 +39,15 @@ class Psi4(Package):
# Required dependencies
depends_on('blas')
depends_on('lapack')
- depends_on('boost+chrono+filesystem+python+regex+serialization+system+timer+thread')
+ depends_on('boost'
+ '+chrono'
+ '+filesystem'
+ '+python'
+ '+regex'
+ '+serialization'
+ '+system'
+ '+timer'
+ '+thread')
depends_on('python')
depends_on('cmake', type='build')
depends_on('py-numpy', type=nolink)
diff --git a/var/spack/repos/builtin/packages/py-SQLAlchemy/package.py b/var/spack/repos/builtin/packages/py-SQLAlchemy/package.py
index 05f4616ff5..ca59105b4c 100644
--- a/var/spack/repos/builtin/packages/py-SQLAlchemy/package.py
+++ b/var/spack/repos/builtin/packages/py-SQLAlchemy/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PySqlalchemy(Package):
"""The Python SQL Toolkit and Object Relational Mapper"""
diff --git a/var/spack/repos/builtin/packages/py-argcomplete/package.py b/var/spack/repos/builtin/packages/py-argcomplete/package.py
index ace9320424..2549972a6d 100644
--- a/var/spack/repos/builtin/packages/py-argcomplete/package.py
+++ b/var/spack/repos/builtin/packages/py-argcomplete/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyArgcomplete(Package):
"""Bash tab completion for argparse."""
diff --git a/var/spack/repos/builtin/packages/py-astroid/package.py b/var/spack/repos/builtin/packages/py-astroid/package.py
index e1ea71fb67..a47b7ffa33 100644
--- a/var/spack/repos/builtin/packages/py-astroid/package.py
+++ b/var/spack/repos/builtin/packages/py-astroid/package.py
@@ -43,4 +43,3 @@ class PyAstroid(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-autopep8/package.py b/var/spack/repos/builtin/packages/py-autopep8/package.py
index 507664949b..f6c08e2728 100644
--- a/var/spack/repos/builtin/packages/py-autopep8/package.py
+++ b/var/spack/repos/builtin/packages/py-autopep8/package.py
@@ -1,5 +1,6 @@
from spack import *
+
class PyAutopep8(Package):
"""Automatic pep8 formatter"""
homepage = "https://github.com/hhatto/autopep8"
@@ -13,4 +14,3 @@ class PyAutopep8(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-biopython/package.py b/var/spack/repos/builtin/packages/py-biopython/package.py
index bcc889756e..c3edf9735b 100644
--- a/var/spack/repos/builtin/packages/py-biopython/package.py
+++ b/var/spack/repos/builtin/packages/py-biopython/package.py
@@ -24,8 +24,13 @@
##############################################################################
from spack import *
+
class PyBiopython(Package):
- """It is a distributed collaborative effort to develop Python libraries and applications which address the needs of current and future work in bioinformatics."""
+ """A distributed collaborative effort to develop Python libraries and
+ applications which address the needs of current and future work in
+ bioinformatics.
+
+ """
homepage = "http://biopython.org/wiki/Main_Page"
url = "http://biopython.org/DIST/biopython-1.65.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-blessings/package.py b/var/spack/repos/builtin/packages/py-blessings/package.py
index 8d7a2343d1..e6fc6aa983 100644
--- a/var/spack/repos/builtin/packages/py-blessings/package.py
+++ b/var/spack/repos/builtin/packages/py-blessings/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyBlessings(Package):
"""A nicer, kinder way to write to the terminal """
homepage = "https://github.com/erikrose/blessings"
diff --git a/var/spack/repos/builtin/packages/py-bottleneck/package.py b/var/spack/repos/builtin/packages/py-bottleneck/package.py
index 2483fab85f..ad2ee749d3 100644
--- a/var/spack/repos/builtin/packages/py-bottleneck/package.py
+++ b/var/spack/repos/builtin/packages/py-bottleneck/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class PyBottleneck(Package):
- """Bottleneck is a collection of fast NumPy array functions written in Cython."""
+ """A collection of fast NumPy array functions written in Cython."""
homepage = "https://pypi.python.org/pypi/Bottleneck/1.0.0"
url = "https://pypi.python.org/packages/source/B/Bottleneck/Bottleneck-1.0.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py
index e54d50fa50..3c1044783f 100644
--- a/var/spack/repos/builtin/packages/py-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cffi/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyCffi(Package):
"""Foreign Function Interface for Python calling C code"""
homepage = "http://cffi.readthedocs.org/en/latest/"
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index b7eaf58cd6..c2a698b0bd 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyCoverage(Package):
""" Testing coverage checker for python """
# FIXME: add a proper url for your package's homepage here.
diff --git a/var/spack/repos/builtin/packages/py-csvkit/package.py b/var/spack/repos/builtin/packages/py-csvkit/package.py
index 2deaa2f74e..5f50e3b6c2 100644
--- a/var/spack/repos/builtin/packages/py-csvkit/package.py
+++ b/var/spack/repos/builtin/packages/py-csvkit/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyCsvkit(Package):
"""A library of utilities for working with CSV, the king of tabular file
formats"""
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index 5ccc508697..4b3e1cabe1 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyCython(Package):
"""The Cython compiler for writing C extensions for the Python language."""
homepage = "https://pypi.python.org/pypi/cython"
diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py
index b7dbab3d97..4bc2c6fc99 100644
--- a/var/spack/repos/builtin/packages/py-dask/package.py
+++ b/var/spack/repos/builtin/packages/py-dask/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyDask(Package):
"""Minimal task scheduling abstraction"""
homepage = "https://github.com/dask/dask/"
diff --git a/var/spack/repos/builtin/packages/py-dateutil/package.py b/var/spack/repos/builtin/packages/py-dateutil/package.py
index dfd1e143d9..40945232c1 100644
--- a/var/spack/repos/builtin/packages/py-dateutil/package.py
+++ b/var/spack/repos/builtin/packages/py-dateutil/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyDateutil(Package):
"""Extensions to the standard Python datetime module."""
homepage = "https://pypi.python.org/pypi/dateutil"
diff --git a/var/spack/repos/builtin/packages/py-dbf/package.py b/var/spack/repos/builtin/packages/py-dbf/package.py
index 09c93de428..7f83bce75e 100644
--- a/var/spack/repos/builtin/packages/py-dbf/package.py
+++ b/var/spack/repos/builtin/packages/py-dbf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyDbf(Package):
"""Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro
.dbf files (including memos)"""
diff --git a/var/spack/repos/builtin/packages/py-decorator/package.py b/var/spack/repos/builtin/packages/py-decorator/package.py
index bd78f262f4..9101b07a0d 100644
--- a/var/spack/repos/builtin/packages/py-decorator/package.py
+++ b/var/spack/repos/builtin/packages/py-decorator/package.py
@@ -24,8 +24,11 @@
##############################################################################
from spack import *
+
class PyDecorator(Package):
- """The aim of the decorator module it to simplify the usage of decorators for the average programmer, and to popularize decorators by showing various non-trivial examples."""
+ """The aim of the decorator module it to simplify the usage of decorators
+ for the average programmer, and to popularize decorators by showing
+ various non-trivial examples."""
homepage = "https://github.com/micheles/decorator"
url = "https://pypi.python.org/packages/source/d/decorator/decorator-4.0.9.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-epydoc/package.py b/var/spack/repos/builtin/packages/py-epydoc/package.py
index b370075e02..9d4b93dad4 100644
--- a/var/spack/repos/builtin/packages/py-epydoc/package.py
+++ b/var/spack/repos/builtin/packages/py-epydoc/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyEpydoc(Package):
- """Epydoc is a tool for generating API documentation documentation for Python modules, based on their docstrings."""
+ """Epydoc is a tool for generating API documentation documentation for
+ Python modules, based on their docstrings."""
homepage = "https://pypi.python.org/pypi/epydoc"
url = "https://pypi.python.org/packages/source/e/epydoc/epydoc-3.0.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-funcsigs/package.py b/var/spack/repos/builtin/packages/py-funcsigs/package.py
index 11ba639b85..c3d37f6b98 100644
--- a/var/spack/repos/builtin/packages/py-funcsigs/package.py
+++ b/var/spack/repos/builtin/packages/py-funcsigs/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class PyFuncsigs(Package):
"""Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2."""
@@ -38,6 +38,3 @@ class PyFuncsigs(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
-
-
diff --git a/var/spack/repos/builtin/packages/py-genders/package.py b/var/spack/repos/builtin/packages/py-genders/package.py
index 44f6cb1ef4..f919a7e6c2 100644
--- a/var/spack/repos/builtin/packages/py-genders/package.py
+++ b/var/spack/repos/builtin/packages/py-genders/package.py
@@ -24,16 +24,19 @@
##############################################################################
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."""
+ """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')
+ 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)
+ configure("--prefix=%s" % prefix)
make(parallel=False)
make("install")
-
diff --git a/var/spack/repos/builtin/packages/py-gnuplot/package.py b/var/spack/repos/builtin/packages/py-gnuplot/package.py
index b08b03d1f1..a448a66e51 100644
--- a/var/spack/repos/builtin/packages/py-gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/py-gnuplot/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyGnuplot(Package):
- """Gnuplot.py is a Python package that allows you to create graphs from within Python using the gnuplot plotting program."""
+ """Gnuplot.py is a Python package that allows you to create graphs from
+ within Python using the gnuplot plotting program."""
homepage = "http://gnuplot-py.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/gnuplot-py/Gnuplot-py/1.8/gnuplot-py-1.8.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index f96cb9b4cd..90a67c51bd 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -43,6 +43,7 @@ class PyH5py(Package):
# Build dependencies
depends_on('py-cython@0.19:', type='build')
depends_on('pkg-config', type='build')
+ depends_on('py-setuptools', type='build')
depends_on('hdf5@1.8.4:')
depends_on('hdf5+mpi', when='+mpi')
depends_on('mpi', when='+mpi')
diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py
index b583609953..ac3291e21e 100644
--- a/var/spack/repos/builtin/packages/py-ipython/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyIpython(Package):
- """IPython provides a rich toolkit to help you make the most out of using Python interactively."""
+ """IPython provides a rich toolkit to help you make the most out of using
+ Python interactively."""
homepage = "https://pypi.python.org/pypi/ipython"
url = "https://pypi.python.org/packages/source/i/ipython/ipython-2.3.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-jdcal/package.py b/var/spack/repos/builtin/packages/py-jdcal/package.py
index fd1d6b4419..32acf75131 100644
--- a/var/spack/repos/builtin/packages/py-jdcal/package.py
+++ b/var/spack/repos/builtin/packages/py-jdcal/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyJdcal(Package):
"""Julian dates from proleptic Gregorian and Julian calendars"""
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 57f26e3b90..943edf521a 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -48,4 +48,3 @@ class PyJinja2(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-lockfile/package.py b/var/spack/repos/builtin/packages/py-lockfile/package.py
index 38cc81b895..b873625bdb 100644
--- a/var/spack/repos/builtin/packages/py-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-lockfile/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyLockfile(Package):
"""The lockfile package exports a LockFile class which provides a
simple API for locking files. Unlike the Windows msvcrt.locking
diff --git a/var/spack/repos/builtin/packages/py-logilab-common/package.py b/var/spack/repos/builtin/packages/py-logilab-common/package.py
index 6dab4a40e4..ac1b933e43 100644
--- a/var/spack/repos/builtin/packages/py-logilab-common/package.py
+++ b/var/spack/repos/builtin/packages/py-logilab-common/package.py
@@ -39,4 +39,3 @@ class PyLogilabCommon(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index 56741ec11f..18a8dc0e68 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -24,12 +24,13 @@
##############################################################################
from spack import *
+
class PyMako(Package):
- """A super-fast templating language that borrows the best
- ideas from the existing templating languages."""
+ """A super-fast templating language that borrows the best
+ ideas from the existing templating languages."""
homepage = "https://pypi.python.org/pypi/mako"
- url = "https://pypi.python.org/packages/source/M/Mako/Mako-1.0.1.tar.gz"
+ url = "https://pypi.python.org/packages/source/M/Mako/Mako-1.0.1.tar.gz"
version('1.0.1', '9f0aafd177b039ef67b90ea350497a54')
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index ee396de7be..0a039d1d47 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -48,4 +48,3 @@ class PyMarkupsafe(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index b5eb8a53c4..c454a47ec3 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class PyMatplotlib(Package):
"""Python plotting package."""
homepage = "https://pypi.python.org/pypi/matplotlib"
@@ -65,12 +66,12 @@ class PyMatplotlib(Package):
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):
+ 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 == None:
+ if config_file is None:
raise InstallError('could not find config file')
filter_file(r'backend : pyside',
'backend : Qt4Agg',
diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py
new file mode 100644
index 0000000000..269ac55c67
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-meep/package.py
@@ -0,0 +1,75 @@
+##############################################################################
+# 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 PyMeep(Package):
+ """Python-meep is a wrapper around libmeep. It allows the scripting of
+ Meep-simulations with Python"""
+
+ homepage = "https://launchpad.net/python-meep"
+ url = "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar"
+
+ version('1.4.2', 'f8913542d18b0dda92ebc64f0a10ce56')
+
+ variant('mpi', default=True, description='Enable MPI support')
+
+ extends('python')
+ depends_on('py-numpy', type=nolink)
+ depends_on('py-scipy', type=nolink)
+ depends_on('py-matplotlib', type=nolink)
+
+ depends_on('mpi', when='+mpi')
+ depends_on('meep~mpi', when='~mpi')
+ depends_on('meep+mpi', when='+mpi')
+
+ # As of SWIG 3.0.3, Python-style comments are now treated as
+ # pre-processor directives. Use older SWIG. But not too old,
+ # or else it can't handle newer C++ compilers and flags.
+ depends_on('swig@1.3.39:3.0.2')
+
+ def install(self, spec, prefix):
+ setup = 'setup-mpi.py' if '+mpi' in spec else 'setup.py'
+
+ include_dirs = [
+ spec['meep'].prefix.include,
+ spec['py-numpy'].include
+ ]
+
+ library_dirs = [
+ spec['meep'].prefix.lib
+ ]
+
+ if '+mpi' in spec:
+ include_dirs.append(spec['mpi'].prefix.include)
+ library_dirs.append(spec['mpi'].prefix.lib)
+
+ include_flags = '-I{0}'.format(','.join(include_dirs))
+ library_flags = '-L{0}'.format(','.join(library_dirs))
+
+ python(setup, 'clean', '--all')
+ python(setup, 'build_ext', include_flags, library_flags)
+ python(setup, 'install', '--prefix={0}'.format(prefix))
+ python(setup, 'bdist', include_flags, library_flags)
diff --git a/var/spack/repos/builtin/packages/py-mock/package.py b/var/spack/repos/builtin/packages/py-mock/package.py
index f4c178de67..2c70535f19 100644
--- a/var/spack/repos/builtin/packages/py-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-mock/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyMock(Package):
"""mock is a library for testing in Python. It allows you to replace parts
of your system under test with mock objects and make assertions about how
diff --git a/var/spack/repos/builtin/packages/py-mpi4py/package.py b/var/spack/repos/builtin/packages/py-mpi4py/package.py
index a749e16779..1f0e52804e 100644
--- a/var/spack/repos/builtin/packages/py-mpi4py/package.py
+++ b/var/spack/repos/builtin/packages/py-mpi4py/package.py
@@ -24,8 +24,14 @@
##############################################################################
from spack import *
+
class PyMpi4py(Package):
- """This package provides Python bindings for the Message Passing Interface (MPI) standard. It is implemented on top of the MPI-1/MPI-2 specification and exposes an API which grounds on the standard MPI-2 C++ bindings."""
+ """This package provides Python bindings for the Message Passing
+ Interface (MPI) standard. It is implemented on top of the
+ MPI-1/MPI-2 specification and exposes an API which grounds on the
+ standard MPI-2 C++ bindings.
+
+ """
homepage = "https://pypi.python.org/pypi/mpi4py"
url = "https://pypi.python.org/packages/source/m/mpi4py/mpi4py-1.3.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py
index 899ff053a9..e5bae34694 100644
--- a/var/spack/repos/builtin/packages/py-mpmath/package.py
+++ b/var/spack/repos/builtin/packages/py-mpmath/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyMpmath(Package):
"""A Python library for arbitrary-precision floating-point arithmetic."""
homepage = "http://mpmath.org"
diff --git a/var/spack/repos/builtin/packages/py-mx/package.py b/var/spack/repos/builtin/packages/py-mx/package.py
index d0f9f7cadf..f5631916f6 100644
--- a/var/spack/repos/builtin/packages/py-mx/package.py
+++ b/var/spack/repos/builtin/packages/py-mx/package.py
@@ -24,8 +24,14 @@
##############################################################################
from spack import *
+
class PyMx(Package):
- """The eGenix.com mx Base Distribution for Python is a collection of professional quality software tools which enhance Python's usability in many important areas such as fast text searching, date/time processing and high speed data types."""
+ """The eGenix.com mx Base Distribution for Python is a collection of
+ professional quality software tools which enhance Python's
+ usability in many important areas such as fast text searching,
+ date/time processing and high speed data types.
+
+ """
homepage = "http://www.egenix.com/products/python/mxBase/"
url = "https://downloads.egenix.com/python/egenix-mx-base-3.2.8.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-mysqldb1/package.py b/var/spack/repos/builtin/packages/py-mysqldb1/package.py
index 46b44f34dd..693fda6dbb 100644
--- a/var/spack/repos/builtin/packages/py-mysqldb1/package.py
+++ b/var/spack/repos/builtin/packages/py-mysqldb1/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyMysqldb1(Package):
"""Legacy mysql bindings for python"""
homepage = "https://github.com/farcepest/MySQLdb1"
@@ -36,4 +37,3 @@ class PyMysqldb1(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-netcdf/package.py b/var/spack/repos/builtin/packages/py-netcdf/package.py
index 9a354cb1c1..e4f67d75a6 100644
--- a/var/spack/repos/builtin/packages/py-netcdf/package.py
+++ b/var/spack/repos/builtin/packages/py-netcdf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyNetcdf(Package):
"""Python interface to the netCDF Library."""
homepage = "http://unidata.github.io/netcdf4-python"
diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py
index d545717628..79ad420f8f 100644
--- a/var/spack/repos/builtin/packages/py-networkx/package.py
+++ b/var/spack/repos/builtin/packages/py-networkx/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyNetworkx(Package):
- """NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks."""
+ """NetworkX is a Python package for the creation, manipulation, and study
+ of the structure, dynamics, and functions of complex networks."""
homepage = "http://networkx.github.io/"
url = "https://pypi.python.org/packages/source/n/networkx/networkx-1.11.tar.gz"
@@ -34,6 +36,7 @@ class PyNetworkx(Package):
extends('python')
depends_on('py-decorator', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index d15a1784d1..eb3dd77219 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -36,7 +36,7 @@ class PyNose(Package):
version('1.3.6', '0ca546d81ca8309080fc80cb389e7a16')
version('1.3.7', '4d3ad0ff07b61373d2cefc89c5d0b20b')
- extends('python', ignore=r'bin/nosetests.*$')
+ extends('python')
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/py-numexpr/package.py b/var/spack/repos/builtin/packages/py-numexpr/package.py
index fd8d7dc0c6..b3b2e1d47d 100644
--- a/var/spack/repos/builtin/packages/py-numexpr/package.py
+++ b/var/spack/repos/builtin/packages/py-numexpr/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import re
+
class PyNumexpr(Package):
"""Fast numerical expression evaluator for NumPy"""
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index 2febdac658..f800b5e834 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -23,6 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+import platform
class PyNumpy(Package):
@@ -48,6 +49,18 @@ class PyNumpy(Package):
depends_on('blas', when='+blas')
depends_on('lapack', when='+lapack')
+ def setup_dependent_package(self, module, dep_spec):
+ python_version = self.spec['python'].version.up_to(2)
+ arch = '{0}-{1}'.format(platform.system().lower(), platform.machine())
+
+ self.spec.include = join_path(
+ self.prefix.lib,
+ 'python{0}'.format(python_version),
+ 'site-packages',
+ 'numpy-{0}-py{1}-{2}.egg'.format(
+ self.spec.version, python_version, arch),
+ 'numpy/core/include')
+
def install(self, spec, prefix):
libraries = []
library_dirs = []
diff --git a/var/spack/repos/builtin/packages/py-openpyxl/package.py b/var/spack/repos/builtin/packages/py-openpyxl/package.py
index 624da58ff3..fa32cb879f 100644
--- a/var/spack/repos/builtin/packages/py-openpyxl/package.py
+++ b/var/spack/repos/builtin/packages/py-openpyxl/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyOpenpyxl(Package):
"""A Python library to read/write Excel 2007 xlsx/xlsm files"""
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 8bd4227faf..37234ae652 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -23,10 +23,18 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
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."""
+ """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"
diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py
index 8502b0b364..a0cfe0e5a5 100644
--- a/var/spack/repos/builtin/packages/py-pbr/package.py
+++ b/var/spack/repos/builtin/packages/py-pbr/package.py
@@ -23,10 +23,11 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class PyPbr(Package):
- """PBR is a library that injects some useful and sensible default behaviors into your setuptools run."""
+ """PBR is a library that injects some useful and sensible default
+ behaviors into your setuptools run."""
homepage = "https://pypi.python.org/pypi/pbr"
url = "https://pypi.python.org/packages/source/p/pbr/pbr-1.8.1.tar.gz"
@@ -38,5 +39,3 @@ class PyPbr(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
-
diff --git a/var/spack/repos/builtin/packages/py-pep8/package.py b/var/spack/repos/builtin/packages/py-pep8/package.py
index ffcc2b318c..87d1da9ab0 100644
--- a/var/spack/repos/builtin/packages/py-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8/package.py
@@ -1,5 +1,6 @@
from spack import *
+
class PyPep8(Package):
"""python pep8 format checker"""
homepage = "https://github.com/PyCQA/pycodestyle"
@@ -12,4 +13,3 @@ class PyPep8(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-periodictable/package.py b/var/spack/repos/builtin/packages/py-periodictable/package.py
index 608f4e16c1..51d9cc2046 100644
--- a/var/spack/repos/builtin/packages/py-periodictable/package.py
+++ b/var/spack/repos/builtin/packages/py-periodictable/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPeriodictable(Package):
"""nose extends the test loading and running features of unittest,
making it easier to write, find and run tests."""
diff --git a/var/spack/repos/builtin/packages/py-pexpect/package.py b/var/spack/repos/builtin/packages/py-pexpect/package.py
index dd95af9643..8a99c0473b 100644
--- a/var/spack/repos/builtin/packages/py-pexpect/package.py
+++ b/var/spack/repos/builtin/packages/py-pexpect/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPexpect(Package):
"""Pexpect allows easy control of interactive console applications."""
homepage = "https://pypi.python.org/pypi/pexpect"
diff --git a/var/spack/repos/builtin/packages/py-phonopy/package.py b/var/spack/repos/builtin/packages/py-phonopy/package.py
index a3a4b7a9f7..d5b3313a98 100644
--- a/var/spack/repos/builtin/packages/py-phonopy/package.py
+++ b/var/spack/repos/builtin/packages/py-phonopy/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPhonopy(Package):
"""Phonopy is an open source package for phonon
calculations at harmonic and quasi-harmonic levels."""
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index 13a09f63cf..1d8b3faa6f 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -53,12 +53,15 @@ class PyPillow(Package):
variant('tiff', default=False, description='Access to TIFF files')
variant('freetype', default=False, description='Font related services')
variant('lcms', default=False, description='Color management')
- variant('jpeg2000', default=False, description='Provide JPEG 2000 functionality')
+ variant('jpeg2000', default=False,
+ description='Provide JPEG 2000 functionality')
# Spack does not (yet) support these modes of building
# variant('webp', default=False, description='Provide the WebP format')
- # variant('webpmux', default=False, description='WebP metadata, relies on WebP support') # NOQA: ignore=E501
- # variant('imagequant', default=False, description='Provide improved color quantization') # NOQA: ignore=E501
+ # variant('webpmux', default=False,
+ # description='WebP metadata, relies on WebP support')
+ # variant('imagequant', default=False,
+ # description='Provide improved color quantization')
# Required dependencies
extends('python')
diff --git a/var/spack/repos/builtin/packages/py-pmw/package.py b/var/spack/repos/builtin/packages/py-pmw/package.py
index 062bfe9c03..e0a332a6bf 100644
--- a/var/spack/repos/builtin/packages/py-pmw/package.py
+++ b/var/spack/repos/builtin/packages/py-pmw/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyPmw(Package):
- """Pmw is a toolkit for building high-level compound widgets, or megawidgets, constructed using other widgets as component parts."""
+ """Pmw is a toolkit for building high-level compound widgets, or
+ megawidgets, constructed using other widgets as component parts."""
homepage = "https://pypi.python.org/pypi/Pmw"
url = "https://pypi.python.org/packages/source/P/Pmw/Pmw-2.0.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-py2neo/package.py b/var/spack/repos/builtin/packages/py-py2neo/package.py
index 02f37d8b78..a79c2e477b 100644
--- a/var/spack/repos/builtin/packages/py-py2neo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2neo/package.py
@@ -43,4 +43,3 @@ class PyPy2neo(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-pychecker/package.py b/var/spack/repos/builtin/packages/py-pychecker/package.py
index 137c5f491c..e81c3dbc9b 100644
--- a/var/spack/repos/builtin/packages/py-pychecker/package.py
+++ b/var/spack/repos/builtin/packages/py-pychecker/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPychecker(Package):
""""""
homepage = "http://pychecker.sourceforge.net/"
diff --git a/var/spack/repos/builtin/packages/py-pycparser/package.py b/var/spack/repos/builtin/packages/py-pycparser/package.py
index 9afba50077..ef1b772ffc 100644
--- a/var/spack/repos/builtin/packages/py-pycparser/package.py
+++ b/var/spack/repos/builtin/packages/py-pycparser/package.py
@@ -24,14 +24,14 @@
##############################################################################
from spack import *
+
class PyPycparser(Package):
- """pycparser is a complete parser of the C language, written in pure python"""
+ """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', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pyelftools/package.py b/var/spack/repos/builtin/packages/py-pyelftools/package.py
index 0c4a7a36cc..bf781daf83 100644
--- a/var/spack/repos/builtin/packages/py-pyelftools/package.py
+++ b/var/spack/repos/builtin/packages/py-pyelftools/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyPyelftools(Package):
- """A pure-Python library for parsing and analyzing ELF files and DWARF debugging information"""
+ """A pure-Python library for parsing and analyzing ELF files and DWARF
+ debugging information"""
homepage = "https://pypi.python.org/pypi/pyelftools"
url = "https://pypi.python.org/packages/source/p/pyelftools/pyelftools-0.23.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 0ca15dd10d..2d22bd9f03 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPygments(Package):
"""Pygments is a syntax highlighting package written in Python."""
homepage = "https://pypi.python.org/pypi/pygments"
diff --git a/var/spack/repos/builtin/packages/py-pylint/package.py b/var/spack/repos/builtin/packages/py-pylint/package.py
index 7107b2987f..c505d44530 100644
--- a/var/spack/repos/builtin/packages/py-pylint/package.py
+++ b/var/spack/repos/builtin/packages/py-pylint/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import re
+
class PyPylint(Package):
"""array processing for numbers, strings, records, and objects."""
diff --git a/var/spack/repos/builtin/packages/py-pypar/package.py b/var/spack/repos/builtin/packages/py-pypar/package.py
index f762789dea..6fef71304c 100644
--- a/var/spack/repos/builtin/packages/py-pypar/package.py
+++ b/var/spack/repos/builtin/packages/py-pypar/package.py
@@ -24,12 +24,16 @@
##############################################################################
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."""
+ """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')
+ version('2.1.5_108', '7a1f28327d2a3b679f9455c843d850b8',
+ url='https://pypar.googlecode.com/files/pypar-2.1.5_108.tgz')
extends('python')
depends_on('mpi')
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py
index 0423aa3bdb..67d255b02d 100644
--- a/var/spack/repos/builtin/packages/py-pyparsing/package.py
+++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPyparsing(Package):
"""A Python Parsing Module."""
homepage = "https://pypi.python.org/pypi/pyparsing"
diff --git a/var/spack/repos/builtin/packages/py-pyqt/package.py b/var/spack/repos/builtin/packages/py-pyqt/package.py
index 05fb7aa22c..de68bfaa90 100644
--- a/var/spack/repos/builtin/packages/py-pyqt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPyqt(Package):
"""PyQt is a set of Python v2 and v3 bindings for Digia's Qt
application framework and runs on all platforms supported by Qt
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py
index cd174ce658..1cb3e4745f 100644
--- a/var/spack/repos/builtin/packages/py-pyside/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class PyPyside(Package):
"""Python bindings for Qt."""
homepage = "https://pypi.python.org/pypi/pyside"
@@ -43,7 +44,8 @@ class PyPyside(Package):
# Figure out the special RPATH
pypkg = self.spec['python'].package
rpath = self.rpath
- rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'PySide'))
+ rpath.append(os.path.join(
+ self.prefix, pypkg.site_packages_dir, 'PySide'))
# Add Spack's standard CMake args to the sub-builds.
# They're called BY setup.py so we have to patch it.
@@ -61,7 +63,6 @@ class PyPyside(Package):
r'#rpath_cmd(pyside_path, srcpath)',
'pyside_postinstall.py')
-
def install(self, spec, prefix):
python('setup.py', 'install',
'--prefix=%s' % prefix,
diff --git a/var/spack/repos/builtin/packages/py-pytables/package.py b/var/spack/repos/builtin/packages/py-pytables/package.py
index 58ed067b21..f87e74211f 100644
--- a/var/spack/repos/builtin/packages/py-pytables/package.py
+++ b/var/spack/repos/builtin/packages/py-pytables/package.py
@@ -23,10 +23,11 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import re
+
class PyPytables(Package):
- """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data."""
+ """PyTables is a package for managing hierarchical datasets and designed to
+ efficiently and easily cope with extremely large amounts of data."""
homepage = "http://www.pytables.org/"
url = "https://github.com/PyTables/PyTables/archive/v.3.2.2.tar.gz"
@@ -37,6 +38,7 @@ class PyPytables(Package):
depends_on('py-numpy', type=nolink)
depends_on('py-numexpr', type=nolink)
depends_on('py-cython', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
env["HDF5_DIR"] = spec['hdf5'].prefix
diff --git a/var/spack/repos/builtin/packages/py-python-daemon/package.py b/var/spack/repos/builtin/packages/py-python-daemon/package.py
index c2c7c4de4f..a30dc00ba4 100644
--- a/var/spack/repos/builtin/packages/py-python-daemon/package.py
+++ b/var/spack/repos/builtin/packages/py-python-daemon/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPythonDaemon(Package):
"""Library to implement a well-behaved Unix daemon process.
@@ -47,4 +48,3 @@ class PyPythonDaemon(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index caf2c90e73..96f686d591 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPytz(Package):
"""World timezone definitions, modern and historical."""
homepage = "https://pypi.python.org/pypi/pytz"
diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py
index c0e22ba681..8da391fac1 100644
--- a/var/spack/repos/builtin/packages/py-pyyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyPyyaml(Package):
"""PyYAML is a YAML parser and emitter for Python."""
homepage = "http://pyyaml.org/wiki/PyYAML"
diff --git a/var/spack/repos/builtin/packages/py-rpy2/package.py b/var/spack/repos/builtin/packages/py-rpy2/package.py
index 8f4771f0eb..f86d813766 100644
--- a/var/spack/repos/builtin/packages/py-rpy2/package.py
+++ b/var/spack/repos/builtin/packages/py-rpy2/package.py
@@ -24,10 +24,16 @@
##############################################################################
from spack import *
+
class PyRpy2(Package):
- """rpy2 is a redesign and rewrite of rpy. It is providing a low-level interface to R from Python, a proposed high-level interface, including wrappers to graphical libraries, as well as R-like structures and functions."""
+ """rpy2 is a redesign and rewrite of rpy. It is providing a low-level
+ interface to R from Python, a proposed high-level interface,
+ including wrappers to graphical libraries, as well as R-like
+ structures and functions.
+
+ """
homepage = "https://pypi.python.org/pypi/rpy2"
- url = "https://pypi.python.org/packages/source/r/rpy2/rpy2-2.5.4.tar.gz"
+ 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')
diff --git a/var/spack/repos/builtin/packages/py-scientificpython/package.py b/var/spack/repos/builtin/packages/py-scientificpython/package.py
index 7f7eb76b73..e2273dc164 100644
--- a/var/spack/repos/builtin/packages/py-scientificpython/package.py
+++ b/var/spack/repos/builtin/packages/py-scientificpython/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyScientificpython(Package):
"""ScientificPython is a collection of Python modules for
scientific computing. It contains support for geometry,
diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py
index 26c286e4be..fbeb5c95ca 100644
--- a/var/spack/repos/builtin/packages/py-scikit-image/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py
@@ -42,6 +42,7 @@ class PyScikitImage(Package):
depends_on('py-six', type=nolink)
depends_on('py-scipy', type=nolink)
depends_on('py-matplotlib', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
index 1a6112bcf3..3cd7ea74f3 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyScikitLearn(Package):
""""""
homepage = "https://pypi.python.org/pypi/scikit-learn"
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index ea3731cf1b..cab516e1df 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyScipy(Package):
"""Scientific Library for Python."""
homepage = "http://www.scipy.org/"
@@ -41,7 +42,8 @@ class PyScipy(Package):
if 'atlas' in spec:
# libatlas.so actually isn't always installed, but this
# seems to make the build autodetect things correctly.
- env['ATLAS'] = join_path(spec['atlas'].prefix.lib, 'libatlas.' + dso_suffix)
+ env['ATLAS'] = join_path(
+ spec['atlas'].prefix.lib, 'libatlas.' + dso_suffix)
else:
env['BLAS'] = spec['blas'].blas_shared_lib
env['LAPACK'] = spec['lapack'].lapack_shared_lib
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 68032cb68d..08d5e5d552 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -24,8 +24,11 @@
##############################################################################
from spack import *
+
class PySetuptools(Package):
- """Easily download, build, install, upgrade, and uninstall Python packages."""
+ """A Python utility that aids in the process of downloading, building,
+ upgrading, installing, and uninstalling Python packages."""
+
homepage = "https://pypi.python.org/pypi/setuptools"
url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz"
@@ -40,4 +43,4 @@ class PySetuptools(Package):
extends('python')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-shiboken/package.py b/var/spack/repos/builtin/packages/py-shiboken/package.py
index 27188e1417..0713f26ebc 100644
--- a/var/spack/repos/builtin/packages/py-shiboken/package.py
+++ b/var/spack/repos/builtin/packages/py-shiboken/package.py
@@ -25,8 +25,9 @@
from spack import *
import os
+
class PyShiboken(Package):
- """Shiboken generates bindings for C++ libraries using CPython source code."""
+ """Shiboken generates bindings for C++ libraries using CPython."""
homepage = "https://shiboken.readthedocs.org/"
url = "https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz"
@@ -45,7 +46,8 @@ class PyShiboken(Package):
# They're called BY setup.py so we have to patch it.
pypkg = self.spec['python'].package
rpath = self.rpath
- rpath.append(os.path.join(self.prefix, pypkg.site_packages_dir, 'Shiboken'))
+ rpath.append(os.path.join(
+ self.prefix, pypkg.site_packages_dir, 'Shiboken'))
filter_file(
r'OPTION_CMAKE,',
@@ -61,7 +63,6 @@ class PyShiboken(Package):
r'#rpath_cmd(shiboken_path, srcpath)',
'shiboken_postinstall.py')
-
def install(self, spec, prefix):
python('setup.py', 'install',
'--prefix=%s' % prefix,
diff --git a/var/spack/repos/builtin/packages/py-sip/package.py b/var/spack/repos/builtin/packages/py-sip/package.py
index fc8e7f5296..9d97f08433 100644
--- a/var/spack/repos/builtin/packages/py-sip/package.py
+++ b/var/spack/repos/builtin/packages/py-sip/package.py
@@ -25,8 +25,10 @@
from spack import *
import os
+
class PySip(Package):
- """SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries."""
+ """SIP is a tool that makes it very easy to create Python bindings for C
+ and C++ libraries."""
homepage = "http://www.riverbankcomputing.com/software/sip/intro"
url = "http://sourceforge.net/projects/pyqt/files/sip/sip-4.16.5/sip-4.16.5.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index eb4846d5af..da0c7aa003 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PySix(Package):
"""Python 2 and 3 compatibility utilities."""
homepage = "https://pypi.python.org/pypi/six"
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index d00f1d128b..2295a6a0c3 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PySphinx(Package):
"""Sphinx Documentation Generator."""
homepage = "http://sphinx-doc.org"
diff --git a/var/spack/repos/builtin/packages/py-sympy/package.py b/var/spack/repos/builtin/packages/py-sympy/package.py
index 5e38fc5be1..3d8b86ac4d 100644
--- a/var/spack/repos/builtin/packages/py-sympy/package.py
+++ b/var/spack/repos/builtin/packages/py-sympy/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PySympy(Package):
"""SymPy is a Python library for symbolic mathematics."""
homepage = "https://pypi.python.org/pypi/sympy"
diff --git a/var/spack/repos/builtin/packages/py-tappy/package.py b/var/spack/repos/builtin/packages/py-tappy/package.py
index b10244acdd..03e9528ad7 100644
--- a/var/spack/repos/builtin/packages/py-tappy/package.py
+++ b/var/spack/repos/builtin/packages/py-tappy/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyTappy(Package):
"""Python TAP interface module for unit tests"""
homepage = "https://github.com/mblayman/tappy"
diff --git a/var/spack/repos/builtin/packages/py-tuiview/package.py b/var/spack/repos/builtin/packages/py-tuiview/package.py
index 56056ebad1..672a3ee587 100644
--- a/var/spack/repos/builtin/packages/py-tuiview/package.py
+++ b/var/spack/repos/builtin/packages/py-tuiview/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyTuiview(Package):
"""
TuiView is a lightweight raster GIS with powerful raster attribute
diff --git a/var/spack/repos/builtin/packages/py-twisted/package.py b/var/spack/repos/builtin/packages/py-twisted/package.py
index 2ce83cd24c..edf1e7b0d7 100644
--- a/var/spack/repos/builtin/packages/py-twisted/package.py
+++ b/var/spack/repos/builtin/packages/py-twisted/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyTwisted(Package):
"""An asynchronous networking framework written in Python"""
homepage = "https://twistedmatrix.com/"
diff --git a/var/spack/repos/builtin/packages/py-urwid/package.py b/var/spack/repos/builtin/packages/py-urwid/package.py
index 48ba84e7bc..943fb250f6 100644
--- a/var/spack/repos/builtin/packages/py-urwid/package.py
+++ b/var/spack/repos/builtin/packages/py-urwid/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyUrwid(Package):
"""A full-featured console UI library"""
homepage = "http://urwid.org/"
@@ -37,4 +38,3 @@ class PyUrwid(Package):
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
-
diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py
index d6b33ae175..0ed567df95 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import shutil
+
class PyVirtualenv(Package):
"""virtualenv is a tool to create isolated Python environments."""
diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py
index 9e383a9a19..f0ad340835 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyWheel(Package):
"""A built-package format for Python."""
diff --git a/var/spack/repos/builtin/packages/py-xlrd/package.py b/var/spack/repos/builtin/packages/py-xlrd/package.py
index 9220f90340..81c3c928c0 100644
--- a/var/spack/repos/builtin/packages/py-xlrd/package.py
+++ b/var/spack/repos/builtin/packages/py-xlrd/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyXlrd(Package):
"""Library for developers to extract data from Microsoft Excel (tm)
spreadsheet files"""
diff --git a/var/spack/repos/builtin/packages/py-yapf/package.py b/var/spack/repos/builtin/packages/py-yapf/package.py
index f7fe4037a1..bc26b82b07 100644
--- a/var/spack/repos/builtin/packages/py-yapf/package.py
+++ b/var/spack/repos/builtin/packages/py-yapf/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class PyYapf(Package):
""" Yet Another Python Formatter """
homepage = "https://github.com/google/yapf"
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index bbb1e9c13a..c4e6754969 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -27,6 +27,7 @@ import re
from contextlib import closing
import spack
+import llnl.util.tty as tty
from llnl.util.lang import match_predicate
from spack import *
from spack.util.environment import *
@@ -54,7 +55,8 @@ class Python(Package):
extendable = True
variant('tk', default=False, description='Provide support for Tkinter')
- variant('ucs4', default=False, description='Enable UCS4 (wide) unicode strings')
+ variant('ucs4', default=False,
+ description='Enable UCS4 (wide) unicode strings')
# From https://docs.python.org/2/c-api/unicode.html: Python's default
# builds use a 16-bit type for Py_UNICODE and store Unicode values
# internally as UCS2. It is also possible to build a UCS4 version of Python
@@ -72,40 +74,41 @@ class Python(Package):
depends_on("tk", when="+tk")
depends_on("tcl", when="+tk")
+ @when('@2.7,3.4:')
+ def patch(self):
+ # NOTE: Python's default installation procedure makes it possible for a
+ # user's local configurations to change the Spack installation. In
+ # order to prevent this behavior for a full installation, we must
+ # modify the installation script so that it ignores user files.
+ ff = FileFilter('Makefile.pre.in')
+ ff.filter(
+ r'^(.*)setup\.py(.*)((build)|(install))(.*)$',
+ r'\1setup.py\2 --no-user-cfg \3\6'
+ )
+
def install(self, spec, prefix):
+ # TODO: The '--no-user-cfg' option for Python installation is only in
+ # Python v2.7 and v3.4+ (see https://bugs.python.org/issue1180) and
+ # adding support for ignoring user configuration will require
+ # significant changes to this package for other Python versions.
+ if not spec.satisfies('@2.7,3.4:'):
+ tty.warn(('Python v{0} may not install properly if Python '
+ 'user configurations are present.').format(self.version))
+
# Need this to allow python build to find the Python installation.
- env['PYTHONHOME'] = prefix
+ env['PYTHONHOME'], env['PYTHONPATH'] = prefix, prefix
env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
# Rest of install is pretty standard except setup.py needs to
# be able to read the CPPFLAGS and LDFLAGS as it scans for the
# library and headers to build
- include_dirs = [
- spec['openssl'].prefix.include, spec['bzip2'].prefix.include,
- spec['readline'].prefix.include, spec['ncurses'].prefix.include,
- spec['sqlite'].prefix.include, spec['zlib'].prefix.include
- ]
-
- library_dirs = [
- spec['openssl'].prefix.lib, spec['bzip2'].prefix.lib,
- spec['readline'].prefix.lib, spec['ncurses'].prefix.lib,
- spec['sqlite'].prefix.lib, spec['zlib'].prefix.lib
- ]
-
- if '+tk' in spec:
- include_dirs.extend([
- spec['tk'].prefix.include, spec['tcl'].prefix.include
- ])
- library_dirs.extend([
- spec['tk'].prefix.lib, spec['tcl'].prefix.lib
- ])
-
+ dep_pfxs = [dspec.prefix for dspec in spec.dependencies('link')]
config_args = [
- "--prefix={0}".format(prefix),
- "--with-threads",
- "--enable-shared",
- "CPPFLAGS=-I{0}".format(" -I".join(include_dirs)),
- "LDFLAGS=-L{0}".format(" -L".join(library_dirs))
+ '--prefix={0}'.format(prefix),
+ '--with-threads',
+ '--enable-shared',
+ 'CPPFLAGS=-I{0}'.format(' -I'.join(dp.include for dp in dep_pfxs)),
+ 'LDFLAGS=-L{0}'.format(' -L'.join(dp.lib for dp in dep_pfxs)),
]
if '+ucs4' in spec:
@@ -115,15 +118,15 @@ class Python(Package):
config_args.append('--with-wide-unicode')
elif spec.satisfies('@3.3:'):
# https://docs.python.org/3.3/whatsnew/3.3.html
- raise ValueError('+ucs4 variant not compatible with Python 3.3 and beyond') # NOQA: ignore=E501
+ raise ValueError(
+ '+ucs4 variant not compatible with Python 3.3 and beyond')
if spec.satisfies('@3:'):
config_args.append('--without-ensurepip')
configure(*config_args)
-
make()
- make("install")
+ make('install')
self.filter_compilers(spec, prefix)
@@ -193,6 +196,8 @@ class Python(Package):
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
"""Set PYTHONPATH to include site-packages dir for the
extension and any other python extensions it depends on."""
+ pythonhome = self.prefix
+ spack_env.set('PYTHONHOME', pythonhome)
python_paths = []
for d in extension_spec.traverse(deptype=nolink, deptype_query='run'):
@@ -214,15 +219,14 @@ class Python(Package):
In most cases, extensions will only need to have one line::
- python('setup.py', 'install', '--prefix={0}'.format(prefix))"""
+ setup_py('install', '--prefix={0}'.format(prefix))"""
+ python_path = join_path(
+ self.spec.prefix.bin,
+ 'python{0}'.format('3' if self.spec.satisfies('@3') else '')
+ )
- # Python extension builds can have a global python executable function
- if Version("3.0.0") <= self.version < Version("4.0.0"):
- module.python = Executable(join_path(self.spec.prefix.bin,
- 'python3'))
- else:
- module.python = Executable(join_path(self.spec.prefix.bin,
- 'python'))
+ module.python = Executable(python_path)
+ module.setup_py = Executable(python_path + ' setup.py --no-user-cfg')
# Add variables for lib/pythonX.Y and lib/pythonX.Y/site-packages dirs.
module.python_lib_dir = join_path(ext_spec.prefix,
diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py
index 3b0b22ae1f..eec517cb75 100644
--- a/var/spack/repos/builtin/packages/qhull/package.py
+++ b/var/spack/repos/builtin/packages/qhull/package.py
@@ -45,7 +45,7 @@ class Qhull(CMakePackage):
# https://github.com/qhull/qhull/pull/5
patch('qhull-iterator.patch', when='@1.0')
-
+
depends_on('cmake', type='build')
@CMakePackage.sanity_check('build')
diff --git a/var/spack/repos/builtin/packages/qrupdate/package.py b/var/spack/repos/builtin/packages/qrupdate/package.py
index 314950dc36..f6b4c80cf4 100644
--- a/var/spack/repos/builtin/packages/qrupdate/package.py
+++ b/var/spack/repos/builtin/packages/qrupdate/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Qrupdate(Package):
"""qrupdate is a Fortran library for fast updates of QR and
Cholesky decompositions."""
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index f33e5c2d0e..e496a3e4d5 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -25,6 +25,7 @@
from spack import *
import os
+
class Qt(Package):
"""Qt is a comprehensive cross-platform C++ application framework."""
homepage = 'http://qt.io'
@@ -37,15 +38,17 @@ class Qt(Package):
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb')
version('3.3.8b', '9f05b4125cfe477cc52c9742c3c09009')
- # Add patch for compile issues with qt3 found with use in the OpenSpeedShop project
- variant('krellpatch', default=False, description="Build with openspeedshop based patch.")
+ # 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('mesa', default=False, description="Depend on mesa.")
variant('gtk', default=False, description="Build with gtkplus.")
patch('qt3krell.patch', when='@3.3.8b+krellpatch')
# Use system openssl for security.
- #depends_on("openssl")
+ # depends_on("openssl")
depends_on("glib")
depends_on("gtkplus", when='+gtk')
@@ -69,43 +72,39 @@ class Qt(Package):
depends_on("mesa", when='@4:+mesa')
depends_on("libxcb")
-
def url_for_version(self, version):
url = "http://download.qt.io/archive/qt/"
if version >= Version('5'):
url += "%s/%s/single/qt-everywhere-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version, version)
+ (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)
+ (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)
+ (version.up_to(2), version)
elif version >= Version('4.0'):
url += "%s/qt-x11-opensource-src-%s.tar.gz" % \
- (version.up_to(2), version)
+ (version.up_to(2), version)
elif version >= Version('3'):
url += "%s/qt-x11-free-%s.tar.gz" % \
- (version.up_to(1), version)
+ (version.up_to(1), version)
elif version >= Version('2.1'):
url += "%s/qt-x11-%s.tar.gz" % \
- (version.up_to(1), version)
+ (version.up_to(1), version)
else:
url += "%s/qt-%s.tar.gz" % \
- (version.up_to(1), version)
+ (version.up_to(1), version)
return url
-
def setup_environment(self, spack_env, env):
env.set('QTDIR', self.prefix)
-
def setup_dependent_environment(self, spack_env, run_env, dspec):
spack_env.set('QTDIR', self.prefix)
-
def patch(self):
if self.spec.satisfies('@4'):
qmake_conf = 'mkspecs/common/g++-base.conf'
@@ -117,11 +116,14 @@ class Qt(Package):
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)
-
+ 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
def common_config_args(self):
@@ -155,7 +157,7 @@ class Qt(Package):
@when('@3')
def configure(self):
# An user report that this was necessary to link Qt3 on ubuntu
- os.environ['LD_LIBRARY_PATH'] = os.getcwd()+'/lib'
+ os.environ['LD_LIBRARY_PATH'] = os.getcwd() + '/lib'
configure('-prefix', self.prefix,
'-v',
'-thread',
@@ -169,17 +171,16 @@ class Qt(Package):
'-no-webkit',
*self.common_config_args)
-
@when('@5')
def configure(self):
configure('-no-eglfs',
'-no-directfb',
'-qt-xcb',
- # If someone wants to get a webkit build working, be my guest!
+ # If someone wants to get a webkit build working, be my
+ # guest!
'-skip', 'qtwebkit',
*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 47b5706063..2eaff0a240 100644
--- a/var/spack/repos/builtin/packages/qthreads/package.py
+++ b/var/spack/repos/builtin/packages/qthreads/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Qthreads(Package):
"""The qthreads API is designed to make using large numbers of
threads convenient and easy, and to allow portable access to
diff --git a/var/spack/repos/builtin/packages/r-base64enc/package.py b/var/spack/repos/builtin/packages/r-base64enc/package.py
new file mode 100644
index 0000000000..4c5d14a90f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-base64enc/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 RBase64enc(Package):
+ """This package provides tools for handling base64 encoding. It is more
+ flexible than the orphaned base64 package."""
+
+ homepage = "http://www.rforge.net/base64enc"
+ url = "https://cran.r-project.org/src/contrib/base64enc_0.1-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/base64enc"
+
+ version('0.1-3', '0f476dacdd11a3e0ad56d13f5bc2f190')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-boot/package.py b/var/spack/repos/builtin/packages/r-boot/package.py
new file mode 100644
index 0000000000..1f2f541fec
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-boot/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 RBoot(Package):
+ """Functions and datasets for bootstrapping from the book "Bootstrap
+ Methods and Their Application" by A. C. Davison and D. V. Hinkley (1997,
+ CUP), originally written by Angelo Canty for S."""
+
+ homepage = "https://cran.r-project.org/package=boot"
+ url = "https://cran.r-project.org/src/contrib/boot_1.3-18.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/boot"
+
+ version('1.3-18', '711dd58af14e1027eb8377d9202e9b6f')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-brew/package.py b/var/spack/repos/builtin/packages/r-brew/package.py
new file mode 100644
index 0000000000..111606d576
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-brew/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 RBrew(Package):
+ """brew implements a templating framework for mixing text and R code for
+ report generation. brew template syntax is similar to PHP, Ruby's erb
+ module, Java Server Pages, and Python's psp module."""
+
+ homepage = "https://cran.r-project.org/package=brew"
+ url = "https://cran.r-project.org/src/contrib/brew_1.0-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/brew"
+
+ version('1.0-6', '4aaca5e6ec145e0fc0fe6375ce1f3806')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-car/package.py b/var/spack/repos/builtin/packages/r-car/package.py
new file mode 100644
index 0000000000..f4a3824983
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-car/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RCar(Package):
+ """Functions and Datasets to Accompany J. Fox and S. Weisberg, An R
+ Companion to Applied Regression, Second Edition, Sage, 2011."""
+
+ homepage = "https://r-forge.r-project.org/projects/car/"
+ url = "https://cran.r-project.org/src/contrib/car_2.1-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/car"
+
+ version('2.1-2', '0f78ad74ef7130126d319acec23951a0')
+
+ extends('R')
+
+ depends_on('r-mass', type=nolink)
+ depends_on('r-mgcv', type=nolink)
+ depends_on('r-nnet', type=nolink)
+ depends_on('r-pbkrtest', type=nolink)
+ depends_on('r-quantreg', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-caret/package.py b/var/spack/repos/builtin/packages/r-caret/package.py
new file mode 100644
index 0000000000..460526c7d3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-caret/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RCaret(Package):
+ """Misc functions for training and plotting classification and regression
+ models."""
+
+ homepage = "https://github.com/topepo/caret/"
+ url = "https://cran.r-project.org/src/contrib/caret_6.0-70.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/caret"
+
+ version('6.0-70', '202d7abb6a679af716ea69fb2573f108')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-car', type=nolink)
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-chron/package.py b/var/spack/repos/builtin/packages/r-chron/package.py
new file mode 100644
index 0000000000..9cd9d76e9e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-chron/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RChron(Package):
+ """Chronological objects which can handle dates and times."""
+
+ homepage = "https://cran.r-project.org/package=chron"
+ url = "https://cran.r-project.org/src/contrib/chron_2.3-47.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/chron"
+
+ version('2.3-47', 'b8890cdc5f2337f8fd775b0becdcdd1f')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-class/package.py b/var/spack/repos/builtin/packages/r-class/package.py
new file mode 100644
index 0000000000..f541ea3611
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-class/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RClass(Package):
+ """Various functions for classification, including k-nearest neighbour,
+ Learning Vector Quantization and Self-Organizing Maps."""
+
+ homepage = "http://www.stats.ox.ac.uk/pub/MASS4/"
+ url = "https://cran.r-project.org/src/contrib/class_7.3-14.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/class"
+
+ version('7.3-14', '6a21dd206fe4ea29c55faeb65fb2b71e')
+
+ extends('R')
+
+ depends_on('r-mass', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-cluster/package.py b/var/spack/repos/builtin/packages/r-cluster/package.py
new file mode 100644
index 0000000000..0fdf2ce5de
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-cluster/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 RCluster(Package):
+ """Methods for Cluster analysis. Much extended the original from Peter
+ Rousseeuw, Anja Struyf and Mia Hubert, based on Kaufman and Rousseeuw
+ (1990) "Finding Groups in Data"."""
+
+ homepage = "https://cran.r-project.org/web/packages/cluster/index.html"
+ url = "https://cran.r-project.org/src/contrib/cluster_2.0.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/cluster"
+
+ version('2.0.4', 'bb4deceaafb1c42bb1278d5d0dc11e59')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-codetools/package.py b/var/spack/repos/builtin/packages/r-codetools/package.py
new file mode 100644
index 0000000000..bea2f78c82
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-codetools/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RCodetools(Package):
+ """Code analysis tools for R."""
+
+ homepage = "https://cran.r-project.org/web/packages/codetools/index.html"
+ url = "https://cran.r-project.org/src/contrib/codetools_0.2-14.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/codetools"
+
+ version('0.2-14', '7ec41d4f8bd6ba85facc8c5e6adc1f4d')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-crayon/package.py b/var/spack/repos/builtin/packages/r-crayon/package.py
new file mode 100644
index 0000000000..1e0befbca9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-crayon/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 RCrayon(Package):
+ """Colored terminal output on terminals that support 'ANSI' color and
+ highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI' color support is
+ automatically detected. Colors and highlighting can be combined and nested.
+ New styles can also be created easily. This package was inspired by the
+ 'chalk' 'JavaScript' project."""
+
+ homepage = "https://github.com/gaborcsardi/crayon"
+ url = "https://cran.r-project.org/src/contrib/crayon_1.3.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/crayon"
+
+ version('1.3.2', 'fe29c6204d2d6ff4c2f9d107a03d0cb9')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-cubature/package.py b/var/spack/repos/builtin/packages/r-cubature/package.py
new file mode 100644
index 0000000000..1d8f837922
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-cubature/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RCubature(Package):
+ """Adaptive multivariate integration over hypercubes"""
+
+ homepage = "https://cran.r-project.org/package=cubature"
+ url = "https://cran.r-project.org/src/contrib/cubature_1.1-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/cubature"
+
+ version('1.1-2', '5617e1d82baa803a3814d92461da45c9')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-curl/package.py b/var/spack/repos/builtin/packages/r-curl/package.py
index c6e8f22a94..24c0eadb2d 100644
--- a/var/spack/repos/builtin/packages/r-curl/package.py
+++ b/var/spack/repos/builtin/packages/r-curl/package.py
@@ -38,8 +38,9 @@ class RCurl(Package):
homepage = "https://github.com/jeroenooms/curl"
url = "https://cran.r-project.org/src/contrib/curl_0.9.7.tar.gz"
- list_url = "https://cran.r-project.org/src/contrib/Archive/RCurl"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/curl"
+ version('1.0', '93d34926d6071e1fba7e728b482f0dd9')
version('0.9.7', 'a101f7de948cb828fef571c730f39217')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-datatable/package.py b/var/spack/repos/builtin/packages/r-datatable/package.py
new file mode 100644
index 0000000000..8b50643341
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-datatable/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 *
+
+
+class RDatatable(Package):
+ """Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins,
+ fast add/modify/delete of columns by group using no copies at all, list
+ columns and a fast file reader (fread). Offers a natural and flexible
+ syntax, for faster development."""
+
+ homepage = "https://github.com/Rdatatable/data.table/wiki"
+ url = "https://cran.r-project.org/src/contrib/data.table_1.9.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/data.table"
+
+ version('1.9.6', 'b1c0c7cce490bdf42ab288541cc55372')
+
+ extends('R')
+
+ depends_on('r-chron')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-devtools/package.py b/var/spack/repos/builtin/packages/r-devtools/package.py
index 5f0b7b8779..75506dd257 100644
--- a/var/spack/repos/builtin/packages/r-devtools/package.py
+++ b/var/spack/repos/builtin/packages/r-devtools/package.py
@@ -36,14 +36,14 @@ class RDevtools(Package):
extends('R')
- depends_on('r-httr')
- depends_on('r-memoise')
- depends_on('r-whisker')
- depends_on('r-digest')
- depends_on('r-rstudioapi')
- depends_on('r-jsonlite')
- depends_on('r-git2r')
- depends_on('r-withr')
+ depends_on('r-httr', type=nolink)
+ depends_on('r-memoise', type=nolink)
+ depends_on('r-whisker', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-rstudioapi', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-git2r', type=nolink)
+ depends_on('r-withr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-diagrammer/package.py b/var/spack/repos/builtin/packages/r-diagrammer/package.py
new file mode 100644
index 0000000000..7ff3b8548b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-diagrammer/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 RDiagrammer(Package):
+ """Create graph diagrams and flowcharts using R."""
+
+ homepage = "https://github.com/rich-iannone/DiagrammeR"
+ url = "https://cran.r-project.org/src/contrib/DiagrammeR_0.8.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/DiagrammeR"
+
+ version('0.8.4', '9ee295c744f5d4ba9a84289ca7bdaf1a')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-influencer', type=nolink)
+ depends_on('r-rstudioapi@0.6:', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-visnetwork', type=nolink)
+ depends_on('r-scales', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-doparallel/package.py b/var/spack/repos/builtin/packages/r-doparallel/package.py
new file mode 100644
index 0000000000..7cebfd9e58
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-doparallel/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 RDoparallel(Package):
+ """Provides a parallel backend for the %dopar% function using the parallel
+ package."""
+
+ homepage = "https://cran.r-project.org/web/packages/doParallel/index.html"
+ url = "https://cran.r-project.org/src/contrib/doParallel_1.0.10.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/doParallel"
+
+ version('1.0.10', 'd9fbde8f315d98d055483ee3493c9b43')
+
+ extends('R')
+
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-iterators', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-dplyr/package.py b/var/spack/repos/builtin/packages/r-dplyr/package.py
index b065e0b817..ded7651278 100644
--- a/var/spack/repos/builtin/packages/r-dplyr/package.py
+++ b/var/spack/repos/builtin/packages/r-dplyr/package.py
@@ -36,14 +36,15 @@ class RDplyr(Package):
version('0.5.0', '1fcafcacca70806eea2e6d465cdb94ef')
extends('R')
- depends_on('r-assertthat')
- depends_on('r-R6')
- depends_on('r-rcpp')
- depends_on('r-tibble')
- depends_on('r-magrittr')
- depends_on('r-lazyeval')
- depends_on('r-dbi')
- depends_on('r-bh')
+
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-R6', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-tibble', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-dbi', type=nolink)
+ depends_on('r-bh', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-dt/package.py b/var/spack/repos/builtin/packages/r-dt/package.py
new file mode 100644
index 0000000000..f134ee8913
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-dt/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RDt(Package):
+ """Data objects in R can be rendered as HTML tables using the JavaScript
+ library 'DataTables' (typically via R Markdown or Shiny). The 'DataTables'
+ library has been included in this R package. The package name 'DT' is an
+ abbreviation of 'DataTables'."""
+
+ homepage = "http://rstudio.github.io/DT"
+ url = "https://cran.r-project.org/src/contrib/DT_0.1.tar.gz"
+
+ version('0.1', '5c8df984921fa484784ec4b8a4fb6f3c')
+
+ extends('R')
+
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-dygraphs/package.py b/var/spack/repos/builtin/packages/r-dygraphs/package.py
new file mode 100644
index 0000000000..9b01d7aa18
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-dygraphs/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RDygraphs(Package):
+ """An R interface to the 'dygraphs' JavaScript charting library (a copy of
+ which is included in the package). Provides rich facilities for charting
+ time-series data in R, including highly configurable series- and
+ axis-display and interactive features like zoom/pan and series/point
+ highlighting."""
+
+ homepage = "https://cran.r-project.org/web/packages/dygraphs/index.html"
+ url = "https://cran.r-project.org/src/contrib/dygraphs_0.9.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/dygraphs"
+
+ version('0.9', '7f0ce4312bcd3f0a58b8c03b2772f833')
+
+ extends('R')
+
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-zoo', type=nolink)
+ depends_on('r-xts', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-e1071/package.py b/var/spack/repos/builtin/packages/r-e1071/package.py
new file mode 100644
index 0000000000..c2e7166403
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-e1071/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 RE1071(Package):
+ """Functions for latent class analysis, short time Fourier transform, fuzzy
+ clustering, support vector machines, shortest path computation, bagged
+ clustering, naive Bayes classifier, ..."""
+
+ homepage = "https://cran.r-project.org/package=e1071"
+ url = "https://cran.r-project.org/src/contrib/e1071_1.6-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/e1071"
+
+ version('1.6-7', 'd109a7e3dd0c905d420e327a9a921f5a')
+
+ extends('R')
+
+ depends_on('r-class', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-foreach/package.py b/var/spack/repos/builtin/packages/r-foreach/package.py
new file mode 100644
index 0000000000..2a7324ae99
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-foreach/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RForeach(Package):
+ """Support for the foreach looping construct. Foreach is an idiom that
+ allows for iterating over elements in a collection, without the use of an
+ explicit loop counter. This package in particular is intended to be used
+ for its return value, rather than for its side effects. In that sense, it
+ is similar to the standard lapply function, but doesn't require the
+ evaluation of a function. Using foreach without side effects also
+ facilitates executing the loop in parallel."""
+
+ homepage = "https://cran.r-project.org/web/packages/foreach/index.html"
+ url = "https://cran.r-project.org/src/contrib/foreach_1.4.3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/foreach"
+
+ version('1.4.3', 'ef45768126661b259f9b8994462c49a0')
+
+ extends('R')
+
+ depends_on('r-codetools', type=nolink)
+ depends_on('r-iterators', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-gdata/package.py b/var/spack/repos/builtin/packages/r-gdata/package.py
new file mode 100644
index 0000000000..0a09a1145b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gdata/package.py
@@ -0,0 +1,59 @@
+##############################################################################
+# 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 RGdata(Package):
+ """Various R programming tools for data manipulation, including: - medical
+ unit conversions ('ConvertMedUnits', 'MedUnits'), - combining objects
+ ('bindData', 'cbindX', 'combine', 'interleave'), - character vector
+ operations ('centerText', 'startsWith', 'trim'), - factor manipulation
+ ('levels', 'reorder.factor', 'mapLevels'), - obtaining information about R
+ objects ('object.size', 'elem', 'env', 'humanReadable', 'is.what', 'll',
+ 'keep', 'ls.funs', 'Args','nPairs', 'nobs'), - manipulating MS-Excel
+ formatted files ('read.xls', 'installXLSXsupport', 'sheetCount',
+ 'xlsFormats'), - generating fixed-width format files ('write.fwf'), -
+ extricating components of date & time objects ('getYear', 'getMonth',
+ 'getDay', 'getHour', 'getMin', 'getSec'), - operations on columns of data
+ frames ('matchcols', 'rename.vars'), - matrix operations ('unmatrix',
+ 'upperTriangle', 'lowerTriangle'), - operations on vectors ('case',
+ 'unknownToNA', 'duplicated2', 'trimSum'), - operations on data frames
+ ('frameApply', 'wideByFactor'), - value of last evaluated expression
+ ('ans'), and - wrapper for 'sample' that ensures consistent behavior for
+ both scalar and vector arguments ('resample')."""
+
+ homepage = "https://cran.r-project.org/package=gdata"
+ url = "https://cran.r-project.org/src/contrib/gdata_2.17.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gdata"
+
+ version('2.17.0', 'c716b663b9dc16ad8cafe6acc781a75f')
+
+ extends('R')
+
+ depends_on('r-gtools', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-geosphere/package.py b/var/spack/repos/builtin/packages/r-geosphere/package.py
new file mode 100644
index 0000000000..21ae07fd41
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-geosphere/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 RGeosphere(Package):
+ """Spherical trigonometry for geographic applications. That is, compute
+ distances and related measures for angular (longitude/latitude)
+ locations."""
+
+ homepage = "https://cran.r-project.org/package=geosphere"
+ url = "https://cran.r-project.org/src/contrib/geosphere_1.5-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/geosphere"
+
+ version('1.5-5', '28efb7a8e266c7f076cdbcf642455f3e')
+
+ extends('R')
+
+ depends_on('r-sp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-ggmap/package.py b/var/spack/repos/builtin/packages/r-ggmap/package.py
new file mode 100644
index 0000000000..2dfca19b51
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ggmap/package.py
@@ -0,0 +1,57 @@
+##############################################################################
+# 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 RGgmap(Package):
+ """A collection of functions to visualize spatial data and models on top of
+ static maps from various online sources (e.g Google Maps and Stamen Maps).
+ It includes tools common to those tasks, including functions for
+ geolocation and routing."""
+
+ homepage = "https://github.com/dkahle/ggmap"
+ url = "https://cran.r-project.org/src/contrib/ggmap_2.6.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/ggmap"
+
+ version('2.6.1', '25ad414a3a1c6d59a227a9f22601211a')
+
+ extends('R')
+
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-proto', type=nolink)
+ depends_on('r-rgooglemaps', type=nolink)
+ depends_on('r-png', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-rjson', type=nolink)
+ depends_on('r-mapproj', type=nolink)
+ depends_on('r-jpeg', type=nolink)
+ depends_on('r-geosphere', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-scales', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-ggplot2/package.py b/var/spack/repos/builtin/packages/r-ggplot2/package.py
index 2d1f53af26..a8cf21930f 100644
--- a/var/spack/repos/builtin/packages/r-ggplot2/package.py
+++ b/var/spack/repos/builtin/packages/r-ggplot2/package.py
@@ -42,12 +42,12 @@ class RGgplot2(Package):
extends('R')
- depends_on('r-digest')
- depends_on('r-gtable')
- depends_on('r-mass')
- depends_on('r-plyr')
- depends_on('r-reshape2')
- depends_on('r-scales')
+ depends_on('r-digest', type=nolink)
+ depends_on('r-gtable', type=nolink)
+ depends_on('r-mass', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-scales', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-ggvis/package.py b/var/spack/repos/builtin/packages/r-ggvis/package.py
index 8fc1f397c8..29b2069ae9 100644
--- a/var/spack/repos/builtin/packages/r-ggvis/package.py
+++ b/var/spack/repos/builtin/packages/r-ggvis/package.py
@@ -38,13 +38,13 @@ class RGgvis(Package):
extends('R')
- depends_on('r-assertthat')
- depends_on('r-jsonlite')
- depends_on('r-shiny')
- depends_on('r-magrittr')
- depends_on('r-dplyr')
- depends_on('r-lazyeval')
- depends_on('r-htmltools')
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-shiny', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-dplyr', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-htmltools', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-glmnet/package.py b/var/spack/repos/builtin/packages/r-glmnet/package.py
new file mode 100644
index 0000000000..af6e1d1b63
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-glmnet/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 RGlmnet(Package):
+ """Extremely efficient procedures for fitting the entire lasso or
+ elastic-net regularization path for linear regression, logistic and
+ multinomial regression models, Poisson regression and the Cox model. Two
+ recent additions are the multiple-response Gaussian, and the grouped
+ multinomial. The algorithm uses cyclical coordinate descent in a path-wise
+ fashion, as described in the paper linked to via the URL below."""
+
+ homepage = "http://www.jstatsoft.org/v33/i01/"
+ url = "https://cran.r-project.org/src/contrib/glmnet_2.0-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/glmnet"
+
+ version('2.0-5', '049b18caa29529614cd684db3beaec2a')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-foreach', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-googlevis/package.py b/var/spack/repos/builtin/packages/r-googlevis/package.py
new file mode 100644
index 0000000000..bcb7caa0fb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-googlevis/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RGooglevis(Package):
+ """R interface to Google Charts API, allowing users to create interactive
+ charts based on data frames. Charts are displayed locally via the R HTTP
+ help server. A modern browser with an Internet connection is required and
+ for some charts a Flash player. The data remains local and is not uploaded
+ to Google."""
+
+ homepage = "https://github.com/mages/googleVis#googlevis"
+ url = "https://cran.r-project.org/src/contrib/googleVis_0.6.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/googleVis"
+
+ version('0.6.0', 'ec36fd2a6884ddc7baa894007d0d0468')
+
+ extends('R')
+
+ depends_on('r-jsonlite', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-gridbase/package.py b/var/spack/repos/builtin/packages/r-gridbase/package.py
new file mode 100644
index 0000000000..a2f55b4470
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gridbase/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RGridbase(Package):
+ """Integration of base and grid graphics."""
+
+ homepage = "https://cran.r-project.org/web/packages/gridBase/index.html"
+ url = "https://cran.r-project.org/src/contrib/gridBase_0.4-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gridBase"
+
+ version('0.4-7', '6d5064a85f5c966a92ee468ae44c5f1f')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-gridextra/package.py b/var/spack/repos/builtin/packages/r-gridextra/package.py
index d215d10678..537426d42f 100644
--- a/var/spack/repos/builtin/packages/r-gridextra/package.py
+++ b/var/spack/repos/builtin/packages/r-gridextra/package.py
@@ -37,7 +37,7 @@ class RGridextra(Package):
extends('R')
- depends_on('r-gtable')
+ depends_on('r-gtable', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-gtools/package.py b/var/spack/repos/builtin/packages/r-gtools/package.py
new file mode 100644
index 0000000000..367bb30f87
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gtools/package.py
@@ -0,0 +1,60 @@
+##############################################################################
+# 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 RGtools(Package):
+ """Functions to assist in R programming, including: - assist in developing,
+ updating, and maintaining R and R packages ('ask', 'checkRVersion',
+ 'getDependencies', 'keywords', 'scat'), - calculate the logit and inverse
+ logit transformations ('logit', 'inv.logit'), - test if a value is missing,
+ empty or contains only NA and NULL values ('invalid'), - manipulate R's
+ .Last function ('addLast'), - define macros ('defmacro'), - detect odd and
+ even integers ('odd', 'even'), - convert strings containing non-ASCII
+ characters (like single quotes) to plain ASCII ('ASCIIfy'), - perform a
+ binary search ('binsearch'), - sort strings containing both numeric and
+ character components ('mixedsort'), - create a factor variable from the
+ quantiles of a continuous variable ('quantcut'), - enumerate permutations
+ and combinations ('combinations', 'permutation'), - calculate and convert
+ between fold-change and log-ratio ('foldchange', 'logratio2foldchange',
+ 'foldchange2logratio'), - calculate probabilities and generate random
+ numbers from Dirichlet distributions ('rdirichlet', 'ddirichlet'), - apply
+ a function over adjacent subsets of a vector ('running'), - modify the
+ TCP\_NODELAY ('de-Nagle') flag for socket objects, - efficient 'rbind' of
+ data frames, even if the column names don't match ('smartbind'), - generate
+ significance stars from p-values ('stars.pval'), - convert characters
+ to/from ASCII codes."""
+
+ homepage = "https://cran.r-project.org/package=gtools"
+ url = "https://cran.r-project.org/src/contrib/gtools_3.5.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gtools"
+
+ version('3.5.0', '45f8800c0336d35046641fbacc56bdbb')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-htmltools/package.py b/var/spack/repos/builtin/packages/r-htmltools/package.py
index 0aea564372..21cdbe9184 100644
--- a/var/spack/repos/builtin/packages/r-htmltools/package.py
+++ b/var/spack/repos/builtin/packages/r-htmltools/package.py
@@ -36,8 +36,8 @@ class RHtmltools(Package):
extends('R')
- depends_on('r-digest')
- depends_on('r-rcpp')
+ depends_on('r-digest', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-htmlwidgets/package.py b/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
new file mode 100644
index 0000000000..8090776f06
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RHtmlwidgets(Package):
+ """A framework for creating HTML widgets that render in various contexts
+ including the R console, 'R Markdown' documents, and 'Shiny' web
+ applications."""
+
+ homepage = "https://github.com/ramnathv/htmlwidgets"
+ url = "https://cran.r-project.org/src/contrib/htmlwidgets_0.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/htmlwidgets"
+
+ version('0.6', '7fa522d2eda97593978021bda9670c0e')
+
+ extends('R')
+
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-yaml', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-httpuv/package.py b/var/spack/repos/builtin/packages/r-httpuv/package.py
index 6ab12bcf9d..57025d3a3c 100644
--- a/var/spack/repos/builtin/packages/r-httpuv/package.py
+++ b/var/spack/repos/builtin/packages/r-httpuv/package.py
@@ -42,7 +42,7 @@ class RHttpuv(Package):
extends('R')
- depends_on('r-rcpp')
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-httr/package.py b/var/spack/repos/builtin/packages/r-httr/package.py
index 77ec34ab03..227594fc0d 100644
--- a/var/spack/repos/builtin/packages/r-httr/package.py
+++ b/var/spack/repos/builtin/packages/r-httr/package.py
@@ -38,11 +38,11 @@ class RHttr(Package):
extends('R')
- depends_on('r-jsonlite')
- depends_on('r-mime')
- depends_on('r-curl')
- depends_on('r-openssl')
- depends_on('r-R6')
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-mime', type=nolink)
+ depends_on('r-curl', type=nolink)
+ depends_on('r-openssl', type=nolink)
+ depends_on('r-R6', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-igraph/package.py b/var/spack/repos/builtin/packages/r-igraph/package.py
new file mode 100644
index 0000000000..37925d4e02
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-igraph/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RIgraph(Package):
+ """Routines for simple graphs and network analysis. It can handle large
+ graphs very well and provides functions for generating random and regular
+ graphs, graph visualization, centrality methods and much more."""
+
+ homepage = "http://igraph.org/"
+ url = "https://cran.r-project.org/src/contrib/igraph_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/igraph"
+
+ version('1.0.1', 'ea33495e49adf4a331e4ba60ba559065')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-nmf', type=nolink)
+ depends_on('r-irlba', type=nolink)
+ depends_on('gmp')
+ depends_on('libxml2')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-influencer/package.py b/var/spack/repos/builtin/packages/r-influencer/package.py
new file mode 100644
index 0000000000..dd525daf2b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-influencer/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RInfluencer(Package):
+ """Provides functionality to compute various node centrality measures on
+ networks. Included are functions to compute betweenness centrality (by
+ utilizing Madduri and Bader's SNAP library), implementations of Burt's
+ constraint and effective network size (ENS) metrics, Borgatti's algorithm
+ to identify key players, and Valente's bridging metric. On Unix systems,
+ the betweenness, Key Players, and bridging implementations are parallelized
+ with OpenMP, which may run faster on systems which have OpenMP
+ configured."""
+
+ homepage = "https://github.com/rcc-uchicago/influenceR"
+ url = "https://cran.r-project.org/src/contrib/influenceR_0.1.0.tar.gz"
+
+ version('0.1.0', '6c8b6decd78c341364b5811fb3050ba5')
+
+ extends('R')
+
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-matrix', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-irlba/package.py b/var/spack/repos/builtin/packages/r-irlba/package.py
new file mode 100644
index 0000000000..42cc142e8a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-irlba/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 RIrlba(Package):
+ """Fast and memory efficient methods for truncated singular and eigenvalue
+ decompositions and principal component analysis of large sparse or dense
+ matrices."""
+
+ homepage = "https://cran.r-project.org/web/packages/irlba/index.html"
+ url = "https://cran.r-project.org/src/contrib/irlba_2.0.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/irlba"
+
+ version('2.0.0', '557674cf8b68fea5b9f231058c324d26')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-iterators/package.py b/var/spack/repos/builtin/packages/r-iterators/package.py
new file mode 100644
index 0000000000..f5a3489e7d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-iterators/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 RIterators(Package):
+ """Support for iterators, which allow a programmer to traverse through all
+ the elements of a vector, list, or other collection of data."""
+
+ homepage = "https://cran.r-project.org/web/packages/iterators/index.html"
+ url = "https://cran.r-project.org/src/contrib/iterators_1.0.8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/iterators"
+
+ version('1.0.8', '2ded7f82cddd8174f1ec98607946c6ee')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-jpeg/package.py b/var/spack/repos/builtin/packages/r-jpeg/package.py
new file mode 100644
index 0000000000..ef940720f8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-jpeg/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 RJpeg(Package):
+ """This package provides an easy and simple way to read, write and display
+ bitmap images stored in the JPEG format. It can read and write both files
+ and in-memory raw vectors."""
+
+ homepage = "http://www.rforge.net/jpeg/"
+ url = "https://cran.r-project.org/src/contrib/jpeg_0.1-8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/jpeg"
+
+ version('0.1-8', '696007451d14395b1ed1d0e9af667a57')
+
+ extends('R')
+
+ depends_on('jpeg')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-jsonlite/package.py b/var/spack/repos/builtin/packages/r-jsonlite/package.py
index 6e231ed345..d1cb4b52c1 100644
--- a/var/spack/repos/builtin/packages/r-jsonlite/package.py
+++ b/var/spack/repos/builtin/packages/r-jsonlite/package.py
@@ -38,9 +38,10 @@ class RJsonlite(Package):
use with dynamic data in systems and applications."""
homepage = "https://github.com/jeroenooms/jsonlite"
- url = "https://cran.r-project.org/src/contrib/jsonlite_0.9.21.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/jsonlite_1.0.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/jsonlite"
+ version('1.0', 'c8524e086de22ab39b8ac8000220cc87')
version('0.9.21', '4fc382747f88a79ff0718a0d06bed45d')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-leaflet/package.py b/var/spack/repos/builtin/packages/r-leaflet/package.py
new file mode 100644
index 0000000000..2a91100c34
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-leaflet/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 RLeaflet(Package):
+ """Create and customize interactive maps using the 'Leaflet' JavaScript
+ library and the 'htmlwidgets' package. These maps can be used directly from
+ the R console, from 'RStudio', in Shiny apps and R Markdown documents."""
+
+ homepage = "http://rstudio.github.io/leaflet/"
+ url = "https://cran.r-project.org/src/contrib/leaflet_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/leaflet"
+
+ version('1.0.1', '7f3d8b17092604d87d4eeb579f73d5df')
+
+ extends('R')
+
+ depends_on('r-base64enc', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-markdown', type=nolink)
+ depends_on('r-png', type=nolink)
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-raster', type=nolink)
+ depends_on('r-scales', type=nolink)
+ depends_on('r-sp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-lme4/package.py b/var/spack/repos/builtin/packages/r-lme4/package.py
new file mode 100644
index 0000000000..c52d9d0e27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-lme4/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 RLme4(Package):
+ """Fit linear and generalized linear mixed-effects models. The models and
+ their components are represented using S4 classes and methods. The core
+ computational algorithms are implemented using the 'Eigen' C++ library for
+ numerical linear algebra and 'RcppEigen' "glue"."""
+
+ homepage = "https://github.com/lme4/lme4/"
+ url = "https://cran.r-project.org/src/contrib/lme4_1.1-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/lme4"
+
+ version('1.1-12', 'da8aaebb67477ecb5631851c46207804')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-mass', type=nolink)
+ depends_on('r-lattice', type=nolink)
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-minqa', type=nolink)
+ depends_on('r-nloptr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-rcppeigen', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-lmtest/package.py b/var/spack/repos/builtin/packages/r-lmtest/package.py
new file mode 100644
index 0000000000..31a36f1f7e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-lmtest/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 RLmtest(Package):
+ """A collection of tests, data sets, and examples for diagnostic checking
+ in linear regression models. Furthermore, some generic tools for inference
+ in parametric models are provided."""
+
+ homepage = "https://cran.r-project.org/package=lmtest"
+ url = "https://cran.r-project.org/src/contrib/lmtest_0.9-34.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/lmtest"
+
+ version('0.9-34', 'fcdf7286bb5ccc2ca46be00bf25ac2fe')
+
+ extends('R')
+
+ depends_on('r-zoo', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-lubridate/package.py b/var/spack/repos/builtin/packages/r-lubridate/package.py
index 88576911f0..2e5661fa4d 100644
--- a/var/spack/repos/builtin/packages/r-lubridate/package.py
+++ b/var/spack/repos/builtin/packages/r-lubridate/package.py
@@ -40,7 +40,8 @@ class RLubridate(Package):
version('1.5.6', 'a5dc44817548ee219d26a10bae92e611')
extends('R')
- depends_on('r-stringr')
+
+ depends_on('r-stringr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-magic/package.py b/var/spack/repos/builtin/packages/r-magic/package.py
index f6ba97740b..2b8f95351a 100644
--- a/var/spack/repos/builtin/packages/r-magic/package.py
+++ b/var/spack/repos/builtin/packages/r-magic/package.py
@@ -39,7 +39,7 @@ class RMagic(Package):
extends('R')
- depends_on('r-abind')
+ depends_on('r-abind', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mapproj/package.py b/var/spack/repos/builtin/packages/r-mapproj/package.py
new file mode 100644
index 0000000000..0f8bbe199b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mapproj/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 RMapproj(Package):
+ """Converts latitude/longitude into projected coordinates."""
+
+ homepage = "https://cran.r-project.org/package=mapproj"
+ url = "https://cran.r-project.org/src/contrib/mapproj_1.2-4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mapproj"
+
+ version('1.2-4', '10e22bde1c790e1540672f15ddcaee71')
+
+ extends('R')
+
+ depends_on('r-maps', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-maps/package.py b/var/spack/repos/builtin/packages/r-maps/package.py
new file mode 100644
index 0000000000..1e0bfd2d43
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-maps/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 RMaps(Package):
+ """Display of maps. Projection code and larger maps are in separate
+ packages ('mapproj' and 'mapdata')."""
+
+ homepage = "https://cran.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/maps_3.1.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/maps"
+
+ version('3.1.1', 'ff045eccb6d5a658db5a539116ddf764')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-maptools/package.py b/var/spack/repos/builtin/packages/r-maptools/package.py
new file mode 100644
index 0000000000..8d045a4ed4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-maptools/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 RMaptools(Package):
+ """Set of tools for manipulating and reading geographic data, in particular
+ ESRI shapefiles; C code used from shapelib. It includes binary access to
+ GSHHG shoreline files. The package also provides interface wrappers for
+ exchanging spatial objects with packages such as PBSmapping, spatstat,
+ maps, RArcInfo, Stata tmap, WinBUGS, Mondrian, and others."""
+
+ homepage = "http://r-forge.r-project.org/projects/maptools/"
+ url = "https://cran.r-project.org/src/contrib/maptools_0.8-39.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/maptools"
+
+ version('0.8-39', '3690d96afba8ef22c8e27ae540ffb836')
+
+ extends('R')
+
+ depends_on('r-sp', type=nolink)
+ depends_on('r-foreign', type=nolink)
+ depends_on('r-lattice', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-markdown/package.py b/var/spack/repos/builtin/packages/r-markdown/package.py
new file mode 100644
index 0000000000..c34727d2b0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-markdown/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RMarkdown(Package):
+ """Provides R bindings to the 'Sundown' 'Markdown' rendering library
+ (https://github.com/vmg/sundown). 'Markdown' is a plain-text formatting
+ syntax that can be converted to 'XHTML' or other formats. See
+ http://en.wikipedia.org/wiki/Markdown for more information about
+ 'Markdown'."""
+
+ homepage = "https://github.com/rstudio/markdown"
+ url = "https://cran.r-project.org/src/contrib/markdown_0.7.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/markdown"
+
+ version('0.7.7', '72deca9c675c7cc9343048edbc29f7ff')
+
+ extends('R')
+
+ depends_on('r-mime', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-matrix/package.py b/var/spack/repos/builtin/packages/r-matrix/package.py
index fbd8a7b4df..1b45dc55ca 100644
--- a/var/spack/repos/builtin/packages/r-matrix/package.py
+++ b/var/spack/repos/builtin/packages/r-matrix/package.py
@@ -37,7 +37,7 @@ class RMatrix(Package):
extends('R')
- depends_on('r-lattice')
+ depends_on('r-lattice', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-matrixmodels/package.py b/var/spack/repos/builtin/packages/r-matrixmodels/package.py
new file mode 100644
index 0000000000..3cdce6fea6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-matrixmodels/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RMatrixmodels(Package):
+ """Modelling with sparse and dense 'Matrix' matrices, using modular
+ prediction and response module classes."""
+
+ homepage = "http://matrix.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/MatrixModels_0.4-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/MatrixModels"
+
+ version('0.4-1', '65b3ab56650c62bf1046a3eb1f1e19a0')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-memoise/package.py b/var/spack/repos/builtin/packages/r-memoise/package.py
index 6a0fb78650..81f3ff1dab 100644
--- a/var/spack/repos/builtin/packages/r-memoise/package.py
+++ b/var/spack/repos/builtin/packages/r-memoise/package.py
@@ -37,7 +37,7 @@ class RMemoise(Package):
extends('R')
- depends_on('r-digest')
+ depends_on('r-digest', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mgcv/package.py b/var/spack/repos/builtin/packages/r-mgcv/package.py
new file mode 100644
index 0000000000..4c49462ba2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mgcv/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RMgcv(Package):
+ """GAMs, GAMMs and other generalized ridge regression with multiple
+ smoothing parameter estimation by GCV, REML or UBRE/AIC. Includes a gam()
+ function, a wide variety of smoothers, JAGS support and distributions
+ beyond the exponential family."""
+
+ homepage = "https://cran.r-project.org/package=mgcv"
+ url = "https://cran.r-project.org/src/contrib/mgcv_1.8-13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mgcv"
+
+ version('1.8-13', '30607be3aaf44b13bd8c81fc32e8c984')
+
+ extends('R')
+
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-matrix', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-mime/package.py b/var/spack/repos/builtin/packages/r-mime/package.py
index fb079f44c5..5e78889a76 100644
--- a/var/spack/repos/builtin/packages/r-mime/package.py
+++ b/var/spack/repos/builtin/packages/r-mime/package.py
@@ -30,9 +30,10 @@ class RMime(Package):
from /etc/mime.types in UNIX-type systems."""
homepage = "https://github.com/yihui/mime"
- url = "https://cran.r-project.org/src/contrib/mime_0.4.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/mime_0.5.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/mime"
+ version('0.5', '87e00b6d57b581465c19ae869a723c4d')
version('0.4', '789cb33e41db2206c6fc7c3e9fbc2c02')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-minqa/package.py b/var/spack/repos/builtin/packages/r-minqa/package.py
new file mode 100644
index 0000000000..16cff20b41
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-minqa/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RMinqa(Package):
+ """Derivative-free optimization by quadratic approximation based on an
+ interface to Fortran implementations by M. J. D. Powell."""
+
+ homepage = "http://optimizer.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/minqa_1.2.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/minqa"
+
+ version('1.2.4', 'bcaae4fdba60a33528f2116e2fd51105')
+
+ extends('R')
+
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-multcomp/package.py b/var/spack/repos/builtin/packages/r-multcomp/package.py
new file mode 100644
index 0000000000..54416502d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-multcomp/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 RMultcomp(Package):
+ """Simultaneous tests and confidence intervals for general linear
+ hypotheses in parametric models, including linear, generalized linear,
+ linear mixed effects, and survival models. The package includes demos
+ reproducing analyzes presented in the book "Multiple Comparisons Using R"
+ (Bretz, Hothorn, Westfall, 2010, CRC Press)."""
+
+ homepage = "http://multcomp.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/multcomp_1.4-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/multcomp"
+
+ version('1.4-6', 'f1353ede2ed78b23859a7f1f1f9ebe88')
+
+ extends('R')
+
+ depends_on('r-mvtnorm', type=nolink)
+ depends_on('r-survival', type=nolink)
+ depends_on('r-thdata', type=nolink)
+ depends_on('r-sandwich', type=nolink)
+ depends_on('r-codetools', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-munsell/package.py b/var/spack/repos/builtin/packages/r-munsell/package.py
index 3216c95e00..b96b90f9c7 100644
--- a/var/spack/repos/builtin/packages/r-munsell/package.py
+++ b/var/spack/repos/builtin/packages/r-munsell/package.py
@@ -40,7 +40,7 @@ class RMunsell(Package):
extends('R')
- depends_on('r-colorspace')
+ depends_on('r-colorspace', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mvtnorm/package.py b/var/spack/repos/builtin/packages/r-mvtnorm/package.py
new file mode 100644
index 0000000000..b3f7db60c6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mvtnorm/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 RMvtnorm(Package):
+ """Computes multivariate normal and t probabilities, quantiles, random
+ deviates and densities."""
+
+ homepage = "http://mvtnorm.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/mvtnorm_1.0-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mvtnorm"
+
+ version('1.0-5', '5894dd3969bbfa26f4862c45f9a48a52')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-ncdf4/package.py b/var/spack/repos/builtin/packages/r-ncdf4/package.py
new file mode 100644
index 0000000000..11bf7abb38
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ncdf4/package.py
@@ -0,0 +1,56 @@
+##############################################################################
+# 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 RNcdf4(Package):
+ """Provides a high-level R interface to data files written using Unidata's
+ netCDF library (version 4 or earlier), which are binary data files that are
+ portable across platforms and include metadata information in addition to
+ the data sets. Using this package, netCDF files (either version 4 or
+ "classic" version 3) can be opened and data sets read in easily. It is also
+ easy to create new netCDF dimensions, variables, and files, in either
+ version 3 or 4 format, and manipulate existing netCDF files. This package
+ replaces the former ncdf package, which only worked with netcdf version 3
+ files. For various reasons the names of the functions have had to be
+ changed from the names in the ncdf package. The old ncdf package is still
+ available at the URL given below, if you need to have backward
+ compatibility. It should be possible to have both the ncdf and ncdf4
+ packages installed simultaneously without a problem. However, the ncdf
+ package does not provide an interface for netcdf version 4 files."""
+
+ homepage = "http://cirrus.ucsd.edu/~pierce/ncdf"
+ url = "https://cran.r-project.org/src/contrib/ncdf4_1.15.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/ncdf4"
+
+ version('1.15', 'cd60dadbae3be31371e1ed40ddeb420a')
+
+ extends('R')
+
+ depends_on('netcdf')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-networkd3/package.py b/var/spack/repos/builtin/packages/r-networkd3/package.py
new file mode 100644
index 0000000000..8884f7cf1b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-networkd3/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 *
+
+
+class RNetworkd3(Package):
+ """Creates 'D3' 'JavaScript' network, tree, dendrogram, and Sankey graphs
+ from 'R'."""
+
+ homepage = "http://cran.r-project.org/package=networkD3"
+ url = "https://cran.r-project.org/src/contrib/networkD3_0.2.12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/networkD3"
+
+ version('0.2.12', '356fe4be59698e6fb052644bd9659d84')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-nlme/package.py b/var/spack/repos/builtin/packages/r-nlme/package.py
new file mode 100644
index 0000000000..1b6bb114e1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nlme/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 RNlme(Package):
+ """Fit and compare Gaussian linear and nonlinear mixed-effects models."""
+
+ homepage = "https://cran.r-project.org/package=nlme"
+ url = "https://cran.r-project.org/src/contrib/nlme_3.1-128.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nlme"
+
+ version('3.1-128', '3d75ae7380bf123761b95a073eb55008')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-nloptr/package.py b/var/spack/repos/builtin/packages/r-nloptr/package.py
new file mode 100644
index 0000000000..58cb585c49
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nloptr/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RNloptr(Package):
+ """nloptr is an R interface to NLopt. NLopt is a free/open-source library
+ for nonlinear optimization, providing a common interface for a number of
+ different free optimization routines available online as well as original
+ implementations of various other algorithms. See
+ http://ab-initio.mit.edu/wiki/index.php/NLopt_Introduction for more
+ information on the available algorithms. During installation on Unix the
+ NLopt code is downloaded and compiled from the NLopt website."""
+
+ homepage = "https://cran.r-project.org/package=nloptr"
+ url = "https://cran.r-project.org/src/contrib/nloptr_1.0.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nloptr"
+
+ version('1.0.4', '9af69a613349b236fd377d0a107f484c')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-nmf/package.py b/var/spack/repos/builtin/packages/r-nmf/package.py
new file mode 100644
index 0000000000..c30a1ac101
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nmf/package.py
@@ -0,0 +1,60 @@
+##############################################################################
+# 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 RNmf(Package):
+ """Provides a framework to perform Non-negative Matrix Factorization (NMF).
+ The package implements a set of already published algorithms and seeding
+ methods, and provides a framework to test, develop and plug new/custom
+ algorithms. Most of the built-in algorithms have been optimized in C++, and
+ the main interface function provides an easy way of performing parallel
+ computations on multicore machines.."""
+
+ homepage = "http://renozao.github.io/NMF"
+ url = "https://cran.r-project.org/src/contrib/NMF_0.20.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/NMF"
+
+ version('0.20.6', '81df07b3bf710a611db5af24730ff3d0')
+
+ extends('R')
+
+ depends_on('r-pkgmaker', type=nolink)
+ depends_on('r-registry', type=nolink)
+ depends_on('r-rngtools', type=nolink)
+ depends_on('r-cluster', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-gridbase', type=nolink)
+ depends_on('r-colorspace', type=nolink)
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-doparallel', type=nolink)
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-nnet/package.py b/var/spack/repos/builtin/packages/r-nnet/package.py
new file mode 100644
index 0000000000..be048f5ad0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nnet/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 RNnet(Package):
+ """Software for feed-forward neural networks with a single hidden layer,
+ and for multinomial log-linear models."""
+
+ homepage = "http://www.stats.ox.ac.uk/pub/MASS4/"
+ url = "https://cran.r-project.org/src/contrib/nnet_7.3-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nnet"
+
+ version('7.3-12', 'dc7c6f0d0de53d8fc72b44554400a74e')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-np/package.py b/var/spack/repos/builtin/packages/r-np/package.py
new file mode 100644
index 0000000000..bff7d0f195
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-np/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RNp(Package):
+ """This package provides a variety of nonparametric (and semiparametric)
+ kernel methods that seamlessly handle a mix of continuous, unordered, and
+ ordered factor data types. We would like to gratefully acknowledge support
+ from the Natural Sciences and Engineering Research Council of Canada
+ (NSERC:www.nserc.ca), the Social Sciences and Humanities Research Council
+ of Canada (SSHRC:www.sshrc.ca), and the Shared Hierarchical Academic
+ Research Computing Network (SHARCNET:www.sharcnet.ca)."""
+
+ homepage = "https://github.com/JeffreyRacine/R-Package-np/"
+ url = "https://cran.r-project.org/src/contrib/np_0.60-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/np"
+
+ version('0.60-2', 'e094d52ddff7280272b41e6cb2c74389')
+
+ extends('R')
+
+ depends_on('r-boot', type=nolink)
+ depends_on('r-cubature', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-pbkrtest/package.py b/var/spack/repos/builtin/packages/r-pbkrtest/package.py
new file mode 100644
index 0000000000..40b6f96927
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pbkrtest/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 RPbkrtest(Package):
+ """Test in mixed effects models. Attention is on mixed effects models as
+ implemented in the 'lme4' package. This package implements a parametric
+ bootstrap test and a Kenward Roger modification of F-tests for linear mixed
+ effects models and a parametric bootstrap test for generalized linear mixed
+ models."""
+
+ homepage = "http://people.math.aau.dk/~sorenh/software/pbkrtest/"
+ url = "https://cran.r-project.org/src/contrib/pbkrtest_0.4-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pbkrtest"
+
+ version('0.4-6', '0a7d9ff83b8d131af9b2335f35781ef9')
+
+ extends('R')
+
+ depends_on('r-lme4', type=nolink)
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-mass', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-pkgmaker/package.py b/var/spack/repos/builtin/packages/r-pkgmaker/package.py
new file mode 100644
index 0000000000..87daec5ad0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pkgmaker/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 RPkgmaker(Package):
+ """This package provides some low-level utilities to use for package
+ development. It currently provides managers for multiple package specific
+ options and registries, vignette, unit test and bibtex related utilities.
+ It serves as a base package for packages like NMF, RcppOctave, doRNG, and
+ as an incubator package for other general purposes utilities, that will
+ eventually be packaged separately. It is still under heavy development and
+ changes in the interface(s) are more than likely to happen."""
+
+ homepage = "https://renozao.github.io/pkgmaker"
+ url = "https://cran.r-project.org/src/contrib/pkgmaker_0.22.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pkgmaker"
+
+ version('0.22', '73a0c6d3e84c6dadf3de7582ef7e88a4')
+
+ extends('R')
+
+ depends_on('r-registry', type=nolink)
+ depends_on('r-codetools', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-xtable', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-plotrix/package.py b/var/spack/repos/builtin/packages/r-plotrix/package.py
new file mode 100644
index 0000000000..d1d61dbc4d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-plotrix/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RPlotrix(Package):
+ """Lots of plots, various labeling, axis and color scaling functions."""
+
+ homepage = "https://cran.r-project.org/package=plotrix"
+ url = "https://cran.r-project.org/src/contrib/plotrix_3.6-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/plotrix"
+
+ version('3.6-3', '23e3e022a13a596e9b77b40afcb4a2ef')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-plyr/package.py b/var/spack/repos/builtin/packages/r-plyr/package.py
index 192e7e8b18..fe4512347a 100644
--- a/var/spack/repos/builtin/packages/r-plyr/package.py
+++ b/var/spack/repos/builtin/packages/r-plyr/package.py
@@ -42,7 +42,7 @@ class RPlyr(Package):
extends('R')
- depends_on('r-rcpp')
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-png/package.py b/var/spack/repos/builtin/packages/r-png/package.py
new file mode 100644
index 0000000000..d3a80a4e16
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-png/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 RPng(Package):
+ """This package provides an easy and simple way to read, write and display
+ bitmap images stored in the PNG format. It can read and write both files
+ and in-memory raw vectors."""
+
+ homepage = "http://www.rforge.net/png/"
+ url = "https://cran.r-project.org/src/contrib/png_0.1-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/png"
+
+ version('0.1-7', '1ebc8b8aa5979b12c5ec2384b30d649f')
+
+ extends('R')
+
+ depends_on('libpng')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-praise/package.py b/var/spack/repos/builtin/packages/r-praise/package.py
new file mode 100644
index 0000000000..102d86d2fa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-praise/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RPraise(Package):
+ """Build friendly R packages that praise their users if they have done
+ something good, or they just need it to feel better."""
+
+ homepage = "https://github.com/gaborcsardi/praise"
+ url = "https://cran.r-project.org/src/contrib/praise_1.0.0.tar.gz"
+
+ version('1.0.0', '9318724cec0454884b5f762bee2da6a1')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-proto/package.py b/var/spack/repos/builtin/packages/r-proto/package.py
new file mode 100644
index 0000000000..07ace3ad29
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-proto/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 RProto(Package):
+ """An object oriented system using object-based, also called
+ prototype-based, rather than class-based object oriented ideas."""
+
+ homepage = "http://r-proto.googlecode.com/"
+ url = "https://cran.r-project.org/src/contrib/proto_0.3-10.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/proto"
+
+ version('0.3-10', 'd5523943a5be6ca2f0ab557c900f8212')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-quantmod/package.py b/var/spack/repos/builtin/packages/r-quantmod/package.py
new file mode 100644
index 0000000000..ecfbf49055
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-quantmod/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 *
+
+
+class RQuantmod(Package):
+ """Specify, build, trade, and analyse quantitative financial trading
+ strategies."""
+
+ homepage = "http://www.quantmod.com/"
+ url = "https://cran.r-project.org/src/contrib/quantmod_0.4-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/quantmod"
+
+ version('0.4-5', 'cab3c409e4de3df98a20f1ded60f3631')
+
+ extends('R')
+
+ depends_on('r-xts', type=nolink)
+ depends_on('r-zoo', type=nolink)
+ depends_on('r-ttr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-quantreg/package.py b/var/spack/repos/builtin/packages/r-quantreg/package.py
new file mode 100644
index 0000000000..89a26070ba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-quantreg/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RQuantreg(Package):
+ """Estimation and inference methods for models of conditional quantiles:
+ Linear and nonlinear parametric and non-parametric (total variation
+ penalized) models for conditional quantiles of a univariate response
+ and several methods for handling censored survival data. Portfolio
+ selection methods based on expected shortfall risk are also
+ included."""
+
+ homepage = "https://cran.r-project.org/package=quantreg"
+ url = "https://cran.r-project.org/src/contrib/quantreg_5.26.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/quantreg"
+
+ version('5.26', '1d89ed932fb4d67ae2d5da0eb8c2989f')
+
+ extends('R')
+
+ depends_on('r-sparsem', type=nolink)
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-matrixmodels', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-randomforest/package.py b/var/spack/repos/builtin/packages/r-randomforest/package.py
new file mode 100644
index 0000000000..1066c217f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-randomforest/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 RRandomforest(Package):
+ """Classification and regression based on a forest of trees using random
+ inputs."""
+
+ homepage = "https://www.stat.berkeley.edu/~breiman/RandomForests/"
+ url = "https://cran.r-project.org/src/contrib/randomForest_4.6-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/randomForest"
+
+ version('4.6-12', '071c03af974198e861f1475c5bab9e7a')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-raster/package.py b/var/spack/repos/builtin/packages/r-raster/package.py
new file mode 100644
index 0000000000..39f4256703
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-raster/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 *
+
+
+class RRaster(Package):
+ """Reading, writing, manipulating, analyzing and modeling of gridded
+ spatial data. The package implements basic and high-level functions.
+ Processing of very large files is supported."""
+
+ homepage = "http://cran.r-project.org/package=raster"
+ url = "https://cran.r-project.org/src/contrib/raster_2.5-8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/raster"
+
+ version('2.5-8', '2a7db931c74d50516e82d04687c0a577')
+
+ extends('R')
+
+ depends_on('r-sp', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py
index 2428f4af3b..94580a8700 100644
--- a/var/spack/repos/builtin/packages/r-rcpp/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpp/package.py
@@ -37,9 +37,10 @@ class RRcpp(Package):
last two."""
homepage = "http://dirk.eddelbuettel.com/code/rcpp.html"
- url = "https://cran.r-project.org/src/contrib/Rcpp_0.12.5.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/Rcpp_0.12.6.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/Rcpp"
+ version('0.12.6', 'db4280fb0a79cd19be73a662c33b0a8b')
version('0.12.5', 'f03ec05b4e391cc46e7ce330e82ff5e2')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-rcppeigen/package.py b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
index 3175628a73..ecf9256ab3 100644
--- a/var/spack/repos/builtin/packages/r-rcppeigen/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
@@ -48,8 +48,8 @@ class RRcppeigen(Package):
extends('R')
- depends_on('r-matrix')
- depends_on('r-rcpp')
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-registry/package.py b/var/spack/repos/builtin/packages/r-registry/package.py
new file mode 100644
index 0000000000..119a84718a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-registry/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RRegistry(Package):
+ """Provides a generic infrastructure for creating and using registries."""
+
+ homepage = "https://cran.r-project.org/web/packages/registry/index.html"
+ url = "https://cran.r-project.org/src/contrib/registry_0.3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/registry"
+
+ version('0.3', '85345b334ec81eb3da6edcbb27c5f421')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-reshape2/package.py b/var/spack/repos/builtin/packages/r-reshape2/package.py
index a96a314008..769e82aff9 100644
--- a/var/spack/repos/builtin/packages/r-reshape2/package.py
+++ b/var/spack/repos/builtin/packages/r-reshape2/package.py
@@ -37,9 +37,9 @@ class RReshape2(Package):
extends('R')
- depends_on('r-plyr')
- depends_on('r-stringr')
- depends_on('r-rcpp')
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-rgooglemaps/package.py b/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
new file mode 100644
index 0000000000..0d28b68b94
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RRgooglemaps(Package):
+ """This package serves two purposes: (i) Provide a comfortable R interface
+ to query the Google server for static maps, and (ii) Use the map as a
+ background image to overlay plots within R. This requires proper coordinate
+ scaling."""
+
+ homepage = "https://cran.r-project.org/package=RgoogleMaps"
+ url = "https://cran.r-project.org/src/contrib/RgoogleMaps_1.2.0.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RgoogleMaps"
+
+ version('1.2.0.7', '2e1df804f0331b4122d841105f0c7ea5')
+
+ extends('R')
+
+ depends_on('r-png', type=nolink)
+ depends_on('r-rjsonio', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rjava/package.py b/var/spack/repos/builtin/packages/r-rjava/package.py
index 0ce0942602..47804bd7fc 100644
--- a/var/spack/repos/builtin/packages/r-rjava/package.py
+++ b/var/spack/repos/builtin/packages/r-rjava/package.py
@@ -37,6 +37,8 @@ class RRjava(Package):
extends('R')
+ depends_on('jdk')
+
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rjson/package.py b/var/spack/repos/builtin/packages/r-rjson/package.py
new file mode 100644
index 0000000000..94ca45f485
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rjson/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RRjson(Package):
+ """Converts R object into JSON objects and vice-versa."""
+
+ homepage = "https://cran.r-project.org/package=rjson"
+ url = "https://cran.r-project.org/src/contrib/rjson_0.2.15.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rjson"
+
+ version('0.2.15', '87d0e29bc179c6aeaf312b138089f8e9')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rjsonio/package.py b/var/spack/repos/builtin/packages/r-rjsonio/package.py
new file mode 100644
index 0000000000..b56dfbe21d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rjsonio/package.py
@@ -0,0 +1,55 @@
+##############################################################################
+# 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 RRjsonio(Package):
+ """This is a package that allows conversion to and from data in Javascript
+ object notation (JSON) format. This allows R objects to be inserted into
+ Javascript/ECMAScript/ActionScript code and allows R programmers to read
+ and convert JSON content to R objects. This is an alternative to rjson
+ package. Originally, that was too slow for converting large R objects to
+ JSON and was not extensible. rjson's performance is now similar to this
+ package, and perhaps slightly faster in some cases. This package uses
+ methods and is readily extensible by defining methods for different
+ classes, vectorized operations, and C code and callbacks to R functions for
+ deserializing JSON objects to R. The two packages intentionally share the
+ same basic interface. This package (RJSONIO) has many additional options to
+ allow customizing the generation and processing of JSON content. This
+ package uses libjson rather than implementing yet another JSON parser. The
+ aim is to support other general projects by building on their work,
+ providing feedback and benefit from their ongoing development."""
+
+ homepage = "https://cran.r-project.org/package=RJSONIO"
+ url = "https://cran.r-project.org/src/contrib/RJSONIO_1.3-0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RJSONIO"
+
+ version('1.3-0', '72c395622ba8d1435ec43849fd32c830')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rmysql/package.py b/var/spack/repos/builtin/packages/r-rmysql/package.py
index 774c166f8b..bc42c51ca9 100644
--- a/var/spack/repos/builtin/packages/r-rmysql/package.py
+++ b/var/spack/repos/builtin/packages/r-rmysql/package.py
@@ -36,7 +36,7 @@ class RRmysql(Package):
extends('R')
- depends_on('r-DBI')
+ depends_on('r-dbi', type=nolink)
depends_on('mariadb')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/r-rngtools/package.py b/var/spack/repos/builtin/packages/r-rngtools/package.py
new file mode 100644
index 0000000000..2f33cd9f88
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rngtools/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 RRngtools(Package):
+ """This package contains a set of functions for working with Random Number
+ Generators (RNGs). In particular, it defines a generic S4 framework for
+ getting/setting the current RNG, or RNG data that are embedded into objects
+ for reproducibility. Notably, convenient default methods greatly facilitate
+ the way current RNG settings can be changed."""
+
+ homepage = "https://renozao.github.io/rngtools"
+ url = "https://cran.r-project.org/src/contrib/rngtools_1.2.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rngtools"
+
+ version('1.2.4', '715967f8b3af2848a76593a7c718c1cd')
+
+ extends('R')
+
+ depends_on('r-pkgmaker', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-digest', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rodbc/package.py b/var/spack/repos/builtin/packages/r-rodbc/package.py
index 9cc9aebd9a..11fe0ace56 100644
--- a/var/spack/repos/builtin/packages/r-rodbc/package.py
+++ b/var/spack/repos/builtin/packages/r-rodbc/package.py
@@ -36,7 +36,7 @@ class RRodbc(Package):
extends('R')
- depends_on('unixODBC')
+ depends_on('unixodbc')
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-roxygen2/package.py b/var/spack/repos/builtin/packages/r-roxygen2/package.py
new file mode 100644
index 0000000000..4f4b8dcafa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-roxygen2/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RRoxygen2(Package):
+ """A 'Doxygen'-like in-source documentation system for Rd, collation, and
+ 'NAMESPACE' files."""
+
+ homepage = "https://github.com/klutometis/roxygen"
+ url = "https://cran.r-project.org/src/contrib/roxygen2_5.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/roxygen2"
+
+ version('5.0.1', 'df5bdbc12fda372e427710ef1cd92ed7')
+
+ extends('R')
+
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-brew', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rpostgresql/package.py b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
index 83c9b85525..999fb4a1b9 100644
--- a/var/spack/repos/builtin/packages/r-rpostgresql/package.py
+++ b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
@@ -44,7 +44,7 @@ class RRpostgresql(Package):
extends('R')
- depends_on('r-DBI')
+ depends_on('r-dbi', type=nolink)
depends_on('postgresql')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/r-rsqlite/package.py b/var/spack/repos/builtin/packages/r-rsqlite/package.py
index 9602f6d927..c7d41f0fb3 100644
--- a/var/spack/repos/builtin/packages/r-rsqlite/package.py
+++ b/var/spack/repos/builtin/packages/r-rsqlite/package.py
@@ -38,7 +38,7 @@ class RRsqlite(Package):
extends('R')
- depends_on('r-DBI')
+ depends_on('r-dbi', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-rstan/package.py b/var/spack/repos/builtin/packages/r-rstan/package.py
index 00fd5116d9..1d0052563b 100644
--- a/var/spack/repos/builtin/packages/r-rstan/package.py
+++ b/var/spack/repos/builtin/packages/r-rstan/package.py
@@ -44,13 +44,13 @@ class RRstan(Package):
extends('R')
- depends_on('r-ggplot2')
- depends_on('r-stanheaders')
- depends_on('r-inline')
- depends_on('r-gridextra')
- depends_on('r-rcpp')
- depends_on('r-rcppeigen')
- depends_on('r-bh')
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-stanheaders', type=nolink)
+ depends_on('r-inline', type=nolink)
+ depends_on('r-gridextra', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-rcppeigen', type=nolink)
+ depends_on('r-bh', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-rstudioapi/package.py b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
index 0ef2d9b987..bf9b35fe5b 100644
--- a/var/spack/repos/builtin/packages/r-rstudioapi/package.py
+++ b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
@@ -33,6 +33,7 @@ class RRstudioapi(Package):
url = "https://cran.r-project.org/src/contrib/rstudioapi_0.5.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/rstudioapi"
+ version('0.6', 'fdb13bf46aab02421557e713fceab66b')
version('0.5', '6ce1191da74e7bcbf06b61339486b3ba')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-sandwich/package.py b/var/spack/repos/builtin/packages/r-sandwich/package.py
new file mode 100644
index 0000000000..ffd62b1b14
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sandwich/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RSandwich(Package):
+ """Model-robust standard error estimators for cross-sectional, time series,
+ and longitudinal data."""
+
+ homepage = "https://cran.r-project.org/package=sandwich"
+ url = "https://cran.r-project.org/src/contrib/sandwich_2.3-4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/sandwich"
+
+ version('2.3-4', 'a621dbd8a57b6e1e036496642aadc2e5')
+
+ extends('R')
+
+ depends_on('r-zoo', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-scales/package.py b/var/spack/repos/builtin/packages/r-scales/package.py
index 046a05d48e..44bd5a5a2a 100644
--- a/var/spack/repos/builtin/packages/r-scales/package.py
+++ b/var/spack/repos/builtin/packages/r-scales/package.py
@@ -37,12 +37,12 @@ class RScales(Package):
extends('R')
- depends_on('r-rcolorbrewer')
- depends_on('r-dichromat')
- depends_on('r-plyr')
- depends_on('r-munsell')
- depends_on('r-labeling')
- depends_on('r-rcpp')
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-dichromat', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-munsell', type=nolink)
+ depends_on('r-labeling', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-shiny/package.py b/var/spack/repos/builtin/packages/r-shiny/package.py
index a9a9532910..a80860f4a5 100644
--- a/var/spack/repos/builtin/packages/r-shiny/package.py
+++ b/var/spack/repos/builtin/packages/r-shiny/package.py
@@ -39,13 +39,13 @@ class RShiny(Package):
extends('R')
- depends_on('r-httpuv')
- depends_on('r-mime')
- depends_on('r-jsonlite')
- depends_on('r-xtable')
- depends_on('r-digest')
- depends_on('r-htmltools')
- depends_on('r-R6')
+ depends_on('r-httpuv', type=nolink)
+ depends_on('r-mime', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-xtable', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-R6', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-sp/package.py b/var/spack/repos/builtin/packages/r-sp/package.py
new file mode 100644
index 0000000000..bb7589d490
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sp/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 *
+
+
+class RSp(Package):
+ """Classes and methods for spatial data; the classes document where the
+ spatial location information resides, for 2D or 3D data. Utility functions
+ are provided, e.g. for plotting data as maps, spatial selection, as well as
+ methods for retrieving coordinates, for subsetting, print, summary, etc."""
+
+ homepage = "https://github.com/edzer/sp/"
+ url = "https://cran.r-project.org/src/contrib/sp_1.2-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/sp"
+
+ version('1.2-3', 'f0e24d993dec128642ee66b6b47b10c1')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-sparsem/package.py b/var/spack/repos/builtin/packages/r-sparsem/package.py
new file mode 100644
index 0000000000..c4dabf5c15
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sparsem/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 RSparsem(Package):
+ """Some basic linear algebra functionality for sparse matrices is provided:
+ including Cholesky decomposition and backsolving as well as standard R
+ subsetting and Kronecker products."""
+
+ homepage = "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html"
+ url = "https://cran.r-project.org/src/contrib/SparseM_1.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/SparseM"
+
+ version('1.7', '7b5b0ab166a0929ef6dcfe1d97643601')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-stringr/package.py b/var/spack/repos/builtin/packages/r-stringr/package.py
index 01fd969522..08ded95833 100644
--- a/var/spack/repos/builtin/packages/r-stringr/package.py
+++ b/var/spack/repos/builtin/packages/r-stringr/package.py
@@ -40,8 +40,8 @@ class RStringr(Package):
extends('R')
- depends_on('r-stringi')
- depends_on('r-magrittr')
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-magrittr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-survey/package.py b/var/spack/repos/builtin/packages/r-survey/package.py
new file mode 100644
index 0000000000..646793f7a4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-survey/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RSurvey(Package):
+ """Summary statistics, two-sample tests, rank tests, generalised linear
+ models, cumulative link models, Cox models, loglinear models, and general
+ maximum pseudolikelihood estimation for multistage stratified,
+ cluster-sampled, unequally weighted survey samples. Variances by Taylor
+ series linearisation or replicate weights. Post-stratification,
+ calibration, and raking. Two-phase subsampling designs. Graphics. PPS
+ sampling without replacement. Principal components, factor analysis."""
+
+ homepage = "http://r-survey.r-forge.r-project.org/survey/"
+ url = "https://cran.r-project.org/src/contrib/survey_3.30-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/survey"
+
+ version('3.30-3', 'c70cdae9cb43d35abddd11173d64cad0')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-survival/package.py b/var/spack/repos/builtin/packages/r-survival/package.py
new file mode 100644
index 0000000000..cfba9298fe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-survival/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 RSurvival(Package):
+ """Contains the core survival analysis routines, including definition of
+ Surv objects, Kaplan-Meier and Aalen-Johansen (multi-state) curves, Cox
+ models, and parametric accelerated failure time models."""
+
+ homepage = "https://cran.r-project.org/package=survival"
+ url = "https://cran.r-project.org/src/contrib/survival_2.39-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/survival"
+
+ version('2.39-5', 'a3cc6b5762e8c5c0bb9e64a276710be2')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-tarifx/package.py b/var/spack/repos/builtin/packages/r-tarifx/package.py
new file mode 100644
index 0000000000..a85aa8baef
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-tarifx/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RTarifx(Package):
+ """A collection of various utility and convenience functions."""
+
+ homepage = "https://cran.r-project.org/package=taRifx"
+ url = "https://cran.r-project.org/src/contrib/taRifx_1.0.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/taRifx"
+
+ version('1.0.6', '7e782e04bd69d929b29f91553382e6a2')
+
+ extends('R')
+
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-plyr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-testthat/package.py b/var/spack/repos/builtin/packages/r-testthat/package.py
new file mode 100644
index 0000000000..60dfd2afcd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-testthat/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RTestthat(Package):
+ """A unit testing system designed to be fun, flexible and easy to set
+ up."""
+
+ homepage = "https://github.com/hadley/testthat"
+ url = "https://cran.r-project.org/src/contrib/testthat_1.0.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/testthat"
+
+ version('1.0.2', '6c6a90c8db860292df5784a70e07b8dc')
+
+ extends('R')
+
+ depends_on('r-digest', type=nolink)
+ depends_on('r-crayon', type=nolink)
+ depends_on('r-praise', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-R6', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-thdata/package.py b/var/spack/repos/builtin/packages/r-thdata/package.py
new file mode 100644
index 0000000000..e1cf050181
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-thdata/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RThdata(Package):
+ """Contains data sets used in other packages Torsten Hothorn maintains."""
+
+ homepage = "https://cran.r-project.org/package=TH.data"
+ url = "https://cran.r-project.org/src/contrib/TH.data_1.0-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/TH.data"
+
+ version('1.0-7', '3e8b6b1a4699544f175215aed7039a94')
+
+ extends('R')
+
+ depends_on('r-survival', type=nolink)
+ depends_on('r-mass', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-threejs/package.py b/var/spack/repos/builtin/packages/r-threejs/package.py
new file mode 100644
index 0000000000..89ecce8bfc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-threejs/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RThreejs(Package):
+ """Create interactive 3D scatter plots, network plots, and globes using the
+ 'three.js' visualization library ("http://threejs.org")."""
+
+ homepage = "http://bwlewis.github.io/rthreejs"
+ url = "https://cran.r-project.org/src/contrib/threejs_0.2.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/threejs"
+
+ version('0.2.2', '35c179b10813c5e4bd3e7827fae6627b')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-base64enc', type=nolink)
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-tibble/package.py b/var/spack/repos/builtin/packages/r-tibble/package.py
index 837c3df603..c601de3c88 100644
--- a/var/spack/repos/builtin/packages/r-tibble/package.py
+++ b/var/spack/repos/builtin/packages/r-tibble/package.py
@@ -37,9 +37,9 @@ class RTibble(Package):
extends('R')
- depends_on('r-assertthat')
- depends_on('r-lazyeval')
- depends_on('r-rcpp')
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-tidyr/package.py b/var/spack/repos/builtin/packages/r-tidyr/package.py
index 2db7b174c2..d82ae278fe 100644
--- a/var/spack/repos/builtin/packages/r-tidyr/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyr/package.py
@@ -37,12 +37,12 @@ class RTidyr(Package):
version('0.5.1', '3cadc869510c054ed93d374ab44120bd')
extends('R')
- depends_on('r-tibble')
- depends_on('r-dplyr')
- depends_on('r-stringi')
- depends_on('r-lazyeval')
- depends_on('r-magrittr')
- depends_on('r-rcpp')
+ depends_on('r-tibble', type=nolink)
+ depends_on('r-dplyr', type=nolink)
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-ttr/package.py b/var/spack/repos/builtin/packages/r-ttr/package.py
new file mode 100644
index 0000000000..c9b40a8262
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ttr/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RTtr(Package):
+ """Functions and data to construct technical trading rules with R."""
+
+ homepage = "https://github.com/joshuaulrich/TTR"
+ url = "https://cran.r-project.org/src/contrib/TTR_0.23-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/TTR"
+
+ version('0.23-1', '35f693ac0d97e8ec742ebea2da222986')
+
+ extends('R')
+
+ depends_on('r-xts', type=nolink)
+ depends_on('r-zoo', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-vcd/package.py b/var/spack/repos/builtin/packages/r-vcd/package.py
new file mode 100644
index 0000000000..06e609b1ef
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-vcd/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RVcd(Package):
+ """Visualization techniques, data sets, summary and inference procedures
+ aimed particularly at categorical data. Special emphasis is given to highly
+ extensible grid graphics. The package was package was originally inspired
+ by the book "Visualizing Categorical Data" by Michael Friendly and is now
+ the main support package for a new book, "Discrete Data Analysis with R" by
+ Michael Friendly and David Meyer (2015)."""
+
+ homepage = "https://cran.r-project.org/package=vcd"
+ url = "https://cran.r-project.org/src/contrib/vcd_1.4-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/vcd"
+
+ version('1.4-1', '7db150a77f173f85b69a1f86f73f8f02')
+
+ extends('R')
+
+ depends_on('r-mass', type=nolink)
+ depends_on('r-colorspace', type=nolink)
+ depends_on('r-lmtest', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-visnetwork/package.py b/var/spack/repos/builtin/packages/r-visnetwork/package.py
new file mode 100644
index 0000000000..90d55bbb2f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-visnetwork/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RVisnetwork(Package):
+ """Provides an R interface to the 'vis.js' JavaScript charting library. It
+ allows an interactive visualization of networks."""
+
+ homepage = "https://github.com/datastorm-open/visNetwork"
+ url = "https://cran.r-project.org/src/contrib/visNetwork_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/visNetwork"
+
+ version('1.0.1', 'dfc9664a5165134d8dbdcd949ad73cf7')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-xlconnect/package.py b/var/spack/repos/builtin/packages/r-xlconnect/package.py
index 919291a023..332c80fb92 100644
--- a/var/spack/repos/builtin/packages/r-xlconnect/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnect/package.py
@@ -33,12 +33,13 @@ class RXlconnect(Package):
url = "https://cran.r-project.org/src/contrib/XLConnect_0.2-11.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/XLConnect"
+ version('0.2-12', '3340d05d259f0a41262eab4ed32617ad')
version('0.2-11', '9d1769a103cda05665df399cc335017d')
extends('R')
- depends_on('r-XLConnectJars')
- depends_on('r-rJava')
+ depends_on('r-xlconnectjars', type=nolink)
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
index 15d08cc5af..26e822d2b7 100644
--- a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
@@ -32,11 +32,12 @@ class RXlconnectjars(Package):
url = "https://cran.r-project.org/src/contrib/XLConnectJars_0.2-9.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/XLConnectJars"
+ version('0.2-12', '6984e5140cd1c887c017ef6f88cbba81')
version('0.2-9', 'e6d6b1acfede26acaa616ee421bd30fb')
extends('R')
- depends_on('r-rJava')
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlsx/package.py b/var/spack/repos/builtin/packages/r-xlsx/package.py
index 0aac6cdd1f..6fed09296d 100644
--- a/var/spack/repos/builtin/packages/r-xlsx/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsx/package.py
@@ -37,8 +37,8 @@ class RXlsx(Package):
extends('R')
- depends_on('r-rJava')
- depends_on('r-xlsxjars')
+ depends_on('r-rjava', type=nolink)
+ depends_on('r-xlsxjars', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlsxjars/package.py b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
index cff6e7427e..19f0006ce9 100644
--- a/var/spack/repos/builtin/packages/r-xlsxjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
@@ -37,7 +37,7 @@ class RXlsxjars(Package):
extends('R')
- depends_on('r-rJava')
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xml/package.py b/var/spack/repos/builtin/packages/r-xml/package.py
new file mode 100644
index 0000000000..591c887f32
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-xml/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 RXml(Package):
+ """Many approaches for both reading and creating XML (and HTML) documents
+ (including DTDs), both local and accessible via HTTP or FTP. Also offers
+ access to an 'XPath' "interpreter"."""
+
+ homepage = "http://www.omegahat.net/RSXML"
+ url = "https://cran.r-project.org/src/contrib/XML_3.98-1.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/XML"
+
+ version('3.98-1', '1a7f3ce6f264eeb109bfa57bedb26c14')
+
+ extends('R')
+
+ depends_on('libxml2')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-xts/package.py b/var/spack/repos/builtin/packages/r-xts/package.py
new file mode 100644
index 0000000000..d8a4b62d27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-xts/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 *
+
+
+class RXts(Package):
+ """Provide for uniform handling of R's different time-based data classes by
+ extending zoo, maximizing native format information preservation and
+ allowing for user level customization and extension, while simplifying
+ cross-class interoperability."""
+
+ homepage = "http://r-forge.r-project.org/projects/xts/"
+ url = "https://cran.r-project.org/src/contrib/xts_0.9-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/xts"
+
+ version('0.9-7', 'a232e94aebfa654653a7d88a0503537b')
+
+ extends('R')
+
+ depends_on('r-zoo', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-yaml/package.py b/var/spack/repos/builtin/packages/r-yaml/package.py
new file mode 100644
index 0000000000..b68f26e9b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-yaml/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 RYaml(Package):
+ """This package implements the libyaml YAML 1.1 parser and emitter
+ (http://pyyaml.org/wiki/LibYAML) for R."""
+
+ homepage = "https://cran.r-project.org/web/packages/yaml/index.html"
+ url = "https://cran.r-project.org/src/contrib/yaml_2.1.13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/yaml"
+
+ version('2.1.13', 'f2203ea395adaff6bd09134666191d9a')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-zoo/package.py b/var/spack/repos/builtin/packages/r-zoo/package.py
new file mode 100644
index 0000000000..d889cacbee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-zoo/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RZoo(Package):
+ """An S3 class with methods for totally ordered indexed observations. It is
+ particularly aimed at irregular time series of numeric vectors/matrices and
+ factors. zoo's key design goals are independence of a particular
+ index/date/time class and consistency with ts and base R by providing
+ methods to extend standard generics."""
+
+ homepage = "http://zoo.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/zoo_1.7-13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/zoo"
+
+ version('1.7-13', '99521dfa4c668e692720cefcc5a1bf30')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
index b6300a1dfa..e9db4b4fc8 100644
--- a/var/spack/repos/builtin/packages/raja/package.py
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Raja(Package):
"""RAJA Parallel Framework."""
homepage = "http://software.llnl.gov/RAJA/"
@@ -31,6 +32,6 @@ class Raja(Package):
version('git', git='https://github.com/LLNL/RAJA.git', branch="master")
def install(self, spec, prefix):
- cmake('.',*std_cmake_args)
- make()
- make('install')
+ cmake('.', *std_cmake_args)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/ravel/package.py b/var/spack/repos/builtin/packages/ravel/package.py
index 96692ac7c1..4f4f2b2e10 100644
--- a/var/spack/repos/builtin/packages/ravel/package.py
+++ b/var/spack/repos/builtin/packages/ravel/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Ravel(Package):
"""Ravel is a parallel communication trace visualization tool that
orders events according to logical time."""
diff --git a/var/spack/repos/builtin/packages/readline/package.py b/var/spack/repos/builtin/packages/readline/package.py
index 039bf725eb..abb6ba04ce 100644
--- a/var/spack/repos/builtin/packages/readline/package.py
+++ b/var/spack/repos/builtin/packages/readline/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Readline(Package):
"""The GNU Readline library provides a set of functions for use by
applications that allow users to edit command lines as they
diff --git a/var/spack/repos/builtin/packages/rose/package.py b/var/spack/repos/builtin/packages/rose/package.py
index bcd317eb8f..02b09f0126 100644
--- a/var/spack/repos/builtin/packages/rose/package.py
+++ b/var/spack/repos/builtin/packages/rose/package.py
@@ -22,12 +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
##############################################################################
-#------------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
# Author: Justin Too <too1@llnl.gov>
-#------------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
from spack import *
+
class Rose(Package):
"""A compiler infrastructure to build source-to-source program
transformation and analysis tools.
@@ -36,7 +37,8 @@ class Rose(Package):
homepage = "http://rosecompiler.org/"
url = "https://github.com/rose-compiler/edg4x-rose"
- version('master', branch='master', git='https://github.com/rose-compiler/edg4x-rose.git')
+ version('master', branch='master',
+ git='https://github.com/rose-compiler/edg4x-rose.git')
patch('add_spack_compiler_recognition.patch')
@@ -60,4 +62,3 @@ class Rose(Package):
"--with-boost=" + boost.prefix,
"--disable-boost-version-check")
make("install-core")
-
diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py
index a9f8d4cfda..4e741b255f 100644
--- a/var/spack/repos/builtin/packages/rsync/package.py
+++ b/var/spack/repos/builtin/packages/rsync/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class Rsync(Package):
- """rsync is an open source utility that provides fast incremental file transfer."""
+ """An open source utility that provides fast incremental file transfer."""
homepage = "https://rsync.samba.org"
url = "https://download.samba.org/pub/rsync/rsync-3.1.1.tar.gz"
diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py
index 65f81ce534..629dfb4649 100644
--- a/var/spack/repos/builtin/packages/rust/package.py
+++ b/var/spack/repos/builtin/packages/rust/package.py
@@ -6,6 +6,7 @@ def get_submodules():
git = which('git')
git('submodule', 'update', '--init', '--recursive')
+
class Rust(Package):
"""The rust programming language toolchain"""
homepage = "http://www.rust-lang.org"
diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py
index f5c7f4431f..6b0b224785 100644
--- a/var/spack/repos/builtin/packages/samtools/package.py
+++ b/var/spack/repos/builtin/packages/samtools/package.py
@@ -24,19 +24,27 @@
##############################################################################
from spack import *
+
class Samtools(Package):
- """SAM Tools provide various utilities for manipulating alignments in the SAM format,
- including sorting, merging, indexing and generating
+ """SAM Tools provide various utilities for manipulating alignments in
+ the SAM format, including sorting, merging, indexing and generating
alignments in a per-position format"""
homepage = "www.htslib.org"
- version('1.2','988ec4c3058a6ceda36503eebecd4122',url = "https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2")
+ url = "https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2"
- depends_on("zlib")
- depends_on("mpc")
- parallel=False
- patch("samtools1.2.patch",level=0)
+ version('1.3.1', 'a7471aa5a1eb7fc9cc4c6491d73c2d88')
+ version('1.2', '988ec4c3058a6ceda36503eebecd4122')
- def install(self, spec, prefix):
- make("prefix=%s" % prefix, "install")
+ depends_on("ncurses")
+ depends_on("htslib", when='@1.3.1:') # htslib became standalone
+ depends_on('zlib', when='@1.2') # needed for builtin htslib
+ def install(self, spec, prefix):
+ if self.spec.version >= Version('1.3.1'):
+ configure('--prefix={0}'.format(prefix), '--with-ncurses')
+ make()
+ make('install')
+ else:
+ make("prefix=%s" % prefix)
+ make("prefix=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/samtools/samtools1.2.patch b/var/spack/repos/builtin/packages/samtools/samtools1.2.patch
deleted file mode 100644
index ead3ab4e2c..0000000000
--- a/var/spack/repos/builtin/packages/samtools/samtools1.2.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Makefile 2015-02-03 08:27:34.000000000 -0800
-+++ Makefile.new 2015-07-21 10:38:27.881406892 -0700
-@@ -26,7 +26,7 @@
- CFLAGS = -g -Wall -O2
- LDFLAGS =
- LDLIBS =
--DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
-+DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=0
- LOBJS= bam_aux.o bam.o bam_import.o sam.o \
- sam_header.o bam_plbuf.o
- AOBJS= bam_index.o bam_plcmd.o sam_view.o \
-@@ -37,7 +37,7 @@
- faidx.o stats.o stats_isize.o bam_flags.o bam_split.o \
- bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o
- INCLUDES= -I. -I$(HTSDIR)
--LIBCURSES= -lcurses # -lXCurses
-+#LIBCURSES= -lcurses # -lXCurses
-
- prefix = /usr/local
- exec_prefix = $(prefix)
diff --git a/var/spack/repos/builtin/packages/scalasca/package.py b/var/spack/repos/builtin/packages/scalasca/package.py
index 98e43ee75a..228d814aed 100644
--- a/var/spack/repos/builtin/packages/scalasca/package.py
+++ b/var/spack/repos/builtin/packages/scalasca/package.py
@@ -27,10 +27,12 @@ from spack import *
class Scalasca(Package):
- """
- Scalasca is a software tool that supports the performance optimization of parallel programs by measuring and
- analyzing their runtime behavior. The analysis identifies potential performance bottlenecks - in particular those
- concerning communication and synchronization - and offers guidance in exploring their causes.
+ """Scalasca is a software tool that supports the performance optimization
+ of parallel programs by measuring and analyzing their runtime
+ behavior. The analysis identifies potential performance
+ bottlenecks - in particular those concerning communication and
+ synchronization - and offers guidance in exploring their causes.
+
"""
homepage = "http://www.scalasca.org"
@@ -44,7 +46,8 @@ class Scalasca(Package):
depends_on("mpi")
##########
- # Hard-code dependencies for Scalasca according to what stated in the release page
+ # Hard-code dependencies for Scalasca according to what stated in the
+ # release page
# The OTF2 library path should be detected automatically from SCOREP
# SCALASCA 2.2.2
depends_on("scorep@1.4:", when='@2.2.2')
@@ -60,4 +63,4 @@ class Scalasca(Package):
"--enable-shared"]
configure(*configure_args)
make()
- make("install") \ No newline at end of file
+ make("install")
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
index 40ae4176dd..2c32bde4a1 100644
--- a/var/spack/repos/builtin/packages/scons/package.py
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Scons(Package):
"""SCons is a software construction tool"""
homepage = "http://scons.org"
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index 633511a15a..d40e08740f 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -28,20 +28,28 @@ 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"
url = "http://www.vi-hps.org/upload/packages/scorep/scorep-1.2.3.tar.gz"
+ version('2.0.2', '8f00e79e1b5b96e511c5ebecd10b2888',
+ url='http://www.vi-hps.org/upload/packages/scorep/scorep-2.0.2.tar.gz')
version('1.4.2', '3b9a042b13bdd5836452354e6567f71e',
url='http://www.vi-hps.org/upload/packages/scorep/scorep-1.4.2.tar.gz')
version('1.3', '9db6f957b7f51fa01377a9537867a55c',
url='http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz')
##########
- # Dependencies for SCORE-P are quite tight. See the homepage for more information.
+ # Dependencies for SCORE-P are quite tight. See the homepage for more
+ # information.
+ # SCOREP 2.0.2
+ depends_on('otf2@2.0', when='@2.0.2')
+ depends_on('opari2@2.0', when='@2.0.2')
+ depends_on('cube@4.3:4.4', when='@2.0.2')
# SCOREP 1.4.2
depends_on('otf2@1.5:1.6', when='@1.4.2')
depends_on('opari2@1.1.4', when='@1.4.2')
@@ -56,17 +64,18 @@ class Scorep(Package):
depends_on("papi")
def install(self, spec, prefix):
- configure = Executable( join_path(self.stage.source_path, 'configure') )
+ configure = Executable(join_path(self.stage.source_path, 'configure'))
with working_dir('spack-build', create=True):
- configure_args = ["--prefix=%s" % prefix,
- "--with-otf2=%s" % spec['otf2'].prefix.bin,
- "--with-opari2=%s" % spec['opari2'].prefix.bin,
- "--with-cube=%s" % spec['cube'].prefix.bin,
- "--with-papi-header=%s" % spec['papi'].prefix.include,
- "--with-papi-lib=%s" % spec['papi'].prefix.lib,
- "--enable-shared",
- "CFLAGS=-fPIC",
- "CXXFLAGS=-fPIC"]
+ configure_args = [
+ "--prefix=%s" % prefix,
+ "--with-otf2=%s" % spec['otf2'].prefix.bin,
+ "--with-opari2=%s" % spec['opari2'].prefix.bin,
+ "--with-cube=%s" % spec['cube'].prefix.bin,
+ "--with-papi-header=%s" % spec['papi'].prefix.include,
+ "--with-papi-lib=%s" % spec['papi'].prefix.lib,
+ "--enable-shared",
+ "CFLAGS=-fPIC",
+ "CXXFLAGS=-fPIC"]
configure(*configure_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index c2bad20c2f..94a323ce90 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -39,11 +39,16 @@ class Scotch(Package):
version('6.0.0', 'c50d6187462ba801f9a82133ee666e8e')
version('5.1.10b', 'f587201d6cf5cf63527182fbfba70753')
- variant('mpi', default=False, description='Activate the compilation of parallel libraries')
- variant('compression', default=True, description='Activate the posibility to use compressed files')
- variant('esmumps', default=False, description='Activate the compilation of esmumps needed by mumps')
- variant('shared', default=True, description='Build a shared version of the library')
- variant('metis', default=True, description='Build metis and parmetis wrapper libraries')
+ variant('mpi', default=False,
+ description='Activate the compilation of parallel libraries')
+ variant('compression', default=True,
+ description='Activate the posibility to use compressed files')
+ variant('esmumps', default=False,
+ description='Activate the compilation of esmumps needed by mumps')
+ variant('shared', default=True,
+ description='Build a shared version of the library')
+ variant('metis', default=True,
+ description='Build metis and parmetis wrapper libraries')
depends_on('flex', type='build')
depends_on('bison', type='build')
diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py
index b638688e7b..2b01c60b3e 100644
--- a/var/spack/repos/builtin/packages/scr/package.py
+++ b/var/spack/repos/builtin/packages/scr/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Scr(Package):
"""SCR caches checkpoint data in storage on the compute nodes of a
Linux cluster to provide a fast, scalable checkpoint/restart
@@ -34,8 +35,10 @@ class Scr(Package):
depends_on("mpi")
# depends_on("dtcmp")
- version('1.1-7', 'a5930e9ab27d1b7049447c2fd7734ebd', url='http://downloads.sourceforge.net/project/scalablecr/releases/scr-1.1-7.tar.gz')
- version('1.1.8', '6a0f11ad18e27fcfc00a271ff587b06e', url='https://github.com/hpc/scr/releases/download/v1.1.8/scr-1.1.8.tar.gz')
+ version('1.1-7', 'a5930e9ab27d1b7049447c2fd7734ebd',
+ url='http://downloads.sourceforge.net/project/scalablecr/releases/scr-1.1-7.tar.gz')
+ version('1.1.8', '6a0f11ad18e27fcfc00a271ff587b06e',
+ url='https://github.com/hpc/scr/releases/download/v1.1.8/scr-1.1.8.tar.gz')
def install(self, spec, prefix):
configure("--prefix=" + prefix,
diff --git a/var/spack/repos/builtin/packages/screen/package.py b/var/spack/repos/builtin/packages/screen/package.py
new file mode 100644
index 0000000000..17335603e6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/screen/package.py
@@ -0,0 +1,59 @@
+##############################################################################
+# 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 Screen(Package):
+ """
+ Screen is a full-screen window manager that multiplexes a physical
+ terminal between several processes, typically interactive shells.
+ """
+
+ homepage = "https://www.gnu.org/software/screen/"
+ url = "http://ftp.gnu.org/gnu/screen/screen-4.3.1.tar.gz"
+
+ version('4.3.1', '5bb3b0ff2674e29378c31ad3411170ad')
+ version('4.3.0', 'f76d28eadc4caaf6cdff00685ae6ad46')
+ version('4.2.1', '419a0594e2b25039239af8b90eda7d92')
+ version('4.2.0', 'e5199156a8ac863bbf92495a7638b612')
+ version('4.0.3', '8506fd205028a96c741e4037de6e3c42')
+ version('4.0.2', 'ed68ea9b43d9fba0972cb017a24940a1')
+ version('3.9.15', '0dff6fdc3fbbceabf25a43710fbfe75f')
+ version('3.9.11', '19572f92404995e7b2dea8117204dd67')
+ version('3.9.10', 'bbe271715d1dee038b3cd72d6d2f05fb')
+ version('3.9.9', '9a8b1d6c7438c64b884c4f7d7662afdc')
+ version('3.9.8', '8ddfebe32c2d45410ce89ea9779bb1cf')
+ version('3.9.4', '7de72cd18f7adcdf993ecc6764d0478a')
+ version('3.7.6', '9a353b828d79c3c143109265cae663a7')
+ version('3.7.4', 'c5ab40b068968075e41e25607dfce543')
+ version('3.7.2', '2d6db5de7fb0cf849cc5a6f94203f029')
+ version('3.7.1', '27cdd29318446561ef7c966041cbd2c9')
+
+ depends_on('ncurses')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/seqtk/package.py b/var/spack/repos/builtin/packages/seqtk/package.py
new file mode 100644
index 0000000000..ca168c176c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/seqtk/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 Seqtk(Package):
+ """Toolkit for processing sequences in FASTA/Q formats."""
+
+ homepage = "https://github.com/lh3/seqtk"
+ url = "https://github.com/lh3/seqtk/archive/v1.1.tar.gz"
+
+ version('1.2', '255ffe05bf2f073dc57abcff97f11a37')
+ version('1.1', 'ebf5cc57698a217150c2250494e039a2')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ make()
+ mkdirp(prefix.bin)
+ install('seqtk', prefix.bin)
+ set_executable(join_path(prefix.bin, 'seqtk'))
diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py
index 017a09977a..5113c88bdf 100644
--- a/var/spack/repos/builtin/packages/silo/package.py
+++ b/var/spack/repos/builtin/packages/silo/package.py
@@ -38,7 +38,8 @@ class Silo(Package):
variant('fortran', default=True, description='Enable Fortran support')
variant('shared', default=True, description='Build shared libraries')
- variant('silex', default=False, description='Builds Silex, a GUI for viewing Silo files')
+ variant('silex', default=False,
+ description='Builds Silex, a GUI for viewing Silo files')
depends_on('hdf5')
depends_on('qt', when='+silex')
@@ -55,8 +56,10 @@ class Silo(Package):
configure(
'--prefix=%s' % prefix,
- '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include, spec['hdf5'].prefix.lib),
- '--with-zlib=%s,%s' % (spec['zlib'].prefix.include, spec['zlib'].prefix.lib),
+ '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include,
+ spec['hdf5'].prefix.lib),
+ '--with-zlib=%s,%s' % (spec['zlib'].prefix.include,
+ spec['zlib'].prefix.lib),
'--enable-install-lite-headers',
*config_args)
diff --git a/var/spack/repos/builtin/packages/snappy/package.py b/var/spack/repos/builtin/packages/snappy/package.py
index 836063f933..1e94980c92 100644
--- a/var/spack/repos/builtin/packages/snappy/package.py
+++ b/var/spack/repos/builtin/packages/snappy/package.py
@@ -22,9 +22,9 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import os
from spack import *
+
class Snappy(Package):
"""A fast compressor/decompressor: https://code.google.com/p/snappy"""
diff --git a/var/spack/repos/builtin/packages/sparsehash/package.py b/var/spack/repos/builtin/packages/sparsehash/package.py
index a72a5ce105..e5abd42ae6 100644
--- a/var/spack/repos/builtin/packages/sparsehash/package.py
+++ b/var/spack/repos/builtin/packages/sparsehash/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Sparsehash(Package):
"""Sparse and dense hash-tables for C++ by Google"""
homepage = "https://github.com/sparsehash/sparsehash"
diff --git a/var/spack/repos/builtin/packages/spindle/package.py b/var/spack/repos/builtin/packages/spindle/package.py
index bcdc7543a3..213d41e970 100644
--- a/var/spack/repos/builtin/packages/spindle/package.py
+++ b/var/spack/repos/builtin/packages/spindle/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Spindle(Package):
"""Spindle improves the library-loading performance of dynamically
linked HPC applications. Without Spindle large MPI jobs can
diff --git a/var/spack/repos/builtin/packages/spot/package.py b/var/spack/repos/builtin/packages/spot/package.py
index 21bb6f03a7..096aa24c02 100644
--- a/var/spack/repos/builtin/packages/spot/package.py
+++ b/var/spack/repos/builtin/packages/spot/package.py
@@ -23,16 +23,17 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class Spot(Package):
- """Spot is a C++11 library for omega-automata manipulation and model checking."""
+ """Spot is a C++11 library for omega-automata manipulation and model
+ checking."""
homepage = "https://spot.lrde.epita.fr/index.html"
url = "http://www.lrde.epita.fr/dload/spot/spot-1.99.3.tar.gz"
version('1.99.3', 'd53adcb2d0fe7c69f45d4e595a58254e')
- #depends_on("gcc@4.8:", type='build')
+ # depends_on("gcc@4.8:", type='build')
depends_on("python@3.2:")
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/sqlite/package.py b/var/spack/repos/builtin/packages/sqlite/package.py
index 5e7ae4fb8b..513f8ec6d4 100644
--- a/var/spack/repos/builtin/packages/sqlite/package.py
+++ b/var/spack/repos/builtin/packages/sqlite/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Sqlite(Package):
"""SQLite3 is an SQL database engine in a C library. Programs that
link the SQLite3 library can have SQL database access without
diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py
index a03713397b..ec2fae5e9b 100644
--- a/var/spack/repos/builtin/packages/stat/package.py
+++ b/var/spack/repos/builtin/packages/stat/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Stat(Package):
"""Library to create, manipulate, and export graphs Graphlib."""
homepage = "http://paradyn.org/STAT/STAT.html"
@@ -49,13 +50,14 @@ class Stat(Package):
configure_args = [
"--enable-gui",
"--prefix=%s" % prefix,
- "--disable-examples", # Examples require MPI: avoid this dependency.
+ # Examples require MPI: avoid this dependency.
+ "--disable-examples",
"--with-launchmon=%s" % spec['launchmon'].prefix,
"--with-mrnet=%s" % spec['mrnet'].prefix,
"--with-graphlib=%s" % spec['graphlib'].prefix,
"--with-stackwalker=%s" % spec['dyninst'].prefix,
"--with-libdwarf=%s" % spec['libdwarf'].prefix
- ]
+ ]
if '+dysect' in spec:
configure_args.append('--enable-dysectapi')
configure(*configure_args)
diff --git a/var/spack/repos/builtin/packages/subversion/package.py b/var/spack/repos/builtin/packages/subversion/package.py
index 68ee397857..26d143e4aa 100644
--- a/var/spack/repos/builtin/packages/subversion/package.py
+++ b/var/spack/repos/builtin/packages/subversion/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-#import os
+
class Subversion(Package):
"""Apache Subversion - an open source version control system."""
@@ -41,39 +41,40 @@ class Subversion(Package):
# Optional: We need swig if we want the Perl, Python or Ruby
# bindings.
- #depends_on('swig')
- #depends_on('python')
- #depends_on('perl')
- #depends_on('ruby')
+ # depends_on('swig')
+ # depends_on('python')
+ # depends_on('perl')
+ # depends_on('ruby')
def install(self, spec, prefix):
# configure, build, install:
- # Ref: http://www.linuxfromscratch.org/blfs/view/svn/general/subversion.html
+ # Ref:
+ # http://www.linuxfromscratch.org/blfs/view/svn/general/subversion.html
options = ['--prefix=%s' % prefix]
options.append('--with-apr=%s' % spec['apr'].prefix)
options.append('--with-apr-util=%s' % spec['apr-util'].prefix)
options.append('--with-zlib=%s' % spec['zlib'].prefix)
options.append('--with-sqlite=%s' % spec['sqlite'].prefix)
options.append('--with-serf=%s' % spec['serf'].prefix)
- #options.append('--with-swig=%s' % spec['swig'].prefix)
+ # options.append('--with-swig=%s' % spec['swig'].prefix)
configure(*options)
make()
make('install')
# python bindings
- #make('swig-py',
+ # make('swig-py',
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
# 'swig_pydir_extra=/usr/lib/python2.7/site-packages/svn')
- #make('install-swig-py',
+ # make('install-swig-py',
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
# 'swig_pydir_extra=/usr/lib/python2.7/site-packages/svn')
# perl bindings
- #make('swig-pl')
- #make('install-swig-pl')
+ # make('swig-pl')
+ # make('install-swig-pl')
# ruby bindings
- #make('swig-rb')
- #make('isntall-swig-rb')
+ # make('swig-rb')
+ # make('isntall-swig-rb')
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index e52b90eb8a..7582954ab1 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -36,11 +36,15 @@ class Sundials(Package):
version('2.6.2', '3deeb0ede9f514184c6bd83ecab77d95')
variant('mpi', default=True, description='Enable MPI support')
- variant('lapack', default=True, description='Build with external BLAS/LAPACK libraries')
- variant('klu', default=False, description='Build with SuiteSparse KLU libraries')
- variant('superlu', default=False, description='Build with SuperLU_MT libraries')
+ variant('lapack', default=True,
+ description='Build with external BLAS/LAPACK libraries')
+ variant('klu', default=False,
+ description='Build with SuiteSparse KLU libraries')
+ variant('superlu', default=False,
+ description='Build with SuperLU_MT libraries')
variant('openmp', default=False, description='Enable OpenMP support')
- variant('pthread', default=True, description='Enable POSIX threads support')
+ variant('pthread', default=True,
+ description='Enable POSIX threads support')
depends_on('cmake', type='build')
depends_on('mpi', when='+mpi')
diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py
index e51d7224d9..4b3354e379 100644
--- a/var/spack/repos/builtin/packages/superlu-dist/package.py
+++ b/var/spack/repos/builtin/packages/superlu-dist/package.py
@@ -57,7 +57,7 @@ class SuperluDist(Package):
'METISLIB = -L%s -lmetis' % spec['metis'].prefix.lib,
'PARMETISLIB = -L%s -lparmetis' % spec['parmetis'].prefix.lib,
'FLIBS =',
- 'LIBS = $(DSUPERLULIB) $(BLASLIB) $(PARMETISLIB) $(METISLIB)', # NOQA: ignore=E501
+ 'LIBS = $(DSUPERLULIB) $(BLASLIB) $(PARMETISLIB) $(METISLIB)', # noqa
'ARCH = ar',
'ARCHFLAGS = cr',
'RANLIB = true',
diff --git a/var/spack/repos/builtin/packages/superlu-mt/package.py b/var/spack/repos/builtin/packages/superlu-mt/package.py
index 5a9429d6e5..e849273e08 100644
--- a/var/spack/repos/builtin/packages/superlu-mt/package.py
+++ b/var/spack/repos/builtin/packages/superlu-mt/package.py
@@ -37,11 +37,13 @@ class SuperluMt(Package):
version('3.1', '06ac62f1b4b7d17123fffa0d0c315e91')
- variant('blas', default=True, description='Build with external BLAS library')
+ variant('blas', default=True,
+ description='Build with external BLAS library')
# Must choose one or the other
variant('openmp', default=False, description='Build with OpenMP support')
- variant('pthread', default=True, description='Build with POSIX threads support')
+ variant('pthread', default=True,
+ description='Build with POSIX threads support')
# NOTE: must link with a single-threaded BLAS library
depends_on('blas', when='+blas')
diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py
index e65e723869..ae33445377 100644
--- a/var/spack/repos/builtin/packages/swiftsim/package.py
+++ b/var/spack/repos/builtin/packages/swiftsim/package.py
@@ -38,9 +38,11 @@ class Swiftsim(AutotoolsPackage):
homepage = 'http://icc.dur.ac.uk/swift/'
url = 'http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0'
- version('0.3.0', git='https://gitlab.cosma.dur.ac.uk/swift/swiftsim.git', commit='254cc1b563b2f88ddcf437b1f71da123bb9db733')
+ version('0.3.0', git='https://gitlab.cosma.dur.ac.uk/swift/swiftsim.git',
+ commit='254cc1b563b2f88ddcf437b1f71da123bb9db733')
- variant('mpi', default=True, description='Enable distributed memory parallelism')
+ variant('mpi', default=True,
+ description='Enable distributed memory parallelism')
# Build dependencies
depends_on('autoconf', type='build')
diff --git a/var/spack/repos/builtin/packages/swig/package.py b/var/spack/repos/builtin/packages/swig/package.py
index f552621821..b43246dcee 100644
--- a/var/spack/repos/builtin/packages/swig/package.py
+++ b/var/spack/repos/builtin/packages/swig/package.py
@@ -22,9 +22,9 @@
# 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 Swig(Package):
"""SWIG is an interface compiler that connects programs written in
C and C++ with scripting languages such as Perl, Python, Ruby,
@@ -38,6 +38,7 @@ class Swig(Package):
homepage = "http://www.swig.org"
url = "http://prdownloads.sourceforge.net/swig/swig-3.0.8.tar.gz"
+ version('3.0.10', 'bb4ab8047159469add7d00910e203124')
version('3.0.8', 'c96a1d5ecb13d38604d7e92148c73c97')
version('3.0.2', '62f9b0d010cef36a13a010dc530d0d41')
version('2.0.12', 'c3fb0b2d710cc82ed0154b91e43085a4')
diff --git a/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch b/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch
new file mode 100644
index 0000000000..e5c183b720
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch
@@ -0,0 +1,482 @@
+diff --git a/Makefile.in b/Makefile.in
+index f9f1d1d..b403e46 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+@@ -1583,9 +1583,10 @@ distcheck: dist
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
++ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
++ --srcdir=.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+diff --git a/aclocal.m4 b/aclocal.m4
+index 0e09589..804c0b3 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.14 -*- Autoconf -*-
++# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2013 Free Software Foundation, Inc.
+
+@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.14'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.14], [],
++m4_if([$1], [1.14.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.14])dnl
++[AM_AUTOMAKE_VERSION([1.14.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/config.h.in b/config.h.in
+index 6646ea5..8571ef4 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -617,7 +617,7 @@
+ */
+ #undef HAVE_ALLOCA_H
+
+-/* define to 1 if we have <attr/xattr.h> header */
++/* Define to 1 if you have the <attr/xattr.h> header file. */
+ #undef HAVE_ATTR_XATTR_H
+
+ /* Define to 1 if you have the <bp-sym.h> header file. */
+@@ -924,21 +924,12 @@
+ /* Define to 1 if you have the <features.h> header file. */
+ #undef HAVE_FEATURES_H
+
+-/* Define to 1 if you have the `fgetxattr' function. */
+-#undef HAVE_FGETXATTR
+-
+-/* Define to 1 if you have the `flistxattr' function. */
+-#undef HAVE_FLISTXATTR
+-
+ /* Define to 1 if you have the `flockfile' function. */
+ #undef HAVE_FLOCKFILE
+
+ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+ #undef HAVE_FSEEKO
+
+-/* Define to 1 if you have the `fsetxattr' function. */
+-#undef HAVE_FSETXATTR
+-
+ /* Define to 1 if you have the `fstatat' function. */
+ #undef HAVE_FSTATAT
+
+@@ -990,9 +981,6 @@
+ /* Define to 1 if you have the `gettimeofday' function. */
+ #undef HAVE_GETTIMEOFDAY
+
+-/* Define to 1 if you have the `getxattr' function. */
+-#undef HAVE_GETXATTR
+-
+ /* Define to 1 if you have the `grantpt' function. */
+ #undef HAVE_GRANTPT
+
+@@ -1045,12 +1033,6 @@
+ /* Define to 1 if you have the `lchown' function. */
+ #undef HAVE_LCHOWN
+
+-/* Define to 1 if you have the `lgetxattr' function. */
+-#undef HAVE_LGETXATTR
+-
+-/* Define to 1 if you have the `attr' library (-lattr). */
+-#undef HAVE_LIBATTR
+-
+ /* Define to 1 if you have the <libgen.h> header file. */
+ #undef HAVE_LIBGEN_H
+
+@@ -1069,12 +1051,6 @@
+ /* Define to 1 if you have the <linux/fd.h> header file. */
+ #undef HAVE_LINUX_FD_H
+
+-/* Define to 1 if you have the `listxattr' function. */
+-#undef HAVE_LISTXATTR
+-
+-/* Define to 1 if you have the `llistxattr' function. */
+-#undef HAVE_LLISTXATTR
+-
+ /* Define to 1 if you have the <locale.h> header file. */
+ #undef HAVE_LOCALE_H
+
+@@ -1087,9 +1063,6 @@
+ /* Define to 1 if the system has the type 'long long int'. */
+ #undef HAVE_LONG_LONG_INT
+
+-/* Define to 1 if you have the `lsetxattr' function. */
+-#undef HAVE_LSETXATTR
+-
+ /* Define to 1 if you have the `lstat' function. */
+ #undef HAVE_LSTAT
+
+@@ -1867,9 +1840,6 @@
+ /* Define to 1 if you have the `setlocale' function. */
+ #undef HAVE_SETLOCALE
+
+-/* Define to 1 if you have the `setxattr' function. */
+-#undef HAVE_SETXATTR
+-
+ /* Define to 1 if you have the <sgtty.h> header file. */
+ #undef HAVE_SGTTY_H
+
+@@ -2074,7 +2044,7 @@
+ /* Define to 1 if you have the <sys/wait.h> header file. */
+ #undef HAVE_SYS_WAIT_H
+
+-/* define to 1 if we have <sys/xattr.h> header */
++/* Define to 1 if you have the <sys/xattr.h> header file. */
+ #undef HAVE_SYS_XATTR_H
+
+ /* Define if struct tm has the tm_gmtoff member. */
+diff --git a/configure b/configure
+index cfdd721..8cf6e91 100755
+--- a/configure
++++ b/configure
+@@ -663,8 +663,6 @@ RSH
+ LIBOBJS
+ TAR_COND_GRANTPT_FALSE
+ TAR_COND_GRANTPT_TRUE
+-TAR_LIB_ATTR_FALSE
+-TAR_LIB_ATTR_TRUE
+ TAR_COND_XATTR_H_FALSE
+ TAR_COND_XATTR_H_TRUE
+ GNULIB_TEST_WARN_CFLAGS
+@@ -34994,41 +34992,6 @@ else
+ TAR_COND_XATTR_H_FALSE=
+ fi
+
+- if false; then
+- TAR_LIB_ATTR_TRUE=
+- TAR_LIB_ATTR_FALSE='#'
+-else
+- TAR_LIB_ATTR_TRUE='#'
+- TAR_LIB_ATTR_FALSE=
+-fi
+-
+- if test "$ac_cv_header_sys_xattr_h" = yes; then
+- for ac_func in getxattr fgetxattr lgetxattr \
+- setxattr fsetxattr lsetxattr \
+- listxattr flistxattr llistxattr
+-do :
+- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+- cat >>confdefs.h <<_ACEOF
+-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+- # only when functions are present
+-
+-$as_echo "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
+-
+- if test "$with_xattrs" != no; then
+-
+-$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+-
+- fi
+-
+-fi
+-done
+-
+- fi
+-
+- # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
+ if test "$ac_cv_header_sys_xattr_h" != yes; then
+ for ac_header in attr/xattr.h
+ do :
+@@ -35050,13 +35013,20 @@ else
+ TAR_COND_XATTR_H_FALSE=
+ fi
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+-$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+-if ${ac_cv_lib_attr_fgetxattr+:} false; then :
++ fi
++
++ if test "$with_xattrs" != no; then
++ for i in getxattr fgetxattr lgetxattr \
++ setxattr fsetxattr lsetxattr \
++ listxattr flistxattr llistxattr
++ do
++ as_ac_Search=`$as_echo "ac_cv_search_$i" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $i" >&5
++$as_echo_n "checking for library containing $i... " >&6; }
++if eval \${$as_ac_Search+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lattr $LIBS"
++ ac_func_search_save_LIBS=$LIBS
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -35066,67 +35036,56 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char fgetxattr ();
++char $i ();
+ int
+ main ()
+ {
+-return fgetxattr ();
++return $i ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_attr_fgetxattr=yes
+-else
+- ac_cv_lib_attr_fgetxattr=no
++for ac_lib in '' attr; do
++ if test -z "$ac_lib"; then
++ ac_res="none required"
++ else
++ ac_res=-l$ac_lib
++ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
++ fi
++ if ac_fn_c_try_link "$LINENO"; then :
++ eval "$as_ac_Search=\$ac_res"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+-$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+-if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBATTR 1
+-_ACEOF
+-
+- LIBS="-lattr $LIBS"
+-
++ conftest$ac_exeext
++ if eval \${$as_ac_Search+:} false; then :
++ break
+ fi
++done
++if eval \${$as_ac_Search+:} false; then :
+
+- if test "$ac_cv_lib_attr_fgetxattr" = yes; then
+- TAR_LIB_ATTR_TRUE=
+- TAR_LIB_ATTR_FALSE='#'
+ else
+- TAR_LIB_ATTR_TRUE='#'
+- TAR_LIB_ATTR_FALSE=
++ eval "$as_ac_Search=no"
++fi
++rm conftest.$ac_ext
++LIBS=$ac_func_search_save_LIBS
+ fi
++eval ac_res=\$$as_ac_Search
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++eval ac_res=\$$as_ac_Search
++if test "$ac_res" != no; then :
++ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+- if test "$ac_cv_header_attr_xattr_h" = yes; then
+- for ac_func in getxattr fgetxattr lgetxattr \
+- setxattr fsetxattr lsetxattr \
+- listxattr flistxattr llistxattr
+-do :
+- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+- cat >>confdefs.h <<_ACEOF
+-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+- # only when functions are present
++fi
+
+-$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
++ eval found=\$ac_cv_search_$i
++ test "$found" = "no" && break
++ done
+
+- if test "$with_xattrs" != no; then
++ if test "$found" != no; then
+
+ $as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+
+- fi
+-
+-fi
+-done
+-
+ fi
+ fi
+
+@@ -38187,18 +38146,10 @@ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; th
+ as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+- as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+-fi
+ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+- as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+-fi
+ if test -z "${TAR_COND_GRANTPT_TRUE}" && test -z "${TAR_COND_GRANTPT_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_GRANTPT\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+diff --git a/doc/Makefile.in b/doc/Makefile.in
+index ca44f1a..42a06b3 100644
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/gnu/Makefile.in b/gnu/Makefile.in
+index 03eed58..d908a03 100644
+--- a/gnu/Makefile.in
++++ b/gnu/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index 41a9aca..1254b8f 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/rmt/Makefile.in b/rmt/Makefile.in
+index c3f2509..0f3dca4 100644
+--- a/rmt/Makefile.in
++++ b/rmt/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/scripts/Makefile.in b/scripts/Makefile.in
+index 57c0d0d..bf344ed 100644
+--- a/scripts/Makefile.in
++++ b/scripts/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 6f9a592..fc6fc87 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+@@ -99,7 +99,6 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ bin_PROGRAMS = tar$(EXEEXT)
+-@TAR_LIB_ATTR_TRUE@am__append_1 = -lattr
+ subdir = src
+ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
+@@ -254,7 +253,7 @@ am__DEPENDENCIES_2 = ../lib/libtar.a ../gnu/libgnu.a \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ tar_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
++ $(am__DEPENDENCIES_1)
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -1225,8 +1224,7 @@ tar_SOURCES = \
+ AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib
+ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
+-tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) \
+- $(LIB_SELINUX) $(am__append_1)
++tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 6807509..50d7689 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/lib/xattr-at.c b/lib/xattr-at.c
+index 443ccae..009bde5 100644
+--- a/lib/xattr-at.c
++++ b/lib/xattr-at.c
+@@ -18,6 +18,11 @@
+
+ #include <config.h>
+
++/* Temporarily don't build. We are unable to build on (probably not only)
++ darwin due to lack of l*xattr callbacks (XATTR_NOFOLLOW is alternative) and
++ different function definitions. */
++#ifdef HAVE_XATTRS
++
+ #include "xattr-at.h"
+ #include "openat.h"
+
+@@ -108,3 +113,5 @@
+ #undef AT_FUNC_RESULT
+ #undef AT_FUNC_POST_FILE_PARAM_DECLS
+ #undef AT_FUNC_POST_FILE_ARGS
++
++#endif
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 82b2d46..42daaef 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -52,7 +52,3 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
+
+ tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
+-
+-if TAR_LIB_ATTR
+-tar_LDADD += -lattr
+-endif
+--
+1.9.3 \ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/tar/package.py b/var/spack/repos/builtin/packages/tar/package.py
index c55b5165bf..f5995cb007 100644
--- a/var/spack/repos/builtin/packages/tar/package.py
+++ b/var/spack/repos/builtin/packages/tar/package.py
@@ -24,13 +24,21 @@
##############################################################################
from spack import *
+
class Tar(Package):
- """GNU Tar provides the ability to create tar archives, as well as various other kinds of manipulation."""
+ """GNU Tar provides the ability to create tar archives, as well as various
+ other kinds of manipulation."""
homepage = "https://www.gnu.org/software/tar/"
- url = "http://ftp.gnu.org/gnu/tar/tar-1.28.tar.gz"
+ url = "https://ftp.gnu.org/gnu/tar/tar-1.28.tar.gz"
+ version('1.29', 'cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0')
version('1.28', '6ea3dbea1f2b0409b234048e021a9fd7')
+ # see http://lists.gnu.org/archive/html/bug-tar/2014-08/msg00001.html and
+ # https://github.com/Homebrew/homebrew-core/commit/aef9a1792de4648d0322b4b04d32287532f046bb
+ # TODO: when=sys.platform=='darwin' ?
+ patch('gnutar-configure-xattrs.patch', when='@1.28')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
diff --git a/var/spack/repos/builtin/packages/task/package.py b/var/spack/repos/builtin/packages/task/package.py
index 8c3b412f48..785023fd03 100644
--- a/var/spack/repos/builtin/packages/task/package.py
+++ b/var/spack/repos/builtin/packages/task/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Task(Package):
"""Feature-rich console based todo list manager"""
homepage = "http://www.taskwarrior.org"
diff --git a/var/spack/repos/builtin/packages/taskd/package.py b/var/spack/repos/builtin/packages/taskd/package.py
index 1d7f9ed49e..d13f480374 100644
--- a/var/spack/repos/builtin/packages/taskd/package.py
+++ b/var/spack/repos/builtin/packages/taskd/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Taskd(Package):
"""TaskWarrior task synchronization daemon"""
# FIXME: add a proper url for your package's homepage here.
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index 3b181f3fa4..a77df8d37c 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -30,6 +30,7 @@ import os.path
from llnl.util.filesystem import join_path
+
class Tau(Package):
"""
A portable profiling and tracing toolkit for performance
@@ -45,15 +46,20 @@ class Tau(Package):
version('2.23.1', '6593b47ae1e7a838e632652f0426fe72')
# TODO : shmem variant missing
- variant('download', default=False, description='Downloads and builds various dependencies')
+ variant('download', default=False,
+ description='Downloads and builds various dependencies')
variant('scorep', default=False, description='Activates SCOREP support')
variant('openmp', default=True, description='Use OpenMP threads')
- variant('mpi', default=True, description='Specify use of TAU MPI wrapper library')
+ variant('mpi', default=True,
+ description='Specify use of TAU MPI wrapper library')
variant('phase', default=True, description='Generate phase based profiles')
- variant('comm', default=True, description=' Generate profiles with MPI communicator info')
+ variant('comm', default=True,
+ description=' Generate profiles with MPI communicator info')
- # TODO : Try to build direct OTF2 support? Some parts of the OTF support library in TAU are non-conformant,
- # TODO : and fail at compile-time. Further, SCOREP is compiled with OTF2 support.
+ # TODO : Try to build direct OTF2 support? Some parts of the OTF support
+ # TODO : library in TAU are non-conformant,
+ # TODO : and fail at compile-time. Further, SCOREP is compiled with OTF2
+ # support.
depends_on('pdt') # Required for TAU instrumentation
depends_on('scorep', when='+scorep')
depends_on('binutils', when='~download')
@@ -65,13 +71,17 @@ class Tau(Package):
##########
# Selecting a compiler with TAU configure is quite tricky:
- # 1 - compilers are mapped to a given set of strings (and spack cc, cxx, etc. wrappers are not among them)
+ # 1 - compilers are mapped to a given set of strings
+ # (and spack cc, cxx, etc. wrappers are not among them)
# 2 - absolute paths are not allowed
- # 3 - the usual environment variables seems not to be checked ('CC', 'CXX' and 'FC')
- # 4 - if no -cc=<compiler> -cxx=<compiler> is passed tau is built with system compiler silently
+ # 3 - the usual environment variables seems not to be checked
+ # ('CC', 'CXX' and 'FC')
+ # 4 - if no -cc=<compiler> -cxx=<compiler> is passed tau is built with
+ # system compiler silently
# (regardless of what %<compiler> is used in the spec)
#
- # In the following we give TAU what he expects and put compilers into PATH
+ # In the following we give TAU what he expects and put compilers into
+ # PATH
compiler_path = os.path.dirname(self.compiler.cc)
os.environ['PATH'] = ':'.join([compiler_path, os.environ['PATH']])
compiler_options = ['-c++=%s' % self.compiler.cxx_names[0],
@@ -80,7 +90,8 @@ class Tau(Package):
compiler_options.append('-fortran=%s' % self.compiler.fc_names[0])
##########
- # Construct the string of custom compiler flags and append it to compiler related options
+ # Construct the string of custom compiler flags and append it to
+ # compiler related options
useropt = ' '.join(useropt)
useropt = "-useropt=%s" % useropt
compiler_options.append(useropt)
@@ -92,8 +103,9 @@ class Tau(Package):
change_sed_delimiter('@', ';', 'utils/FixMakefile')
change_sed_delimiter('@', ';', 'utils/FixMakefile.sed.default')
- # TAU configure, despite the name , seems to be a manually written script (nothing related to autotools).
- # As such it has a few #peculiarities# that make this build quite hackish.
+ # TAU configure, despite the name , seems to be a manually
+ # written script (nothing related to autotools). As such it has
+ # a few #peculiarities# that make this build quite hackish.
options = ["-prefix=%s" % prefix,
"-iowrapper",
"-pdt=%s" % spec['pdt'].prefix]
diff --git a/var/spack/repos/builtin/packages/tbb/package.py b/var/spack/repos/builtin/packages/tbb/package.py
index c88b170816..d13579b44d 100644
--- a/var/spack/repos/builtin/packages/tbb/package.py
+++ b/var/spack/repos/builtin/packages/tbb/package.py
@@ -35,8 +35,10 @@ class Tbb(Package):
homepage = "http://www.threadingbuildingblocks.org/"
# Only version-specific URL's work for TBB
- version('4.4.4', 'd4cee5e4ca75cab5181834877738619c56afeb71', url='https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160413oss_src.tgz') # NOQA: ignore=E501
- version('4.4.3', '80707e277f69d9b20eeebdd7a5f5331137868ce1', url='https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160128oss_src_0.tgz') # NOQA: ignore=E501
+ version('4.4.4', 'd4cee5e4ca75cab5181834877738619c56afeb71',
+ url='https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160413oss_src.tgz')
+ version('4.4.3', '80707e277f69d9b20eeebdd7a5f5331137868ce1',
+ url='https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160128oss_src_0.tgz')
def coerce_to_spack(self, tbb_build_subdir):
for compiler in ["icc", "gcc", "clang"]:
diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py
index ef922314d8..16d896acc6 100644
--- a/var/spack/repos/builtin/packages/tcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl/package.py
@@ -57,3 +57,5 @@ class Tcl(Package):
configure("--prefix={0}".format(prefix))
make()
make("install")
+ with working_dir(prefix.bin):
+ symlink('tclsh{0}'.format(self.version.up_to(2)), 'tclsh')
diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py
index 97aa68be65..7ac55a6785 100644
--- a/var/spack/repos/builtin/packages/tetgen/package.py
+++ b/var/spack/repos/builtin/packages/tetgen/package.py
@@ -36,7 +36,8 @@ class Tetgen(Package):
url = "http://www.tetgen.org/files/tetgen1.4.3.tar.gz"
version('1.4.3', 'd6a4bcdde2ac804f7ec66c29dcb63c18')
- version('1.5.0', '3b9fd9cdec121e52527b0308f7aad5c1', url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz')
+ version('1.5.0', '3b9fd9cdec121e52527b0308f7aad5c1',
+ url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz')
depends_on('cmake@2.8.7:', when='@1.5.0:', type='build')
diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py
index 5c6fef0db6..ddb23e5d6f 100644
--- a/var/spack/repos/builtin/packages/texinfo/package.py
+++ b/var/spack/repos/builtin/packages/texinfo/package.py
@@ -27,10 +27,13 @@ from spack import *
class Texinfo(Package):
- """
- Texinfo is the official documentation format of the GNU project. It was invented by Richard Stallman and Bob
- Chassell many years ago, loosely based on Brian Reid's Scribe and other formatting languages of the time. It is
- used by many non-GNU projects as well.FIXME: put a proper description of your package here.
+ """Texinfo is the official documentation format of the GNU project.
+
+ It was invented by Richard Stallman and Bob Chassell many years ago,
+ loosely based on Brian Reid's Scribe and other formatting languages
+ of the time. It is used by many non-GNU projects as well.FIXME: put a
+ proper description of your package here.
+
"""
homepage = "https://www.gnu.org/software/texinfo/"
url = "http://ftp.gnu.org/gnu/texinfo/texinfo-6.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py
new file mode 100644
index 0000000000..64158e74cb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/texlive/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 *
+import os
+
+
+class Texlive(Package):
+ """TeX Live is a free software distribution for the TeX typesetting
+ system"""
+
+ homepage = "http://www.tug.org/texlive"
+
+ version('live', 'e671eea7f142c438959493cc42a2a59b',
+ url="http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz")
+
+ # There does not seem to be a complete list of schemes.
+ # Examples include:
+ # full scheme (everything)
+ # medium scheme (small + more packages and languages)
+ # small scheme (basic + xetex, metapost, a few languages)
+ # basic scheme (plain and latex)
+ # minimal scheme (plain only)
+ # See:
+ # https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-25025r6
+ variant('scheme', default="small",
+ description='Package subset to install (e.g. full, small, basic)')
+
+ depends_on('perl')
+
+ def install(self, spec, prefix):
+ env = os.environ
+ env['TEXLIVE_INSTALL_PREFIX'] = prefix
+ perl = which('perl')
+ scheme = spec.variants['scheme'].value
+ perl('./install-tl', '-scheme', scheme,
+ '-portable', '-profile', '/dev/null')
diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py
index 025ee2b885..755f7a80b9 100644
--- a/var/spack/repos/builtin/packages/thrift/package.py
+++ b/var/spack/repos/builtin/packages/thrift/package.py
@@ -24,12 +24,16 @@
##############################################################################
from spack import *
+
class Thrift(Package):
- """The Apache Thrift software framework, for scalable cross-language services
- development, combines a software stack with a code generation engine to build
- services that work efficiently and seamlessly between C++, Java, Python, PHP,
- Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml
- and Delphi and other languages."""
+ """Software framework for scalable cross-language services development.
+
+ Thrift combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly between C++,
+ Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,
+ JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
+
+ """
homepage = "http://thrift.apache.org"
url = "http://apache.mirrors.ionfish.org/thrift/0.9.2/thrift-0.9.2.tar.gz"
@@ -37,8 +41,10 @@ class Thrift(Package):
version('0.9.2', '89f63cc4d0100912f4a1f8a9dee63678')
# Currently only support for c-family and python
- variant('c', default=True, description="Build support for C-family languages")
- variant('python', default=True, description="Build support for python")
+ variant('c', default=True,
+ description="Build support for C-family languages")
+ variant('python', default=True,
+ description="Build support for python")
depends_on('jdk')
depends_on('autoconf', type='build')
@@ -66,7 +72,8 @@ class Thrift(Package):
options.append('--enable-tests=no')
options.append('--with-c=%s' % ('yes' if '+c' in spec else 'no'))
- options.append('--with-python=%s' % ('yes' if '+python' in spec else 'no'))
+ options.append('--with-python=%s' %
+ ('yes' if '+python' in spec else 'no'))
options.append('--with-java=%s' % ('yes' if '+java' in spec else 'no'))
options.append('--with-go=%s' % ('yes' if '+go' in spec else 'no'))
options.append('--with-lua=%s' % ('yes' if '+lua' in spec else 'no'))
diff --git a/var/spack/repos/builtin/packages/tmuxinator/package.py b/var/spack/repos/builtin/packages/tmuxinator/package.py
index b9c92ea4db..66da4006f2 100644
--- a/var/spack/repos/builtin/packages/tmuxinator/package.py
+++ b/var/spack/repos/builtin/packages/tmuxinator/package.py
@@ -24,17 +24,18 @@
##############################################################################
from spack import *
+
class Tmuxinator(Package):
"""A session configuration creator and manager for tmux"""
homepage = "https://github.com/tmuxinator/tmuxinator"
url = "https://github.com/tmuxinator/tmuxinator"
version('0.6.11',
- git='https://github.com/tmuxinator/tmuxinator',
- tag='v0.6.11')
+ git='https://github.com/tmuxinator/tmuxinator',
+ tag='v0.6.11')
extends('ruby')
def install(self, spec, prefix):
- gem('build', 'tmuxinator.gemspec')
- gem('install', 'tmuxinator-{0}.gem'.format(self.version))
+ gem('build', 'tmuxinator.gemspec')
+ gem('install', 'tmuxinator-{0}.gem'.format(self.version))
diff --git a/var/spack/repos/builtin/packages/tree/package.py b/var/spack/repos/builtin/packages/tree/package.py
new file mode 100644
index 0000000000..8e0e176c4c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tree/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 *
+
+
+class Tree(Package):
+ """Tree is a recursive directory listing command that produces a depth
+ indented listing of files, which is colorized ala dircolors if
+ the LS_COLORS environment variable is set and output is to
+ tty. Tree has been ported and reported to work under the
+ following operating systems: Linux, FreeBSD, OS X, Solaris,
+ HP/UX, Cygwin, HP Nonstop and OS/2."""
+
+ homepage = "http://mama.indstate.edu/users/ice/tree/"
+ url = "http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz"
+
+ version('1.7.0', 'abe3e03e469c542d8e157cdd93f4d8a6')
+
+ def install(self, spec, prefix):
+ filter_file(r'^prefix =.*', 'prefix = %s' % prefix, 'Makefile')
+ filter_file(r'^CFLAGS', '# use spack settings instead... CFLAGS',
+ 'Makefile')
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/triangle/package.py b/var/spack/repos/builtin/packages/triangle/package.py
index bc8b0ec639..f4ee9ca1c9 100644
--- a/var/spack/repos/builtin/packages/triangle/package.py
+++ b/var/spack/repos/builtin/packages/triangle/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Triangle(Package):
"""Triangle is a two-dimensional mesh generator and Delaunay
triangulator. Triangle generates exact Delaunay triangulations,
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 77589bb8f9..d39e45f054 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -45,6 +45,7 @@ class Trilinos(Package):
homepage = "https://trilinos.org/"
url = "http://trilinos.csbsju.edu/download/files/trilinos-12.2.1-Source.tar.gz"
+ version('12.6.4', 'db25056617c688f6f25092376a03200f')
version('12.6.3', '960f5f4d3f7c3da818e5a5fb4684559eff7e0c25f959ef576561b8a52f0e4d1e')
version('12.6.2', '0c076090508170ddee5efeed317745027f9418319720dc40a072e478775279f9')
version('12.6.1', 'adcf2d3aab74cdda98f88fee19cd1442604199b0515ee3da4d80cbe8f37d00e4')
@@ -55,17 +56,24 @@ class Trilinos(Package):
version('11.14.2', 'a43590cf896c677890d75bfe75bc6254')
version('11.14.1', '40febc57f76668be8b6a77b7607bb67f')
- variant('metis', default=True, description='Compile with METIS and ParMETIS')
- variant('mumps', default=True, description='Compile with support for MUMPS solvers')
- variant('superlu-dist', default=True, description='Compile with SuperluDist solvers')
- variant('hypre', default=True, description='Compile with Hypre preconditioner')
+ variant('metis', default=True,
+ description='Compile with METIS and ParMETIS')
+ variant('mumps', default=True,
+ description='Compile with support for MUMPS solvers')
+ variant('superlu-dist', default=True,
+ description='Compile with SuperluDist solvers')
+ variant('hypre', default=True,
+ description='Compile with Hypre preconditioner')
variant('hdf5', default=True, description='Compile with HDF5')
- variant('suite-sparse', default=True, description='Compile with SuiteSparse solvers')
+ variant('suite-sparse', default=True,
+ description='Compile with SuiteSparse solvers')
# not everyone has py-numpy activated, keep it disabled by default to avoid
# configure errors
variant('python', default=False, description='Build python wrappers')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
variant('boost', default=True, description='Compile with Boost')
depends_on('cmake', type='build')
@@ -138,16 +146,23 @@ class Trilinos(Package):
'-DTPL_ENABLE_LAPACK=ON',
'-DLAPACK_LIBRARY_NAMES=%s' % to_lib_name(
spec['lapack'].lapack_shared_lib),
- '-DLAPACK_LIBRARY_DIRS=%s' % spec['lapack'].prefix,
+ '-DLAPACK_LIBRARY_DIRS=%s' % spec['lapack'].prefix.lib,
'-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON',
'-DTrilinos_ENABLE_CXX11:BOOL=ON',
'-DTPL_ENABLE_Netcdf:BOOL=ON',
'-DTPL_ENABLE_HYPRE:BOOL=%s' % (
- 'ON' if '+hypre' in spec else 'OFF'),
- '-DTPL_ENABLE_HDF5:BOOL=%s' % (
- 'ON' if '+hdf5' in spec else 'OFF'),
+ 'ON' if '+hypre' in spec else 'OFF')
])
+ if '+hdf5' in spec:
+ options.extend([
+ '-DTPL_ENABLE_HDF5:BOOL=ON',
+ '-DHDF5_INCLUDE_DIRS:PATH=%s' % spec['hdf5'].prefix.include,
+ '-DHDF5_LIBRARY_DIRS:PATH=%s' % spec['hdf5'].prefix.lib
+ ])
+ else:
+ options.extend(['-DTPL_ENABLE_HDF5:BOOL=OFF'])
+
if '+boost' in spec:
options.extend([
'-DTPL_ENABLE_Boost:BOOL=ON',
diff --git a/var/spack/repos/builtin/packages/udunits2/package.py b/var/spack/repos/builtin/packages/udunits2/package.py
index aed39668fd..bae6414c5b 100644
--- a/var/spack/repos/builtin/packages/udunits2/package.py
+++ b/var/spack/repos/builtin/packages/udunits2/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Udunits2(Package):
"""Automated units conversion"""
diff --git a/var/spack/repos/builtin/packages/uncrustify/package.py b/var/spack/repos/builtin/packages/uncrustify/package.py
index db96bc301e..c3182d0dc8 100644
--- a/var/spack/repos/builtin/packages/uncrustify/package.py
+++ b/var/spack/repos/builtin/packages/uncrustify/package.py
@@ -24,8 +24,9 @@
##############################################################################
from spack import *
+
class Uncrustify(Package):
- """Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA"""
+ """Source Code Beautifier for C, C++, C#, ObjectiveC, Java, and others."""
homepage = "http://uncrustify.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/uncrustify/uncrustify/uncrustify-0.61/uncrustify-0.61.tar.gz"
diff --git a/var/spack/repos/builtin/packages/unibilium/package.py b/var/spack/repos/builtin/packages/unibilium/package.py
index d9e0ad6bcb..943e4737e1 100644
--- a/var/spack/repos/builtin/packages/unibilium/package.py
+++ b/var/spack/repos/builtin/packages/unibilium/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Unibilium(Package):
"""A terminfo parsing library"""
homepage = "https://github.com/mauke/unibilium"
@@ -32,5 +33,5 @@ class Unibilium(Package):
version('1.2.0', '9b1c97839a880a373da6c097443b43c4')
def install(self, spec, prefix):
- make("PREFIX="+prefix)
- make("install", "PREFIX="+prefix)
+ make("PREFIX=" + prefix)
+ make("install", "PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/unison/package.py b/var/spack/repos/builtin/packages/unison/package.py
new file mode 100644
index 0000000000..181e1e6410
--- /dev/null
+++ b/var/spack/repos/builtin/packages/unison/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 Unison(Package):
+ """Unison is a file-synchronization tool for OSX, Unix, and
+ Windows. It allows two replicas of a collection of files and
+ directories to be stored on different hosts (or different disks
+ on the same host), modified separately, and then brought up to
+ date by propagating the changes in each replica to the
+ other."""
+
+ homepage = "https://www.cis.upenn.edu/~bcpierce/unison/"
+ url = "https://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.48.3.tar.gz"
+
+ version('2.48.4', '5334b78c7e68169df7de95f4c6c4b60f')
+
+ depends_on('ocaml', type='build')
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ make('./mkProjectInfo')
+ make('UISTYLE=text')
+
+ mkdirp(prefix.bin)
+ install('unison', prefix.bin)
+ set_executable(join_path(prefix.bin, 'unison'))
diff --git a/var/spack/repos/builtin/packages/util-linux/package.py b/var/spack/repos/builtin/packages/util-linux/package.py
index bf6972683d..99af170ca1 100644
--- a/var/spack/repos/builtin/packages/util-linux/package.py
+++ b/var/spack/repos/builtin/packages/util-linux/package.py
@@ -23,7 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class UtilLinux(Package):
"""Util-linux is a suite of essential utilities for any Linux system."""
@@ -36,9 +36,9 @@ class UtilLinux(Package):
depends_on("python@2.7:")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "PKG_CONFIG_PATH=%s/pkgconfig" % spec['python'].prefix.lib,
- "--disable-use-tty-group")
+ configure("--prefix=%s" % prefix,
+ "PKG_CONFIG_PATH=%s/pkgconfig" % spec['python'].prefix.lib,
+ "--disable-use-tty-group")
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py
index afd4cc6ad0..e7ae227c27 100644
--- a/var/spack/repos/builtin/packages/valgrind/package.py
+++ b/var/spack/repos/builtin/packages/valgrind/package.py
@@ -27,12 +27,15 @@ from spack import *
class Valgrind(Package):
- """
- Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can
- automatically detect many memory management and threading bugs, and profile your programs in detail. You can also
- use Valgrind to build new tools.
+ """An instrumentation framework for building dynamic analysis.
+
+ There are Valgrind tools that can automatically detect many memory
+ management and threading bugs, and profile your programs in
+ detail. You can also use Valgrind to build new tools.
+
+ Valgrind is Open Source / Free Software, and is freely available
+ under the GNU General Public License, version 2.
- Valgrind is Open Source / Free Software, and is freely available under the GNU General Public License, version 2.
"""
homepage = "http://valgrind.org/"
url = "http://valgrind.org/downloads/valgrind-3.11.0.tar.bz2"
@@ -42,7 +45,8 @@ class Valgrind(Package):
version('3.10.0', '7c311a72a20388aceced1aa5573ce970')
variant('mpi', default=True, description='Activates MPI support for valgrind')
- variant('boost', default=True, description='Activates boost support for valgrind')
+ variant('boost', default=True,
+ description='Activates boost support for valgrind')
depends_on('mpi', when='+mpi')
depends_on('boost', when='+boost')
diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py
index e0dfb64879..01eccfab57 100644
--- a/var/spack/repos/builtin/packages/vim/package.py
+++ b/var/spack/repos/builtin/packages/vim/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Vim(Package):
"""Vim is a highly configurable text editor built to enable efficient text
editing. It is an improved version of the vi editor distributed with most
@@ -51,7 +52,7 @@ class Vim(Package):
feature_sets = ('huge', 'big', 'normal', 'small', 'tiny')
for fs in feature_sets:
- variant(fs, default=False, description="Use '%s' feature set" % fs)
+ variant(fs, default=False, description="Use '%s' feature set" % fs)
variant('python', default=False, description="build with Python")
depends_on('python', when='+python')
@@ -66,42 +67,44 @@ class Vim(Package):
# virtual dependency?
def install(self, spec, prefix):
- feature_set = None
- for fs in self.feature_sets:
- if "+" + fs in spec:
- if feature_set is not None:
- tty.error("Only one feature set allowed, both %s and %s specified"
- % (feature_set, fs))
- feature_set = fs
- if '+gui' in spec:
- if feature_set is not None:
- if feature_set is not 'huge':
- tty.error("+gui variant requires 'huge' feature set, %s was specified"
- % feature_set)
- feature_set = 'huge'
- if feature_set is None:
- feature_set = 'normal'
-
- configure_args = []
- configure_args.append("--with-features=" + feature_set)
-
- if '+python' in spec:
- configure_args.append("--enable-pythoninterp=yes")
- else:
- configure_args.append("--enable-pythoninterp=dynamic")
-
- if '+ruby' in spec:
- configure_args.append("--enable-rubyinterp=yes")
- else:
- configure_args.append("--enable-rubyinterp=dynamic")
-
- if '+gui' in spec:
- configure_args.append("--enable-gui=auto")
-
- if '+cscope' in spec:
- configure_args.append("--enable-cscope")
-
- configure("--prefix=%s" % prefix, *configure_args)
-
- make()
- make("install")
+ feature_set = None
+ for fs in self.feature_sets:
+ if "+" + fs in spec:
+ if feature_set is not None:
+ tty.error(
+ "Only one feature set allowed, specified %s and %s"
+ % (feature_set, fs))
+ feature_set = fs
+ if '+gui' in spec:
+ if feature_set is not None:
+ if feature_set is not 'huge':
+ tty.error(
+ "+gui variant requires 'huge' feature set, "
+ "%s was specified" % feature_set)
+ feature_set = 'huge'
+ if feature_set is None:
+ feature_set = 'normal'
+
+ configure_args = []
+ configure_args.append("--with-features=" + feature_set)
+
+ if '+python' in spec:
+ configure_args.append("--enable-pythoninterp=yes")
+ else:
+ configure_args.append("--enable-pythoninterp=dynamic")
+
+ if '+ruby' in spec:
+ configure_args.append("--enable-rubyinterp=yes")
+ else:
+ configure_args.append("--enable-rubyinterp=dynamic")
+
+ if '+gui' in spec:
+ configure_args.append("--enable-gui=auto")
+
+ if '+cscope' in spec:
+ configure_args.append("--enable-cscope")
+
+ configure("--prefix=%s" % prefix, *configure_args)
+
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index ae19fd0450..d88caeb00a 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -26,7 +26,8 @@ from spack import *
class Visit(Package):
- """VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool."""
+ """VisIt is an Open Source, interactive, scalable, visualization,
+ animation and analysis tool."""
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
url = "http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz"
@@ -42,12 +43,15 @@ class Visit(Package):
with working_dir('spack-build', create=True):
feature_args = std_cmake_args[:]
- feature_args.extend(["-DVTK_MAJOR_VERSION=6",
- "-DVTK_MINOR_VERSION=1",
- "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin,
- "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin,
- "-DVISIT_SILO_DIR:PATH=%s" % spec['silo'].prefix,
- "-DVISIT_HDF5_DIR:PATH=%s" % spec['hdf5'].prefix])
+ feature_args.extend([
+ "-DVTK_MAJOR_VERSION=6",
+ "-DVTK_MINOR_VERSION=1",
+ "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec[
+ 'qt'].prefix.bin,
+ "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec[
+ 'python'].prefix.bin,
+ "-DVISIT_SILO_DIR:PATH=%s" % spec['silo'].prefix,
+ "-DVISIT_HDF5_DIR:PATH=%s" % spec['hdf5'].prefix])
cmake('../src', *feature_args)
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index 5c196b5ea8..087c0e93eb 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Vtk(Package):
"""The Visualization Toolkit (VTK) is an open-source, freely
available software system for 3D computer graphics, image
@@ -31,9 +32,11 @@ class Vtk(Package):
homepage = "http://www.vtk.org"
url = "http://www.vtk.org/files/release/6.1/VTK-6.1.0.tar.gz"
- version("7.0.0", "5fe35312db5fb2341139b8e4955c367d", url="http://www.vtk.org/files/release/7.0/VTK-7.0.0.tar.gz")
+ version("7.0.0", "5fe35312db5fb2341139b8e4955c367d",
+ url="http://www.vtk.org/files/release/7.0/VTK-7.0.0.tar.gz")
- version("6.3.0", '0231ca4840408e9dd60af48b314c5b6d', url="http://www.vtk.org/files/release/6.3/VTK-6.3.0.tar.gz")
+ version("6.3.0", '0231ca4840408e9dd60af48b314c5b6d',
+ url="http://www.vtk.org/files/release/6.3/VTK-6.3.0.tar.gz")
version('6.1.0', '25e4dfb3bad778722dcaec80cd5dab7d')
@@ -41,7 +44,8 @@ class Vtk(Package):
depends_on("qt")
# VTK7 defaults to OpenGL2 rendering backend
- variant('opengl2', default=True, description='Build with OpenGL instead of OpenGL2 as rendering backend')
+ variant('opengl2', default=True,
+ description='Build with OpenGL instead of OpenGL2 backend')
def install(self, spec, prefix):
def feature_to_bool(feature, on='ON', off='OFF'):
@@ -67,7 +71,7 @@ class Vtk(Package):
"-DVTK_Group_Qt=OFF",
"-DModule_vtkGUISupportQt:BOOL=ON",
"-DModule_vtkGUISupportQtOpenGL:BOOL=ON"
- ])
+ ])
if spec['qt'].satisfies('@5'):
cmake_args.append("-DVTK_QT_VERSION:STRING=5")
@@ -76,7 +80,8 @@ class Vtk(Package):
cmake_args.append("-DCMAKE_C_FLAGS=-DGLX_GLXEXT_LEGACY")
cmake_args.append("-DCMAKE_CXX_FLAGS=-DGLX_GLXEXT_LEGACY")
- cmake_args.append('-DVTK_RENDERING_BACKEND:STRING=%s' % feature_to_bool('+opengl2', 'OpenGL2', 'OpenGL'))
+ cmake_args.append('-DVTK_RENDERING_BACKEND:STRING=%s' %
+ feature_to_bool('+opengl2', 'OpenGL2', 'OpenGL'))
cmake(*cmake_args)
make()
diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py
index 532cf332e9..aff771b723 100644
--- a/var/spack/repos/builtin/packages/wget/package.py
+++ b/var/spack/repos/builtin/packages/wget/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Wget(Package):
"""GNU Wget is a free software package for retrieving files using
HTTP, HTTPS and FTP, the most widely-used Internet protocols. It
@@ -40,9 +41,11 @@ class Wget(Package):
depends_on("openssl")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--with-ssl=openssl",
- "OPENSSL_CFLAGS=-I%s" % spec['openssl'].prefix.include,
- "OPENSSL_LIBS=-L%s -lssl -lcrypto -lz" % spec['openssl'].prefix.lib)
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-ssl=openssl",
+ "OPENSSL_CFLAGS=-I%s" % spec['openssl'].prefix.include,
+ "OPENSSL_LIBS=-L%s -lssl -lcrypto -lz" % spec[
+ 'openssl'].prefix.lib)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/wx/package.py b/var/spack/repos/builtin/packages/wx/package.py
index c000824803..5a80ca1c1f 100644
--- a/var/spack/repos/builtin/packages/wx/package.py
+++ b/var/spack/repos/builtin/packages/wx/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Wx(Package):
"""wxWidgets is a C++ library that lets developers create
applications for Windows, Mac OS X, Linux and other platforms
@@ -43,8 +44,8 @@ class Wx(Package):
depends_on('gtkplus')
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers")
+ configure("--prefix=%s" % prefix, "--enable-unicode",
+ "--disable-precomp-headers")
make(parallel=False)
make("install")
-
diff --git a/var/spack/repos/builtin/packages/wxpropgrid/package.py b/var/spack/repos/builtin/packages/wxpropgrid/package.py
index 2283e1acf1..cc9ff445d6 100644
--- a/var/spack/repos/builtin/packages/wxpropgrid/package.py
+++ b/var/spack/repos/builtin/packages/wxpropgrid/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Wxpropgrid(Package):
"""wxPropertyGrid is a property sheet control for wxWidgets. In
other words, it is a specialized two-column grid for editing
@@ -37,8 +38,8 @@ class Wxpropgrid(Package):
depends_on("wx")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix, "--with-wxdir=%s" % spec['wx'].prefix.bin, "--enable-unicode")
+ configure("--prefix=%s" % prefix, "--with-wxdir=%s" %
+ spec['wx'].prefix.bin, "--enable-unicode")
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/xcb-proto/package.py b/var/spack/repos/builtin/packages/xcb-proto/package.py
index efcbdf0aea..587983f6bd 100644
--- a/var/spack/repos/builtin/packages/xcb-proto/package.py
+++ b/var/spack/repos/builtin/packages/xcb-proto/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class XcbProto(Package):
"""Protocol for libxcb"""
diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py
index 2efccc3c08..d0c2d3d497 100644
--- a/var/spack/repos/builtin/packages/xerces-c/package.py
+++ b/var/spack/repos/builtin/packages/xerces-c/package.py
@@ -24,16 +24,18 @@
##############################################################################
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,
- manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.
+ manipulating, and validating XML documents using the DOM, SAX, and SAX2
+ APIs.
"""
homepage = "https://xerces.apache.org/xerces-c"
- url = "https://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.3.tar.bz2"
- version('3.1.3', '5e333b55cb43e6b025ddf0e5d0f0fb0d')
+ url = "https://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.4.tar.bz2"
+ version('3.1.4', 'd04ae9d8b2dee2157c6db95fa908abfd')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix,
@@ -41,4 +43,3 @@ class XercesC(Package):
make("clean")
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/xorg-util-macros/package.py b/var/spack/repos/builtin/packages/xorg-util-macros/package.py
index 963d93442f..cd50d46826 100644
--- a/var/spack/repos/builtin/packages/xorg-util-macros/package.py
+++ b/var/spack/repos/builtin/packages/xorg-util-macros/package.py
@@ -24,11 +24,12 @@
##############################################################################
from spack import *
+
class XorgUtilMacros(Package):
- """The util-macros package contains the m4 macros used by all of the Xorg packages."""
+ """The m4 macros used by all of the Xorg packages."""
homepage = "http://www.example.com"
- url = "http://ftp.x.org/pub/individual/util/util-macros-1.19.0.tar.bz2"
+ url = "http://ftp.x.org/pub/individual/util/util-macros-1.19.0.tar.bz2"
version('1.19.0', '1cf984125e75f8204938d998a8b6c1e1')
diff --git a/var/spack/repos/builtin/packages/xproto/package.py b/var/spack/repos/builtin/packages/xproto/package.py
index 7be6defb83..dbceaa1575 100644
--- a/var/spack/repos/builtin/packages/xproto/package.py
+++ b/var/spack/repos/builtin/packages/xproto/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Xproto(Package):
"""The Xorg protocol headers provide the header files required to
build the system, and to allow other applications to build against
diff --git a/var/spack/repos/builtin/packages/xz/package.py b/var/spack/repos/builtin/packages/xz/package.py
index b3ef7808aa..a8ab959a62 100644
--- a/var/spack/repos/builtin/packages/xz/package.py
+++ b/var/spack/repos/builtin/packages/xz/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Xz(Package):
"""XZ Utils is free general-purpose data compression software with
high compression ratio. XZ Utils were written for POSIX-like
@@ -39,4 +40,3 @@ class Xz(Package):
configure("--prefix=%s" % prefix)
make()
make("install")
-
diff --git a/var/spack/repos/builtin/packages/yasm/package.py b/var/spack/repos/builtin/packages/yasm/package.py
index e05160c8ea..f14bdbcee7 100644
--- a/var/spack/repos/builtin/packages/yasm/package.py
+++ b/var/spack/repos/builtin/packages/yasm/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Yasm(Package):
"""Yasm is a complete rewrite of the NASM-2.11.06 assembler. It
supports the x86 and AMD64 instruction sets, accepts NASM and
diff --git a/var/spack/repos/builtin/packages/zeromq/package.py b/var/spack/repos/builtin/packages/zeromq/package.py
index 9bdd5861e0..6a657dc39c 100644
--- a/var/spack/repos/builtin/packages/zeromq/package.py
+++ b/var/spack/repos/builtin/packages/zeromq/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Zeromq(Package):
""" The ZMQ networking/concurrency library and core API """
homepage = "http://zguide.zeromq.org/"
@@ -38,7 +39,7 @@ class Zeromq(Package):
depends_on("libsodium")
def install(self, spec, prefix):
- configure("--with-libsodium","--prefix=%s" % prefix)
+ configure("--with-libsodium", "--prefix=%s" % prefix)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/zfp/package.py b/var/spack/repos/builtin/packages/zfp/package.py
index 878b65118f..a898ab03d3 100644
--- a/var/spack/repos/builtin/packages/zfp/package.py
+++ b/var/spack/repos/builtin/packages/zfp/package.py
@@ -24,12 +24,15 @@
##############################################################################
from spack import *
+
class Zfp(Package):
- """zfp is an open source C library for compressed floating-point arrays that supports
- very high throughput read and write random acces, target error bounds or bit rates.
- Although bit-for-bit lossless compression is not always possible, zfp is usually
- accurate to within machine epsilon in near-lossless mode, and is often orders of
- magnitude more accurate than other lossy compressors.
+ """zfp is an open source C library for compressed floating-point arrays
+ that supports very high throughput read and write random acces,
+ target error bounds or bit rates. Although bit-for-bit lossless
+ compression is not always possible, zfp is usually accurate to
+ within machine epsilon in near-lossless mode, and is often orders
+ of magnitude more accurate than other lossy compressors.
+
"""
homepage = "http://computation.llnl.gov/projects/floating-point-compression"
diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py
index e1cbdc7e28..6d799fb05a 100644
--- a/var/spack/repos/builtin/packages/zlib/package.py
+++ b/var/spack/repos/builtin/packages/zlib/package.py
@@ -24,11 +24,10 @@
##############################################################################
from spack import *
+
class Zlib(Package):
- """zlib is designed to be a free, general-purpose, legally unencumbered --
- that is, not covered by any patents -- lossless data-compression library for
- use on virtually any computer hardware and operating system.
- """
+ """A free, general-purpose, legally unencumbered lossless
+ data-compression library."""
homepage = "http://zlib.net"
url = "http://zlib.net/zlib-1.2.8.tar.gz"
diff --git a/var/spack/repos/builtin/packages/zoltan/package.py b/var/spack/repos/builtin/packages/zoltan/package.py
index 841ff3f4a2..0094395968 100644
--- a/var/spack/repos/builtin/packages/zoltan/package.py
+++ b/var/spack/repos/builtin/packages/zoltan/package.py
@@ -22,16 +22,22 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-import re, os, glob
+import re
+import os
+import glob
from spack import *
+
class Zoltan(Package):
- """The Zoltan library is a toolkit of parallel combinatorial algorithms for
- parallel, unstructured, and/or adaptive scientific applications. Zoltan's
- largest component is a suite of dynamic load-balancing and paritioning
- algorithms that increase applications' parallel performance by reducing
- idle time. Zoltan also has graph coloring and graph ordering algorithms,
- which are useful in task schedulers and parallel preconditioners."""
+ """The Zoltan library is a toolkit of parallel combinatorial algorithms
+ for parallel, unstructured, and/or adaptive scientific
+ applications. Zoltan's largest component is a suite of dynamic
+ load-balancing and paritioning algorithms that increase
+ applications' parallel performance by reducing idle time. Zoltan
+ also has graph coloring and graph ordering algorithms, which are
+ useful in task schedulers and parallel preconditioners.
+
+ """
homepage = "http://www.cs.sandia.gov/zoltan"
base_url = "http://www.cs.sandia.gov/~kddevin/Zoltan_Distributions"
@@ -41,8 +47,10 @@ class Zoltan(Package):
version('3.6', '9cce794f7241ecd8dbea36c3d7a880f9')
version('3.3', '5eb8f00bda634b25ceefa0122bd18d65')
- variant('debug', default=False, description='Builds a debug version of the library')
- variant('shared', default=True, description='Builds a shared version of the library')
+ variant('debug', default=False,
+ description='Builds a debug version of the library')
+ variant('shared', default=True,
+ description='Builds a shared version of the library')
variant('fortran', default=True, description='Enable Fortran support')
variant('mpi', default=False, description='Enable MPI support')
@@ -51,8 +59,11 @@ class Zoltan(Package):
def install(self, spec, prefix):
config_args = [
- '--enable-f90interface' if '+fortan' in spec else '--disable-f90interface',
- '--enable-mpi' if '+mpi' in spec else '--disable-mpi',
+ '--enable-f90interface'
+ if '+fortan' in spec else '--disable-f90interface',
+
+ '--enable-mpi'
+ if '+mpi' in spec else '--disable-mpi',
]
config_cflags = [
'-O0' if '+debug' in spec else '-O3',
@@ -68,7 +79,8 @@ class Zoltan(Package):
config_args.append('CC=%s/mpicc' % spec['mpi'].prefix.bin)
config_args.append('CXX=%s/mpicxx' % spec['mpi'].prefix.bin)
config_args.append('--with-mpi=%s' % spec['mpi'].prefix)
- config_args.append('--with-mpi-compilers=%s' % spec['mpi'].prefix.bin)
+ config_args.append('--with-mpi-compilers=%s' %
+ spec['mpi'].prefix.bin)
# NOTE: Early versions of Zoltan come packaged with a few embedded
# library packages (e.g. ParMETIS, Scotch), which messes with Spack's
@@ -89,13 +101,15 @@ class Zoltan(Package):
make()
make('install')
- # NOTE: Unfortunately, Zoltan doesn't provide any configuration options for
- # the extension of the output library files, so this script must change these
- # extensions as a post-processing step.
+ # NOTE: Unfortunately, Zoltan doesn't provide any configuration
+ # options for the extension of the output library files, so this
+ # script must change these extensions as a post-processing step.
if '+shared' in spec:
for libpath in glob.glob('lib/*.a'):
- libdir, libname = (os.path.dirname(libpath), os.path.basename(libpath))
- move(libpath, os.path.join(libdir, re.sub(r'\.a$', '.so', libname)))
+ libdir, libname = (os.path.dirname(libpath),
+ os.path.basename(libpath))
+ move(libpath, os.path.join(
+ libdir, re.sub(r'\.a$', '.so', libname)))
mkdirp(prefix)
move('include', prefix)
diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py
index 2c9ed4c6e7..4c27cd3ec2 100644
--- a/var/spack/repos/builtin/packages/zsh/package.py
+++ b/var/spack/repos/builtin/packages/zsh/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Zsh(Package):
"""
Zsh is a shell designed for interactive use, although it is also a powerful