From 9eeef143e26cc42e7b853ed51f82910508885857 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 28 Jul 2025 16:10:34 +0200 Subject: [PATCH] simple-dftd3: add option to build with cmake in addition to meson --- .../chemistry/simple-dftd3/cmake.patch | 13 +++++++++++ .../chemistry/simple-dftd3/default.nix | 23 +++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/science/chemistry/simple-dftd3/cmake.patch diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/cmake.patch b/pkgs/development/libraries/science/chemistry/simple-dftd3/cmake.patch new file mode 100644 index 000000000000..00c7e907733b --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/cmake.patch @@ -0,0 +1,13 @@ +diff --git a/config/template.pc b/config/template.pc +index 3d6efbb..e338a42 100644 +--- a/config/template.pc ++++ b/config/template.pc +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ + + Name: @PROJECT_NAME@ + Description: @PROJECT_DESCRIPTION@ diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix index ac2d3b1b8b9e..739bf260cd37 100644 --- a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix +++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix @@ -5,14 +5,22 @@ gfortran, meson, ninja, + cmake, pkg-config, mctc-lib, mstore, toml-f, blas, + buildType ? "meson", }: assert !blas.isILP64; +assert ( + builtins.elem buildType [ + "meson" + "cmake" + ] +); stdenv.mkDerivation rec { pname = "simple-dftd3"; @@ -25,12 +33,19 @@ stdenv.mkDerivation rec { hash = "sha256-c4xctcMcPQ70ippqbwtinygmnZ5en6ZGF5/v0ZWtzys="; }; + patches = [ + ./cmake.patch + ]; + nativeBuildInputs = [ gfortran + pkg-config + ] + ++ lib.optionals (buildType == "meson") [ meson ninja - pkg-config - ]; + ] + ++ lib.optional (buildType == "cmake") cmake; buildInputs = [ mctc-lib @@ -44,6 +59,10 @@ stdenv.mkDerivation rec { "dev" ]; + cmakeFlags = [ + (lib.strings.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + ]; + doCheck = true; preCheck = '' export OMP_NUM_THREADS=2