summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-08-19 13:17:34 +0200
committerMarius Bakke <marius@gnu.org>2020-11-21 01:21:32 +0100
commit78c5f162b73b665f7812a63db4e7482cda3c2bfa (patch)
treebd46f29ee5152d4f4a5479d140509e335568a12a
parent07caffbfbd8c5a50bca02e13d067aeb313e7363a (diff)
downloadguix-patches-78c5f162b73b665f7812a63db4e7482cda3c2bfa.tar
guix-patches-78c5f162b73b665f7812a63db4e7482cda3c2bfa.tar.gz
gnu: Add python-cfn-lint.
* gnu/packages/python-web.scm (python-cfn-lint): New public variable.
-rw-r--r--gnu/packages/python-web.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1afd614ce2..0e398a525f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -68,6 +68,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -380,6 +381,55 @@ Model} (SAM) templates into AWS CloudFormation templates.")
emit information from within their applications to the AWS X-Ray service.")
(license license:asl2.0)))
+(define-public python-cfn-lint
+ (package
+ (name "python-cfn-lint")
+ (version "0.41.0")
+ (home-page "https://github.com/aws-cloudformation/cfn-python-lint")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nqs0fmj3hd7pnd9hkb4z57jvi2iv82hh6n3xxba6i6p8zgx75q4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Remove test for the documentation update scripts
+ ;; to avoid a dependency on 'git'.
+ (delete-file
+ "test/unit/module/maintenance/test_update_documentation.py")
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (setenv "PATH" (string-append out "/bin:"
+ (getenv "PATH")))
+ (invoke "python" "-m" "unittest" "discover"
+ "-s" "test")))))))
+ (native-inputs
+ `(("python-pydot" ,python-pydot)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-aws-sam-translator" ,python-aws-sam-translator)
+ ("python-jsonpatch" ,python-jsonpatch)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-junit-xml" ,python-junit-xml)
+ ("python-networkx" ,python-networkx)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)))
+ (synopsis "Validate CloudFormation templates")
+ (description
+ "This package lets you validate CloudFormation YAML/JSON templates against
+the CloudFormation spec and additional checks. Includes checking valid values
+for resource properties and best practices.")
+ (license license:expat)))
+
(define-public python-falcon
(package
(name "python-falcon")