1{ lib
2, buildPythonPackage
3, fetchPypi
4, pbr
5, flake8
6, stestr
7, ddt
8, testscenarios
9}:
10
11buildPythonPackage rec {
12 pname = "hacking";
13 version = "4.1.0";
14
15 src = fetchPypi {
16 inherit pname version;
17 sha256 = "0fg19rlcky3n1y1ri61xyjp7534yzf8r102z9dw3zqg93f4kj20m";
18 };
19
20 postPatch = ''
21 substituteInPlace requirements.txt \
22 --replace "flake8<3.9.0,>=3.8.0" "flake8"
23 '';
24
25 nativeBuildInputs = [ pbr ];
26
27 propagatedBuildInputs = [
28 flake8
29 ];
30
31 checkInputs = [
32 ddt
33 stestr
34 testscenarios
35 ];
36
37 checkPhase = ''
38 stestr run
39 '';
40
41 pythonImportsCheck = [ "hacking" ];
42
43 meta = with lib; {
44 description = "OpenStack Hacking Guideline Enforcement";
45 homepage = "https://github.com/openstack/hacking";
46 license = licenses.asl20;
47 maintainers = teams.openstack.members;
48 };
49}