My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/development/python-modules/flake8/default.nix

62 lines
1.2 KiB

{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, configparser
, enum34
, mccabe
, pycodestyle
, pyflakes
, functools32
, typing
, importlib-metadata
, mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "flake8";
version = "4.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "03c7mnk34wfz7a0m5zq0273y94awz69fy5iww8alh4a4v96h6vl0";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace "mccabe>=0.6.0,<0.7.0" "mccabe>=0.7.0,<0.8.0"
'';
propagatedBuildInputs = [
pyflakes
pycodestyle
mccabe
] ++ lib.optionals (pythonOlder "3.2") [
configparser
functools32
] ++ lib.optionals (pythonOlder "3.4") [
enum34
] ++ lib.optionals (pythonOlder "3.5") [
typing
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
# Tests fail on Python 3.7 due to importlib using a deprecated interface
doCheck = !(pythonOlder "3.8");
checkInputs = [
mock
pytestCheckHook
];
disabled = pythonOlder "3.6";
meta = with lib; {
description = "Flake8 is a wrapper around pyflakes, pycodestyle and mccabe.";
homepage = "https://github.com/pycqa/flake8";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}