at master 1.3 kB view raw
1{ 2 buildPythonPackage, 3 lib, 4 fetchFromGitHub, 5 gfortran, 6 makeWrapper, 7 setuptools, 8 setuptools-scm, 9 numpy, 10 scipy, 11 distutils, 12 pytestCheckHook, 13 mock, 14 pytest-mock, 15 pythonAtLeast, 16}: 17 18buildPythonPackage rec { 19 pname = "i-pi"; 20 version = "3.1.6"; 21 pyproject = true; 22 23 src = fetchFromGitHub { 24 owner = "i-pi"; 25 repo = "i-pi"; 26 tag = "v${version}"; 27 hash = "sha256-S7UagXjltyy2E9s5yoq95KjMfpy/Pb0zoGl6z6yv2sA="; 28 }; 29 30 build-system = [ 31 setuptools 32 setuptools-scm 33 ]; 34 35 nativeBuildInputs = [ 36 gfortran 37 makeWrapper 38 ]; 39 40 dependencies = [ 41 numpy 42 scipy 43 ]; 44 45 nativeCheckInputs = [ 46 pytestCheckHook 47 mock 48 pytest-mock 49 ] 50 ++ lib.optional (pythonAtLeast "3.12") distutils; 51 52 enabledTestPaths = [ "ipi_tests/unit_tests" ]; 53 disabledTests = [ 54 "test_driver_base" 55 "test_driver_forcebuild" 56 ]; 57 58 postFixup = '' 59 wrapProgram $out/bin/i-pi \ 60 --set IPI_ROOT $out 61 ''; 62 63 meta = with lib; { 64 description = "Universal force engine for ab initio and force field driven (path integral) molecular dynamics"; 65 license = with licenses; [ 66 gpl3Only 67 mit 68 ]; 69 homepage = "https://ipi-code.org/"; 70 platforms = platforms.linux; 71 maintainers = [ maintainers.sheepforce ]; 72 }; 73}