Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / canmatrix / default.nix
blobdbc7bd764baca6094540446f045d1139dc1aced3
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
5 , attrs
6 , bitstruct
7 , click
8 , future
9 , pathlib2
10 , typing ? null
11 , lxml
12 , xlwt
13 , xlrd
14 , xlsxwriter
15 , pyyaml
16 , pytestCheckHook
19 buildPythonPackage rec {
20   pname = "canmatrix";
21   version = "0.9.5";
23   # uses fetchFromGitHub as PyPi release misses test/ dir
24   src = fetchFromGitHub {
25     owner = "ebroecker";
26     repo = pname;
27     rev = version;
28     sha256 = "0x8x8kbg4gyzi0ia9657xygp0mqfii76b67fsx76d31bqsdvlda5";
29   };
31   propagatedBuildInputs = [
32     # required
33     attrs
34     bitstruct
35     click
36     future
37     pathlib2
38     # optional
39     lxml
40     xlwt
41     xlrd
42     xlsxwriter
43     pyyaml
44   ] ++ lib.optional (pythonOlder "3.5") typing;
46   postPatch = ''
47     substituteInPlace setup.py \
48       --replace "version = versioneer.get_version()" "version = \"${version}\""
49   '';
51   nativeCheckInputs = [ pytestCheckHook ];
52   # long_envvar_name_imports requires stable key value pair ordering
53   pytestFlagsArray = [ "-s src/canmatrix" ];
54   disabledTests = [ "long_envvar_name_imports" ];
55   pythonImportsCheck = [ "canmatrix" ];
57   meta = with lib; {
58     homepage = "https://github.com/ebroecker/canmatrix";
59     description = "Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x)";
60     license = licenses.bsd2;
61     maintainers = with maintainers; [ sorki ];
62   };