From 0a9f9e1c61915d19091723d4355e6febdbb6043e Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 2 Feb 2025 17:23:19 +0100 Subject: [PATCH 1/4] precice: fix boost 1.87 compat --- pkgs/by-name/pr/precice/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/pr/precice/package.nix b/pkgs/by-name/pr/precice/package.nix index 2f5572a2eab7..115e9a0d68d7 100644 --- a/pkgs/by-name/pr/precice/package.nix +++ b/pkgs/by-name/pr/precice/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cmake, gcc, boost, @@ -24,6 +25,14 @@ stdenv.mkDerivation rec { hash = "sha256-KpmcQj8cv5V5OXCMhe2KLTsqUzKWtTeQyP+zg+Y+yd0="; }; + patches = lib.optionals (!lib.versionOlder "3.1.2" version) [ + (fetchpatch { + name = "boost-187-fixes.patch"; + url = "https://github.com/precice/precice/commit/23788e9eeac49a2069e129a0cb1ac846e8cbeb9f.patch"; + hash = "sha256-Z8qOGOkXoCui8Wy0H/OeE+NaTDvyRuPm2A+VJKtjH4s="; + }) + ]; + cmakeFlags = [ "-DPRECICE_PETScMapping=OFF" "-DBUILD_SHARED_LIBS=ON" From 2e71cf50505deb784d3d2e47226416e852b24f77 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 4 Feb 2025 08:55:25 +0100 Subject: [PATCH 2/4] precice: use lib.cmake* for cmake flags --- pkgs/by-name/pr/precice/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/pr/precice/package.nix b/pkgs/by-name/pr/precice/package.nix index 115e9a0d68d7..215ffeb69804 100644 --- a/pkgs/by-name/pr/precice/package.nix +++ b/pkgs/by-name/pr/precice/package.nix @@ -34,10 +34,10 @@ stdenv.mkDerivation rec { ]; cmakeFlags = [ - "-DPRECICE_PETScMapping=OFF" - "-DBUILD_SHARED_LIBS=ON" - "-DPYTHON_LIBRARIES=${python3.libPrefix}" - "-DPYTHON_INCLUDE_DIR=${python3}/include/${python3.libPrefix}" + (lib.cmakeBool "PRECICE_PETScMapping" false) + (lib.cmakeBool "BUILD_SHARED_LIBS" true) + (lib.cmakeFeature "PYTHON_LIBRARIES" python3.libPrefix) + (lib.cmakeFeature "PYTHON_INCLUDE_DIR" "${python3}/include/${python3.libPrefix}") ]; env.NIX_CFLAGS_COMPILE = toString ( From 6daeb20f4b246c221f0cdfe410d4cf895b43e9bb Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 4 Feb 2025 09:24:17 +0100 Subject: [PATCH 3/4] precice: remove gcc --- pkgs/by-name/pr/precice/package.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/by-name/pr/precice/package.nix b/pkgs/by-name/pr/precice/package.nix index 215ffeb69804..c79c90475fe7 100644 --- a/pkgs/by-name/pr/precice/package.nix +++ b/pkgs/by-name/pr/precice/package.nix @@ -4,7 +4,6 @@ fetchFromGitHub, fetchpatch, cmake, - gcc, boost, eigen, libxml2, @@ -40,19 +39,13 @@ stdenv.mkDerivation rec { (lib.cmakeFeature "PYTHON_INCLUDE_DIR" "${python3}/include/${python3.libPrefix}") ]; - env.NIX_CFLAGS_COMPILE = toString ( - lib.optionals stdenv.hostPlatform.isDarwin [ "-D_GNU_SOURCE" ] - # libxml2-2.12 changed const qualifiers - ++ [ "-fpermissive" ] - ); - nativeBuildInputs = [ cmake - gcc pkg-config python3 python3.pkgs.numpy ]; + buildInputs = [ boost eigen From 29e1160e514b286ea9af4de84eddf33f0d10ff8c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 4 Feb 2025 08:56:02 +0100 Subject: [PATCH 4/4] python312Packages.pyprecice: cleanup and fix --- .../python-modules/pyprecice/default.nix | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/pyprecice/default.nix b/pkgs/development/python-modules/pyprecice/default.nix index c005eaaa23d3..48bf841129f8 100644 --- a/pkgs/development/python-modules/pyprecice/default.nix +++ b/pkgs/development/python-modules/pyprecice/default.nix @@ -1,15 +1,18 @@ { lib, buildPythonPackage, - setuptools, - pip, - cython, fetchFromGitHub, + + # build-system + cython, + pip, + pkgconfig, + setuptools, + + # dependencies mpi4py, numpy, precice, - pkgconfig, - pythonOlder, }: buildPythonPackage rec { @@ -17,8 +20,6 @@ buildPythonPackage rec { version = "3.1.2"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchFromGitHub { owner = "precice"; repo = "python-bindings"; @@ -26,14 +27,24 @@ buildPythonPackage rec { hash = "sha256-/atuMJVgvY4kgvrB+LuQZmJuSK4O8TJdguC7NCiRS2Y="; }; - nativeBuildInputs = [ - setuptools - pip + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools>=61,<72" "setuptools" \ + --replace-fail "numpy<2" "numpy" + ''; + + build-system = [ cython + pip pkgconfig + setuptools ]; - propagatedBuildInputs = [ + pythonRelaxDeps = [ + "numpy" + ]; + + dependencies = [ numpy mpi4py precice @@ -44,10 +55,11 @@ buildPythonPackage rec { # Do not use pythonImportsCheck because this will also initialize mpi which requires a network interface - meta = with lib; { + meta = { description = "Python language bindings for preCICE"; homepage = "https://github.com/precice/python-bindings"; - license = licenses.lgpl3Only; - maintainers = with maintainers; [ Scriptkiddi ]; + changelog = "https://github.com/precice/python-bindings/blob/v${version}/CHANGELOG.md"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ Scriptkiddi ]; }; }