From d0b1cf078b6aa1d3feec21bd61e424e06fae28e9 Mon Sep 17 00:00:00 2001 From: qbisi Date: Mon, 6 Oct 2025 01:26:56 +0800 Subject: [PATCH 1/3] python3Packages.firedrake-fiat: 2025.4.2 -> 2025.10.0 Diff: https://github.com/firedrakeproject/fiat/compare/2025.4.2...2025.10.0 ChangeLog: https://github.com/firedrakeproject/fiat/releases/tag/2025.10.0 --- pkgs/development/python-modules/firedrake-fiat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/firedrake-fiat/default.nix b/pkgs/development/python-modules/firedrake-fiat/default.nix index 5255fa695da8..015a3fd91b15 100644 --- a/pkgs/development/python-modules/firedrake-fiat/default.nix +++ b/pkgs/development/python-modules/firedrake-fiat/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "firedrake-fiat"; - version = "2025.4.2"; + version = "2025.10.0"; pyproject = true; src = fetchFromGitHub { owner = "firedrakeproject"; repo = "fiat"; tag = version; - hash = "sha256-SIi/4JW9L4kyFxEmbG9pqe0QtY80UMOh7LSFLmrHhZY="; + hash = "sha256-kyQe4VFzcK1idMt/NNND2cytGUryyhh5+ZP292zxT7c="; }; postPatch = From 45e29d998e5e61ef0d776c8a166525df06d44e04 Mon Sep 17 00:00:00 2001 From: qbisi Date: Mon, 6 Oct 2025 01:34:28 +0800 Subject: [PATCH 2/3] python3Packages.pyadjoint-ad: 2025.4.1 -> 2025.10.0 Diff: https://github.com/dolfin-adjoint/pyadjoint/compare/2025.04.1...2025.10.0 ChangeLog: https://github.com/dolfin-adjoint/pyadjoint/releases/tag/2025.10.0 --- pkgs/development/python-modules/pyadjoint-ad/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pyadjoint-ad/default.nix b/pkgs/development/python-modules/pyadjoint-ad/default.nix index 5b91b9dcb6aa..6a6ad8d50eab 100644 --- a/pkgs/development/python-modules/pyadjoint-ad/default.nix +++ b/pkgs/development/python-modules/pyadjoint-ad/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pyadjoint-ad"; - version = "2025.04.1"; + version = "2025.10.0"; pyproject = true; src = fetchFromGitHub { owner = "dolfin-adjoint"; repo = "pyadjoint"; tag = version; - hash = "sha256-S9A0qCatnnLuOkqWsEC4tjVY1HZqqi2T5iXu+WUoN24="; + hash = "sha256-caW2X4q0mHnD8CEh5jjelD4xBth/R/8/P3m0tTeO/LQ="; }; build-system = [ @@ -30,8 +30,6 @@ buildPythonPackage rec { ]; pythonImportsCheck = [ - # The firedrake_adjoint module is deprecated and requires a cyclic dependency of firedrake - # "firedrake_adjoint" "numpy_adjoint" "pyadjoint" "pyadjoint.optimization" From 6d034fff8c9c9677e357f0a66a9a76dc61d8ecdb Mon Sep 17 00:00:00 2001 From: qbisi Date: Mon, 6 Oct 2025 03:42:41 +0800 Subject: [PATCH 3/3] python3Packages.firedrake 2025.4.2 -> 2025.10.1 Diff: https://github.com/firedrakeproject/firedrake/compare/2025.4.2...2025.10.1 ChangeLog: https://github.com/firedrakeproject/firedrake/releases/tag/2025.10.1 --- .../python-modules/firedrake/default.nix | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/pkgs/development/python-modules/firedrake/default.nix b/pkgs/development/python-modules/firedrake/default.nix index 4788e344cf05..4723401106cc 100644 --- a/pkgs/development/python-modules/firedrake/default.nix +++ b/pkgs/development/python-modules/firedrake/default.nix @@ -23,6 +23,7 @@ libsupermesh, loopy, petsc4py, + petsctools, numpy, packaging, pkgconfig, @@ -35,6 +36,7 @@ scipy, sympy, islpy, + vtk, matplotlib, immutabledict, @@ -59,36 +61,31 @@ let in buildPythonPackage rec { pname = "firedrake"; - version = "2025.4.2"; + version = "2025.10.1"; pyproject = true; src = fetchFromGitHub { owner = "firedrakeproject"; repo = "firedrake"; tag = version; - hash = "sha256-bAGmXoHPAdMYJMMQYVq98LYro1Vd+o9pfvXC3BsQUf0="; + hash = "sha256-paZNs6T9v7TNSdc8YJTjNcQvGrPg/Sy9K27/aUxNu5w="; }; - postPatch = - # relax build-dependency petsc4py - '' - substituteInPlace pyproject.toml --replace-fail \ - "petsc4py==3.23.4" "petsc4py" - '' - + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace firedrake/petsc.py --replace-fail \ - 'program = ["ldd"]' \ - 'program = ["${lib.getExe' pax-utils "lddtree"}"]' - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace firedrake/petsc.py --replace-fail \ - 'program = ["otool"' \ - 'program = ["${lib.getExe' stdenv.cc.bintools.bintools "otool"}"' - ''; + patches = [ + (fetchpatch2 { + url = "https://github.com/firedrakeproject/firedrake/pull/4632/commits/717ae8a62e19e0cc91419c12ca14170d252b2bb9.patch?full_index=1"; + hash = "sha256-XHIcXmfh/brlQkrM4FTRvTrOovLvBN5mBrqZpZewTnc="; + }) + ]; + + # relax build-dependency petsc4py + postPatch = '' + substituteInPlace pyproject.toml --replace-fail \ + "petsc4py==3.24.0" "petsc4py" + ''; pythonRelaxDeps = [ "decorator" - "slepc4py" ]; build-system = [ @@ -117,6 +114,7 @@ buildPythonPackage rec { libsupermesh loopy petsc4py + petsctools numpy packaging pkgconfig @@ -128,6 +126,7 @@ buildPythonPackage rec { rtree scipy sympy + vtk # required by script spydump matplotlib # required by pyop2 @@ -155,20 +154,11 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - # These scripts are used by official sdist/editable_wheel only - postInstall = '' - rm $out/bin/firedrake-{check,status,run-split-tests} - ''; - - preCheck = '' - rm -rf firedrake pyop2 tinyasm tsfc - ''; - # run official smoke tests checkPhase = '' runHook preCheck - make check + $out/bin/firedrake-check runHook postCheck '';