1{
2 lib,
3 attrs,
4 buildPythonPackage,
5 entry-points-txt,
6 fetchFromGitHub,
7 hatchling,
8 headerparser,
9 jsonschema,
10 pythonRelaxDepsHook,
11 packaging,
12 pytestCheckHook,
13 pythonOlder,
14 readme-renderer,
15 setuptools,
16 wheel-filename,
17}:
18
19buildPythonPackage rec {
20 pname = "wheel-inspect";
21 version = "1.7.1";
22 pyproject = true;
23
24 disabled = pythonOlder "3.6";
25
26 src = fetchFromGitHub {
27 owner = "jwodder";
28 repo = "wheel-inspect";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-pB9Rh+A7GlxnYuka2mTSBoxpoyYCzoaMPVgsHDlpos0=";
31 };
32
33 postPatch = ''
34 substituteInPlace tox.ini \
35 --replace-fail "--cov=wheel_inspect --no-cov-on-fail" ""
36 '';
37
38 pythonRelaxDeps = [
39 "entry-points-txt"
40 "headerparser"
41 ];
42
43 nativeBuildInputs = [
44 hatchling
45 pythonRelaxDepsHook
46 ];
47
48 propagatedBuildInputs = [
49 attrs
50 entry-points-txt
51 headerparser
52 packaging
53 readme-renderer
54 wheel-filename
55 ];
56
57 nativeCheckInputs = [ pytestCheckHook ];
58
59 checkInputs = [
60 setuptools
61 jsonschema
62 ];
63
64 pythonImportsCheck = [ "wheel_inspect" ];
65
66 pytestFlagsArray = [
67 "-W"
68 "ignore::DeprecationWarning"
69 ];
70
71 meta = with lib; {
72 description = "Extract information from wheels";
73 mainProgram = "wheel2json";
74 homepage = "https://github.com/jwodder/wheel-inspect";
75 changelog = "https://github.com/wheelodex/wheel-inspect/releases/tag/v${version}";
76 license = with licenses; [ mit ];
77 maintainers = with maintainers; [ ayazhafiz ];
78 };
79}