Skip to content

Commit

Permalink
libhio: add libhio package to spack (spack#7468)
Browse files Browse the repository at this point in the history
spack brought out some configury/make issues with
libhio, so some patches come along for the ride.

Signed-off-by: Howard Pritchard <[email protected]>
  • Loading branch information
hppritcha authored and adamjstewart committed Mar 29, 2018
1 parent 4c61999 commit cdd3f76
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From 3a7b7432a7354661d0a971b074c30529f5db457c Mon Sep 17 00:00:00 2001
From: Howard Pritchard <[email protected]>
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 <[email protected]>

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

Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 6aec1b94fe84f2fe3a82e3ff338fd4721c84db34 Mon Sep 17 00:00:00 2001
From: Howard Pritchard <[email protected]>
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 <[email protected]>

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

49 changes: 43 additions & 6 deletions var/spack/repos/builtin/packages/libhio/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit cdd3f76

Please sign in to comment.