1{ lib, fetchPypi, buildPythonApplication, pythonOlder
2, aspy-yaml
3, cached-property
4, cfgv
5, futures
6, identify
7, importlib-metadata
8, importlib-resources
9, nodeenv
10, six
11, toml
12, virtualenv
13}:
14
15buildPythonApplication rec {
16 pname = "pre-commit";
17 version = "1.18.2";
18
19 src = fetchPypi {
20 inherit version;
21 pname = "pre_commit";
22 sha256 = "1y6gd6nq8mfyjxknrgdryvn1bj5arvwaz2r00h41g054lfg3iki1";
23 };
24
25 propagatedBuildInputs = [
26 aspy-yaml
27 cached-property
28 cfgv
29 identify
30 nodeenv
31 six
32 toml
33 virtualenv
34 importlib-metadata
35 ] ++ lib.optional (pythonOlder "3.7") importlib-resources
36 ++ lib.optional (pythonOlder "3.2") futures;
37
38 # slow and impure
39 doCheck = false;
40
41 meta = with lib; {
42 description = "A framework for managing and maintaining multi-language pre-commit hooks";
43 homepage = https://pre-commit.com/;
44 license = licenses.mit;
45 maintainers = with maintainers; [ borisbabic ];
46 };
47}