1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch,
6 hatchling,
7 pythonOlder,
8 pytest,
9 tappy,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "pytest-tap";
15 version = "3.5";
16 pyproject = true;
17
18 disabled = pythonOlder "3.9";
19
20 src = fetchFromGitHub {
21 owner = "python-tap";
22 repo = "pytest-tap";
23 rev = "v${version}";
24 hash = "sha256-IuVtH1hrynbFDmz7IZ6vef9bAwl8L1eqR9WYQVL6CCA=";
25 };
26
27 patches = [
28 (fetchpatch {
29 # see https://github.com/python-tap/pytest-tap/pull/105
30 name = "missing-package-in-wheel.patch";
31 url = "https://github.com/python-tap/pytest-tap/commit/056a44a632b1af19d9ba4b5044768bde3dd6a764.patch";
32 hash = "sha256-P52NqgXtnO2SthDwVbT+NVPeBNhjGS/8Vsbe/WLCc3A=";
33 })
34 ];
35
36 build-system = [ hatchling ];
37
38 buildInputs = [ pytest ];
39
40 propagatedBuildInputs = [ tappy ];
41
42 nativeCheckInputs = [ pytestCheckHook ];
43
44 pythonImportsCheck = [ "pytest_tap" ];
45
46 meta = with lib; {
47 description = "Test Anything Protocol (TAP) reporting plugin for pytest";
48 homepage = "https://github.com/python-tap/pytest-tap";
49 changelog = "https://github.com/python-tap/pytest-tap/blob/v${version}/docs/releases.rst";
50 license = licenses.bsd2;
51 maintainers = with maintainers; [ cynerd ];
52 };
53}