summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2022-10-17 22:38:18 -0300
committerChristopher Baines <mail@cbaines.net>2022-10-18 10:58:49 +0100
commitb857d239e7975b6b474674a06e663abec610d59e (patch)
treee0417a18bc5f5526afec0309bfdb608022ea8060 /gnu
parentdfbeb5d1ce6e8faefe1b5d48ae1ced71c39e91e8 (diff)
downloadguix-b857d239e7975b6b474674a06e663abec610d59e.tar.gz
gnu: Add perl-critic.
* gnu/packages/perl.scm (perl-critic): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/perl.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index c07f9276fb..b6c33b2a36 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2262,6 +2262,51 @@ CPAN::Meta object are present.")
 versa.")
     (license (package-license perl))))
 
+(define-public perl-critic
+  (package
+    (name "perl-critic")
+    (version "1.140")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1nzxpn71mrpp85yxrxlraj52q2skvf9ja887ls11d57h6smg1vmz"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build perl-test-deep))
+    (propagated-inputs (list perltidy
+                             perl-exception-class
+                             perl-io-string
+                             perl-ppi
+                             perl-ppix-regexp
+                             perl-b-keywords
+                             perl-config-tiny
+                             perl-padwalker
+                             perl-test-memory-cycle
+                             perl-file-which
+                             perl-list-moreutils
+                             perl-module-pluggable
+                             perl-pod-parser
+                             perl-pod-spell
+                             perl-ppix-quotelike
+                             perl-ppix-utilities
+                             perl-readonly
+                             perl-string-format
+                             perl-task-weaken))
+    (home-page "https://metacpan.org/release/Perl-Critic")
+    (synopsis "Critique Perl source code for best-practices")
+    (description
+     "@code{perlcritic} is a Perl source code analyzer.  It is the
+executable front-end to the @code{Perl::Critic} engine, which attempts to
+identify awkward, hard to read, error-prone, or unconventional constructs in
+your code.  Most of the rules are based on Damian Conway's book \"Perl Best
+Practices\".  However, @code{perlcritic} is not limited to enforcing PBP, and it
+will even support rules that contradict Conway.  All rules can easily be
+configured or disabled to your liking.")
+    (license license:perl-license)))
+
 (define-public perl-crypt-cbc
   (package
     (name "perl-crypt-cbc")