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