33afbf39f6
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
96 lines
2.1 KiB
Nix
96 lines
2.1 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, pythonOlder
|
|
, aws-sam-translator
|
|
, jschema-to-python
|
|
, jsonpatch
|
|
, jsonschema
|
|
, junit-xml
|
|
, networkx
|
|
, pyyaml
|
|
, sarif-om
|
|
, setuptools
|
|
, six
|
|
, mock
|
|
, pydot
|
|
, pytestCheckHook
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "cfn-lint";
|
|
version = "0.72.5";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "aws-cloudformation";
|
|
repo = "cfn-python-lint";
|
|
rev = "refs/tags/v${version}";
|
|
sha256 = "sha256-UDjCTl4AAOrwiXbKYIFsZCaSDjIFXYwNnp8/hIfXbM0=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace setup.py \
|
|
--replace "jsonschema~=3.0" "jsonschema>=3.0"
|
|
'';
|
|
|
|
propagatedBuildInputs = [
|
|
aws-sam-translator
|
|
jschema-to-python
|
|
jsonpatch
|
|
jsonschema
|
|
junit-xml
|
|
networkx
|
|
pyyaml
|
|
sarif-om
|
|
six
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
mock
|
|
pydot
|
|
pytestCheckHook
|
|
];
|
|
|
|
preCheck = ''
|
|
export PATH=$out/bin:$PATH
|
|
'';
|
|
|
|
disabledTests = [
|
|
# These tests depend on the current date, for example because of issues like this.
|
|
# This makes it possible for them to succeed on hydra and then begin to fail without
|
|
# any code changes.
|
|
# https://github.com/aws-cloudformation/cfn-python-lint/issues/1705
|
|
# See also: https://github.com/NixOS/nixpkgs/issues/108076
|
|
"TestQuickStartTemplates"
|
|
# requires git directory
|
|
"test_update_docs"
|
|
# Tests depend on network access (fails in getaddrinfo)
|
|
"test_update_resource_specs_python_2"
|
|
"test_update_resource_specs_python_3"
|
|
"test_sarif_formatter"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"cfnlint"
|
|
"cfnlint.conditions"
|
|
"cfnlint.core"
|
|
"cfnlint.decode.node"
|
|
"cfnlint.decode.cfn_yaml"
|
|
"cfnlint.decode.cfn_json"
|
|
"cfnlint.decorators.refactored"
|
|
"cfnlint.graph"
|
|
"cfnlint.helpers"
|
|
"cfnlint.rules"
|
|
"cfnlint.runner"
|
|
"cfnlint.template"
|
|
"cfnlint.transform"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Checks cloudformation for practices and behaviour that could potentially be improved";
|
|
homepage = "https://github.com/aws-cloudformation/cfn-python-lint";
|
|
changelog = "https://github.com/aws-cloudformation/cfn-python-lint/blob/master/CHANGELOG.md";
|
|
license = licenses.mit;
|
|
};
|
|
}
|