libhio: add libhio package to spack (#7468)
spack brought out some configury/make issues with libhio, so some patches come along for the ride. Signed-off-by: Howard Pritchard <howardp@lanl.gov>
This commit is contained in:
parent
4c6199923e
commit
cdd3f76bd1
3 changed files with 118 additions and 6 deletions
|
@ -0,0 +1,38 @@
|
|||
From 3a7b7432a7354661d0a971b074c30529f5db457c Mon Sep 17 00:00:00 2001
|
||||
From: Howard Pritchard <howardp@lanl.gov>
|
||||
Date: Sat, 10 Mar 2018 13:51:41 -0800
|
||||
Subject: [PATCH] configury: fix a problem with bz2 configury
|
||||
|
||||
turns out by default spack wants to use a non-default
|
||||
location bz2, or we have to turn it off. either way
|
||||
the bz2 configury is wrong and needs to be fixed.
|
||||
|
||||
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
|
||||
|
||||
diff --git a/m4/hio_check_bz2.m4 b/m4/hio_check_bz2.m4
|
||||
index 3a373ad1..b7dfdb75 100644
|
||||
--- a/m4/hio_check_bz2.m4
|
||||
+++ b/m4/hio_check_bz2.m4
|
||||
@@ -1,9 +1,9 @@
|
||||
# -*- mode: shell-script -*-
|
||||
-# Copyright 2015-2016 Los Alamos National Security, LLC. All rights
|
||||
+# Copyright 2015-2018 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
|
||||
AC_DEFUN([HIO_CHECK_BZ2],[
|
||||
- AC_ARG_WITH(bz2, [AS_HELP_STRING([--with-external-bz2=PATH],
|
||||
+ AC_ARG_WITH(external-bz2, [AS_HELP_STRING([--with-external_bz2=PATH],
|
||||
[use external bzip2. pass yes to use default version @<:@default=no@:>@])],
|
||||
[], [with_external_bz2=no])
|
||||
|
||||
@@ -14,6 +14,7 @@ AC_DEFUN([HIO_CHECK_BZ2],[
|
||||
else
|
||||
LDFLAGS="$LDFLAGS -L$with_external_bz2/lib64"
|
||||
fi
|
||||
+ LIBS="$LIBS -lbz2"
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB([bz2],[BZ2_bzBuffToBuffCompress],[hio_have_bz2=1])
|
||||
--
|
||||
2.4.0.rc3.16.g0ab00b9
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 6aec1b94fe84f2fe3a82e3ff338fd4721c84db34 Mon Sep 17 00:00:00 2001
|
||||
From: Howard Pritchard <howardp@lanl.gov>
|
||||
Date: Mon, 12 Mar 2018 14:19:28 -0700
|
||||
Subject: [PATCH] hdf5: make docs optional
|
||||
|
||||
With the current makefile, configuring in hdf5
|
||||
hio plugin always ends up trying to generate docs.
|
||||
Make generating hdf5/hio plugin docs optional with
|
||||
|
||||
make docs
|
||||
|
||||
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
|
||||
|
||||
diff --git a/hdf5-hio/Makefile.am b/hdf5-hio/Makefile.am
|
||||
index e4c93b77..1733866d 100644
|
||||
--- a/hdf5-hio/Makefile.am
|
||||
+++ b/hdf5-hio/Makefile.am
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- Makefile.am -*-
|
||||
#
|
||||
-# Copyright (c) 2014-2016 Los Alamos National Security, LLC. All rights
|
||||
+# Copyright (c) 2014-2018 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
ACLOCAL_AMFLAGS=-I m4
|
||||
|
||||
-SUBDIRS = src test doc
|
||||
+SUBDIRS = src test
|
||||
|
||||
EXTRA_DIST =
|
||||
DISTCLEANFILES =
|
||||
--
|
||||
2.4.0.rc3.16.g0ab00b9
|
||||
|
|
@ -22,20 +22,57 @@
|
|||
# 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(AutotoolsPackage):
|
||||
"""
|
||||
A library for writing to hierarchical data store systems.
|
||||
"""libHIO is a flexible, high-performance parallel IO package developed
|
||||
at LANL. libHIO supports IO to either a conventional PFS or to Cray
|
||||
DataWarp with management of Cray DataWarp space and stage-in and
|
||||
stage-out from and to the PFS.
|
||||
"""
|
||||
|
||||
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"
|
||||
homepage = "https://github.com/hpc/libhio"
|
||||
url = "https://github.com/hpc/libhio/releases/download/hio.1.4.1.0/libhio-1.4.1.0.tar.bz2"
|
||||
|
||||
version('1.4.0.0', 'a223effbfd50efd452053e6954e3ccf5')
|
||||
version('1.3.0.1', 'c073541de8dd70aeb8878bd00d6d877f')
|
||||
#
|
||||
# We don't include older versions since they are missing features
|
||||
# needed by current and future consumers of libhio
|
||||
#
|
||||
version('1.4.1.0', '6ef566fd8cf31fdcd05fab01dd3fae44')
|
||||
|
||||
#
|
||||
# main users of libhio thru spack will want to use HFDF5 plugin,
|
||||
# so make hdf5 variant a default
|
||||
#
|
||||
variant('hdf5', default=True, description='Enable HDF5 support')
|
||||
|
||||
depends_on("json-c")
|
||||
depends_on("bzip2")
|
||||
depends_on("pkgconfig", type="build")
|
||||
depends_on('mpi')
|
||||
|
||||
#
|
||||
# libhio depends on hdf5+mpi if hdf5 is being used since it
|
||||
# autodetects the presence of an MPI and/or uses mpicc by default to build
|
||||
depends_on('hdf5+mpi', when='+hdf5')
|
||||
|
||||
#
|
||||
# wow, we need to patch libhio
|
||||
#
|
||||
patch('0001-configury-fix-a-problem-with-bz2-configury.patch', when="@1.4.1.0")
|
||||
patch('0001-hdf5-make-docs-optional.patch', when="@1.4.1.0")
|
||||
|
||||
def autoreconf(self, spec, prefix):
|
||||
autoreconf = which('autoreconf')
|
||||
autoreconf('-ifv')
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
args = []
|
||||
|
||||
args.append('--with-external_bz2={0}'.format(spec['bzip2'].prefix))
|
||||
if '+hdf5' in spec:
|
||||
args.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
|
||||
return args
|
||||
|
|
Loading…
Reference in a new issue