Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / hacking / default.nix
blobbd92a27122282860debf3398db0e2422176931c8
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , pbr
5 , flake8
6 , stestr
7 , ddt
8 , testscenarios
9 }:
11 buildPythonPackage rec {
12   pname = "hacking";
13   version = "6.0.1";
15   src = fetchPypi {
16     inherit pname version;
17     hash = "sha256-YdeEb8G58m7CFnjpkHQmkJX5ZNe72M1kbrbIxML4jcE=";
18   };
20   postPatch = ''
21     sed -i 's/flake8.*/flake8/' requirements.txt
22     substituteInPlace hacking/checks/python23.py \
23       --replace 'H236: class Foo(object):\n    __metaclass__ = \' 'Okay: class Foo(object):\n    __metaclass__ = \'
24     substituteInPlace hacking/checks/except_checks.py \
25       --replace 'H201: except:' 'Okay: except:'
26   '';
28   nativeBuildInputs = [ pbr ];
30   propagatedBuildInputs = [
31     flake8
32   ];
34   nativeCheckInputs = [
35     ddt
36     stestr
37     testscenarios
38   ];
40   checkPhase = ''
41     # tries to trigger flake8 and fails
42     rm hacking/tests/test_doctest.py
44     stestr run
45   '';
47   pythonImportsCheck = [ "hacking" ];
49   meta = with lib; {
50     description = "OpenStack Hacking Guideline Enforcement";
51     homepage = "https://github.com/openstack/hacking";
52     license = licenses.asl20;
53     maintainers = teams.openstack.members;
54   };