python3Packages.firedrake: 2025.4.2 -> 2025.10.1 (#449013)

This commit is contained in:
Nick Cao 2025-10-23 00:12:24 +00:00 committed by GitHub
commit 22bb9b3079
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 23 additions and 35 deletions

View file

@ -16,14 +16,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "firedrake-fiat"; pname = "firedrake-fiat";
version = "2025.4.2"; version = "2025.10.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "firedrakeproject"; owner = "firedrakeproject";
repo = "fiat"; repo = "fiat";
tag = version; tag = version;
hash = "sha256-SIi/4JW9L4kyFxEmbG9pqe0QtY80UMOh7LSFLmrHhZY="; hash = "sha256-kyQe4VFzcK1idMt/NNND2cytGUryyhh5+ZP292zxT7c=";
}; };
postPatch = postPatch =

View file

@ -23,6 +23,7 @@
libsupermesh, libsupermesh,
loopy, loopy,
petsc4py, petsc4py,
petsctools,
numpy, numpy,
packaging, packaging,
pkgconfig, pkgconfig,
@ -35,6 +36,7 @@
scipy, scipy,
sympy, sympy,
islpy, islpy,
vtk,
matplotlib, matplotlib,
immutabledict, immutabledict,
@ -59,36 +61,31 @@ let
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "firedrake"; pname = "firedrake";
version = "2025.4.2"; version = "2025.10.1";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "firedrakeproject"; owner = "firedrakeproject";
repo = "firedrake"; repo = "firedrake";
tag = version; tag = version;
hash = "sha256-bAGmXoHPAdMYJMMQYVq98LYro1Vd+o9pfvXC3BsQUf0="; hash = "sha256-paZNs6T9v7TNSdc8YJTjNcQvGrPg/Sy9K27/aUxNu5w=";
}; };
postPatch = patches = [
(fetchpatch2 {
url = "https://github.com/firedrakeproject/firedrake/pull/4632/commits/717ae8a62e19e0cc91419c12ca14170d252b2bb9.patch?full_index=1";
hash = "sha256-XHIcXmfh/brlQkrM4FTRvTrOovLvBN5mBrqZpZewTnc=";
})
];
# relax build-dependency petsc4py # relax build-dependency petsc4py
'' postPatch = ''
substituteInPlace pyproject.toml --replace-fail \ substituteInPlace pyproject.toml --replace-fail \
"petsc4py==3.23.4" "petsc4py" "petsc4py==3.24.0" "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"}"'
''; '';
pythonRelaxDeps = [ pythonRelaxDeps = [
"decorator" "decorator"
"slepc4py"
]; ];
build-system = [ build-system = [
@ -117,6 +114,7 @@ buildPythonPackage rec {
libsupermesh libsupermesh
loopy loopy
petsc4py petsc4py
petsctools
numpy numpy
packaging packaging
pkgconfig pkgconfig
@ -128,6 +126,7 @@ buildPythonPackage rec {
rtree rtree
scipy scipy
sympy sympy
vtk
# required by script spydump # required by script spydump
matplotlib matplotlib
# required by pyop2 # required by pyop2
@ -155,20 +154,11 @@ buildPythonPackage rec {
writableTmpDirAsHomeHook 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 # run official smoke tests
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
make check $out/bin/firedrake-check
runHook postCheck runHook postCheck
''; '';

View file

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyadjoint-ad"; pname = "pyadjoint-ad";
version = "2025.04.1"; version = "2025.10.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dolfin-adjoint"; owner = "dolfin-adjoint";
repo = "pyadjoint"; repo = "pyadjoint";
tag = version; tag = version;
hash = "sha256-S9A0qCatnnLuOkqWsEC4tjVY1HZqqi2T5iXu+WUoN24="; hash = "sha256-caW2X4q0mHnD8CEh5jjelD4xBth/R/8/P3m0tTeO/LQ=";
}; };
build-system = [ build-system = [
@ -30,8 +30,6 @@ buildPythonPackage rec {
]; ];
pythonImportsCheck = [ pythonImportsCheck = [
# The firedrake_adjoint module is deprecated and requires a cyclic dependency of firedrake
# "firedrake_adjoint"
"numpy_adjoint" "numpy_adjoint"
"pyadjoint" "pyadjoint"
"pyadjoint.optimization" "pyadjoint.optimization"