about summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@fysik.su.se>2019-04-02 16:26:05 +0200
committerFrederik Rietdijk <freddyrietdijk@fridh.nl>2019-04-10 18:53:51 +0200
commit015888ce7f7bd8e5168390fc6a923972389f0727 (patch)
tree79cb2e40bfeb0ce316c9ff29b6362277461f2efe /pkgs/tools/misc
parent7bd2c5a6043218a2feab7ef38027d4c5a73554f8 (diff)
downloadnixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar.gz
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar.bz2
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar.lz
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar.xz
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.tar.zst
nixlib-015888ce7f7bd8e5168390fc6a923972389f0727.zip
hdf5: 1.10.4 -> 1.10.5
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch58
-rw-r--r--pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch115
-rw-r--r--pkgs/tools/misc/hdf5/default.nix8
3 files changed, 2 insertions, 179 deletions
diff --git a/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch b/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch
deleted file mode 100644
index 8b32ea4bab1c..000000000000
--- a/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 38c202df4db8eddd5e6f6f7d6506ce97912a3111 Mon Sep 17 00:00:00 2001
-From: Dana Robinson <derobins@hdfgroup.org>
-Date: Mon, 26 Nov 2018 22:10:06 -0800
-Subject: [PATCH] Updated H5S to use the MPI-2 function MPI_Type_get_exten()
- where available. OpenMPI 4.0 removed the deprecated MPI-1 MPI_type_extent()
- call by default, so this avoids needing a special OpenMPI build.
-
----
- src/H5Smpio.c | 26 ++++++++++++++++++++++++--
- 1 file changed, 24 insertions(+), 2 deletions(-)
-
-diff --git a/src/H5Smpio.c b/src/H5Smpio.c
-index 2bd275a729..e71e2cb858 100644
---- a/src/H5Smpio.c
-+++ b/src/H5Smpio.c
-@@ -879,7 +879,18 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size,
-                     HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code)
-             }
- 
--            MPI_Type_extent (inner_type, &inner_extent);
-+#if MPI_VERSION >= 2
-+{
-+            /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
-+             * so we're using the MPI-2 version even though we don't need the lb
-+             * value.
-+             */
-+            MPI_Aint unused_lb_arg;
-+            MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent);
-+}
-+#else
-+            MPI_Type_extent(inner_type, &inner_extent);
-+#endif
-             stride_in_bytes = inner_extent * (MPI_Aint)d[i].strid;
- 
-             /* If the element count is larger than what a 32 bit integer can hold,
-@@ -1500,7 +1511,18 @@ static herr_t H5S_mpio_create_large_type (hsize_t num_elements,
-             }
-         }
- 
--        MPI_Type_extent (old_type, &old_extent);
-+#if MPI_VERSION >= 2
-+{
-+        /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
-+         * so we're using the MPI-2 version even though we don't need the lb
-+         * value.
-+         */
-+        MPI_Aint unused_lb_arg;
-+        MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent);
-+}
-+#else
-+        MPI_Type_extent(old_type, &old_extent);
-+#endif
- 
-         /* Set up the arguments for MPI_Type_struct constructor */
-         type[0] = outer_type;
--- 
-2.18.1
-
diff --git a/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch b/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch
deleted file mode 100644
index 8dc831dbba12..000000000000
--- a/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 8cf3bfb14bd2a80f13d269a9e84cd99f86f19254 Mon Sep 17 00:00:00 2001
-From: Dana Robinson <derobins@hdfgroup.org>
-Date: Tue, 27 Nov 2018 10:31:54 -0800
-Subject: [PATCH] Yanked all MPI-1 calls
-
----
- src/H5.c          |  2 +-
- src/H5Smpio.c     | 24 ++++++++----------------
- testpar/t_cache.c | 20 ++++++++++----------
- 3 files changed, 19 insertions(+), 27 deletions(-)
-
-diff --git a/src/H5.c b/src/H5.c
-index d1967e611b..bf4643ca59 100644
---- a/src/H5.c
-+++ b/src/H5.c
-@@ -138,7 +138,7 @@ H5_init_library(void)
-         if (mpi_initialized && !mpi_finalized) {
-             int key_val;
- 
--            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, 
-+            if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN, 
-                                                                  (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, 
-                                                                  &key_val, NULL)))
-                 HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
-diff --git a/src/H5Smpio.c b/src/H5Smpio.c
-index e71e2cb858..935d27972e 100644
---- a/src/H5Smpio.c
-+++ b/src/H5Smpio.c
-@@ -879,18 +879,14 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size,
-                     HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code)
-             }
- 
--#if MPI_VERSION >= 2
--{
-             /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
-              * so we're using the MPI-2 version even though we don't need the lb
-              * value.
-              */
--            MPI_Aint unused_lb_arg;
--            MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent);
--}
--#else
--            MPI_Type_extent(inner_type, &inner_extent);
--#endif
-+            {
-+                MPI_Aint unused_lb_arg;
-+                MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent);
-+            }
-             stride_in_bytes = inner_extent * (MPI_Aint)d[i].strid;
- 
-             /* If the element count is larger than what a 32 bit integer can hold,
-@@ -1511,18 +1507,14 @@ static herr_t H5S_mpio_create_large_type (hsize_t num_elements,
-             }
-         }
- 
--#if MPI_VERSION >= 2
--{
-         /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default,
-          * so we're using the MPI-2 version even though we don't need the lb
-          * value.
-          */
--        MPI_Aint unused_lb_arg;
--        MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent);
--}
--#else
--        MPI_Type_extent(old_type, &old_extent);
--#endif
-+        {
-+            MPI_Aint unused_lb_arg;
-+            MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent);
-+        }
- 
-         /* Set up the arguments for MPI_Type_struct constructor */
-         type[0] = outer_type;
-diff --git a/testpar/t_cache.c b/testpar/t_cache.c
-index 5e15ec274c..ca5ded9ecf 100644
---- a/testpar/t_cache.c
-+++ b/testpar/t_cache.c
-@@ -1217,15 +1217,15 @@ setup_derived_types(void)
-     struct mssg_t sample; /* used to compute displacements */
- 
-     /* setup the displacements array */
--    if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) ||
--         ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) {
-+    if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) ||
-+         ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) {
- 
-         nerrors++;
-         success = FALSE;
-@@ -1245,7 +1245,7 @@ setup_derived_types(void)
- 
-     if ( success ) {
- 
--        result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
-+        result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
- 
-         if ( result != MPI_SUCCESS ) {
- 
--- 
-2.18.1
-
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index ae34cfd32358..e6402322d35a 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -16,11 +16,11 @@ assert !cpp || mpi == null;
 let inherit (stdenv.lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.10.4";
+  version = "1.10.5";
   name = "hdf5-${version}";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2";
-    sha256 = "1pr85fa1sh2ky6ai2hs3f21lp252grl2cq3wbyi4rh7dm83gyrqj";
+    sha256 = "0i3g6v521vigzbx8wpd32ibsiiw92r65ca3qdbn0d8fj8f4fmmk8";
   };
 
   passthru = {
@@ -47,10 +47,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./bin-mv.patch
-    # upstream patches for openmpi-4 compatiblity
-    # To be removed with the upgrade to 1.10.5
-    ./0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch
-    ./0001-Yanked-all-MPI-1-calls.patch
   ];
 
   postInstall = ''