|
|
(define-module (xyz euandreh perl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages language)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (guix build-system perl)
#:use-module (guix download)
#:use-module (guix packages))
(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-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 "a 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-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-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-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-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-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 "sprintf-like string formatting capabilities 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-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)))
(list
perl-critic)
|