build-bazel-package: added rm of extra local folders for toolchain configuration...
[NixPkgs.git] / pkgs / development / python-modules / canmatrix / default.nix
blob372a8ed685fb3aa1b8ec9ba4448a687daf7f4ed4
2   lib,
3   attrs,
4   buildPythonPackage,
5   click,
6   fetchFromGitHub,
7   future,
8   importlib-metadata,
9   ldfparser,
10   lxml,
11   openpyxl,
12   pytestCheckHook,
13   pythonOlder,
14   pyyaml,
15   setuptools,
16   six,
17   versioneer,
18   xlrd,
19   xlwt,
22 buildPythonPackage rec {
23   pname = "canmatrix";
24   version = "1.0";
25   pyproject = true;
27   disabled = pythonOlder "3.7";
29   src = fetchFromGitHub {
30     owner = "ebroecker";
31     repo = "canmatrix";
32     tag = version;
33     hash = "sha256-UUJnLVt+uOj8Eav162btprkUeTemItGrSnBBB9UhJJI=";
34   };
36   postPatch = ''
37     # Remove vendorized versioneer.py
38     rm versioneer.py
39   '';
41   build-system = [ setuptools ];
43   nativeBuildInputs = [ versioneer ];
45   dependencies = [
46     attrs
47     click
48     future
49     six
50   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
52   optional-dependencies = {
53     arxml = [ lxml ];
54     fibex = [ lxml ];
55     kcd = [ lxml ];
56     ldf = [ ldfparser ];
57     odx = [ lxml ];
58     xls = [
59       xlrd
60       xlwt
61     ];
62     xlsx = [ openpyxl ];
63     yaml = [ pyyaml ];
64   };
66   nativeCheckInputs = [
67     pytestCheckHook
68   ] ++ lib.flatten (builtins.attrValues optional-dependencies);
70   pytestFlagsArray = [
71     # long_envvar_name_imports requires stable key value pair ordering
72     "-s src/canmatrix"
73   ];
75   disabledTests = [ "long_envvar_name_imports" ];
77   pythonImportsCheck = [ "canmatrix" ];
79   meta = with lib; {
80     description = "Support and convert several CAN (Controller Area Network) database formats";
81     homepage = "https://github.com/ebroecker/canmatrix";
82     changelog = "https://github.com/ebroecker/canmatrix/releases/tag/${version}";
83     license = licenses.bsd2;
84     maintainers = with maintainers; [ sorki ];
85   };