diff --git a/pkgs/development/python-modules/i-pi/default.nix b/pkgs/development/python-modules/i-pi/default.nix new file mode 100644 index 000000000000..5f031197978a --- /dev/null +++ b/pkgs/development/python-modules/i-pi/default.nix @@ -0,0 +1,41 @@ +{ buildPythonPackage, lib, fetchFromGitHub, gfortran +, makeWrapper, numpy, pytest, mock, pytest-mock +} : + +buildPythonPackage rec { + name = "i-pi"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "i-pi"; + repo = "i-pi"; + rev = "v${version}"; + sha256 = "0d0ag57aa0fsqjwya27fyj8alimjvlxzgh6hxjqy1k4ap9h3n1cy"; + }; + + nativeBuildInputs = [ + gfortran + makeWrapper + ]; + + propagatedBuildInputs = [ numpy ]; + + checkInputs = [ + pytest + mock + pytest-mock + ]; + + postFixup = '' + wrapProgram $out/bin/i-pi \ + --set IPI_ROOT $out + ''; + + meta = with lib; { + description = "A universal force engine for ab initio and force field driven (path integral) molecular dynamics"; + license = with licenses; [ gpl3Only mit ]; + homepage = "http://ipi-code.org/"; + platforms = platforms.linux; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7f29b8b4abf..33088d766463 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5855,6 +5855,8 @@ in ipget = callPackage ../applications/networking/ipget { }; + i-pi = with python3Packages; toPythonApplication i-pi; + iptsd = callPackage ../applications/misc/iptsd { }; ipmitool = callPackage ../tools/system/ipmitool {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5444bff767c6..6ac943d44a81 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3408,6 +3408,8 @@ in { ipfshttpclient = callPackage ../development/python-modules/ipfshttpclient { }; + i-pi = callPackage ../development/python-modules/i-pi { }; + iptools = callPackage ../development/python-modules/iptools { }; ipy = callPackage ../development/python-modules/IPy { };