1{
2 buildPythonPackage,
3 lib,
4 fetchFromGitHub,
5 setuptools-scm,
6 pythonOlder,
7 importlib-metadata,
8 callPackage,
9}:
10
11buildPythonPackage rec {
12 pname = "pluggy";
13 version = "1.4.0";
14
15 disabled = pythonOlder "3.8";
16
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "pytest-dev";
21 repo = "pluggy";
22 rev = "refs/tags/${version}";
23 hash = "sha256-1XHJwODmpYQkYZvnZck6RrtT4lOeCf8cr1QFx9DCbzw=";
24 };
25
26 nativeBuildInputs = [ setuptools-scm ];
27
28 # To prevent infinite recursion with pytest
29 doCheck = false;
30 passthru.tests = {
31 pytest = callPackage ./tests.nix { };
32 };
33
34 meta = {
35 changelog = "https://github.com/pytest-dev/pluggy/blob/${src.rev}/CHANGELOG.rst";
36 description = "Plugin and hook calling mechanisms for Python";
37 homepage = "https://github.com/pytest-dev/pluggy";
38 license = lib.licenses.mit;
39 maintainers = with lib.maintainers; [ dotlambda ];
40 };
41}