diff --git a/gnu/packages/glicid.scm b/gnu/packages/glicid.scm index b261ab8..2397662 100644 --- a/gnu/packages/glicid.scm +++ b/gnu/packages/glicid.scm @@ -698,6 +698,40 @@ in the @code{debug} output), and binutils."))) ) ) +(define-public glicid-specific-hdf5-parallel-openmpi + (package/inherit glicid-specific-hdf5 ;use the latest + (name "glicid-specific-hdf5-parallel-openmpi") + (inputs + `(("mpi" ,glicid-specific-openmpi) + ,@(package-inputs hdf5))) + (arguments + (substitute-keyword-arguments (package-arguments glicid-specific-hdf5) + ((#:configure-flags flags) + ``("--enable-parallel" + ,@(delete "--enable-cxx" + (delete "--enable-threadsafe" ,flags)))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'build 'mpi-setup + ,%glicid-specific-openmpi-setup) + (add-before 'check 'patch-tests + (lambda _ + ;; OpenMPI's mpirun will exit with non-zero status if it + ;; detects an "abnormal termination", i.e. any process not + ;; calling MPI_Finalize(). Since the test is explicitly + ;; avoiding MPI_Finalize so as not to have at_exit and thus + ;; H5C_flush_cache from being called, mpirun will always + ;; complain, so turn this test off. + (substitute* "testpar/Makefile" + (("(^TEST_PROG_PARA.*)t_pflush1(.*)" front back) + (string-append front back "\n"))) + (substitute* "tools/test/h5diff/testph5diff.sh" + (("/bin/sh") (which "sh"))) + #t)))))) + (synopsis "Management suite for data with parallel IO support"))) + + + (define-public glicid-specific-openblas (package (inherit openblas)