summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMark C. Miller <miller86@llnl.gov>2017-06-21 04:46:14 -0700
committerAdam J. Stewart <ajstewart426@gmail.com>2017-06-21 06:46:14 -0500
commit2525363c11a4939f6597a8c93bb8a361ece6cfc0 (patch)
tree4d464e637fabc6f51d88bdde0cde160e81bdb352 /var
parent7c0a759a26a877ea885fee3ce4ab1cde55526619 (diff)
downloadspack-2525363c11a4939f6597a8c93bb8a361ece6cfc0.tar.gz
spack-2525363c11a4939f6597a8c93bb8a361ece6cfc0.tar.bz2
spack-2525363c11a4939f6597a8c93bb8a361ece6cfc0.tar.xz
spack-2525363c11a4939f6597a8c93bb8a361ece6cfc0.zip
adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size (#4466)
* adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size * fixing homepage url * removed fortran error message...just build fortran if can, otherwise ignore
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/h5z-zfp/package.py65
-rw-r--r--var/spack/repos/builtin/packages/zfp/package.py20
2 files changed, 77 insertions, 8 deletions
diff --git a/var/spack/repos/builtin/packages/h5z-zfp/package.py b/var/spack/repos/builtin/packages/h5z-zfp/package.py
new file mode 100644
index 0000000000..b98823a1bd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/h5z-zfp/package.py
@@ -0,0 +1,65 @@
+##############################################################################
+# 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 H5zZfp(MakefilePackage):
+ """A highly flexible floating point and integer compression plugin for the
+ HDF5 library using ZFP compression."""
+
+ homepage = "http://h5z-zfp.readthedocs.io/en/latest"
+ url = "https://github.com/LLNL/H5Z-ZFP"
+
+ version('develop', git='https://github.com/LLNL/H5Z-ZFP.git', tag='master')
+ version('0.7.0', git='https://github.com/LLNL/H5Z-ZFP.git', commit='58ac811')
+
+ variant('fortran', default=True, description='Enable Fortran support')
+
+ depends_on('hdf5')
+# depends_on('zfp bsws=8')
+ depends_on('zfp')
+
+ @property
+ def make_defs(self):
+ make_defs = [
+ 'PREFIX=%s' % prefix,
+ 'CC=%s' % spack_cc,
+ 'HDF5_HOME=%s' % self.spec['hdf5'].prefix,
+ 'ZFP_HOME=%s' % self.spec['zfp'].prefix]
+
+ if '+fortran' in self.spec and spack_fc:
+ make_defs += ['FC=%s' % spack_fc]
+
+ return make_defs
+
+ @property
+ def build_targets(self):
+ targets = ['all']
+ return self.make_defs + targets
+
+ @property
+ def install_targets(self):
+ make_args = ['install']
+ return make_args + self.make_defs
diff --git a/var/spack/repos/builtin/packages/zfp/package.py b/var/spack/repos/builtin/packages/zfp/package.py
index b2c5fc4e19..93d71bd470 100644
--- a/var/spack/repos/builtin/packages/zfp/package.py
+++ b/var/spack/repos/builtin/packages/zfp/package.py
@@ -41,16 +41,20 @@ class Zfp(MakefilePackage):
version('0.5.1', '0ed7059a9b480635e0dd33745e213d17')
version('0.5.0', '2ab29a852e65ad85aae38925c5003654')
- variant('bswtuint8', default=False,
- description='Build with bit stream word type of uint8')
+ variant('bsws',
+ default='64',
+ values=('8', '16', '32', '64'),
+ multi=False,
+ description='Bit stream word size: use smaller for finer \
+ rate granularity. Use 8 for H5Z-ZFP filter.')
def edit(self, spec, prefix):
- if '+bswtuint8' in self.spec:
- config_file = FileFilter('Config')
- config_file.filter(
- '^\s*#\s*DEFS\s*\+=\s*-DBIT_STREAM_WORD_TYPE\s*=\s*uint8',
- 'DEFS += -DBIT_STREAM_WORD_TYPE=uint8')
-
+ config_file = FileFilter('Config')
+ config_file.filter(
+ '^\s*#\s*DEFS\s*\+=\s*-DBIT_STREAM_WORD_TYPE\s*=\s*uint8',
+ 'DEFS += -DBIT_STREAM_WORD_TYPE=uint%s' %
+ spec.variants['bsws'].value)
+
def build(self, spec, prefix):
make("shared")