1{ lib
2, fetchPypi
3, buildPythonPackage
4, six
5, udev
6, pytest
7, mock
8, hypothesis
9, docutils
10, stdenvNoCC
11}:
12
13buildPythonPackage rec {
14 pname = "pyudev";
15 version = "0.24.1";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-deVNNyGPWsRbDaHw/ZzF5SajysPvHPrUEM96sziwFHE=";
20 };
21
22 postPatch = lib.optionalString stdenvNoCC.isLinux ''
23 substituteInPlace src/pyudev/_ctypeslib/utils.py \
24 --replace "find_library(name)" "'${lib.getLib udev}/lib/libudev.so'"
25 '';
26
27 nativeCheckInputs = [ pytest mock hypothesis docutils ];
28 propagatedBuildInputs = [ six ];
29
30 checkPhase = ''
31 py.test
32 '';
33
34 # Bunch of failing tests
35 # https://github.com/pyudev/pyudev/issues/187
36 doCheck = false;
37
38 meta = with lib; {
39 homepage = "https://pyudev.readthedocs.org/";
40 description = "Pure Python libudev binding";
41 license = licenses.lgpl21Plus;
42 maintainers = with maintainers; [ frogamic ];
43 };
44}