at master 1.2 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 cython, 8 pip, 9 pkgconfig, 10 setuptools, 11 12 # dependencies 13 mpi4py, 14 numpy, 15 precice, 16}: 17 18buildPythonPackage rec { 19 pname = "pyprecice"; 20 version = "3.2.1"; 21 pyproject = true; 22 23 src = fetchFromGitHub { 24 owner = "precice"; 25 repo = "python-bindings"; 26 tag = "v${version}"; 27 hash = "sha256-8AM2wbPX54UaMO4MzLOV0TljLTAPOqR9gUbtT2McNjs="; 28 }; 29 30 postPatch = '' 31 substituteInPlace pyproject.toml \ 32 --replace-fail "setuptools>=61,<72" "setuptools" 33 ''; 34 35 build-system = [ 36 cython 37 pip 38 pkgconfig 39 setuptools 40 ]; 41 42 dependencies = [ 43 numpy 44 mpi4py 45 precice 46 ]; 47 48 # Disable Test because everything depends on open mpi which requires network 49 doCheck = false; 50 51 # Do not use pythonImportsCheck because this will also initialize mpi which requires a network interface 52 53 meta = { 54 description = "Python language bindings for preCICE"; 55 homepage = "https://github.com/precice/python-bindings"; 56 changelog = "https://github.com/precice/python-bindings/blob/${src.tag}/CHANGELOG.md"; 57 license = lib.licenses.lgpl3Only; 58 maintainers = with lib.maintainers; [ Scriptkiddi ]; 59 }; 60}