GNU bug report logs - #58603
[PATCH 0/8] Add perlcritic

Previous Next

Package: guix-patches;

Reported by: EuAndreh <eu <at> euandre.org>

Date: Tue, 18 Oct 2022 01:34:01 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 58603 in the body.
You can then email your comments to 58603 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:34:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to EuAndreh <eu <at> euandre.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 18 Oct 2022 01:34:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: guix-patches <at> gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 0/8] Add perlcritic
Date: Mon, 17 Oct 2022 22:32:45 -0300
Add the "perlcritic" package, and all the modules that it requires that
were not already packaged.

All packages were styled with './pre-inst-env guix style' and built
twice reproducibly.

Note: the new "perl-string-format" is a different package than the
existing "perl-string-formatter".

EuAndreh (8):
  gnu: Add perl-config-tiny.
  gnu: Add perl-pod-spell.
  gnu: Add perl-readonly-xs.
  gnu: Add perl-string-format.
  gnu: Add perl-ppix-regexp.
  gnu: Add perl-ppix-quotelike.
  gnu: Add perl-ppix-utilities.
  gnu: Add perl-critic.

 gnu/packages/perl.scm | 245 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 245 insertions(+)

-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 1/8] gnu: Add perl-config-tiny.
Date: Mon, 17 Oct 2022 22:38:11 -0300
* gnu/packages/perl.scm (perl-config-tiny): New variable.
---
 gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 022ca73429..d9bda9a878 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2076,6 +2076,33 @@ (define-public perl-config-ini
 and writing of @code{.ini}-style configuration files.")
     (license (package-license perl))))
 
+(define-public perl-config-tiny
+  (package
+    (name "perl-config-tiny")
+    (version "2.28")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-"
+                    version ".tgz"))
+              (sha256
+               (base32
+                "000mw17nb7aj341s0afqimxd53w5y0c4yk61pihqzm191lx89pqj"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-test-pod))
+    (home-page "https://metacpan.org/release/Config-Tiny")
+    (synopsis "Read/Write .ini style files with as little code as possible")
+    (description
+     "@code{Config::Tiny} is a Perl class to read and write .ini
+style configuration files with as little code as possible, reducing load time
+and memory overhead.
+
+This module is primarily for reading human written files, and anything we write
+shouldn't need to have documentation/comments.  If you need something with more
+power move up to @code{Config::Simple}, @code{Config::General} or one of the
+many other @code{Config::*} modules.")
+    (license license:perl-license)))
+
 (define-public perl-const-fast
   (package
     (name "perl-const-fast")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:39:03 GMT) Full text and rfc822 format available.

Message #11 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 2/8] gnu: Add perl-pod-spell.
Date: Mon, 17 Oct 2022 22:38:12 -0300
* gnu/packages/perl.scm (perl-pod-spell): New variable.
---
 gnu/packages/perl.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d9bda9a878..1146fecb6b 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -71,6 +71,7 @@ (define-module (gnu packages perl)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages hurd)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages language)
   #:use-module (gnu packages less)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl-check)
@@ -8709,6 +8710,34 @@ (define-public perl-pod-simple
 used for writing documentation for Perl and for Perl modules.")
     (license (package-license perl))))
 
+(define-public perl-pod-spell
+  (package
+    (name "perl-pod-spell")
+    (version "1.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/H/HA/HAARG/Pod-Spell-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "18wzpfn39hpw6n8g9pwh964nid8skks79i5jdcm33gf9kf5qx3r0"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-file-sharedir-install))
+    (propagated-inputs (list perl-class-tiny perl-file-sharedir
+                             perl-lingua-en-inflect))
+    (home-page "https://metacpan.org/release/Pod-Spell")
+    (synopsis "Formatter for spellchecking Pod")
+    (description
+     "@code{Pod::Spell} is a Pod formatter whose output is good
+for spellchecking.
+
+@code{Pod::Spell} is rather like @code{Pod::Text}, except that it doesn't put
+much effort into actual formatting, and it suppresses things that look like Perl
+symbols or Perl jargon (so that your spellchecking program won't complain about
+mystery words like \"@code{$thing}\" or \"@code{Foo::Bar}\" or \"@code{hashref}\").")
+    (license license:artistic2.0)))
+
 (define-public perl-posix-strftime-compiler
   (package
     (name "perl-posix-strftime-compiler")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:39:03 GMT) Full text and rfc822 format available.

Message #14 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 3/8] gnu: Add perl-readonly-xs.
Date: Mon, 17 Oct 2022 22:38:13 -0300
* gnu/packages/perl.scm (perl-readonly-xs): New variable.
---
 gnu/packages/perl.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 1146fecb6b..f5a8fad4d5 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -8854,6 +8854,38 @@ (define-public perl-readonly
 variables that should not be changed.")
     (license (package-license perl))))
 
+(define-public perl-readonly-xs
+  (package
+    (name "perl-readonly-xs")
+    (version "1.05")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "03gz7yp194fwah2bc36ww04hgw1qx8p6y68vvnywircrablc9rca"))))
+    (build-system perl-build-system)
+    (propagated-inputs (list perl-readonly))
+    (home-page "https://metacpan.org/release/Readonly-XS")
+    (synopsis "Companion module for @code{Readonly.pm}, to speed up read-only
+scalar variables")
+    (description
+     "The @code{Readonly} module is an effective way to create non-modifiable
+variables.  However, it's relatively slow.
+
+The reason it's slow is that is implements the read-only-ness of variables via
+tied objects.  This mechanism is inherently slow.  Perl simply has to do a lot
+of work under the hood to make tied variables work.
+
+This module corrects the speed problem, at least with respect to scalar
+variables.  When @code{Readonly::XS} is installed, @code{Readonly} uses it to
+access the internals of scalar variables.  Instead of creating a scalar variable
+object and tying it, @code{Readonly} simply flips the @code{SvREADONLY} bit in
+the scalar's @code{FLAGS} structure.")
+    (license license:perl-license)))
+
 (define-public perl-ref-util-xs
   (package
     (name "perl-ref-util-xs")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:39:03 GMT) Full text and rfc822 format available.

Message #17 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 4/8] gnu: Add perl-string-format.
Date: Mon, 17 Oct 2022 22:38:14 -0300
* gnu/packages/perl.scm (perl-string-format): New variable.
---
 gnu/packages/perl.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f5a8fad4d5..d6e4de59fc 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -9464,6 +9464,30 @@ (define-public perl-string-escape
 removing double-quotes, and truncating to fit within a desired length.")
     (license (package-license perl))))
 
+(define-public perl-string-format
+  (package
+    (name "perl-string-format")
+    (version "1.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0y77frxzjifd4sw0j19cc346ysas1mya84rdxaz279lyin7plhcy"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/String-Format")
+    (synopsis "Format sprintf-like strings with arbitrary format definitions")
+    (description
+     "@code{String::Format} lets you define arbitrary printf-like format
+sequences to be expanded.  This module would be most useful in configuration
+files and reporting tools, where the results of a query need to be formatted in
+a particular way.  It was inspired by
+@url{http://www.mutt.org/doc/manual/manual.html#index-format,mutt's
+@code{index_format} and related directives}.")
+    (license license:gpl2)))
+
 (define-public perl-string-formatter
   (package
     (name "perl-string-formatter")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:39:04 GMT) Full text and rfc822 format available.

Message #20 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 5/8] gnu: Add perl-ppix-regexp.
Date: Mon, 17 Oct 2022 22:38:15 -0300
* gnu/packages/perl.scm (perl-ppix-regexp): New variable.
---
 gnu/packages/perl.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d6e4de59fc..6022720b1f 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -8786,6 +8786,30 @@ (define-public perl-ppi
 code.")
     (license license:perl-license)))
 
+(define-public perl-ppix-regexp
+  (package
+    (name "perl-ppix-regexp")
+    (version "0.085")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "07fg63ql3f7hv1ys10l8j0p562ndraq9lk66iw9y0f444j4vpw1f"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build))
+    (propagated-inputs (list perl-ppi))
+    (home-page "https://metacpan.org/release/PPIx-Regexp")
+    (synopsis "Parse Perl string literals and string-literal-like things")
+    (description
+     "The purpose of the @code{PPIx-Regexp} package is to parse
+regular expressions in a manner similar to the way the @code{PPI} package parses
+Perl.  This class forms the root of the parse tree, playing a role similar to
+@code{PPI::Document}.")
+    (license license:perl-license)))
+
 (define-public perl-probe-perl
   (package
     (name "perl-probe-perl")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:40:01 GMT) Full text and rfc822 format available.

Message #23 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 6/8] gnu: Add perl-ppix-quotelike.
Date: Mon, 17 Oct 2022 22:38:16 -0300
* gnu/packages/perl.scm (perl-ppix-quotelike): New variable.
---
 gnu/packages/perl.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6022720b1f..acd4db5efc 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -8810,6 +8810,29 @@ (define-public perl-ppix-regexp
 @code{PPI::Document}.")
     (license license:perl-license)))
 
+(define-public perl-ppix-quotelike
+  (package
+    (name "perl-ppix-quotelike")
+    (version "0.023")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "08ad4d20afvi1c4xzwbfk94lmf6gwlmqkdrpjxzf0lrcklaa6xim"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build))
+    (propagated-inputs (list perl-ppi perl-ppix-regexp perl-readonly))
+    (home-page "https://metacpan.org/release/PPIx-QuoteLike")
+    (synopsis "Parse Perl string literals and string-literal-like things")
+    (description
+     "@code{PPIX::QuoteLike} parses Perl string literals and things that
+are reasonably like string literals.  Its real reason for being is to find
+interpolated variables for @code{Perl::Critic} policies and similar code.")
+    (license license:perl-license)))
+
 (define-public perl-probe-perl
   (package
     (name "perl-probe-perl")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:40:02 GMT) Full text and rfc822 format available.

Message #26 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 7/8] gnu: Add perl-ppix-utilities.
Date: Mon, 17 Oct 2022 22:38:17 -0300
* gnu/packages/perl.scm (perl-ppix-utilities): New variable.
---
 gnu/packages/perl.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index acd4db5efc..f602181f05 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -8833,6 +8833,33 @@ (define-public perl-ppix-quotelike
 interpolated variables for @code{Perl::Critic} policies and similar code.")
     (license license:perl-license)))
 
+(define-public perl-ppix-utilities
+  (package
+    (name "perl-ppix-utilities")
+    (version "1.001000")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "16yb7dnz8lgq2azs8jxj1wac60kbn16x8y4py04ci8nndww87903"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build perl-test-deep))
+    (propagated-inputs (list perl-exception-class perl-ppi perl-readonly-xs
+                             perl-task-weaken))
+    (home-page "https://metacpan.org/release/PPIx-Utilities")
+    (synopsis "Extensions to PPI")
+    (description
+     "@code{PPIx::Utilities} is a collection of functions for dealing
+with @code{PPI} objects, many of which originated in @code{Perl::Critic}.  They
+are organized into modules by the kind of @code{PPI} class they relate to, by
+replacing the \"@code{PPI}\" at the front of the module name with
+\"@code{PPIx::Utilities}\", e.g. functionality related to @code{PPI::Nodes} is
+in @code{PPIx::Utilities::Node}.")
+    (license license:perl-license)))
+
 (define-public perl-probe-perl
   (package
     (name "perl-probe-perl")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58603; Package guix-patches. (Tue, 18 Oct 2022 01:40:02 GMT) Full text and rfc822 format available.

Message #29 received at 58603 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: 58603 <at> debbugs.gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH 8/8] gnu: Add perl-critic.
Date: Mon, 17 Oct 2022 22:38:18 -0300
* gnu/packages/perl.scm (perl-critic): New variable.
---
 gnu/packages/perl.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f602181f05..6b9e3f526e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2262,6 +2262,51 @@ (define-public perl-cpanel-json-xs
 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")
-- 
2.38.0





Reply sent to Christopher Baines <mail <at> cbaines.net>:
You have taken responsibility. (Tue, 18 Oct 2022 10:25:02 GMT) Full text and rfc822 format available.

Notification sent to EuAndreh <eu <at> euandre.org>:
bug acknowledged by developer. (Tue, 18 Oct 2022 10:25:02 GMT) Full text and rfc822 format available.

Message #34 received at 58603-done <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: EuAndreh <eu <at> euandre.org>
Cc: 58603-done <at> debbugs.gnu.org
Subject: Re: [bug#58603] [PATCH 0/8] Add perlcritic
Date: Tue, 18 Oct 2022 11:24:36 +0100
[Message part 1 (text/plain, inline)]
EuAndreh via Guix-patches via <guix-patches <at> gnu.org> writes:

> Add the "perlcritic" package, and all the modules that it requires that
> were not already packaged.
>
> All packages were styled with './pre-inst-env guix style' and built
> twice reproducibly.
>
> Note: the new "perl-string-format" is a different package than the
> existing "perl-string-formatter".
>
> EuAndreh (8):
>   gnu: Add perl-config-tiny.
>   gnu: Add perl-pod-spell.
>   gnu: Add perl-readonly-xs.
>   gnu: Add perl-string-format.
>   gnu: Add perl-ppix-regexp.
>   gnu: Add perl-ppix-quotelike.
>   gnu: Add perl-ppix-utilities.
>   gnu: Add perl-critic.
>
>  gnu/packages/perl.scm | 245 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 245 insertions(+)

Thanks! Pushed to master as b857d239e7975b6b474674a06e663abec610d59e.

Chris
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 15 Nov 2022 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 276 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.