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