1{
2 lib,
3 fetchFromGitHub,
4 python3Packages,
5}:
6
7python3Packages.buildPythonApplication rec {
8 pname = "mutmut";
9 version = "3.2.0";
10 pyproject = true;
11
12 src = fetchFromGitHub {
13 repo = "mutmut";
14 owner = "boxed";
15 tag = version;
16 hash = "sha256-+e2FmfpGtK401IW8LNqeHk0v8Hh5rF3LbZJkSOJ3yPY=";
17 };
18
19 postPatch = ''
20 substituteInPlace requirements.txt --replace-fail 'junit-xml==1.8' 'junit-xml==1.9'
21 '';
22
23 disabled = python3Packages.pythonOlder "3.7";
24
25 doCheck = false;
26
27 build-system = with python3Packages; [ setuptools ];
28
29 dependencies = with python3Packages; [
30 click
31 parso
32 junit-xml
33 setproctitle
34 textual
35 ];
36
37 pythonImportsCheck = [ "mutmut" ];
38
39 meta = {
40 description = "Mutation testing system for Python, with a strong focus on ease of use";
41 mainProgram = "mutmut";
42 homepage = "https://github.com/boxed/mutmut";
43 changelog = "https://github.com/boxed/mutmut/blob/${version}/HISTORY.rst";
44 license = lib.licenses.bsd3;
45 maintainers = with lib.maintainers; [
46 l0b0
47 synthetica
48 ];
49 };
50}