summary refs log tree commit diff
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-07-04 23:22:01 +0100
committerLudovic Courtès <ludo@gnu.org>2023-07-18 00:41:15 +0200
commitde02a58e25c65756e90c3c5fd6eb6da65985a970 (patch)
tree69546d7957deb6ffe130ef1db86c66e17e012e9d
parentf2359b15a5ecacc39c533c4ea19ca76ff0a3aa43 (diff)
downloadguix-de02a58e25c65756e90c3c5fd6eb6da65985a970.tar.gz
gnu: Add python-gixy.
* gnu/packages/check.scm (python-gixy): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/check.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 85eeac98a4..71dc9eb54b 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -44,6 +44,7 @@
 ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
 ;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -812,6 +813,41 @@ and it supports a very flexible form of test discovery.")
 has been designed to be fast, light and unintrusive.")
     (license license:expat)))
 
+(define-public python-gixy
+  ;; The 0.1.20 release is missing some important fixes.
+  ;; XXX: Commit 'e9008dcbd11f43ccac109b0cf2bf98a94e76b449' breaks tests
+  ;; since it improperly removes an import.
+  (let ((commit "303eb6887ddecab18138b6e427b04ae77c41d2f1")
+        (revision "0")
+        (base-version "0.1.20"))
+    (package
+      (name "python-gixy")
+      (version (git-version base-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/yandex/gixy")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0gymjcnvjx9snyrzdbmjnk93ibb161q72xam29vnl3yyac4r1330"))))
+      (build-system pyproject-build-system)
+      (native-inputs (list python-nose))
+      (propagated-inputs
+       (list python-cached-property python-configargparse
+             python-jinja2 python-six
+             ;; XXX: gixy is incompatible with pyparsing >= 3.x.
+             ;; See <https://github.com/yandex/gixy/pull/132> and
+             ;; <https://github.com/yandex/gixy/pull/122>.
+             python-pyparsing-2.4.7))
+      (home-page "https://github.com/yandex/gixy")
+      (synopsis "Static NGINX configuration analyzer")
+      (description "Gixy is a static analyzer whose main goal is to help
+prevent common NGINX misconfigurations.  It provides the @command{gixy}
+command.")
+      (license license:mpl2.0))))
+
 (define-public go-github.com-smartystreets-gunit
   (package
     (name "go-github.com-smartystreets-gunit")