diff options
author | Elsa Gonsiorowski <gonsie@me.com> | 2017-10-31 18:07:00 -0700 |
---|---|---|
committer | Christoph Junghans <christoph.junghans@gmail.com> | 2017-10-31 19:07:00 -0600 |
commit | b53adc90f71ed24bfa405a044b65abfafad71450 (patch) | |
tree | 87454155e57c3be9f99b466f702aa50bd16d9b60 | |
parent | 8a812294e0f4223aa9192c69128803f97e0f554f (diff) | |
download | spack-b53adc90f71ed24bfa405a044b65abfafad71450.tar.gz spack-b53adc90f71ed24bfa405a044b65abfafad71450.tar.bz2 spack-b53adc90f71ed24bfa405a044b65abfafad71450.tar.xz spack-b53adc90f71ed24bfa405a044b65abfafad71450.zip |
MACSio and JSON-CWX packages (#6018)
-rw-r--r-- | var/spack/repos/builtin/packages/ecp-proxy-apps/package.py | 1 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/json-cwx/package.py | 48 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/macsio/package.py | 118 |
3 files changed, 167 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py index 4aa6bf7f26..32cdea3a7e 100644 --- a/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py +++ b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py @@ -46,6 +46,7 @@ class EcpProxyApps(Package): depends_on('candle-benchmarks@1.0', when='@1.0') depends_on('comd@1.1', when='@1.0') depends_on('laghos@1.0', when='@1.0') + depends_on('macsio@1.0', when='@1.0') depends_on('miniamr@1.4.0', when='@1.0') depends_on('minife@2.1.0', when='@1.0') depends_on('minitri@1.0', when='@1.0') diff --git a/var/spack/repos/builtin/packages/json-cwx/package.py b/var/spack/repos/builtin/packages/json-cwx/package.py new file mode 100644 index 0000000000..7cdfcb25ed --- /dev/null +++ b/var/spack/repos/builtin/packages/json-cwx/package.py @@ -0,0 +1,48 @@ +############################################################################## +# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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 JsonCwx(AutotoolsPackage): + """JSON-C with Extensions""" + + homepage = "https://github.com/LLNL/json-cwx" + url = "https://github.com/LLNL/json-cwx/archive/0.12.tar.gz" + + version('0.12', '8ba44ef7f463f004b4b14c6d8d85a2b70db977a4') + + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') + depends_on('m4', type='build') + + parallel = False + + configure_directory = 'json-cwx' + + def autoreconf(self, spec, prefix): + with working_dir('json-cwx'): + autogen = Executable("./autogen.sh") + autogen() diff --git a/var/spack/repos/builtin/packages/macsio/package.py b/var/spack/repos/builtin/packages/macsio/package.py new file mode 100644 index 0000000000..a5e2415ef5 --- /dev/null +++ b/var/spack/repos/builtin/packages/macsio/package.py @@ -0,0 +1,118 @@ +############################################################################## +# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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 Macsio(CMakePackage): + """A Multi-purpose, Application-Centric, Scalable I/O Proxy Application + """ + tags = ['proxy-app', 'ecp-proxy-app'] + + homepage = "http://llnl.github.io/MACSio" + url = "https://github.com/LLNL/MACSio/archive/1.0.tar.gz" + + version('1.0', '90e8e00ea84af2a47bee387ad331dbde') + version('develop', git='https://github.com/LLNL/MACSio.git', + branch='master') + + variant('mpi', default=True, description="Build MPI plugin") + variant('silo', default=True, description="Build with SILO plugin") + # TODO: multi-level variants for hdf5 + variant('hdf5', default=False, description="Build HDF5 plugin") + variant('zfp', default=False, description="Build HDF5 with ZFP compression") + variant('szip', default=False, description="Build HDF5 with SZIP compression") + variant('zlib', default=False, description="Build HDF5 with ZLIB compression") + variant('pdb', default=False, description="Build PDB plugin") + variant('exodus', default=False, description="Build EXODUS plugin") + variant('scr', default=False, description="Build with SCR support") + # TODO: typhonio not in spack + # variant('typhonio', default=False, description="Build TYPHONIO plugin") + + depends_on('json-cwx') + depends_on('mpi', when="+mpi") + depends_on('silo', when="+silo") + depends_on('hdf5', when="+hdf5") + # depends_on('hdf5+szip', when="+szip") + depends_on('exodusii', when="+exodus") + # pdb is packaged with silo + depends_on('silo', when="+pdb") + # depends_on('typhonio', when="+typhonio") + depends_on('scr', when="+scr") + + def cmake_args(self): + spec = self.spec + cmake_args = [] + + if "~mpi" in spec: + cmake_args.append("-DENABLE_MPI=OFF") + + if "~silo" in spec: + cmake_args.append("-DENABLE_SILO_PLUGIN=OFF") + + if "+silo" in spec: + cmake_args.append("-DWITH_SILO_PREFIX={0}" + .format(spec['silo'].prefix)) + + if "+pdb" in spec: + # pdb is a part of silo + cmake_args.append("-DENABLE_PDB_PLUGIN=ON") + cmake_args.append("-DWITH_SILO_PREFIX={0}" + .format(spec['silo'].prefix)) + if "+hdf5" in spec: + cmake_args.append("-DENABLE_HDF5_PLUGIN=ON") + cmake_args.append("-DWITH_HDF5_PREFIX={0}" + .format(spec['hdf5'].prefix)) + # TODO: Multi-level variants + # ZFP not in hdf5 spack package?? + # if "+zfp" in spec: + # cmake_args.append("-DENABLE_HDF5_ZFP") + # cmake_args.append("-DWITH_ZFP_PREFIX={0}" + # .format(spec['silo'].prefix)) + # SZIP is an hdf5 spack variant + # if "+szip" in spec: + # cmake_args.append("-DENABLE_HDF5_SZIP") + # cmake_args.append("-DWITH_SZIP_PREFIX={0}" + # .format(spec['SZIP'].prefix)) + # ZLIB is on by default, @1.1.2 + # if "+zlib" in spec: + # cmake_args.append("-DENABLE_HDF5_ZLIB") + # cmake_args.append("-DWITH_ZLIB_PREFIX={0}" + # .format(spec['silo'].prefix)) + + # TODO: typhonio not in spack + # if "+typhonio" in spec: + # cmake_args.append("-DENABLE_TYPHONIO=ON") + # cmake_args.append("-DWITH_TYPHONIO_PREFIX={0}" + # .format(spec['typhonio'].prefix)) + + if "+exodus" in spec: + cmake_args.append("-DENABLE_EXODUS_PLUGIN=ON") + cmake_args.append("-DWITH_EXODUS_PREFIX={0}" + .format(spec['exodusii'].prefix)) + # exodus requires netcdf + cmake_args.append("-DWITH_NETCDF_PREFIX={0}" + .format(spec['netcdf'].prefix)) + + return cmake_args |