Loading pkgs/development/libraries/medfile/default.nix +30 −10 Original line number Diff line number Diff line { lib, stdenv, fetchurl, cmake, hdf5 }: stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: { pname = "medfile"; version = "4.1.1"; version = "5.0.0"; src = fetchurl { url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz"; sha256 = "sha256-3CtdVOvwZm4/8ul0BB0qsNqQYGEyNTcCOrFl1XM4ndA="; url = "https://files.salome-platform.org/Salome/medfile/med-${finalAttrs.version}.tar.bz2"; hash = "sha256-Jn520MZ+xRwQ4xmUhOwVCLqo1e2EXGKK32YFKdzno9Q="; }; patches = [ ./hdf5-1.14.patch ]; outputs = [ "out" "doc" "dev" ]; postPatch = '' # Patch cmake and source files to work with hdf5 substituteInPlace config/cmake_files/medMacros.cmake --replace-fail \ "IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 12 OR NOT HDF_VERSION_RELEASE_REF GREATER 0)" \ "IF (HDF5_VERSION VERSION_LESS 1.12.0)" substituteInPlace src/*/*.c --replace-warn \ "#if H5_VERS_MINOR > 12" \ "#if H5_VERS_MINOR > 14" '' + lib.optionalString stdenv.isDarwin '' # Some medfile test files #define _a, which # breaks system header files that use _a as a function parameter substituteInPlace tests/c/*.c \ --replace-warn "_a" "_A" \ --replace-warn "_b" "_B" # Fix compiler errors in test files substituteInPlace tests/c/*.c \ --replace-warn "med_Bool" "med_bool" \ --replace-warn "med_Axis_type" "med_axis_type" \ --replace-warn "med_Access_mode" "med_access_mode" ''; nativeBuildInputs = [ cmake ]; buildInputs = [ hdf5 ]; checkPhase = "make test"; Loading @@ -22,8 +42,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library to read and write MED files"; homepage = "http://salome-platform.org/"; platforms = platforms.linux; homepage = "https://salome-platform.org/"; platforms = platforms.linux ++ platforms.darwin; license = licenses.lgpl3Plus; }; } }) pkgs/development/libraries/medfile/hdf5-1.14.patchdeleted 100644 → 0 +0 −86 Original line number Diff line number Diff line --- 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 > 14 #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 > 14 #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 > 14 #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 > 14 #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 > 14 #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 > 14 #error "Don't forget to change the compatibility version of the library !" #endif if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) { Loading
pkgs/development/libraries/medfile/default.nix +30 −10 Original line number Diff line number Diff line { lib, stdenv, fetchurl, cmake, hdf5 }: stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: { pname = "medfile"; version = "4.1.1"; version = "5.0.0"; src = fetchurl { url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz"; sha256 = "sha256-3CtdVOvwZm4/8ul0BB0qsNqQYGEyNTcCOrFl1XM4ndA="; url = "https://files.salome-platform.org/Salome/medfile/med-${finalAttrs.version}.tar.bz2"; hash = "sha256-Jn520MZ+xRwQ4xmUhOwVCLqo1e2EXGKK32YFKdzno9Q="; }; patches = [ ./hdf5-1.14.patch ]; outputs = [ "out" "doc" "dev" ]; postPatch = '' # Patch cmake and source files to work with hdf5 substituteInPlace config/cmake_files/medMacros.cmake --replace-fail \ "IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 12 OR NOT HDF_VERSION_RELEASE_REF GREATER 0)" \ "IF (HDF5_VERSION VERSION_LESS 1.12.0)" substituteInPlace src/*/*.c --replace-warn \ "#if H5_VERS_MINOR > 12" \ "#if H5_VERS_MINOR > 14" '' + lib.optionalString stdenv.isDarwin '' # Some medfile test files #define _a, which # breaks system header files that use _a as a function parameter substituteInPlace tests/c/*.c \ --replace-warn "_a" "_A" \ --replace-warn "_b" "_B" # Fix compiler errors in test files substituteInPlace tests/c/*.c \ --replace-warn "med_Bool" "med_bool" \ --replace-warn "med_Axis_type" "med_axis_type" \ --replace-warn "med_Access_mode" "med_access_mode" ''; nativeBuildInputs = [ cmake ]; buildInputs = [ hdf5 ]; checkPhase = "make test"; Loading @@ -22,8 +42,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library to read and write MED files"; homepage = "http://salome-platform.org/"; platforms = platforms.linux; homepage = "https://salome-platform.org/"; platforms = platforms.linux ++ platforms.darwin; license = licenses.lgpl3Plus; }; } })
pkgs/development/libraries/medfile/hdf5-1.14.patchdeleted 100644 → 0 +0 −86 Original line number Diff line number Diff line --- 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 > 14 #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 > 14 #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 > 14 #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 > 14 #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 > 14 #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 > 14 #error "Don't forget to change the compatibility version of the library !" #endif if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {