summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorCarlos Bederián <zzzoom@gmail.com>2017-02-20 03:45:19 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2017-02-19 17:45:19 -0800
commit4b9a37a357af4f36df05d7a06de4b9d5d841aa26 (patch)
tree5583a9fcb66f8ad54f0b174f83857985e7122ec7 /var
parent7edea4361f724a50e3925751ed4604652d58cb74 (diff)
downloadspack-4b9a37a357af4f36df05d7a06de4b9d5d841aa26.tar.gz
spack-4b9a37a357af4f36df05d7a06de4b9d5d841aa26.tar.bz2
spack-4b9a37a357af4f36df05d7a06de4b9d5d841aa26.tar.xz
spack-4b9a37a357af4f36df05d7a06de4b9d5d841aa26.zip
silo: adding patch to support newer versions of hdf5 (#3162)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/silo/package.py5
-rw-r--r--var/spack/repos/builtin/packages/silo/remove-mpiposix.patch40
2 files changed, 43 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py
index 691d53a9f1..6a9326517b 100644
--- a/var/spack/repos/builtin/packages/silo/package.py
+++ b/var/spack/repos/builtin/packages/silo/package.py
@@ -41,10 +41,11 @@ class Silo(Package):
variant('silex', default=False,
description='Builds Silex, a GUI for viewing Silo files')
- # silo uses the obsolete function H5Pset_fapl_mpiposix:
- depends_on("hdf5 @:1.8.12")
+ depends_on('hdf5')
depends_on('qt', when='+silex')
+ patch('remove-mpiposix.patch', when='@4.8:4.10.2')
+
def install(self, spec, prefix):
config_args = [
'--enable-fortran' if '+fortran' in spec else '--disable-fortran',
diff --git a/var/spack/repos/builtin/packages/silo/remove-mpiposix.patch b/var/spack/repos/builtin/packages/silo/remove-mpiposix.patch
new file mode 100644
index 0000000000..1c6449f0c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/silo/remove-mpiposix.patch
@@ -0,0 +1,40 @@
+Index: silo-llnl-4.9.1/src/hdf5_drv/silo_hdf5.c
+===================================================================
+--- silo-llnl-4.9.1.orig/src/hdf5_drv/silo_hdf5.c
++++ silo-llnl-4.9.1/src/hdf5_drv/silo_hdf5.c
+@@ -4717,16 +4717,7 @@ db_hdf5_process_file_options(opts_set_id
+
+ /* default HDF5 mpi drivers */
+ case DB_FILE_OPTS_H5_DEFAULT_MPIP:
+- {
+-#ifdef H5_HAVE_PARALLEL
+- h5status |= H5Pset_fapl_mpiposix(retval, MPI_COMM_SELF, TRUE);
+-#else
+- H5Pclose(retval);
+- return db_perror("HDF5 MPI VFD", E_NOTENABLEDINBUILD, me);
+-#endif
+- break;
+- }
+-
++ /* FALLTHROUGH */
+ case DB_FILE_OPTS_H5_DEFAULT_MPIO:
+ {
+ #ifdef H5_HAVE_PARALLEL
+@@ -4963,15 +4954,8 @@ db_hdf5_process_file_options(opts_set_id
+ if (p = DBGetOption(opts, DBOPT_H5_MPIP_NO_GPFS_HINTS))
+ use_gpfs_hints = FALSE;
+
+- if (vfd == DB_H5VFD_MPIO)
+- {
+- h5status |= H5Pset_fapl_mpio(retval, mpi_comm, mpi_info);
+- if (created_info) MPI_Info_free(&mpi_info);
+- }
+- else
+- {
+- h5status |= H5Pset_fapl_mpiposix(retval, mpi_comm, use_gpfs_hints);
+- }
++ h5status |= H5Pset_fapl_mpio(retval, mpi_comm, mpi_info);
++ if (created_info) MPI_Info_free(&mpi_info);
+ #else
+ H5Pclose(retval);
+ return db_perror("HDF5 MPI VFD", E_NOTENABLEDINBUILD, me);