1{ lib
2, buildPythonPackage
3, fetchPypi
4, cffi
5, pytestCheckHook
6, pyserial
7, fetchpatch
8}:
9
10buildPythonPackage rec {
11 pname = "smbus-cffi";
12 version = "0.5.1";
13
14 src = fetchPypi {
15 inherit pname version;
16 sha256 = "fb4195aaabfc01586863f60d3190b5cb1bf8f12622fd597e23e48768dad6bde8";
17 };
18
19 patches = [
20 # https://github.com/bivab/smbus-cffi/pull/24
21 (fetchpatch {
22 url = "https://github.com/bivab/smbus-cffi/commit/ba79ae174a9d84e767d95f165c43ee212b1bbb92.patch";
23 sha256 = "sha256-WtRuK5y6fWDEhm0Xy5XqS5yCkn7vXXYtjlOjS90gla4=";
24 })
25 ];
26
27 propagatedNativeBuildInputs = [ cffi ];
28
29 propagatedBuildInputs = [ cffi ];
30
31 installCheckPhase = ''
32 # we want to import the installed module that also contains the compiled library
33 rm -rf smbus
34 runHook pytestCheckPhase
35 '';
36
37 # requires hardware access
38 pytestFlagsArray = [ "--ignore=test/test_smbus_integration.py" ];
39
40 checkInputs = [ pytestCheckHook pyserial ];
41
42 meta = with lib; {
43 description = "Python module for SMBus access through Linux I2C /dev interface";
44 homepage = "https://github.com/bivab/smbus-cffi";
45 license = licenses.gpl2;
46 maintainers = with maintainers; [ mic92 ];
47 platforms = platforms.linux;
48 };
49}