petsc: 3.24.6 -> 3.25.2; bulk upgrade of petsc related packages (#519873)
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
spdlog,
|
||||
@@ -26,32 +25,16 @@ let
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "0.10.0.post5";
|
||||
version = "0.11.0.post0";
|
||||
pname = "dolfinx";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fenics";
|
||||
repo = "dolfinx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CK7YEtJtrx/Mto72RHT4Qjg5StO28Et+FeCYxk5T+8s=";
|
||||
hash = "sha256-brmU6AA7lN4TyHjHcg4mHUIj/OvJ16pfspEN95M4oOE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix wrong span extent in _lift_bc_interior_facets
|
||||
# https://github.com/FEniCS/dolfinx/pull/4102
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FEniCS/dolfinx/commit/6daca34a075a6dcdfdf77feb13d55d5dbd20e4dd.patch";
|
||||
hash = "sha256-b/C1MqslS2OBCt+kK/+vJjW8pmsJx2FQ36qDtFA1ewI=";
|
||||
includes = [ "cpp/dolfinx/fem/assemble_vector_impl.h" ];
|
||||
})
|
||||
# Fix hdf5 interface for rank 1
|
||||
# https://github.com/FEniCS/dolfinx/pull/4043
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FEniCS/dolfinx/commit/fce7c44f220d4cb94c5149ad28cd1ab00909c319.patch";
|
||||
hash = "sha256-EVm4Rx5UO/3pKIVvjgYAkN+i5QR+u0Nxwxotlf41t+Q=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libsupermesh";
|
||||
version = "2025.4";
|
||||
version = "2026.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firedrakeproject";
|
||||
repo = "libsupermesh";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-VIGfuSVneCBapZyU0GXyi6isUSdhD2Ylm4mCymSvzbo=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-f/5y3XherRbN/Eq3tfivrOHByF8LAXtYN3v9Vx82m8Q=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
homepage = "https://github.com/firedrakeproject/libsupermesh";
|
||||
description = "Parallel supermeshing library";
|
||||
changelog = "https://github.com/firedrakeproject/libsupermesh/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/firedrakeproject/libsupermesh/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.lgpl2Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ qbisi ];
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/config/BuildSystem/config/packages/petsc4py.py b/config/BuildSystem/config/packages/petsc4py.py
|
||||
index 4a58243..831aa04 100644
|
||||
--- a/config/BuildSystem/config/packages/petsc4py.py
|
||||
+++ b/config/BuildSystem/config/packages/petsc4py.py
|
||||
@@ -37,7 +37,7 @@ class Configure(config.package.Package):
|
||||
|
||||
def Install(self):
|
||||
import os
|
||||
- installLibPath = os.path.join(self.installDir, 'lib')
|
||||
+ installLibPath = os.path.join(self.installDir, '@PYTHON_SITEPACKAGES@')
|
||||
if self.setCompilers.isDarwin(self.log):
|
||||
apple = 'You may need to\n (csh/tcsh) setenv MACOSX_DEPLOYMENT_TARGET 10.X\n (sh/bash) MACOSX_DEPLOYMENT_TARGET=10.X; export MACOSX_DEPLOYMENT_TARGET\nbefore running make on PETSc'
|
||||
else:
|
||||
@@ -70,7 +70,7 @@ class Configure(config.package.Package):
|
||||
newdir += 'NUMPY_INCLUDE="'+numpy_include+'" '
|
||||
|
||||
self.addDefine('HAVE_PETSC4PY',1)
|
||||
- self.addDefine('PETSC4PY_INSTALL_PATH','"'+os.path.join(self.installdir.dir,'lib')+'"')
|
||||
+ self.addDefine('PETSC4PY_INSTALL_PATH','"'+installLibPath+'"')
|
||||
self.addMakeMacro('PETSC4PY','yes')
|
||||
self.addMakeRule('petsc4pybuild','', \
|
||||
['@echo "*** Building petsc4py ***"',\
|
||||
@@ -3,7 +3,6 @@
|
||||
newScope,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
replaceVars,
|
||||
bash,
|
||||
pkg-config,
|
||||
gfortran,
|
||||
@@ -110,24 +109,24 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "petsc";
|
||||
version = "3.24.6";
|
||||
version = "3.25.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-PIW+dnIgnzQjpHqNBi4k730Bg7goO3G9zYVYoehvn7k=";
|
||||
hash = "sha256-Q+QrOdSZO9wqdQKKVfhJzKaB3U80WdlegYtdZW7ScCg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(replaceVars ./fix-petsc4py-install-prefix.patch {
|
||||
PYTHON_SITEPACKAGES = python3Packages.python.sitePackages;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./lib/petsc/bin
|
||||
|
||||
substituteInPlace config/example_template.py \
|
||||
--replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
|
||||
|
||||
substituteInPlace config/BuildSystem/config/packages/petsc4py.py \
|
||||
--replace-fail "installLibPath = os.path.join(self.installDir, 'lib')" \
|
||||
"installLibPath = os.path.join(self.installDir, '${python3Packages.python.sitePackages}')" \
|
||||
--replace-fail "self.addDefine('PETSC4PY_INSTALL_PATH','\"'+os.path.join(self.installdir.dir,'lib')+'\"')" \
|
||||
"self.addDefine('PETSC4PY_INSTALL_PATH','\"'+installLibPath+'\"')"
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
@@ -232,11 +231,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# the library is installed and available.
|
||||
doInstallCheck = true;
|
||||
installCheckTarget = "check_install";
|
||||
|
||||
# The PETSC4PY=no flag disables the ex100 test,
|
||||
# which compiles C code to load Python modules for solving a math problem.
|
||||
# This test fails on the Darwin platform but is rarely a common use case for petsc4py.
|
||||
installCheckFlags = lib.optional stdenv.hostPlatform.isDarwin "PETSC4PY=no";
|
||||
# check_install is defined in PETSc's top-level makefile. Select it directly
|
||||
# instead of the default GNUmakefile wrapper, then check the installed prefix
|
||||
# by pointing PETSC_DIR at $out. PETSC_ARCH must be empty for prefix installs,
|
||||
# where lib/petsc/conf is not nested below an architecture-specific build dir.
|
||||
installCheckFlags = [
|
||||
"-f"
|
||||
"makefile"
|
||||
"PETSC_DIR=${placeholder "out"}"
|
||||
"PETSC_ARCH="
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
mpiCheckPhaseHook
|
||||
|
||||
@@ -21,13 +21,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "slepc";
|
||||
version = "3.24.3";
|
||||
version = "3.25.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "slepc";
|
||||
repo = "slepc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-eCCdADdhatarzordwPKpJPIQbFWYngMlJvMBoVcTOWk=";
|
||||
hash = "sha256-CLZ3l9H41MrXa4IEkiiGS7VSs3ASNk5/DnLMmJ7NY5U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "fenics-basix";
|
||||
version = "0.10.0.post0";
|
||||
version = "0.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fenics";
|
||||
repo = "basix";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iKG6Cs28D0scPEIRKoGk/CgquKzGZvIjf4UIj4MQXHA=";
|
||||
hash = "sha256-MBrK7O3iQ0XFONebbAFXBom9i985EyTAXrOlSMiIpk8=";
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "fenics-ffcx";
|
||||
version = "0.10.1.post0";
|
||||
version = "0.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fenics";
|
||||
repo = "ffcx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-uV3sfK6tpdoVf+O/EYZw3yR1PdqkoXt4q66zwQ8h/Ks=";
|
||||
hash = "sha256-pAnoCLf1ObJ2jDOdQ0cr3qu3z+rNeAVFPnvegp/KqeM=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "fenics-ufl";
|
||||
version = "2025.2.1";
|
||||
version = "2026.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fenics";
|
||||
repo = "ufl";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-7hibe/oVueK5YORhA81641b5UcE4MVyQvgVD0Fngje4=";
|
||||
hash = "sha256-FwU9QmkyYuUfxt4v8sHFv+YNHldx1g0e/TDezijTUb4=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -2,37 +2,36 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
fetchFromBitbucket,
|
||||
setuptools,
|
||||
numpy,
|
||||
scipy,
|
||||
sympy,
|
||||
recursivenodes,
|
||||
symengine,
|
||||
fenics-ufl,
|
||||
firedrake-ufl,
|
||||
pytestCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "firedrake-fiat";
|
||||
version = "2025.10.1";
|
||||
version = "2026.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firedrakeproject";
|
||||
repo = "fiat";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-x1/gf/QVez6GxPUafxdhxqyT0MkL6w2Qz6VAxRNufdc=";
|
||||
hash = "sha256-aO4iFDwt9l5+s+96kjxja92OWnJb64OBpYXu6oxk51c=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
let
|
||||
fiat-reference-data = fetchFromBitbucket {
|
||||
owner = "fenics-project";
|
||||
fiat-reference-data = fetchFromGitHub {
|
||||
owner = "firedrakeproject";
|
||||
repo = "fiat-reference-data";
|
||||
rev = "0c8c97f7e4919402129e5ff3b54e3f0b9e902b7c";
|
||||
hash = "sha256-vdCkmCkKvLSYACF6MnZ/WuKuCNAoC3uu1A/9m9KwBK8=";
|
||||
rev = "508bd755e024010f6fc691a36e51a8f4d7de7efe";
|
||||
hash = "sha256-Ylq5u3d54SnCiB3nLRkkQu7IkRVuMcUWPgIjn7SIQ0M=";
|
||||
};
|
||||
in
|
||||
''
|
||||
@@ -46,7 +45,7 @@ buildPythonPackage (finalAttrs: {
|
||||
scipy
|
||||
sympy
|
||||
recursivenodes
|
||||
fenics-ufl
|
||||
firedrake-ufl
|
||||
symengine
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
fenics-ufl,
|
||||
}:
|
||||
|
||||
fenics-ufl.overrideAttrs (oldAttrs: rec {
|
||||
version = "2025.3.0";
|
||||
|
||||
src = oldAttrs.src.override {
|
||||
tag = version;
|
||||
hash = "sha256-BFeVwurTsFNirpjZlgaABzw/cLzWxXwbCHJQBHrLuOY=";
|
||||
};
|
||||
})
|
||||
@@ -15,7 +15,7 @@
|
||||
decorator,
|
||||
cachetools,
|
||||
mpi4py,
|
||||
fenics-ufl,
|
||||
firedrake-ufl,
|
||||
firedrake-fiat,
|
||||
h5py,
|
||||
libsupermesh,
|
||||
@@ -34,7 +34,6 @@
|
||||
scipy,
|
||||
sympy,
|
||||
islpy,
|
||||
vtk,
|
||||
matplotlib,
|
||||
immutabledict,
|
||||
|
||||
@@ -59,20 +58,20 @@ let
|
||||
in
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "firedrake";
|
||||
version = "2025.10.3";
|
||||
version = "2026.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firedrakeproject";
|
||||
repo = "firedrake";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-9AkyVM0dpjdQqpuOBN60lCKIZJR0HXpp0g1Am/xUwbI=";
|
||||
hash = "sha256-scsxxs9k280R9+mM5CC7aIkKJ8rR1faexnUuMrDO9+k=";
|
||||
};
|
||||
|
||||
# relax build-dependency petsc4py
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml --replace-fail \
|
||||
"petsc4py==3.24.5" "petsc4py"
|
||||
"petsc4py==3.25.0" "petsc4py"
|
||||
'';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -99,7 +98,7 @@ buildPythonPackage (finalAttrs: {
|
||||
decorator
|
||||
cachetools
|
||||
firedrakePackages.mpi4py
|
||||
fenics-ufl
|
||||
firedrake-ufl
|
||||
firedrake-fiat
|
||||
firedrakePackages.h5py
|
||||
immutabledict
|
||||
@@ -118,9 +117,6 @@ buildPythonPackage (finalAttrs: {
|
||||
rtree
|
||||
scipy
|
||||
sympy
|
||||
# vtk optional required by IO module, we can make it a hard dependency in nixpkgs,
|
||||
# see https://github.com/firedrakeproject/firedrake/pull/4713
|
||||
vtk
|
||||
# required by script spydump
|
||||
matplotlib
|
||||
]
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "petsctools";
|
||||
version = "2025.3";
|
||||
version = "2026.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firedrakeproject";
|
||||
repo = "petsctools";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-5SV34KhympX58lWfFaQo5lVOeafcc/Y8HvYtZtY+4Eo=";
|
||||
hash = "sha256-IMDPjhyehOkyifSJ7nOJQbZu21w6Xyyz9fv/WLDpEgQ=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -43,6 +43,11 @@ buildPythonPackage (finalAttrs: {
|
||||
]
|
||||
++ finalAttrs.passthru.optional-dependencies.petsc4py;
|
||||
|
||||
disabledTests = [
|
||||
# Expects a double slash when PETSC_ARCH is empty.
|
||||
"test_get_petsc_dirs"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/firedrakeproject/petsctools";
|
||||
description = "Pythonic extensions for petsc4py and slepc4py";
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyadjoint-ad";
|
||||
version = "2025.10.1";
|
||||
version = "2026.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dolfin-adjoint";
|
||||
repo = "pyadjoint";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-UI1eRB9hy4lb/s18NjaAyjH3HvDwRbRzk0ZuWxf1Uuc=";
|
||||
hash = "sha256-ChtZQ5MJeQt1CqAsFHTCwbIJrcwBKlNxSF5zi6pHLsA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -5662,6 +5662,8 @@ self: super: with self; {
|
||||
|
||||
firedrake-fiat = callPackage ../development/python-modules/firedrake-fiat { };
|
||||
|
||||
firedrake-ufl = callPackage ../development/python-modules/firedrake-ufl { };
|
||||
|
||||
fireflyalgorithm = callPackage ../development/python-modules/fireflyalgorithm { };
|
||||
|
||||
firetv = callPackage ../development/python-modules/firetv { };
|
||||
|
||||
Reference in New Issue
Block a user