From a7b38e221cc98e4e25307c5e6f3e239672089ec0 Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 25 Nov 2025 17:06:09 +0800 Subject: [PATCH 1/5] dolfinx: 0.10.0.post3 -> 0.10.0.post4 changelog: https://github.com/FEniCS/dolfinx/releases/tag/v0.10.0.post4 --- pkgs/by-name/do/dolfinx/package.nix | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/do/dolfinx/package.nix b/pkgs/by-name/do/dolfinx/package.nix index 93def43bc33b..a44c7e147ce6 100644 --- a/pkgs/by-name/do/dolfinx/package.nix +++ b/pkgs/by-name/do/dolfinx/package.nix @@ -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 From 0a7da1141b45aeaf39c6cf0af29e2f8c01cbfad1 Mon Sep 17 00:00:00 2001 From: qbisi Date: Thu, 20 Nov 2025 15:46:09 +0800 Subject: [PATCH 2/5] adios2: remove postPatch for darwin platform --- pkgs/by-name/ad/adios2/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/ad/adios2/package.nix b/pkgs/by-name/ad/adios2/package.nix index f5d73d9695b3..c21b2f9bb273 100644 --- a/pkgs/by-name/ad/adios2/package.nix +++ b/pkgs/by-name/ad/adios2/package.nix @@ -64,11 +64,6 @@ stdenv.mkDerivation (finalAttrs: { 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" ''; nativeBuildInputs = [ From 030b6286479878974c46eaf906645644837b79f3 Mon Sep 17 00:00:00 2001 From: qbisi Date: Fri, 21 Nov 2025 23:18:37 +0800 Subject: [PATCH 3/5] adios2: use upstream GoogleTest.cmake --- pkgs/by-name/ad/adios2/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ad/adios2/package.nix b/pkgs/by-name/ad/adios2/package.nix index c21b2f9bb273..4daa1f6bce21 100644 --- a/pkgs/by-name/ad/adios2/package.nix +++ b/pkgs/by-name/ad/adios2/package.nix @@ -64,6 +64,11 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' chmod +x cmake/install/post/adios2-config.pre.sh.in patchShebangs cmake/install/post/{generate-adios2-config,adios2-config.pre}.sh.in + + # 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 = [ From bd126cfdff59ba65fb249eda85b086a2b16c415c Mon Sep 17 00:00:00 2001 From: qbisi Date: Fri, 21 Nov 2025 23:30:10 +0800 Subject: [PATCH 4/5] adios2: remove unused enabledTestPaths enabledTestPaths was used by pytestCheckHook. --- pkgs/by-name/ad/adios2/package.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/ad/adios2/package.nix b/pkgs/by-name/ad/adios2/package.nix index 4daa1f6bce21..a8e3a72ab688 100644 --- a/pkgs/by-name/ad/adios2/package.nix +++ b/pkgs/by-name/ad/adios2/package.nix @@ -181,10 +181,6 @@ stdenv.mkDerivation (finalAttrs: { enableParallelChecking = false; - enabledTestPaths = [ - "../testing/adios2/python/Test*.py" - ]; - __darwinAllowLocalNetworking = finalAttrs.finalPackage.doCheck && mpiSupport; nativeCheckInputs = [ From 2ef6a6fba50c847eafe2ae7f249c370ae2a6b5a4 Mon Sep 17 00:00:00 2001 From: qbisi Date: Fri, 21 Nov 2025 23:38:35 +0800 Subject: [PATCH 5/5] adios2: 2.10.2 -> 2.11.0 --- pkgs/by-name/ad/adios2/package.nix | 40 +++++++++--------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/pkgs/by-name/ad/adios2/package.nix b/pkgs/by-name/ad/adios2/package.nix index a8e3a72ab688..8691603c3067 100644 --- a/pkgs/by-name/ad/adios2/package.nix +++ b/pkgs/by-name/ad/adios2/package.nix @@ -25,7 +25,9 @@ libffi, yaml-cpp, nlohmann_json, + openssl, llvmPackages, + gtest, ctestCheckHook, mpiCheckPhaseHook, testers, @@ -51,14 +53,14 @@ 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 = '' @@ -98,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: { zlib yaml-cpp nlohmann_json + openssl # Todo: add these optional dependencies in nixpkgs. # sz @@ -145,11 +148,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 in - (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 @@ -175,47 +177,29 @@ stdenv.mkDerivation (finalAttrs: { doCheck = false; dontUseNinjaCheck = true; - preCheck = '' - export adios2_DIR=$PWD - ''; - enableParallelChecking = false; __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 = {