medfile: use HDF5 1.12
HDF5 1.10 has known security issues (CVE-2020-10809, CVE-2020-10810, CVE-2020-10811 and CVE-2020-10812).
This commit is contained in:
parent
d6f881c82d
commit
33a3715a5e
@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1khzclkrd1yn9mz3g14ndgpsbj8j50v8dsjarcj6kkn9zgbbazc4";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./hdf5-1.12.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ hdf5 ];
|
||||
|
||||
|
86
pkgs/development/libraries/medfile/hdf5-1.12.patch
Normal file
86
pkgs/development/libraries/medfile/hdf5-1.12.patch
Normal file
@ -0,0 +1,86 @@
|
||||
--- a/config/cmake_files/medMacros.cmake
|
||||
+++ b/config/cmake_files/medMacros.cmake
|
||||
@@ -447,7 +447,7 @@ MACRO(MED_FIND_HDF5)
|
||||
##
|
||||
## Requires 1.10.x version
|
||||
##
|
||||
- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
|
||||
+ IF (HDF5_VERSION VERSION_LESS 1.10.2)
|
||||
MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
|
||||
ENDIF()
|
||||
##
|
||||
--- a/src/ci/MEDfileCompatibility.c
|
||||
+++ b/src/ci/MEDfileCompatibility.c
|
||||
@@ -71,7 +71,7 @@ MEDfileCompatibility(const char* const filename,
|
||||
_hversionMMR=10000*_hmajeur+100*_hmineur+_hrelease;
|
||||
/* ISCRUTE(_hversionMMR); */
|
||||
/* ISCRUTE(HDF_VERSION_NUM_REF); */
|
||||
- if ( (_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF) ) *hdfok = MED_TRUE;
|
||||
+ if ( ((_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF)) || _hversionMMR > HDF_VERSION_NUM_REF ) *hdfok = MED_TRUE;
|
||||
|
||||
/* TODO : Vérifier si la version mineure HDF du fichier est supérieure
|
||||
à la version mineure de la bibliothèque HDF utilisée :
|
||||
@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const filename,
|
||||
#if MED_NUM_MAJEUR != 4
|
||||
#error "Don't forget to update the test version here when you change the major version of the library !"
|
||||
#endif
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
|
||||
#error "Cf. _MEDfileCreate ..."
|
||||
#endif
|
||||
--- a/src/hdfi/_MEDfileCreate.c
|
||||
+++ b/src/hdfi/_MEDfileCreate.c
|
||||
@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access
|
||||
* En HDF5-1.10.0p1 cela n'a aucun effet !
|
||||
* Un test autoconf permet de fixer un intervalle de version HDF à MED.
|
||||
*/
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to change the compatibility version of the library !"
|
||||
#endif
|
||||
|
||||
--- a/src/hdfi/_MEDfileOpen.c
|
||||
+++ b/src/hdfi/_MEDfileOpen.c
|
||||
@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod
|
||||
|
||||
• The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order).
|
||||
*/
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to change the compatibility version of the library !"
|
||||
#endif
|
||||
/* L'avantage de bloquer le modèle interne HDF5
|
||||
--- a/src/hdfi/_MEDmemFileOpen.c
|
||||
+++ b/src/hdfi/_MEDmemFileOpen.c
|
||||
@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile
|
||||
goto ERROR;
|
||||
}
|
||||
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to change the compatibility version of the library !"
|
||||
#endif
|
||||
if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
|
||||
--- a/src/hdfi/_MEDparFileCreate.c
|
||||
+++ b/src/hdfi/_MEDparFileCreate.c
|
||||
@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc
|
||||
* En HDF5-1.10.0p1 cela n'a aucun effet !
|
||||
* Un test autoconf permet de fixer un intervalle de version HDF à MED.
|
||||
*/
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to change the compatibility version of the library !"
|
||||
#endif
|
||||
|
||||
--- a/src/hdfi/_MEDparFileOpen.c
|
||||
+++ b/src/hdfi/_MEDparFileOpen.c
|
||||
@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access
|
||||
MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
|
||||
goto ERROR;
|
||||
}
|
||||
-#if H5_VERS_MINOR > 10
|
||||
+#if H5_VERS_MINOR > 12
|
||||
#error "Don't forget to change the compatibility version of the library !"
|
||||
#endif
|
||||
if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
|
@ -6032,7 +6032,7 @@ in
|
||||
};
|
||||
|
||||
medfile = callPackage ../development/libraries/medfile {
|
||||
hdf5 = hdf5_1_10;
|
||||
hdf5 = hdf5.override { usev110Api = true; };
|
||||
};
|
||||
|
||||
meilisearch = callPackage ../servers/search/meilisearch {
|
||||
|
Loading…
Reference in New Issue
Block a user