From 2525363c11a4939f6597a8c93bb8a361ece6cfc0 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Wed, 21 Jun 2017 04:46:14 -0700 Subject: 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 --- .../repos/builtin/packages/h5z-zfp/package.py | 65 ++++++++++++++++++++++ var/spack/repos/builtin/packages/zfp/package.py | 20 ++++--- 2 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 var/spack/repos/builtin/packages/h5z-zfp/package.py (limited to 'var') 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") -- cgit v1.2.3-60-g2f50