1{ lib
2, buildPythonPackage
3, fetchPypi
4, msgpack
5, greenlet
6, pythonOlder
7, isPyPy
8}:
9
10buildPythonPackage rec {
11 pname = "pynvim";
12 version = "0.4.3";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-OnlTeL3l6AkvvrOhqZvpxhPSaFVC8dsOXG/UZ+7Vbf8=";
20 };
21
22 postPatch = ''
23 substituteInPlace setup.py \
24 --replace " + pytest_runner" ""
25 '';
26
27 propagatedBuildInputs = [
28 msgpack
29 ] ++ lib.optionals (!isPyPy) [
30 greenlet
31 ];
32
33 # Tests require pkgs.neovim which we cannot add because of circular dependency
34 doCheck = false;
35
36 pythonImportsCheck = [
37 "pynvim"
38 ];
39
40 meta = with lib; {
41 description = "Python client for Neovim";
42 homepage = "https://github.com/neovim/pynvim";
43 changelog = "https://github.com/neovim/pynvim/releases/tag/${version}";
44 license = licenses.asl20;
45 maintainers = with maintainers; [ figsoda ];
46 };
47}