adios2: 2.10.2 -> 2.11.0 (#463788)
This commit is contained in:
@@ -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 = {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user