1{
2 lib,
3 isPyPy,
4 buildPythonPackage,
5 pytest-fixture-config,
6 fetchpatch,
7
8 # build-time
9 setuptools,
10 setuptools-git,
11
12 # runtime
13 pytest,
14 mock,
15 path,
16 execnet,
17 termcolor,
18 six,
19
20 # tests
21 pytestCheckHook,
22}:
23
24buildPythonPackage {
25 pname = "pytest-shutil";
26 inherit (pytest-fixture-config) version src;
27 pyproject = true;
28
29 # imp was removed in Python 3.12
30 patches = [
31 (fetchpatch {
32 name = "stop-using-imp.patch";
33 url = "https://build.opensuse.org/public/source/openSUSE:Factory/python-pytest-shutil/stop-using-imp.patch?rev=10";
34 hash = "sha256-ZsfOic6VmKIlK+HeAlUwiM4fXgw9wHo445dP9j5/h8Q=";
35 })
36 ] ++ pytest-fixture-config.patches;
37
38 postPatch = ''
39 cd pytest-shutil
40 '';
41
42 build-system = [
43 setuptools
44 setuptools-git
45 ];
46
47 buildInputs = [ pytest ];
48
49 dependencies = [
50 mock
51 path
52 execnet
53 termcolor
54 six
55 ];
56
57 nativeCheckInputs = [ pytestCheckHook ];
58
59 disabledTests =
60 [ "test_pretty_formatter" ]
61 ++ lib.optionals isPyPy [
62 "test_run"
63 "test_run_integration"
64 ];
65
66 meta = with lib; {
67 description = "Goodie-bag of unix shell and environment tools for py.test";
68 homepage = "https://github.com/manahl/pytest-plugins";
69 maintainers = with maintainers; [ ryansydnor ];
70 license = licenses.mit;
71 };
72}