1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, libusb1
5, mock
6, ndeflib
7, pydes
8, pyserial
9, pytest-mock
10, pytestCheckHook
11, pythonOlder
12}:
13
14buildPythonPackage rec {
15 pname = "nfcpy";
16 version = "1.0.4";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "nfcpy";
23 repo = "nfcpy";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-HFWOCiz6ISfxEeC6KPKNKGZoHvFjFGUn7QJWnwvJKYw=";
26 };
27
28 propagatedBuildInputs = [
29 libusb1
30 ndeflib
31 pydes
32 pyserial
33 ];
34
35 nativeCheckInputs = [
36 mock
37 pytest-mock
38 pytestCheckHook
39 ];
40
41 pythonImportsCheck = [
42 "nfc"
43 ];
44
45 disabledTestPaths = [
46 # AttributeError: 'NoneType' object has no attribute 'EC_KEY'
47 "tests/test_llcp_llc.py"
48 "tests/test_llcp_sec.py"
49 # Doesn't work on Hydra
50 "tests/test_clf_udp.py"
51 ];
52
53 meta = with lib; {
54 description = "A Python module to read/write NFC tags or communicate with another NFC device";
55 homepage = "https://github.com/nfcpy/nfcpy";
56 changelog = "https://github.com/nfcpy/nfcpy/blob/v${version}/HISTORY.rst";
57 license = licenses.eupl11;
58 maintainers = with maintainers; [ fab ];
59 };
60}
61