1{
2 lib,
3 buildPythonPackage,
4 fetchpatch2,
5 fetchPypi,
6 mock,
7 pytestCheckHook,
8 pythonOlder,
9 setuptools,
10 sybil,
11 twisted,
12}:
13
14buildPythonPackage rec {
15 pname = "testfixtures";
16 version = "8.3.0";
17 pyproject = true;
18 # DO NOT CONTACT upstream.
19 # https://github.com/simplistix/ is only concerned with internal CI process.
20 # Any attempt by non-standard pip workflows to comment on issues will
21 # be met with hostility.
22 # https://github.com/simplistix/testfixtures/issues/169
23 # https://github.com/simplistix/testfixtures/issues/168
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-1MC4SvLyZ2EPkIAJtQ1vmDpOWK3iLGe6tnh7WkAtWcA=";
30 };
31
32 patches = [
33 (fetchpatch2 {
34 name = "python313-compat.patch";
35 url = "https://github.com/simplistix/testfixtures/commit/a23532c7bc685589cce6a5037821a74da48959e7.patch?full_index=1";
36 hash = "sha256-k0j/WgA+6LNTYJ233GJjeRU403bJJRxbpOu+BUsMeyQ=";
37 })
38 ];
39
40 build-system = [ setuptools ];
41
42 nativeCheckInputs = [
43 mock
44 pytestCheckHook
45 sybil
46 twisted
47 ];
48
49 disabledTestPaths = [
50 # Django is too much hasle to setup at the moment
51 "testfixtures/tests/test_django"
52 ];
53
54 pytestFlagsArray = [ "testfixtures/tests" ];
55
56 pythonImportsCheck = [ "testfixtures" ];
57
58 meta = with lib; {
59 description = "Collection of helpers and mock objects for unit tests and doc tests";
60 homepage = "https://github.com/Simplistix/testfixtures";
61 changelog = "https://github.com/simplistix/testfixtures/blob/${version}/CHANGELOG.rst";
62 license = licenses.mit;
63 maintainers = with maintainers; [ siriobalmelli ];
64 };
65}