diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/xyz/euandreh/perl.scm | 183 |
1 files changed, 110 insertions, 73 deletions
diff --git a/src/xyz/euandreh/perl.scm b/src/xyz/euandreh/perl.scm index 8adca06..93189a0 100644 --- a/src/xyz/euandreh/perl.scm +++ b/src/xyz/euandreh/perl.scm @@ -1,10 +1,10 @@ (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 licenses) #:use-module (guix packages)) (define-public perl-config-tiny @@ -21,45 +21,78 @@ (sha256 (base32 "000mw17nb7aj341s0afqimxd53w5y0c4yk61pihqzm191lx89pqj")))) (build-system perl-build-system) - (native-inputs - (list perl-test-pod)) + (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 "FIXME: fill-in-yourself!") - (license perl-license))) + (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.20") + (version "1.25") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-" + "mirror://cpan/authors/id/H/HA/HAARG/Pod-Spell-" version ".tar.gz")) (sha256 - (base32 "0g6hdnc98gc3widr7sja313b1606g37a0mw0l0wxih1bwazzg0v3")))) + (base32 "18wzpfn39hpw6n8g9pwh964nid8skks79i5jdcm33gf9kf5qx3r0")))) (build-system perl-build-system) (native-inputs - (list perl-file-sharedir-install - perl-test-deep)) + (list perl-file-sharedir-install)) (propagated-inputs (list perl-class-tiny perl-file-sharedir - perl-lingua-en-inflect - perl-path-tiny - perl-pod-parser)) + perl-lingua-en-inflect)) (home-page "https://metacpan.org/release/Pod-Spell") (synopsis "a formatter for spellchecking Pod") - (description "FIXME: fill-in-yourself!") - (license artistic2.0))) + (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.022") + (version "0.023") (source (origin (method url-fetch) @@ -68,41 +101,52 @@ version ".tar.gz")) (sha256 - (base32 "12ip3l8vsxqyabnxrgd723vhnjc2yrwbgrxqi8c6a6sn7f6lhhz0")))) + (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 "FIXME: fill-in-yourself!") - (license perl-license))) + (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-ppix-regexp +(define-public perl-readonly-xs (package - (name "perl-ppix-regexp") - (version "0.085") + (name "perl-readonly-xs") + (version "1.05") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-" + "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-" version ".tar.gz")) (sha256 - (base32 "07fg63ql3f7hv1ys10l8j0p562ndraq9lk66iw9y0f444j4vpw1f")))) + (base32 "03gz7yp194fwah2bc36ww04hgw1qx8p6y68vvnywircrablc9rca")))) (build-system perl-build-system) - (native-inputs - (list perl-module-build)) (propagated-inputs - (list perl-ppi - perl-task-weaken)) - (home-page "https://metacpan.org/release/PPIx-Regexp") - (synopsis "Parse regular expressions") - (description "FIXME: fill-in-yourself!") - (license perl-license))) + (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 @@ -119,19 +163,22 @@ (base32 "16yb7dnz8lgq2azs8jxj1wac60kbn16x8y4py04ci8nndww87903")))) (build-system perl-build-system) (native-inputs - (list perl-module-build - perl-ppi - perl-test-deep)) + (list perl-module-build + perl-test-deep)) (propagated-inputs (list perl-exception-class perl-ppi - perl-readonly perl-readonly-xs perl-task-weaken)) (home-page "https://metacpan.org/release/PPIx-Utilities") - (synopsis "Extensions to PPI.") - (description "FIXME: fill-in-yourself!") - (license perl-license))) + (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 @@ -149,29 +196,13 @@ (build-system perl-build-system) (home-page "https://metacpan.org/release/String-Format") (synopsis "sprintf-like string formatting capabilities with arbitrary format definitions") - (description "FIXME: fill-in-yourself!") - (license #f))) - -(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 Readonly.pm, to speed up read-only scalar variables.") - (description "FIXME: fill-in-yourself!") - (license #f))) + (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 @@ -189,31 +220,37 @@ (build-system perl-build-system) (native-inputs (list perl-module-build - perl-test-deep perl-test-deep)) (propagated-inputs - (list perl-b-keywords - perl-config-tiny + (list perltidy perl-exception-class - perl-file-which 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-build perl-module-pluggable - perltidy perl-pod-parser perl-pod-spell - perl-ppi perl-ppix-quotelike - perl-ppix-regexp 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 "FIXME: fill-in-yourself!") - (license perl-license))) + (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) |