Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / canmatrix / default.nix
blob287d14e60d671b6e72a25baaae35e71ccd4107dd
1 { lib
2 , attrs
3 , buildPythonPackage
4 , click
5 , fetchFromGitHub
6 , future
7 , importlib-metadata
8 , ldfparser
9 , lxml
10 , openpyxl
11 , pytestCheckHook
12 , pythonOlder
13 , pyyaml
14 , six
15 , xlrd
16 , xlwt
19 buildPythonPackage rec {
20   pname = "canmatrix";
21   version = "1.0";
22   format = "setuptools";
24   disabled = pythonOlder "3.7";
26   src = fetchFromGitHub {
27     owner = "ebroecker";
28     repo = "canmatrix";
29     rev = "refs/tags/${version}";
30     hash = "sha256-UUJnLVt+uOj8Eav162btprkUeTemItGrSnBBB9UhJJI=";
31   };
33   postPatch = ''
34     substituteInPlace setup.py \
35       --replace "version = versioneer.get_version()" 'version = "${version}"'
36   '';
38   propagatedBuildInputs = [
39     attrs
40     click
41     future
42     six
43   ] ++ lib.optionals (pythonOlder "3.8") [
44     importlib-metadata
45   ];
47   passthru.optional-dependencies = {
48     arxml = [
49       lxml
50     ];
51     fibex = [
52       lxml
53     ];
54     kcd = [
55       lxml
56     ];
57     ldf = [
58       ldfparser
59     ];
60     odx = [
61       lxml
62     ];
63     xls = [
64       xlrd
65       xlwt
66     ];
67     xlsx = [
68       openpyxl
69     ];
70     yaml = [
71       pyyaml
72     ];
73   };
75   nativeCheckInputs = [
76     pytestCheckHook
77   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
79   pytestFlagsArray = [
80     # long_envvar_name_imports requires stable key value pair ordering
81     "-s src/canmatrix"
82   ];
84   disabledTests = [
85     "long_envvar_name_imports"
86   ];
88   pythonImportsCheck = [
89     "canmatrix"
90   ];
92   meta = with lib; {
93     description = "Support and convert several CAN (Controller Area Network) database formats";
94     homepage = "https://github.com/ebroecker/canmatrix";
95     changelog = "https://github.com/ebroecker/canmatrix/releases/tag/${version}";
96     license = licenses.bsd2;
97     maintainers = with maintainers; [ sorki ];
98   };