1{ lib
2, buildPythonPackage
3, fetchPypi
4, pathspec
5, pytestCheckHook
6, pythonOlder
7, pyyaml
8, stdenv
9}:
10
11buildPythonPackage rec {
12 pname = "yamllint";
13 version = "1.31.0";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-LYPx0S9zPhYqh+BrF2FJ17ucW65Knl/OHHcdf3A/emU=";
21 };
22
23 propagatedBuildInputs = [
24 pyyaml
25 pathspec
26 ];
27
28 nativeCheckInputs = [
29 pytestCheckHook
30 ];
31
32 disabledTests = [
33 # test failure reported upstream: https://github.com/adrienverge/yamllint/issues/373
34 "test_find_files_recursively"
35 ] ++ lib.optionals stdenv.isDarwin [
36 # locale tests are broken on BSDs; see https://github.com/adrienverge/yamllint/issues/307
37 "test_locale_accents"
38 "test_locale_case"
39 "test_run_with_locale"
40 ];
41
42 pythonImportsCheck = [ "yamllint" ];
43
44 meta = with lib; {
45 description = "A linter for YAML files";
46 homepage = "https://github.com/adrienverge/yamllint";
47 changelog = "https://github.com/adrienverge/yamllint/blob/v${version}/CHANGELOG.rst";
48 license = licenses.gpl3Plus;
49 maintainers = with maintainers; [ jonringer mikefaille ];
50 };
51}