diff --git a/pkgs/by-name/li/libxc/package.nix b/pkgs/by-name/li/libxc/package.nix index cfbdd693d154..4a70bc0610c3 100644 --- a/pkgs/by-name/li/libxc/package.nix +++ b/pkgs/by-name/li/libxc/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitLab, + fetchpatch, cmake, gfortran, perl, @@ -26,6 +27,14 @@ stdenv.mkDerivation rec { hash = versionHashes."${version}"; }; + patches = [ + # Fix build with newer CMake versions + (fetchpatch { + url = "https://gitlab.com/libxc/libxc/-/commit/450202adb8a3d698841dca853f2999b1befd932e.patch"; + sha256 = "sha256-XDt7+TzszSu+X6/PS+T8Q9BP76+bAXC9FzkA6ueo/OA="; + }) + ]; + # Timeout increase has already been included upstream in master. # Check upon updates if this can be removed. postPatch = '' @@ -49,7 +58,6 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ - "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" "-DENABLE_FORTRAN=ON" "-DBUILD_SHARED_LIBS=ON" "-DENABLE_XHOST=OFF" diff --git a/pkgs/by-name/li/libxc/python.nix b/pkgs/by-name/li/libxc/python.nix new file mode 100644 index 000000000000..86d9fb4aaace --- /dev/null +++ b/pkgs/by-name/li/libxc/python.nix @@ -0,0 +1,34 @@ +{ + buildPythonPackage, + lib, + libxc, + setuptools, + cmake, + numpy, +}: + +buildPythonPackage { + inherit (libxc) + pname + version + src + patches + meta + nativeBuildInputs + ; + + pyproject = true; + + build-system = [ + setuptools + cmake + ]; + + dependencies = [ + numpy + ]; + + dontUseCmakeConfigure = true; + + pythonImportsCheck = [ "pylibxc" ]; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1743ee145726..1cdfd4fe7b2a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8661,6 +8661,10 @@ self: super: with self; { libvirt = callPackage ../development/python-modules/libvirt { inherit (pkgs) libvirt; }; + libxc = callPackage ../by-name/li/libxc/python.nix { + libxc = pkgs.libxc_7; + }; + libxml2 = (toPythonModule ( pkgs.libxml2.override {