adios2: 2.10.2 -> 2.11.0 (#463788)

This commit is contained in:
Aleksana
2025-12-01 16:18:21 +00:00
committed by GitHub
2 changed files with 22 additions and 48 deletions
+17 -37
View File
@@ -25,7 +25,9 @@
libffi,
yaml-cpp,
nlohmann_json,
openssl,
llvmPackages,
gtest,
ctestCheckHook,
mpiCheckPhaseHook,
testers,
@@ -51,24 +53,24 @@ let
};
in
stdenv.mkDerivation (finalAttrs: {
version = "2.10.2";
version = "2.11.0";
pname = "adios2";
src = fetchFromGitHub {
owner = "ornladios";
repo = "adios2";
tag = "v${finalAttrs.version}";
hash = "sha256-NVyw7xoPutXeUS87jjVv1YxJnwNGZAT4QfkBLzvQbwg=";
hash = "sha256-yHPI///17poiCEb7Luu5qfqxTWm9Nh+o9r57mZT26U0=";
};
postPatch = ''
chmod +x cmake/install/post/adios2-config.pre.sh.in
patchShebangs cmake/install/post/{generate-adios2-config,adios2-config.pre}.sh.in
''
# Dynamic cast to nullptr on darwin platform, switch to unsafe reinterpret cast.
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace bindings/Python/py11{Attribute,Engine,Variable}.cpp \
--replace-fail "dynamic_cast" "reinterpret_cast"
# use upstream GoogleTest.cmake
# see https://github.com/ornladios/ADIOS2/issues/4659
substituteInPlace cmake/GoogleTest.cmake \
--replace-fail 'CMAKE_VERSION VERSION_LESS 4' 'TRUE'
'';
nativeBuildInputs = [
@@ -98,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
zlib
yaml-cpp
nlohmann_json
openssl
# Todo: add these optional dependencies in nixpkgs.
# sz
@@ -141,11 +144,10 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "ADIOS2_USE_UCX" (lib.meta.availableOn stdenv.hostPlatform ucx))
(lib.cmakeBool "ADIOS2_USE_Sodium" true)
(lib.cmakeBool "ADIOS2_USE_Catalyst" true)
(lib.cmakeBool "ADIOS2_USE_OpenSSL" true)
(lib.cmakeBool "ADIOS2_USE_Campaign" true)
(lib.cmakeBool "ADIOS2_USE_AWSSDK" false)
# use vendored gtest as nixpkgs#gtest does not include <iomanip> in <gtest/gtest.h>
(lib.cmakeBool "ADIOS2_USE_EXTERNAL_GTEST" false)
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
# higher MPIEXEC_MAX_NUMPROCS>8 might cause tests failure in
# - Engine.BP.BPJoinedArray.MultiBlock.BP4.MPI
@@ -171,51 +173,29 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = false;
dontUseNinjaCheck = true;
preCheck = ''
export adios2_DIR=$PWD
'';
enableParallelChecking = false;
enabledTestPaths = [
"../testing/adios2/python/Test*.py"
];
__darwinAllowLocalNetworking = finalAttrs.finalPackage.doCheck && mpiSupport;
nativeCheckInputs = [
python3Packages.python
gtest
ctestCheckHook
mpiCheckPhaseHook
];
# required for finding the generated adios2-config.cmake file
preInstall = ''
export adios2_DIR=$out/lib/cmake/adios2
'';
pythonImportsCheck = [ "adios2" ];
passthru.tests = {
withCheck = finalAttrs.finalPackage.overrideAttrs {
doCheck = true;
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# TypeError: cannot pickle 'TextIOWrapper' instances
"Test.Engine.DataMan1xN.Serial"
"Test.Engine.DataManSingleValues"
# The test assumed to always contain n*64 byte-length records. Right now the length of index buffer is 71 bytes.
"Staging.1x1.Local2.BPS.BB.BP4_stream"
# Timeout
"Staging.3x5LockGeometry.FS.BB.FileStream"
"Engine.Staging.TestOnDemandMPI.ADIOS2OnDemandMPI.SST.MPI"
];
};
cmake-config = testers.hasCmakeConfigModules {
moduleNames = [ "adios2" ];
package = finalAttrs.finalPackage;
};
}
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
withCheck = finalAttrs.finalPackage.overrideAttrs {
doCheck = true;
};
};
meta = {
+5 -11
View File
@@ -12,7 +12,6 @@
kahip,
adios2,
python3Packages,
darwinMinVersionHook,
catch2_3,
withParmetis ? false,
}:
@@ -26,20 +25,16 @@ let
);
in
stdenv.mkDerivation (finalAttrs: {
version = "0.10.0.post3";
version = "0.10.0.post4";
pname = "dolfinx";
src = fetchFromGitHub {
owner = "fenics";
repo = "dolfinx";
tag = "v${finalAttrs.version}";
hash = "sha256-YsFya92lz9Twc1PsSLGj6tJNvKb+MQfpmN/qOFxbe34=";
hash = "sha256-vzP5vBZpUR4HW6yJw1wFtbo/TiZ/k02TXV2Zk42b5aQ=";
};
preConfigure = ''
cd cpp
'';
nativeBuildInputs = [
cmake
pkg-config
@@ -49,7 +44,6 @@ stdenv.mkDerivation (finalAttrs: {
dolfinxPackages.kahip
dolfinxPackages.scotch
]
++ lib.optional stdenv.hostPlatform.isDarwin (darwinMinVersionHook "13.3")
++ lib.optional withParmetis dolfinxPackages.parmetis;
propagatedBuildInputs = [
@@ -64,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
python3Packages.fenics-ffcx
];
cmakeDir = "../cpp";
cmakeFlags = [
(lib.cmakeBool "DOLFINX_ENABLE_ADIOS2" true)
(lib.cmakeBool "DOLFINX_ENABLE_PETSC" true)
@@ -81,9 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "${finalAttrs.pname}-unittests";
inherit (finalAttrs) version src;
preConfigure = ''
cd cpp/test
'';
cmakeDir = "../cpp/test";
nativeBuildInputs = [
cmake