emacsPackages.treemacs: replace python3 program (#364623)
[NixPkgs.git] / pkgs / development / python-modules / reuse / default.nix
blob2048406fd23fe9e289c9352baba9ade83ec32eb2
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   poetry-core,
6   sphinxHook,
7   furo,
8   myst-parser,
9   pbr,
10   sphinxcontrib-apidoc,
12   # dependencies
13   attrs,
14   binaryornot,
15   boolean-py,
16   click,
17   python-debian,
18   jinja2,
19   license-expression,
20   tomlkit,
22   # test dependencies
23   freezegun,
24   pytestCheckHook,
27 buildPythonPackage rec {
28   pname = "reuse";
29   version = "5.0.2";
30   pyproject = true;
32   src = fetchFromGitHub {
33     owner = "fsfe";
34     repo = "reuse-tool";
35     rev = "refs/tags/v${version}";
36     hash = "sha256-MzI3AY5WLNyCLJZM7Q5wUH3ttx+FHPlSgAfngzOgzec=";
37   };
39   outputs = [
40     "out"
41     "doc"
42     "man"
43   ];
45   build-system = [
46     poetry-core
47     sphinxHook
48     furo
49     myst-parser
50     pbr
51     sphinxcontrib-apidoc
52   ];
54   dependencies = [
55     attrs
56     binaryornot
57     boolean-py
58     click
59     python-debian
60     jinja2
61     license-expression
62     tomlkit
63   ];
65   nativeCheckInputs = [
66     pytestCheckHook
67     freezegun
68   ];
70   disabledTestPaths = [
71     # pytest wants to execute the actual source files for some reason, which fails with ImportPathMismatchError()
72     "src/reuse"
73   ];
75   sphinxBuilders = [
76     "html"
77     "man"
78   ];
79   sphinxRoot = "docs";
81   pythonImportsCheck = [ "reuse" ];
83   meta = with lib; {
84     description = "Tool for compliance with the REUSE Initiative recommendations";
85     homepage = "https://github.com/fsfe/reuse-tool";
86     changelog = "https://github.com/fsfe/reuse-tool/blob/v${version}/CHANGELOG.md";
87     license = with licenses; [
88       asl20
89       cc-by-sa-40
90       cc0
91       gpl3Plus
92     ];
93     maintainers = with maintainers; [
94       FlorianFranzen
95       Luflosi
96     ];
97     mainProgram = "reuse";
98   };