at 23.05-pre 1.2 kB view raw
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 substituteInPlace hacking/checks/python23.py \ 24 --replace 'H236: class Foo(object):\n __metaclass__ = \' 'Okay: class Foo(object):\n __metaclass__ = \' 25 substituteInPlace hacking/checks/except_checks.py \ 26 --replace 'H201: except:' 'Okay: except:' 27 ''; 28 29 nativeBuildInputs = [ pbr ]; 30 31 propagatedBuildInputs = [ 32 flake8 33 ]; 34 35 checkInputs = [ 36 ddt 37 stestr 38 testscenarios 39 ]; 40 41 checkPhase = '' 42 # tries to trigger flake8 and fails 43 rm hacking/tests/test_doctest.py 44 45 stestr run 46 ''; 47 48 pythonImportsCheck = [ "hacking" ]; 49 50 meta = with lib; { 51 description = "OpenStack Hacking Guideline Enforcement"; 52 homepage = "https://github.com/openstack/hacking"; 53 license = licenses.asl20; 54 maintainers = teams.openstack.members; 55 }; 56}