Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 62 lines 1.5 kB view raw
1{ lib, fetchPypi, buildPythonPackage, pythonOlder 2, aspy-yaml 3, cached-property 4, cfgv 5, identify 6, importlib-metadata 7, importlib-resources 8, isPy27 9, nodeenv 10, python 11, six 12, toml 13, virtualenv 14}: 15 16buildPythonPackage rec { 17 pname = "pre-commit"; 18 version = "2.11.0"; 19 disabled = isPy27; 20 21 src = fetchPypi { 22 inherit version; 23 pname = "pre_commit"; 24 sha256 = "15f1chxrbmfcajk1ngk3jvf6jjbigb5dg66wnn7phmlywaawpy06"; 25 }; 26 27 patches = [ 28 ./hook-tmpl-use-the-hardcoded-path-to-pre-commit.patch 29 ./languages-use-the-hardcoded-path-to-python-binaries.patch 30 ]; 31 32 propagatedBuildInputs = [ 33 aspy-yaml 34 cached-property 35 cfgv 36 identify 37 nodeenv 38 six 39 toml 40 virtualenv 41 ] ++ lib.optional (pythonOlder "3.8") importlib-metadata 42 ++ lib.optional (pythonOlder "3.7") importlib-resources; 43 44 # slow and impure 45 doCheck = false; 46 47 preFixup = '' 48 substituteInPlace $out/${python.sitePackages}/pre_commit/resources/hook-tmpl \ 49 --subst-var-by pre-commit $out 50 substituteInPlace $out/${python.sitePackages}/pre_commit/languages/python.py \ 51 --subst-var-by virtualenv ${virtualenv} 52 substituteInPlace $out/${python.sitePackages}/pre_commit/languages/node.py \ 53 --subst-var-by nodeenv ${nodeenv} 54 ''; 55 56 meta = with lib; { 57 description = "A framework for managing and maintaining multi-language pre-commit hooks"; 58 homepage = "https://pre-commit.com/"; 59 license = licenses.mit; 60 maintainers = with maintainers; [ borisbabic ]; 61 }; 62}