;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2013, 2019, 2020, 2021 Andreas Enge ;;; Copyright © 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016, 2018 Mark H Weaver ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2016 Nikita ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016, 2018, 2020, 2021 Roel Janssen ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2017 Raoul J.P. Bonnal ;;; Copyright © 2017, 2018 Marius
aboutsummaryrefslogtreecommitdiff
blob: 5629061788ec308df524aefda597bf0f35e13e7f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages)
  #:use-module (guix packages)
  #:use-module (guix ui)
  #:use-module (guix utils)
  #:use-module (guix discovery)
  #:use-module (guix memoization)
  #:use-module ((guix build utils)
                #:select ((package-name->name+version
                           . hyphen-separated-name->name+version)))
  #:autoload   (guix profiles) (packages->manifest)
  #:use-module (ice-9 vlist)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-11)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-34)
  #:use-module (srfi srfi-35)
  #:use-module (srfi srfi-39)
  #:export (search-patch
            search-patches
            search-auxiliary-file
            search-bootstrap-binary
            %patch-path
            %auxiliary-files-path
            %bootstrap-binaries-path
            %package-module-path

            fold-packages

            find-packages-by-name
            find-best-packages-by-name
            find-newest-available-packages

            specification->package
            specification->package+output
            specifications->manifest))

;;; Commentary:
;;;
;;; General utilities for the software distribution---i.e., the modules under
;;; (gnu packages ...).
;;;
;;; Code:

;; By default, we store patches, auxiliary files and bootstrap binaries
;; alongside Guile modules.  This is so that these extra files can be
;; found without requiring a special setup, such as a specific
;; installation directory and an extra environment variable.  One
;; advantage of this setup is that everything just works in an
;; auto-compilation setting.

(define %bootstrap-binaries-path
  (make-parameter
   (map (cut string-append <> "/gnu/packages/bootstrap")
        %load-path)))

(define %auxiliary-files-path
  (make-parameter
   (map (cut string-append <> "/gnu/packages/aux-files")
        %load-path)))

(define (search-auxiliary-file file-name)
  "Search the auxiliary FILE-NAME.  Return #f if not found."
  (search-path (%auxiliary-files-path) file-name))

(define (search-patch file-name)
  "Search the patch FILE-NAME.  Raise an error if not found."
  (or (search-path (%patch-path) file-name)
      (raise (condition
              (&message (message (format #f (G_ "~a: patch not found")
                                         file-name)))))))

(define-syntax-rule (search-patches file-name ...)
  "Return the list of absolute file names corresponding to each
FILE-NAME found in %PATCH-PATH."
  (list (search-patch file-name) ...))

(define (search-bootstrap-binary file-name system)
  "Search the bootstrap binary FILE-NAME for SYSTEM.  Raise an error if not
found."
  (or (search-path (%bootstrap-binaries-path)
                   (string-append system "/" file-name))
      (raise (condition
              (&message
               (message
                (format #f (G_ "could not find bootstrap binary '~a' \
for system '~a'")
                        file-name system)))))))

(define %distro-root-directory
  ;; Absolute file name of the module hierarchy.
  (dirname (search-path %load-path "guix.scm")))

(define %package-module-path
  ;; Search path for package modules.  Each item must be either a directory
  ;; name or a pair whose car is a directory and whose cdr is a sub-directory
  ;; to narrow the search.
  (let* ((not-colon   (char-set-complement (char-set #\:)))
         (environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "")
                                       not-colon)))
    ;; Automatically add items from $GUIX_PACKAGE_PATH to Guile's search path.
    (for-each (lambda (directory)
                (set! %load-path (cons directory %load-path))
                (set! %load-compiled-path
                      (cons directory %load-compiled-path)))
              environment)

    (make-parameter
     (append environment `((,%distro-root-directory . "gnu/packages"))))))

(define %patch-path
  ;; Define it after '%package-module-path' so that '%load-path' contains user
  ;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
  (make-parameter
   (map (lambda (directory)
          (if (string=? directory %distro-root-directory)
              (string-append directory "/gnu/packages/patches")
              directory))
        %load-path)))

(define (fold-packages proc init)
  "Call (PROC PACKAGE RESULT) for each available package, using INIT as
the initial value of RESULT.  It is guaranteed to never traverse the
same package twice."
  (fold-module-public-variables (lambda (object result)
                                  (if (and (package? object)
                                           (not (hidden-package? object)))
                                      (proc object result)
                                      result))
                                init
                                (all-modules (%package-module-path))))

(define find-packages-by-name
  (let ((packages (delay
                    (fold-packages (lambda (p r)
                                     (vhash-cons (package-name p) p r))
                                   vlist-null)))
        (version>? (lambda (p1 p2)
                     (version>? (package-version p1) (package-version p2)))))
    (lambda* (name #:optional version)
      "Return the list of packages with the given NAME.  If VERSION is not #f,
then only return packages whose version is prefixed by VERSION, sorted in
decreasing version order."
      (let ((matching (sort (vhash-fold* cons '() name (force packages))
                            version>?)))
        (if version
            (filter (lambda (package)
                      (string-prefix? version (package-version package)))
                    matching)
            matching)))))

(define find-newest-available-packages
  (mlambda ()
    "Return a vhash keyed by package names, and with
associated values of the form

  (newest-version newest-package ...)

where the preferred package is listed first."

    ;; FIXME: Currently, the preferred package is whichever one
    ;; was found last by 'fold-packages'.  Find a better solution.
    (fold-packages (lambda (p r)
                     (let ((name    (package-name p))
                           (version (package-version p)))
                       (match (vhash-assoc name r)
                         ((_ newest-so-far . pkgs)
                          (case (version-compare version newest-so-far)
                            ((>) (vhash-cons name `(,version ,p) r))
                            ((=) (vhash-cons name `(,version ,p ,@pkgs) r))
                            ((<) r)))
                         (#f (vhash-cons name `(,version ,p) r)))))
                   vlist-null)))

(define (find-best-packages-by-name name version)
  "If version is #f, return the list of packages named NAME with the highest
version numbers; otherwise, return the list of packages named NAME and at
VERSION."
  (if version
      (find-packages-by-name name version)
      (match (vhash-assoc name (find-newest-available-packages))
        ((_ version pkgs ...) pkgs)
        (#f '()))))


(define %sigint-prompt
  ;; The prompt to jump to upon SIGINT.
  (make-prompt-tag "interruptible"))

(define (call-with-sigint-handler thunk handler)
  "Call THUNK and return its value.  Upon SIGINT, call HANDLER with the signal
number in the context of the continuation of the call to this function, and
return its return value."
  (call-with-prompt %sigint-prompt
                    (lambda ()
                      (sigaction SIGINT
                        (lambda (signum)
                          (sigaction SIGINT SIG_DFL)
                          (abort-to-prompt %sigint-prompt signum)))
                      (dynamic-wind
                        (const #t)
                        thunk
                        (cut sigaction SIGINT SIG_DFL)))
                    (lambda (k signum)
                      (handler signum))))


;;;
;;; Package specification.
;;;

(define* (%find-package spec name version)
  (match (find-best-packages-by-name name version)
    ((pkg . pkg*)
     (unless (null? pkg*)
       (warning (G_ "ambiguous package specification `~a'~%") spec)
       (warning (G_ "choosing ~a@~a from ~a~%")
                (package-name pkg) (package-version pkg)
                (location->string (package-location pkg))))
     (match (package-superseded pkg)
       ((? package? new)
        (info (G_ "package '~a' has been superseded by '~a'~%")
              (package-name pkg) (package-name new))
        new)
       (#f
        pkg)))
    (x
     (if version
         (leave (G_ "~A: package not found for version ~a~%") name version)
         (leave (G_ "~A: unknown package~%") name)))))

(define (specification->package spec)
  "Return a package matching SPEC.  SPEC may be a package name, or a package
name followed by an at-sign and a version number.  If the version number is not
present, return the preferred newest version."
  (let-values (((name version) (package-name->name+version spec)))
    (%find-package spec name version)))

(define* (specification->package+output spec #:optional (output "out"))
  "Return the package and output specified by SPEC, or #f and #f; SPEC may
optionally contain a version number and an output name, as in these examples:

  guile
  guile@2.0.9
  guile:debug
  guile@2.0.9:debug

If SPEC does not specify a version number, return the preferred newest
version; if SPEC does not specify an output, return OUTPUT."
  (let-values (((name version sub-drv)
                (package-specification->name+version+output spec output)))
    (match (%find-package spec name version)
      (#f
       (values #f #f))
      (package
       (if (member sub-drv (package-outputs package))
           (values package sub-drv)
           (leave (G_ "package `~a' lacks output `~a'~%")
                  (package-full-name package)
                  sub-drv))))))

(define (specifications->manifest specs)
  "Given SPECS, a list of specifications such as \"emacs@25.2\" or
\"guile:debug\", return a profile manifest."
  ;; This procedure exists mostly so users of 'guix package -m' don't have to
  ;; fiddle with multiple-value returns.
  (packages->manifest
   (map (compose list specification->package+output) specs)))
Authen::DecHpwd} implements the SYS$HASH_PASSWORD password hashing function from VMS (also known as LGI$HPWD) and some associated VMS username and password handling functions. The password hashing function is implemented in XS with a pure Perl backup version for systems that cannot handle XS.") (license license:gpl2+))) (define-public perl-authen-passphrase (package (name "perl-authen-passphrase") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-" version ".tar.gz")) (sha256 (base32 "0qq4krap687rxf6xr31bg5nj5dqmm1frcm7fq249v1bxc4h4bnsm")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (propagated-inputs `(("perl-authen-dechpwd" ,perl-authen-dechpwd) ("perl-crypt-des" ,perl-crypt-des) ("perl-crypt-eksblowfish" ,perl-crypt-eksblowfish) ("perl-crypt-mysql" ,perl-crypt-mysql) ("perl-crypt-passwdmd5" ,perl-crypt-passwdmd5) ("perl-crypt-unixcrypt_xs" ,perl-crypt-unixcrypt_xs) ("perl-data-entropy" ,perl-data-entropy) ("perl-digest-md4" ,perl-digest-md4) ("perl-module-runtime" ,perl-module-runtime) ("perl-params-classify" ,perl-params-classify))) (home-page "https://metacpan.org/release/Authen-Passphrase") (synopsis "Hashed passwords/passphrases as objects") (description "@code{Authen-Passphrase} is the base class for a system of objects that encapsulate passphrases. An object of this type is a passphrase recogniser; its job is to recognise whether an offered passphrase is the right one. For security such passphrase recognisers usually do not themselves know the passphrase they are looking for; they can merely recognise it when they see it. There are many schemes in use to achieve this effect and the intent of this class is to provide a consistent interface to them all. In addition to the base class, this module also contains implementations of several specific passphrase schemes.") (license license:perl-license))) (define-public perl-autovivification (package (name "perl-autovivification") (version "0.18") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/" "autovivification-" version ".tar.gz")) (sha256 (base32 "01giacr2sx6b9bgfz6aqw7ndcnf08j8n6kwhm7880a94hmb9g69d")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/autovivification") (synopsis "Lexically disable autovivification") (description "When an undefined variable is dereferenced, it gets silently upgraded to an array or hash reference (depending of the type of the dereferencing). This behaviour is called autovivification and usually does what you mean but it may be unnatural or surprising because your variables get populated behind your back. This is especially true when several levels of dereferencing are involved, in which case all levels are vivified up to the last, or when it happens in intuitively read-only constructs like @code{exists}. The pragma provided by this package lets you disable autovivification for some constructs and optionally throws a warning or an error when it would have happened.") (license (package-license perl)))) (define-public perl-bareword-filehandles (package (name "perl-bareword-filehandles") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/bareword-filehandles-" version ".tar.gz")) (sha256 (base32 "0zy1v746pzv3vvvpr3plpykz0vfhi940q9bfypzzhynq2qvm6d21")))) (build-system perl-build-system) (native-inputs `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) ("perl-extutils-depends" ,perl-extutils-depends))) (propagated-inputs `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints))) (home-page "https://metacpan.org/release/bareword-filehandles") (synopsis "Disables bareword filehandles") (description "This module disables bareword filehandles.") (license (package-license perl)))) (define-public perl-base (deprecated-package "perl-base" perl)) (define-public perl-browser-open (package (name "perl-browser-open") (version "0.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CF/CFRANKS/Browser-Open-" version ".tar.gz")) (sha256 (base32 "0rv80n5ihy9vnrzsc3l7wlk8880cwabiljrydrdnxq1gg0lk3sxc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Browser-Open") (synopsis "Open a browser in a given URL") (description "The functions exported by this module allow you to open URLs in the user's browser. A set of known commands per OS-name is tested for presence, and the first one found is executed. With an optional parameter, all known commands are checked.") (license (package-license perl)))) (define-public perl-bsd-resource (package (name "perl-bsd-resource") (version "1.2911") (source (origin (method url-fetch) (uri (string-append "https://cpan.metacpan.org/authors/id/J/JH/JHI/BSD-Resource-" version ".tar.gz")) (sha256 (base32 "0g8c7825ng2m0yz5sy6838rvfdl8j3vm29524wjgf66ccfhgn74x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/BSD-Resource") (synopsis "BSD process resource limit and priority functions") (description "This package provides procedures to get and set resource limits like @code{getrlimit} and @code{setpriority}.") (license license:artistic2.0))) (define-public perl-b-hooks-endofscope (package (name "perl-b-hooks-endofscope") (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "B-Hooks-EndOfScope-" version ".tar.gz")) (sha256 (base32 "1imcqxp23yc80a7p0h56sja9glbrh4qyhgzljqd4g9habpz3vah3")))) (build-system perl-build-system) (propagated-inputs `(("perl-module-runtime" ,perl-module-runtime) ("perl-module-implementation" ,perl-module-implementation) ("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive) ("perl-variable-magic" ,perl-variable-magic))) (home-page "https://metacpan.org/release/B-Hooks-EndOfScope") (synopsis "Execute code after a scope finished compilation") (description "This module allows you to execute code when perl finished compiling the surrounding scope.") (license (package-license perl)))) (define-public perl-b-hooks-op-check (package (name "perl-b-hooks-op-check") (version "0.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-" version ".tar.gz")) (sha256 (base32 "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7")))) (build-system perl-build-system) (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends))) (home-page "https://metacpan.org/release/B-Hooks-OP-Check") (synopsis "Wrap OP check callbacks") (description "This module allows you to wrap OP check callbacks.") (license (package-license perl)))) (define-public perl-b-keywords (package (name "perl-b-keywords") (version "1.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-" version ".tar.gz")) (sha256 (base32 "0i2ksp0w9wv1qc22hrdl3k48cww64syhmv8zf6x0kgyd4081hr56")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/B-Keywords") (synopsis "Lists of reserved barewords and symbol names") (description "@code{B::Keywords} supplies several arrays of exportable keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols, @@Functions, @@Barewords, @@TieIOMethods, @@UNIVERSALMethods and @@ExporterSymbols}.") ;; GPLv2 only (license license:gpl2))) (define-public perl-benchmark-timer (package (name "perl-benchmark-timer") (version "0.7102") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/" "Benchmark-Timer-" version ".tar.gz")) (sha256 (base32 "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install))) ;; The optional input module Statistics::PointEstimation (from ;; Statistics-TTest) lists no license. (synopsis "Benchmarking with statistical confidence") (description "The Benchmark::Timer class allows you to time portions of code conveniently, as well as benchmark code by allowing timings of repeated trials. It is perfect for when you need more precise information about the running time of portions of your code than the Benchmark module will give you, but don't want to go all out and profile your code.") (home-page "https://metacpan.org/release/Benchmark-Timer") (license license:gpl2))) (define-public perl-bit-vector (package (name "perl-bit-vector") (version "7.4") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/ST/STBEY/" "Bit-Vector-" version ".tar.gz")) (sha256 (base32 "09m96p8c0ipgz42li2ywdgy0vxb57mb5nf59j9gw7yzc3xkslv9w")))) (build-system perl-build-system) (propagated-inputs `(("perl-carp-clan" ,perl-carp-clan))) (home-page "https://metacpan.org/release/Bit-Vector") (synopsis "Bit vector library") (description "Bit::Vector is an efficient C library which allows you to handle bit vectors, sets (of integers), \"big integer arithmetic\" and boolean matrices, all of arbitrary sizes. The package also includes an object-oriented Perl module for accessing the C library from Perl, and optionally features overloaded operators for maximum ease of use. The C library can nevertheless be used stand-alone, without Perl.") (license (list (package-license perl) license:lgpl2.0+)))) (define-public perl-boolean (package (name "perl-boolean") (version "0.46") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" "boolean-" version ".tar.gz")) (sha256 (base32 "0shmiw8pmshnwj01cz8g94867hjf4vc1dkp61xlbz0rybh48ih4m")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/boolean") (synopsis "Boolean support for Perl") (description "This module provides basic Boolean support, by defining two special objects: true and false.") (license (package-license perl)))) (define-public perl-business-isbn-data (package (name "perl-business-isbn-data") (version "20140910.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISBN-Data-" version ".tar.gz")) (sha256 (base32 "1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Business-ISBN-Data") (synopsis "Data files for Business::ISBN") (description "This package provides a data pack for @code{Business::ISBN}. These data are generated from the RangeMessage.xml file provided by the ISBN Agency.") (license (package-license perl)))) (define-public perl-business-isbn (package (name "perl-business-isbn") (version "3.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISBN-" version ".tar.gz")) (sha256 (base32 "07l3zfv8hagv37i3clvj5a1zc2jarr5phg80c93ks35zaz6llx9i")))) (build-system perl-build-system) (propagated-inputs `(("perl-business-isbn-data" ,perl-business-isbn-data) ("perl-mojolicious" ,perl-mojolicious))) (home-page "https://metacpan.org/release/Business-ISBN") (synopsis "Work with International Standard Book Numbers") (description "This modules provides tools to deal with International Standard Book Numbers, including ISBN-10 and ISBN-13.") (license license:artistic2.0))) (define-public perl-business-issn (package (name "perl-business-issn") (version "1.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISSN-" version ".tar.gz")) (sha256 (base32 "1lcr9dabwqssjpff97ki6w8mjhvh8kfbj3csbyy28ylk35n4awhj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Business-ISSN") (synopsis "Work with International Standard Serial Numbers") (description "This modules provides tools to deal with International Standard Serial Numbers.") (license (package-license perl)))) (define-public perl-business-ismn (package (name "perl-business-ismn") (version "1.201") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISMN-" version ".tar.gz")) (sha256 (base32 "1cpcfyaz1fl6fnm076jx2jsphw147wj6aszj2yzqrgsncjhk2cja")))) (build-system perl-build-system) (native-inputs `(("perl-tie-cycle" ,perl-tie-cycle))) (home-page "https://metacpan.org/release/Business-ISMN") (synopsis "Work with International Standard Music Numbers") (description "This modules provides tools to deal with International Standard Music Numbers.") (license (package-license perl)))) (define-public perl-cache-cache (package (name "perl-cache-cache") (version "1.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Cache-Cache-" version ".tar.gz")) (sha256 (base32 "1s6i670dc3yb6ngvdk48y6szdk5n1f4icdcjv2vi1l2xp9fzviyj")))) (build-system perl-build-system) (propagated-inputs `(("perl-digest-sha1" ,perl-digest-sha1) ("perl-error" ,perl-error) ("perl-ipc-sharelite" ,perl-ipc-sharelite))) (home-page "https://metacpan.org/release/Cache-Cache") (synopsis "Cache interface for Perl") (description "The Cache modules are designed to assist a developer in persisting data for a specified period of time. Often these modules are used in web applications to store data locally to save repeated and redundant expensive calls to remote machines or databases. People have also been known to use Cache::Cache for its straightforward interface in sharing data between runs of an application or invocations of a CGI-style script or simply as an easy to use abstraction of the file system or shared memory.") (license (package-license perl)))) (define-public perl-cache-fastmmap (package (name "perl-cache-fastmmap") (version "1.48") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/" "Cache-FastMmap-" version ".tar.gz")) (sha256 (base32 "118y5lxwa092zrii7mcwnqypff7424w1dpgfkg8zlnz7h2mmnd9c")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Cache-FastMmap") (synopsis "Shared memory interprocess cache via mmap") (description "A shared memory cache through an mmap'ed file. It's core is written in C for performance. It uses fcntl locking to ensure multiple processes can safely access the cache at the same time. It uses a basic LRU algorithm to keep the most used entries in the cache.") (license (package-license perl)))) (define-public perl-capture-tiny (package (name "perl-capture-tiny") (version "0.48") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-" version ".tar.gz")) (sha256 (base32 "069yrikrrb4vqzc3hrkkfj96apsh7q0hg8lhihq97lxshwz128vc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Capture-Tiny") (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs") (description "Capture::Tiny provides a simple, portable way to capture almost anything sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license license:asl2.0))) (define-public perl-canary-stability (package (name "perl-canary-stability") (version "2013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Canary-Stability-" version ".tar.gz")) (sha256 (base32 "1smnsx371x9zrqmylgq145991xh8561mraqfyrlbiz4mrxi1rjd5")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Canary-Stability") (synopsis "Check compatibility with the installed perl version") (description "This module is used by Schmorp's modules during configuration stage to test the installed perl for compatibility with his modules.") (license (package-license perl)))) (define-public perl-carp (package (name "perl-carp") (version "1.50") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-" version ".tar.gz")) (sha256 (base32 "1ngbpjyd9qi7n4h5r3q3qibd8by7rfiv7364jqlv4lbd3973n9zm")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Carp") (synopsis "Alternative warn and die for modules") (description "The @code{Carp} routines are useful in your own modules because they act like @code{die()} or @code{warn()}, but with a message which is more likely to be useful to a user of your module. In the case of @code{cluck}, @code{confess}, and @code{longmess} that context is a summary of every call in the call-stack. For a shorter message you can use @code{carp} or @code{croak} which report the error as being from where your module was called. There is no guarantee that that is where the error was, but it is a good educated guess.") (license (package-license perl)))) (define-public perl-carp-always (package (name "perl-carp-always") (version "0.16") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-" version ".tar.gz")) (sha256 (base32 "1wb6b0qjga7kvn4p8df6k4g1pl2yzaqiln1713xidh3i454i3alq")))) (build-system perl-build-system) (native-inputs `(("perl-test-base" ,perl-test-base))) (home-page "https://metacpan.org/release/Carp-Always") (synopsis "Warns and dies noisily with stack backtraces/") (description "This module is meant as a debugging aid. It can be used to make a script complain loudly with stack backtraces when @code{warn()}-ing or @code{die()}ing.") (license (package-license perl)))) (define-public perl-carp-assert (package (name "perl-carp-assert") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Carp-Assert-" version ".tar.gz")) (sha256 (base32 "0km5fc6r6whxh6h5yd7g1j0bi96sgk0gkda6cardicrw9qmqwkwj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Carp-Assert") (synopsis "Executable comments for Perl") (description "Carp::Assert is intended for a purpose like the ANSI C library assert.h.") (license (package-license perl)))) (define-public perl-carp-assert-more (package (name "perl-carp-assert-more") (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/" "Carp-Assert-More-" version ".tar.gz")) (sha256 (base32 "14x4m4dlj7pwq2r2fsmww3q3xb61cdgnrlmjh5mms3ikaln6rmmk")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-carp-assert" ,perl-carp-assert))) (home-page "https://metacpan.org/release/Carp-Assert-More") (synopsis "Convenience wrappers around Carp::Assert") (description "Carp::Assert::More is a set of handy assertion functions for Perl.") (license license:artistic2.0))) (define-public perl-carp-clan (package (name "perl-carp-clan") (version "6.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Carp-Clan-" version ".tar.gz")) (sha256 (base32 "0237xx3rqa72sr4vdvws9r1m453h5f25bl85mdjmmk128kir4py7")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) (home-page "https://metacpan.org/release/Carp-Clan") (synopsis "Report errors from a \"clan\" of modules") (description "This module allows errors from a clan (or family) of modules to appear to originate from the caller of the clan. This is necessary in cases where the clan modules are not classes derived from each other, and thus the Carp.pm module doesn't help.") (license (package-license perl)))) (define-public perl-cddb-get (package (name "perl-cddb-get") (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-" version ".tar.gz")) (sha256 (base32 "1jfrwvfasylcafbvb0jjm94ad4v6k99a7rf5i4qwzhg4m0gvmk5x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/CDDB_get") (synopsis "Read the CDDB entry for an audio CD in your drive") (description "This module can retrieve information from the CDDB.") ;; Either GPLv2 or the "Artistic" license. (license (list license:gpl2 license:artistic2.0)))) (define-public circos (package (name "circos") (version "0.69-9") (source (origin (method url-fetch) (uri (string-append "http://circos.ca/distribution/circos-" version ".tgz")) (sha256 (base32 "1ll9yxbk0v64813np0qz6h8bc53qlnhg9y1053b57xgkxgmxgn1l")) (patches (list (search-patch "circos-remove-findbin.patch"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. #:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (datapath (string-append out "/share/Circos")) (error (string-append out "/share/Circos/error")) (fonts (string-append out "/share/Circos/fonts")) (data (string-append out "/share/Circos/data")) (tiles (string-append out "/share/Circos/tiles")) (etc (string-append out "/share/Circos/etc")) (lib (string-append out "/lib/perl5/site_perl/" ,(package-version perl))) (install-directory (lambda (source target) (mkdir-p target) (copy-recursively source target)))) ;; Circos looks into a relative path for its configuration ;; files. We need to provide an absolute path towards the ;; corresponding paths in the store. (substitute* '("bin/circos" "etc/colors_fonts_patterns.conf" "etc/gddiag.conf" "etc/brewer.conf" "README") (("<= 0.99, another fails with unicode ;; character handling. (arguments `(#:tests? #f)) (home-page "https://metacpan.org/release/Module-Install") (synopsis "Standalone, extensible Perl module installer") (description "Module::Install is a package for writing installers for CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl installation version 5.005 or newer.") (license (package-license perl)))) (define-public perl-module-manifest (package (name "perl-module-manifest") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-" version ".tar.gz")) (sha256 (base32 "16skpm804a19gsgxzn1wba3lmvc7cx5q8ly4srpyd82yy47zi5d3")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception) ("perl-test-warn" ,perl-test-warn))) (propagated-inputs `(("perl-params-util" ,perl-params-util))) (home-page "https://metacpan.org/release/Module-Manifest") (synopsis "Parse and examine a Perl distribution @file{MANIFEST} file") (description "@code{Module::Manifest} is a simple utility module created originally for use in @code{Module::Inspector}. It can load a @file{MANIFEST} file that comes in a Perl distribution tarball, examine the contents, and perform some simple tasks. It can also load the @file{MANIFEST.SKIP} file and check that.") (license license:perl-license))) (define-public perl-module-pluggable (package (name "perl-module-pluggable") (version "5.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SI/SIMONW/" "Module-Pluggable-" version ".tar.gz")) (sha256 (base32 "1px6qmszmfc69v36vd8d92av4nkrif6xf4nrj3xv647xwi2svwmk")) (patches (search-patches "perl-module-pluggable-search.patch")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Module-Pluggable") (synopsis "Give your Perl module the ability to have plugins") (description "This module provides a simple but extensible way of having @code{plugins} for your Perl module.") (license (package-license perl)))) (define-public perl-module-runtime (package (name "perl-module-runtime") (version "0.016") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/" "Module-Runtime-" version ".tar.gz")) (sha256 (base32 "097hy2czwkxlppri32m599ph0xfvfsbf0a5y23a4fdc38v32wc38")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Module-Runtime") (synopsis "Perl runtime module handling") (description "The functions exported by this module deal with runtime handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) (define-public perl-module-runtime-conflicts (package (name "perl-module-runtime-conflicts") (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Module-Runtime-Conflicts-" version ".tar.gz")) (sha256 (base32 "0x9qfg4pq70v1rl9dfk775fmca7ia308m24vfy8zww4c0dsxqz3h")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-module-runtime" ,perl-module-runtime) ("perl-dist-checkconflicts" ,perl-dist-checkconflicts))) (home-page "https://metacpan.org/release/Module-Runtime-Conflicts") (synopsis "Provide information on conflicts for Module::Runtime") (description "This module provides conflicts checking for Module::Runtime, which had a recent release that broke some versions of Moose. It is called from Moose::Conflicts and moose-outdated.") (license (package-license perl)))) (define-public perl-module-scandeps (package (name "perl-module-scandeps") (version "1.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/" "Module-ScanDeps-" version ".tar.gz")) (sha256 (base32 "0j6r9r99x5p0i6fv06i44wpsvjxj32amjkiqf6pmqpj80jff2k7f")))) (build-system perl-build-system) (native-inputs `(("perl-test-requires" ,perl-test-requires))) (home-page "https://metacpan.org/release/Module-ScanDeps") (synopsis "Recursively scan Perl code for dependencies") (description "Module::ScanDeps is a module to recursively scan Perl programs for dependencies.") (license (package-license perl)))) (define-public perl-module-util (package (name "perl-module-util") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MATTLAW/" "Module-Util-" version ".tar.gz")) (sha256 (base32 "1ip2yg3x517gg8c48crhd52ba864vmyimvm0ibn4ci068mmcpyvc")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) ; >= 0.40 (home-page "https://metacpan.org/release/Module-Util") (synopsis "Module name tools and transformations") (description "This module provides a few useful functions for manipulating module names. Its main aim is to centralise some of the functions commonly used by modules that manipulate other modules in some way, like converting module names to relative paths.") (license (package-license perl)))) (define-public perl-moo (package (name "perl-moo") (version "1.007000") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Moo-" version ".tar.gz")) (sha256 (base32 "0y9s6s9jjd519wgal6lwc9id4sadrvfn8gjb51dl602d0kk0l7n5")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-class-method-modifiers" ,perl-class-method-modifiers) ("perl-class-xsaccessor" ,perl-class-xsaccessor) ("perl-devel-globaldestruction" ,perl-devel-globaldestruction) ("perl-import-into" ,perl-import-into) ("perl-module-runtime" ,perl-module-runtime) ("perl-role-tiny" ,perl-role-tiny) ("perl-strictures" ,perl-strictures))) (home-page "https://metacpan.org/release/Moo") (synopsis "Minimalist Object Orientation (with Moose compatibility)") (description "Moo is an extremely light-weight Object Orientation system. It allows one to concisely define objects and roles with a convenient syntax that avoids the details of Perl's object system. Moo contains a subset of Moose and is optimised for rapid startup.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘Moo’. (define-public perl-moo-2 (package (inherit perl-moo) (name "perl-moo-2") (version "2.003006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Moo-" version ".tar.gz")) (sha256 (base32 "0wi4gyp5kn4lbags0hrax3c9jj9spxg4d11fbrdh0ican4m0kcmw")))) (propagated-inputs `(("perl-role-tiny" ,perl-role-tiny-2) ("perl-sub-name" ,perl-sub-name) ("perl-sub-quote" ,perl-sub-quote) ("perl-strictures" ,perl-strictures-2) ,@(alist-delete "perl-strictures" (alist-delete "perl-role-tiny" (package-propagated-inputs perl-moo))))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Use perl-strictures for testing. (setenv "MOO_FATAL_WARNINGS" "=1") #t))))))) (define-public perl-moose (package (name "perl-moose") (version "2.2015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Moose-" version ".tar.gz")) (sha256 (base32 "05gma3q3l15igqrqi8ax8v5cmmvy7s939q3xzs45l1rc7sfx6yd6")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) ("perl-test-cleannamespaces" ,perl-test-cleannamespaces) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires) ("perl-test-warnings" ,perl-test-warnings))) ;; XXX:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;; # === Other Modules === ;; # ;; # Module Want Have ;; # ---------------------------- ---- ------- ;; # Algorithm::C3 any missing ;; # DBM::Deep any missing ;; # DateTime any missing ;; # DateTime::Calendar::Mayan any missing ;; # DateTime::Format::MySQL any missing ;; # Declare::Constraints::Simple any missing ;; # Dist::CheckConflicts any 0.11 ;; # HTTP::Headers any missing ;; # IO::File any 1.16 ;; # IO::String any missing ;; # Locale::US any missing ;; # Module::Refresh any missing ;; # MooseX::NonMoose any missing ;; # Params::Coerce any missing ;; # Regexp::Common any missing ;; # SUPER any missing ;; # Test::Deep any missing ;; # Test::DependentModules any missing ;; # Test::LeakTrace any missing ;; # Test::Output any missing ;; # URI any missing (propagated-inputs `(("perl-class-load" ,perl-class-load) ("perl-class-load-xs" ,perl-class-load-xs) ("perl-data-optlist" ,perl-data-optlist) ("perl-devel-globaldestruction" ,perl-devel-globaldestruction) ("perl-devel-overloadinfo" ,perl-devel-overloadinfo) ("perl-devel-partialdump" ,perl-devel-partialdump) ("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) ("perl-eval-closure" ,perl-eval-closure) ("perl-list-moreutils" ,perl-list-moreutils) ("perl-module-runtime" ,perl-module-runtime) ("perl-module-runtime-conflicts" ,perl-module-runtime-conflicts) ("perl-mro-compat" ,perl-mro-compat) ("perl-package-deprecationmanager" ,perl-package-deprecationmanager) ("perl-package-stash" ,perl-package-stash) ("perl-package-stash-xs" ,perl-package-stash-xs) ("perl-params-util" ,perl-params-util) ("perl-scalar-list-utils" ,perl-scalar-list-utils) ("perl-sub-exporter" ,perl-sub-exporter) ("perl-sub-name" ,perl-sub-name) ("perl-task-weaken" ,perl-task-weaken) ("perl-try-tiny" ,perl-try-tiny))) (home-page "https://metacpan.org/release/Moose") (synopsis "Postmodern object system for Perl 5") (description "Moose is a complete object system for Perl 5. It provides keywords for attribute declaration, object construction, inheritance, and maybe more. With Moose, you define your class declaratively, without needing to know about blessed hashrefs, accessor methods, and so on. You can concentrate on the logical structure of your classes, focusing on \"what\" rather than \"how\". A class definition with Moose reads like a list of very concise English sentences.") (license (package-license perl)))) (define-public perl-moosex-emulate-class-accessor-fast (package (name "perl-moosex-emulate-class-accessor-fast") (version "0.009032") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "MooseX-Emulate-Class-Accessor-Fast-" version ".tar.gz")) (sha256 (base32 "153r30nggcyyx7ai15dbnba2h5145f8jdsh6wj54298d3zpvgvl2")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-moose" ,perl-moose))) (home-page "https://metacpan.org/release/MooseX-Emulate-Class-Accessor-Fast") (synopsis "Emulate Class::Accessor::Fast behavior using Moose attributes") (description "This module attempts to emulate the behavior of Class::Accessor::Fast as accurately as possible using the Moose attribute system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.") (license (package-license perl)))) (define-public perl-moosex-getopt (package (name "perl-moosex-getopt") (version "0.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Getopt-" version ".tar.gz")) (sha256 (base32 "1j7b2jnf0blxr4czp3vfcnv1h5zj601mrfdm92g1wf5wn9dvxwv3")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-module-build-tiny" ,perl-module-build-tiny) ("perl-path-tiny" ,perl-path-tiny) ("perl-test-deep" ,perl-test-deep) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-needs" ,perl-test-needs) ("perl-test-requires" ,perl-test-requires) ("perl-test-trap" ,perl-test-trap) ("perl-test-warnings" ,perl-test-warnings))) (propagated-inputs `(("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive) ("perl-moose" ,perl-moose) ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Getopt") (synopsis "Moose role for processing command line options") (description "This is a Moose role which provides an alternate constructor for creating objects using parameters passed in from the command line.") (license (package-license perl)))) (define-public perl-moosex-markasmethods (package (name "perl-moosex-markasmethods") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSRCHBOY/" "MooseX-MarkAsMethods-" version ".tar.gz")) (sha256 (base32 "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69")))) (build-system perl-build-system) (inputs `(("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-MarkAsMethods") (synopsis "Mark overload code symbols as methods") (description "MooseX::MarkAsMethods allows one to easily mark certain functions as Moose methods. This will allow other packages such as namespace::autoclean to operate without blowing away your overloads. After using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as being methods, and class extension as well as composition from roles with overloads will \"just work\".") (license license:lgpl2.1))) (define-public perl-moosex-methodattributes (package (name "perl-moosex-methodattributes") (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-MethodAttributes-" version ".tar.gz")) (sha256 (base32 "1whd10w7bm3dwaj7gpgw40bci9vvb2zmxs4349ifji91hvinwqck")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-moosex-types" ,perl-moosex-types) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-MethodAttributes") (synopsis "Code attribute introspection") (description "This module allows code attributes of methods to be introspected using Moose meta method objects.") (license (package-license perl)))) (define-public perl-moosex-nonmoose (package (name "perl-moosex-nonmoose") (version "0.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" "MooseX-NonMoose-" version ".tar.gz")) (sha256 (base32 "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb")))) (build-system perl-build-system) (native-inputs `(("perl-moose" ,perl-moose) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-list-moreutils" ,perl-list-moreutils) ("perl-module-runtime" ,perl-module-runtime) ("perl-moose" ,perl-moose) ("perl-try-tiny" ,perl-try-tiny))) (home-page "https://metacpan.org/release/MooseX-NonMoose") (synopsis "Subclassing of non-Moose classes") (description "MooseX::NonMoose allows for easily subclassing non-Moose classes with Moose, taking care of the details connected with doing this, such as setting up proper inheritance from Moose::Object and installing (and inlining, at make_immutable time) a constructor that makes sure things like BUILD methods are called. It tries to be as non-intrusive as possible.") (license (package-license perl)))) (define-public perl-moosex-params-validate (package (name "perl-moosex-params-validate") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-Params-Validate-" version ".tar.gz")) (sha256 (base32 "1n9ry6gnskkp9ir6s7d5jirn3mh14ydgpmwqz6wcp6d9md358ac8")))) (build-system perl-build-system) (native-inputs `(("perl-moose" ,perl-moose) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-devel-caller" ,perl-devel-caller) ("perl-moose" ,perl-moose) ("perl-params-validate" ,perl-params-validate) ("perl-sub-exporter" ,perl-sub-exporter))) (home-page "https://metacpan.org/release/MooseX-Params-Validate") (synopsis "Extension of Params::Validate using Moose's types") (description "This module fills a gap in Moose by adding method parameter validation to Moose.") (license (package-license perl)))) (define-public perl-moosex-relatedclassroles (package (name "perl-moosex-relatedclassroles") (version "0.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HD/HDP/" "MooseX-RelatedClassRoles-" version ".tar.gz")) (sha256 (base32 "17vynkf6m5d039qkr4in1c9lflr8hnwp1fgzdwhj4q6jglipmnrh")))) (build-system perl-build-system) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized))) (home-page "https://metacpan.org/release/MooseX-RelatedClassRoles") (synopsis "Apply roles to a related Perl class") (description "This module applies roles to make a subclass instead of manually setting up a subclass.") (license (package-license perl)))) (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Role-Parameterized-" version ".tar.gz")) (sha256 (base32 "0plx25n80mv9qwhix52z79md0qil616nbcryk2f4216kghpw2ij8")))) (build-system perl-build-system) (native-inputs `(("perl-cpan-meta-check" ,perl-cpan-meta-check) ("perl-module-build" ,perl-module-build) ("perl-moosex-role-withoverloading" ,perl-moosex-role-withoverloading) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Role-Parameterized") (synopsis "Moose roles with composition parameters") (description "Because Moose roles serve many different masters, they usually provide only the least common denominator of functionality. To empower roles further, more configurability than -alias and -excludes is required. Perhaps your role needs to know which method to call when it is done processing, or what default value to use for its url attribute. Parameterized roles offer a solution to these (and other) kinds of problems.") (license (package-license perl)))) (define-public perl-moosex-role-withoverloading (package (name "perl-moosex-role-withoverloading") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Role-WithOverloading-" version ".tar.gz")) (sha256 (base32 "0rb8k0dp1a55bm2pr6r0vsi5msvjl1dslfidxp1gj80j7zbrbc4j")))) (build-system perl-build-system) (propagated-inputs `(("perl-aliased" ,perl-aliased) ("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Role-WithOverloading") (synopsis "Roles which support overloading") (description "MooseX::Role::WithOverloading allows you to write a Moose::Role which defines overloaded operators and allows those overload methods to be composed into the classes/roles/instances it's compiled to, where plain Moose::Roles would lose the overloading.") (license (package-license perl)))) (define-public perl-moosex-semiaffordanceaccessor (package (name "perl-moosex-semiaffordanceaccessor") (version "0.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-SemiAffordanceAccessor-" version ".tar.gz")) (sha256 (base32 "1mdil9ckgmgr78z59p8wfa35ixn5855ndzx14y01dvfxpiv5gf55")))) (build-system perl-build-system) (propagated-inputs `(("perl-moose" ,perl-moose))) (home-page "https://metacpan.org/release/MooseX-SemiAffordanceAccessor") (synopsis "Name your accessors foo() and set_foo()") (description "This module does not provide any methods. Simply loading it changes the default naming policy for the loading class so that accessors are separated into get and set methods. The get methods have the same name as the accessor, while set methods are prefixed with \"_set_\".") (license license:artistic2.0))) (define-public perl-moosex-strictconstructor (package (name "perl-moosex-strictconstructor") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-StrictConstructor-" version ".tar.gz")) (sha256 (base32 "0ccawja1kabgglrkdw5v82m1pbw189a0mnd33l43rs01d70p6ra8")))) (build-system perl-build-system) (native-inputs `(("perl-moose" ,perl-moose) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-StrictConstructor") (synopsis "Strict object constructors for Moose") (description "Simply loading this module makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it calls Moose->throw_error().") (license license:artistic2.0))) (define-public perl-moosex-traits-pluggable (package (name "perl-moosex-traits-pluggable") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/" "MooseX-Traits-Pluggable-" version ".tar.gz")) (sha256 (base32 "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb")))) (build-system perl-build-system) (native-inputs `(("perl-moose" ,perl-moose) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-class-load" ,perl-class-load) ("perl-list-moreutils" ,perl-list-moreutils) ("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Traits-Pluggable") (synopsis "Trait loading and resolution for Moose") (description "Adds support on top of MooseX::Traits for class precedence search for traits and some extra attributes.") (license (package-license perl)))) (define-public perl-moosex-types (package (name "perl-moosex-types") (version "0.45") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-" version ".tar.gz")) (sha256 (base32 "1iq90s1f0xbmr194q0mhnp9wxqxwwilkbdml040ibqbqvfiz87yh")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs `(("perl-carp-clan" ,perl-carp-clan) ("perl-moose" ,perl-moose) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Types") (synopsis "Organise your Moose types in libraries") (description "This package lets you declare types using short names, but behind the scenes it namespaces all your type declarations, effectively prevent name clashes between packages.") (license (package-license perl)))) (define-public perl-moosex-types-datetime (package (name "perl-moosex-types-datetime") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-DateTime-" version ".tar.gz")) (sha256 (base32 "1iir3mdvz892kbbs2q91vjxnhas7811m3d3872m7x8gn6rka57xq")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny) ("perl-moose" ,perl-moose) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-simple" ,perl-test-simple))) (propagated-inputs `(("perl-datetime" ,perl-datetime) ("perl-datetime-locale" ,perl-datetime-locale) ("perl-datetime-timezone" ,perl-datetime-timezone) ("perl-moose" ,perl-moose) ("perl-moosex-types" ,perl-moosex-types) ("perl-namespace-clean" ,perl-namespace-clean))) (home-page "https://metacpan.org/release/MooseX-Types-DateTime") (synopsis "DateTime related constraints and coercions for Moose") (description "This module packages several Moose::Util::TypeConstraints with coercions, designed to work with the DateTime suite of objects.") (license (package-license perl)))) (define-public perl-moosex-types-datetime-morecoercions (package (name "perl-moosex-types-datetime-morecoercions") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-DateTime-MoreCoercions-" version ".tar.gz")) (sha256 (base32 "15ip1rgaana2p4vww355jb5jxyawim0k58gadkdqx20rfxckmfr1")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-simple" ,perl-test-simple))) (propagated-inputs `(("perl-datetime" ,perl-datetime) ("perl-datetimex-easy" ,perl-datetimex-easy) ("perl-moose" ,perl-moose) ("perl-moosex-types" ,perl-moosex-types) ("perl-moosex-types-datetime" ,perl-moosex-types-datetime) ("perl-namespace-clean" ,perl-namespace-clean) ("perl-time-duration-parse" ,perl-time-duration-parse))) (home-page "https://metacpan.org/release/MooseX-Types-DateTime-MoreCoercions") (synopsis "Extensions to MooseX::Types::DateTime") (description "This module builds on MooseX::Types::DateTime to add additional custom types and coercions. Since it builds on an existing type, all coercions and constraints are inherited.") (license (package-license perl)))) (define-public perl-moosex-types-loadableclass (package (name "perl-moosex-types-loadableclass") (version "0.015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-LoadableClass-" version ".tar.gz")) (sha256 (base32 "1x1vb96hcrd96bzs73w0lb04jr0fvax1ams38qlzkp2kh9vx6dz0")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny) ("perl-namespace-clean" ,perl-namespace-clean) ("perl-moose" ,perl-moose) ("perl-test-fatal" ,perl-test-fatal) ("perl-class-load" ,perl-class-load))) (propagated-inputs `(("perl-module-runtime" ,perl-module-runtime) ("perl-moosex-types" ,perl-moosex-types) ("perl-namespace-autoclean" ,perl-namespace-autoclean))) (home-page "https://metacpan.org/release/MooseX-Types-LoadableClass") (synopsis "ClassName type constraints for Moose") (description "MooseX::Types::LoadableClass provides a ClassName type constraint with coercion to load the class.") (license (package-license perl)))) (define-public perl-moox (package (name "perl-moox") (version "0.101") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GE/GETTY/MooX-" version ".tar.gz")) (sha256 (base32 "1m9jvrqcidiabdih211byadwnnkygafq54r2ljnf1akqdrjimy9g")))) (build-system perl-build-system) (inputs `(("perl-data-optlist" ,perl-data-optlist) ("perl-import-into" ,perl-import-into) ("perl-module-runtime" ,perl-module-runtime) ("perl-moo" ,perl-moo))) (home-page "https://metacpan.org/release/MooX") (synopsis "Using Moo and MooX:: packages the most lazy way") (description "Contains the MooX and MooX::Role packages.") (license license:perl-license))) (define-public perl-moox-cmd (package (name "perl-moox-cmd") (version "0.017") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-" version ".tar.gz")) (sha256 (base32 "1xbhmq07v9z371ygkyghva9aryhc22kwbzn5qwkp72c0ma6z4gwl")))) (build-system perl-build-system) (native-inputs `(("perl-capture-tiny" ,perl-capture-tiny) ("perl-list-moreutils" ,perl-list-moreutils))) (propagated-inputs `(("perl-module-pluggable" ,perl-module-pluggable) ("perl-module-runtime" ,perl-module-runtime) ("perl-moo" ,perl-moo) ("perl-package-stash" ,perl-package-stash) ("perl-params-util" ,perl-params-util) ("perl-regexp-common" ,perl-regexp-common))) (home-page "https://metacpan.org/release/MooX-Cmd") (synopsis "Giving an easy Moo style way to make command organized CLI apps") (description "This package eases the writing of command line utilities, accepting commands and subcommands and so on. These commands can form a tree, which is mirrored in the package structure. On invocation, each command along the path through the tree (starting from the top-level command through to the most specific one) is instantiated.") (license (package-license perl)))) (define-public perl-moox-configfromfile (package (name "perl-moox-configfromfile") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "MooX-ConfigFromFile-" version ".tar.gz")) (sha256 (base32 "1zrpz4mzngnhaap6988is0w0aarilfj4kb1yc8hvfqna69lywac0")))) (build-system perl-build-system) (native-inputs `(("perl-hash-merge" ,perl-hash-merge) ("perl-json" ,perl-json) ("perl-moox-cmd" ,perl-moox-cmd))) (propagated-inputs `(("perl-config-any" ,perl-config-any) ("perl-file-configdir" ,perl-file-configdir) ("perl-file-find-rule" ,perl-file-find-rule) ("perl-hash-merge" ,perl-hash-merge) ("perl-moo" ,perl-moo) ("perl-moox-file-configdir" ,perl-moox-file-configdir) ("perl-namespace-clean" ,perl-namespace-clean))) (home-page "https://metacpan.org/release/MooX-ConfigFromFile") (synopsis "Moo eXtension for initializing objects from config file") (description "This module is intended to easily load initialization values for attributes on object construction from an appropriate config file. The building is done in @code{MooX::ConfigFromFile::Role}---using @code{MooX::ConfigFromFile} ensures that the role is applied.") (license (package-license perl)))) (define-public perl-moox-file-configdir (package (name "perl-moox-file-configdir") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "MooX-File-ConfigDir-" version ".tar.gz")) (sha256 (base32 "1b033injzk9d8clgip67ps5j5bpkrnag28q89ddwhrgqx12i3m7q")))) (build-system perl-build-system) (propagated-inputs `(("perl-file-configdir" ,perl-file-configdir) ("perl-moo" ,perl-moo) ("perl-namespace-clean" ,perl-namespace-clean))) (home-page "https://metacpan.org/release/MooX-File-ConfigDir") (synopsis "Moo eXtension for @code{File::ConfigDir}") (description "This module is a helper for easily finding configuration file locations. This information can be used to find a suitable place for installing configuration files or for finding any piece of settings.") (license (package-license perl)))) (define-public perl-moox-handlesvia (package (name "perl-moox-handlesvia") (version "0.001009") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-" version ".tar.gz")) (sha256 (base32 "04kcyflg49rclxa1nm035c05jpyvhdacjyy1wklbgv4li3im6qvi")))) (build-system perl-build-system) (native-inputs `(("perl-moox-types-mooselike" ,perl-moox-types-mooselike) ("perl-test-exception" ,perl-test-exception) ("perl-test-fatal" ,perl-test-fatal))) (inputs `(("perl-class-method-modifiers" ,perl-class-method-modifiers) ("perl-module-runtime" ,perl-module-runtime) ("perl-moo" ,perl-moo) ("perl-role-tiny" ,perl-role-tiny))) (propagated-inputs `(("perl-data-perl" ,perl-data-perl))) (home-page "https://metacpan.org/release/MooX-HandlesVia") (synopsis "NativeTrait-like behavior for Moo") (description "@code{MooX::HandlesVia} is an extension of Moo's @code{handles} attribute functionality. It provides a means of proxying functionality from an external class to the given attribute.") (license license:perl-license))) (define-public perl-moox-late (package (name "perl-moox-late") (version "0.016") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-" version ".tar.gz")) (sha256 (base32 "0kjy86rrpzfy6w5r9ykjq7njwdnvp7swd6r2k4gfrh3picz3kdhz")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (inputs `(("perl-moo" ,perl-moo) ("perl-moox" ,perl-moox) ("perl-moox-handlesvia" ,perl-moox-handlesvia))) (propagated-inputs `(("perl-type-tiny" ,perl-type-tiny))) (home-page "https://metacpan.org/release/MooX-late") (synopsis "Easily translate Moose code to Moo") (description "MooX::late does the following: @enumerate @item Supports isa => $stringytype @item Supports does => $rolename @item Supports lazy_build => 1 @item Exports blessed and confess functions to your namespace. @item Handles certain attribute traits Currently Hash, Array and Code are supported. This feature requires MooX::HandlesVia. @end enumerate") (license license:perl-license))) (define-public perl-moox-options (package (name "perl-moox-options") (version "4.023") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CE/CELOGEEK/" "MooX-Options-" version ".tar.gz")) (sha256 (base32 "14kz51hybxx8vcm4wg36f0qa64aainw7i2sqmqxg20c3qvczyvj2")))) (build-system perl-build-system) (native-inputs `(("perl-capture-tiny" ,perl-capture-tiny) ("perl-import-into" ,perl-import-into) ("perl-module-build" ,perl-module-build) ("perl-moo" ,perl-moo) ("perl-moose" ,perl-moose) ("perl-moox-cmd" ,perl-moox-cmd) ("perl-namespace-clean" ,perl-namespace-clean) ("perl-role-tiny" ,perl-role-tiny) ("perl-test-requires" ,perl-test-requires) ("perl-test-trap" ,perl-test-trap) ("perl-test-pod" ,perl-test-pod) ("perl-try-tiny" ,perl-try-tiny))) (propagated-inputs `(("perl-config-any" ,perl-config-any) ("perl-moox-configfromfile" ,perl-moox-configfromfile) ("perl-data-record" ,perl-data-record) ("perl-file-configdir" ,perl-file-configdir) ("perl-file-find-rule" ,perl-file-find-rule) ("perl-file-sharedir" ,perl-file-sharedir) ("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive) ("perl-json-maybexs" ,perl-json-maybexs) ("perl-libintl-perl" ,perl-libintl-perl) ("perl-moox-configfromfile" ,perl-moox-configfromfile) ("perl-moox-file-configdir" ,perl-moox-file-configdir) ("perl-path-class" ,perl-path-class) ("perl-regexp-common" ,perl-regexp-common) ("perl-term-size-any" ,perl-term-size-any) ("perl-unicode-linebreak" ,perl-unicode-linebreak))) (home-page "https://metacpan.org/release/MooX-Options") (synopsis "Explicit Options eXtension for Object Class") (description "Create a command line tool with your Mo, Moo, Moose objects. You have an @code{option} keyword to replace the usual @code{has} to explicitly use your attribute on the command line. The @code{option} keyword takes additional parameters and uses @code{Getopt::Long::Descriptive} to generate a command line tool.") (license (package-license perl)))) (define-public perl-moox-strictconstructor (package (name "perl-moox-strictconstructor") (version "0.010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-" version ".tar.gz")) (sha256 (base32 "0vvjgz7xbfmf69yav7sxsxmvklqv835xvh7h47w0apxmlkm9fjgr")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-class-method-modifiers" ,perl-class-method-modifiers) ("perl-moo" ,perl-moo) ("perl-strictures" ,perl-strictures))) (home-page "https://metacpan.org/release/MooX-StrictConstructor") (synopsis "Make Moo-based object constructors blow up on unknown attributes") (description "Loading @code{MooX::StrictConstructor} makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it dies.") (license license:perl-license))) (define-public perl-moox-types-mooselike (package (name "perl-moox-types-mooselike") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MATEU/" "MooX-Types-MooseLike-" version ".tar.gz")) (sha256 (base32 "1d6jg9x3p7gm2r0xmbcag374a44gf5pcga2swvxhlhzakfm80dqx")))) (build-system perl-build-system) (native-inputs `(("perl-moo" ,perl-moo) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-module-runtime" ,perl-module-runtime) ("perl-strictures" ,perl-strictures))) (home-page "https://metacpan.org/release/MooX-Types-MooseLike") (synopsis "Moosish types and type builder") (description "MooX::Types::MooseLike provides a possibility to build your own set of Moose-like types. These custom types can then be used to describe fields in Moo-based classes.") (license (package-license perl)))) (define-public perl-mouse (package (name "perl-mouse") (version "2.5.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v" version ".tar.gz")) (sha256 (base32 "1vijm8wkyws1jhnqmx104585q3srw9z1crcpy1zlcfhm8qww53ff")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-module-build-xsutil" ,perl-module-build-xsutil) ("perl-test-exception" ,perl-test-exception) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-leaktrace" ,perl-test-leaktrace) ("perl-test-output" ,perl-test-output) ("perl-test-requires" ,perl-test-requires) ("perl-try-tiny" ,perl-try-tiny))) (home-page "https://github.com/gfx/p5-Mouse") (synopsis "Fast Moose-compatible object system for perl5") (description "Mouse is a @code{Moose} compatible object system that implements a subset of the functionality for reduced startup time.") (license (package-license perl)))) (define-public perl-mousex-nativetraits (package (name "perl-mousex-nativetraits") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/" "MouseX-NativeTraits-" version ".tar.gz")) (sha256 (base32 "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq")))) (build-system perl-build-system) (native-inputs `(("perl-any-moose" ,perl-any-moose) ("perl-module-install" ,perl-module-install) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-mouse" ,perl-mouse))) (home-page "https://metacpan.org/release/MouseX-NativeTraits") (synopsis "Extend attribute interfaces for Mouse") (description "While @code{Mouse} attributes provide a way to name your accessors, readers, writers, clearers and predicates, @code{MouseX::NativeTraits} provides commonly used attribute helper methods for more specific types of data.") (license (package-license perl)))) (define-public perl-mozilla-ca (package (name "perl-mozilla-ca") (version "20200520") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-" version ".tar.gz")) (sha256 (base32 "09n7hwrh63c5gqvygqvvgvklcbvsm7g0p4nmq0b4mwhb64101jmk")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Mozilla-CA") (synopsis "Mozilla's CA cert bundle in PEM format") (description "@code{Mozilla::CA} provides a copy of Mozilla's bundle of Certificate Authority certificates in a form that can be consumed by modules and libraries based on OpenSSL.") (license license:mpl2.0))) (define-public perl-multidimensional (package (name "perl-multidimensional") (version "0.014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/multidimensional-" version ".tar.gz")) (sha256 (base32 "0prchsg547ziysjl8ghiid6ph3m2xnwpsrwrjymibga7fhqi9sqj")))) (build-system perl-build-system) (native-inputs `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) ("perl-extutils-depends" ,perl-extutils-depends))) (propagated-inputs `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints))) (home-page "https://metacpan.org/release/multidimensional") (synopsis "Disable multidimensional array emulation") (description "Multidimensional disables multidimensional array emulation.") (license (package-license perl)))) (define-public perl-mro-compat (package (name "perl-mro-compat") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "MRO-Compat-" version ".tar.gz")) (sha256 (base32 "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/MRO-Compat") (synopsis "MRO interface compatibility for Perls < 5.9.5") (description "The \"mro\" namespace provides several utilities for dealing with method resolution order and method caching in general in Perl 5.9.5 and higher. This module provides those interfaces for earlier versions of Perl (back to 5.6.0).") (license (package-license perl)))) (define-public perl-namespace-autoclean (package (name "perl-namespace-autoclean") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "namespace-autoclean-" version ".tar.gz")) (sha256 (base32 "012qqs561xyyhm082znmzsl8lz4n299fa6p0v246za2l9bkdiss5")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-needs" ,perl-test-needs))) (propagated-inputs `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope) ("perl-namespace-clean" ,perl-namespace-clean) ("perl-sub-identify" ,perl-sub-identify))) (home-page "https://metacpan.org/release/namespace-autoclean") (synopsis "Keep imports out of your namespace") (description "The namespace::autoclean pragma will remove all imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances. It is very similar to namespace::clean, except it will clean all imported functions, no matter if you imported them before or after you used the pragma. It will also not touch anything that looks like a method.") (license (package-license perl)))) (define-public perl-namespace-clean (package (name "perl-namespace-clean") (version "0.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" "namespace-clean-" version ".tar.gz")) (sha256 (base32 "17dg64pd4bwi2ad3p8ykwys1zha7kg8a8ykvks7wfg8q7qyah44a")))) (build-system perl-build-system) (propagated-inputs `(("perl-package-stash" ,perl-package-stash) ("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope))) (home-page "https://metacpan.org/release/namespace-clean") (synopsis "Keep imports and functions out of your namespace") (description "The namespace::clean pragma will remove all previously declared or imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.") (license (package-license perl)))) (define-public perl-net-bgp (package (name "perl-net-bgp") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SS/SSCHECK/Net-BGP-" version ".tar.gz")) (sha256 (base32 "0za8x9cn5n2hasb14p7dr537lggvrcsl23pgldxf5y03wmk6h35y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-BGP") (synopsis "Object-oriented API to the BGP protocol") (description "This module is an implementation of the BGP-4 inter-domain routing protocol. It encapsulates all of the functionality needed to establish and maintain a BGP peering session and exchange routing update information with the peer. It aims to provide a simple API to the BGP protocol for the purposes of automation, logging, monitoring, testing, and similar tasks using the power and flexibility of perl. The module does not implement the functionality of a RIB (Routing Information Base) nor does it modify the kernel routing table of the host system. However, such operations could be implemented using the API provided by the module.") (license license:perl-license))) (define-public perl-net-dns-native (package (name "perl-net-dns-native") (version "0.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-" version ".tar.gz")) (sha256 (base32 "1m9hbj83ikg52wvq7z8bjm78i50qvqk5alh11mmazzxrpbnrv38h")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-DNS-Native") (synopsis "Non-blocking system DNS resolver") (description "This class provides several methods for host name resolution. It is designed to be used with event loops. Names are resolved by your system's native @code{getaddrinfo(3)} implementation, called in a separate thread to avoid blocking the entire application. Threading overhead is limited by using system threads instead of Perl threads.") (license license:perl-license))) (define-public perl-net-idn-encode (package (name "perl-net-idn-encode") (version "2.500") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CF/CFAERBER/" "Net-IDN-Encode-" version ".tar.gz")) (sha256 (base32 "1aiy7adirk3wpwlczd8sldi9k1dray0jrg1lbcrcw97zwcrkciam")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-nowarnings" ,perl-test-nowarnings))) (home-page "https://metacpan.org/release/Net-IDN-Encode") (synopsis "Internationalizing Domain Names in Applications (IDNA)") (description "Internationalized Domain Names (IDNs) use characters drawn from a large repertoire (Unicode), but IDNA allows the non-ASCII characters to be represented using only the ASCII characters already allowed in so-called host names today (letter-digit-hyphen, /[A-Z0-9-]/i). Use this module if you just want to convert domain names (or email addresses), using whatever IDNA standard is the best choice at the moment.") (license license:perl-license))) (define-public perl-net-statsd (package (name "perl-net-statsd") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-" version ".tar.gz")) (sha256 (base32 "0p2nhrwamic2fyj094y583q088ixv9gbb82c3invqrd17mh57r33")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-Statsd") (synopsis "Perl client for Etsy's statsd daemon") (description "This module implement a UDP client for the statsd statistics collector daemon in use at Etsy.com.") (license (package-license perl)))) (define-public perl-number-compare (package (name "perl-number-compare") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Number-Compare-" version ".tar.gz")) (sha256 (base32 "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Compare") (synopsis "Numeric comparisons") (description "Number::Compare compiles a simple comparison to an anonymous subroutine, which you can call with a value to be tested against.") (license (package-license perl)))) (define-public perl-number-format (package (name "perl-number-format") (version "1.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WR/WRW/Number-Format-" version ".tar.gz")) (sha256 (base32 "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Format") (synopsis "Convert numbers to strings with pretty formatting") (description "@code{Number::Format} is a library for formatting numbers. Functions are provided for converting numbers to strings in a variety of ways, and to convert strings that contain numbers back into numeric form. The output formats may include thousands separators - characters inserted between each group of three characters counting right to left from the decimal point. The characters used for the decimal point and the thousands separator come from the locale information or can be specified by the user.") (license license:perl-license))) (define-public perl-number-range (package (name "perl-number-range") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LA/LARRYSH/Number-Range-" version ".tar.gz")) (sha256 (base32 "0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Range") (synopsis "Perl extension defining ranges of numbers") (description "Number::Range is an object-oriented interface to test if a number exists in a given range, and to be able to manipulate the range.") (license (package-license perl)))) (define-public perl-object-signature (package (name "perl-object-signature") (version "1.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Object-Signature-" version ".tar.gz")) (sha256 (base32 "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install))) (home-page "https://metacpan.org/release/Object-Signature") (synopsis "Generate cryptographic signatures for objects") (description "Object::Signature is an abstract base class that you can inherit from in order to allow your objects to generate unique cryptographic signatures.") (license (package-license perl)))) (define-public perl-ole-storage-lite (package (name "perl-ole-storage-lite") (version "0.20") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-" version ".tar.gz")) (sha256 (base32 "1fpqhhgb8blj4hhs97fsbnbhk29s9yms057a9s9yl20f3hbsc65b")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/OLE-Storage_Lite") (synopsis "Read and write OLE storage files") (description "This module allows you to read and write an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a technology to store hierarchical information such as links to other documents within a single file.") (license (package-license perl)))) (define-public perl-opengl (package (name "perl-opengl") (version "0.70") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHM/OpenGL-" version ".tar.gz")) (sha256 (base32 "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj")))) (build-system perl-build-system) (inputs `(("freeglut" ,freeglut) ("libxi" ,libxi) ("libxmu" ,libxmu))) (arguments '(#:tests? #f ; test.pl fails with our empty glversion.txt, while ; the package still seems to work on the examples #:phases (modify-phases %standard-phases (add-before 'configure 'glversion ;; Building utils/glversion.txt fails, and is probably ;; dependent on the graphics card in the build system. ;; Replace it by a content-free file; while this breaks ;; the tests, the examples in the examples/ subdirectory ;; can be run. (lambda _ (substitute* "Makefile.PL" (("unlink") "# unlink") ; prevent utils/glversion.txt ; from being deleted once... (("\\.\"\\$make_ver clean\"") "")) ; ...and twice... (substitute* "utils/Makefile" (("all: glversion.txt") "all: ")) ; ...and thrice. (call-with-output-file "utils/glversion.txt" (lambda (port) (display (string-append "FREEGLUT=\nGLUT=\nVERSION=\n" "VENDOR=\nRENDERER=\n" "EXTENSIONS=\n") port))) #t)) (add-before 'configure 'fix-library-flags (lambda* (#:key inputs #:allow-other-keys) (substitute* "Makefile.PL" (("-L/usr/local/freeglut/lib") (string-append "-L" (assoc-ref inputs "freeglut") "/lib\n" "-L" (assoc-ref inputs "glu") "/lib\n" "-L" (assoc-ref inputs "mesa") "/lib\n"))) #t))))) (home-page "https://metacpan.org/release/OpenGL") (synopsis "Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT") (description "The package provides Perl bindings to OpenGL, GLU and FreeGLUT.") (license (package-license perl)))) (define-public perl-package-anon (package (name "perl-package-anon") (version "0.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AU/AUGGY/" "Package-Anon-" version ".tar.gz")) (sha256 (base32 "1fj1fakkfklf2iwzsl64vfgshya3jgm6vhxiphw12wlac9g2il0m")))) (build-system perl-build-system) (propagated-inputs `(("perl-sub-exporter" ,perl-sub-exporter) ("perl-params-util" ,perl-params-util))) (home-page "https://metacpan.org/release/Package-Anon") (synopsis "Anonymous packages") (description "This module allows for anonymous packages that are independent of the main namespace and only available through an object instance, not by name.") (license (package-license perl)))) (define-public perl-package-deprecationmanager (package (name "perl-package-deprecationmanager") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Package-DeprecationManager-" version ".tar.gz")) (sha256 (base32 "0jv8svfh1c1q4vxlkf8vjfbdq3n2sj3nx5llv1qrhp1b93d3lx0x")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires) ("perl-test-output" ,perl-test-output))) (propagated-inputs `(("perl-list-moreutils" ,perl-list-moreutils) ("perl-params-util" ,perl-params-util) ("perl-sub-install" ,perl-sub-install))) (arguments `(#:tests? #f)) ;XXX: Failing for some reason... (home-page "https://metacpan.org/release/Package-DeprecationManager") (synopsis "Manage deprecation warnings for your distribution") (description "This module allows you to manage a set of deprecations for one or more modules.") (license license:artistic2.0))) (define-public perl-package-stash (package (name "perl-package-stash") (version "0.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Package-Stash-" version ".tar.gz")) (sha256 (base32 "0zrs4byhlpq5ybnl0fd3y6pfzair6i2dyvzn7f7a7pgj9n2fi3n5")))) (build-system perl-build-system) (native-inputs `(("perl-dist-checkconflicts" ,perl-dist-checkconflicts) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires) ("perl-package-anon" ,perl-package-anon))) (propagated-inputs `(("perl-module-implementation" ,perl-module-implementation) ("perl-dist-checkconflicts" ,perl-dist-checkconflicts) ("perl-package-stash-xs" ,perl-package-stash-xs))) (home-page "https://metacpan.org/release/Package-Stash") (synopsis "Routines for manipulating stashes") (description "Manipulating stashes (Perl's symbol tables) is occasionally necessary, but incredibly messy, and easy to get wrong. This module hides all of that behind a simple API.") (license (package-license perl)))) (define-public perl-package-stash-xs (package (name "perl-package-stash-xs") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Package-Stash-XS-" version ".tar.gz")) (sha256 (base32 "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires) ("perl-package-anon" ,perl-package-anon))) (home-page "https://metacpan.org/release/Package-Stash-XS") (synopsis "Faster implementation of the Package::Stash API") (description "This is a backend for Package::Stash, which provides the functionality in a way that's less buggy and much faster. It will be used by default if it's installed, and should be preferred in all environments with a compiler.") (license (package-license perl)))) (define-public perl-padwalker (package (name "perl-padwalker") (version "2.3") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBIN/" "PadWalker-" version ".tar.gz")) (sha256 (base32 "1kw8cnfyh6jbngm9q1kn003g08gis6l82h77d12yaq88c3xl8v1a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/PadWalker") (synopsis "Play with other peoples' lexical variables") (description "PadWalker is a module which allows you to inspect (and even change) lexical variables in any subroutine which called you. It will only show those variables which are in scope at the point of the call. PadWalker is particularly useful for debugging.") (license (package-license perl)))) (define-public perl-parallel-forkmanager (package (name "perl-parallel-forkmanager") (version "1.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-" version ".tar.gz")) (sha256 (base32 "0wm4wp6p3ah5z212jl12728z68nmxmfr0f03z1jpvdzffnc2xppi")))) (build-system perl-build-system) (native-inputs `(("perl-test-warn" ,perl-test-warn))) (home-page "https://metacpan.org/release/Parallel-ForkManager") (synopsis "Simple parallel processing fork manager") (description "@code{Parallel::ForkManager} is intended for use in operations that can be done in parallel where the number of processes to be forked off should be limited.") (license (package-license perl)))) (define-public perl-params-classify (package (name "perl-params-classify") (version "0.015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-" version ".tar.gz")) (sha256 (base32 "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (propagated-inputs `(("perl-devel-callchecker" ,perl-devel-callchecker))) (home-page "https://metacpan.org/release/Params-Classify") (synopsis "Argument type classification") (description "This module provides various type-testing functions. These are intended for functions that care what type of data they are operating on. There are two flavours of function. Functions of the first flavour provide type classification only. Functions of the second flavour also check that an argument is of an expected type. The type enforcement functions handle only the simplest requirements for arguments of the types handled by the classification functions. Enforcement of more complex types may be built using the classification functions, or it may be more convenient to use a module designed for the more complex job, such as @code{Params::Validate}") (license license:perl-license))) (define-public perl-params-util (package (name "perl-params-util") (version "1.102") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/Params-Util-" version ".tar.gz")) (sha256 (base32 "00kl154zisf2zsl8yl6xa6yw54nhd9cja5d5fyigs96vhasb36s9")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Params-Util") (synopsis "Simple, compact and correct param-checking functions") (description "Params::Util provides a basic set of importable functions that makes checking parameters easier.") (license (package-license perl)))) (define-public perl-params-validate (package (name "perl-params-validate") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Params-Validate-" version ".tar.gz")) (sha256 (base32 "0cwpf8yxwyxbnwhf6rx4wnaq1q38j38i34a78a005shb8gxqv9j9")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs `(("perl-module-implementation" ,perl-module-implementation))) (home-page "https://metacpan.org/release/Params-Validate") (synopsis "Validate method/function parameters") (description "The Params::Validate module allows you to validate method or function call parameters to an arbitrary level of specificity.") (license license:artistic2.0))) (define-public perl-params-validationcompiler (package (name "perl-params-validationcompiler") (version "0.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Params-ValidationCompiler-" version ".tar.gz")) (sha256 (base32 "1jqn1l4m4i341g14kmjsf3a1kn7vv6z89cix0xjjgr1v70iywnyw")))) (build-system perl-build-system) (native-inputs ;; For tests. `(("perl-test-without-module" ,perl-test-without-module) ("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings) ("perl-test2-suite" ,perl-test2-suite) ("perl-type-tiny" ,perl-type-tiny))) (propagated-inputs `(("perl-eval-closure" ,perl-eval-closure) ("perl-exception-class" ,perl-exception-class) ("perl-specio" ,perl-specio))) (home-page "https://github.com/houseabsolute/Params-ValidationCompiler") (synopsis "Build an optimized subroutine parameter validator") (description "This module creates a customized, highly efficient parameter checking subroutine. It can handle named or positional parameters, and can return the parameters as key/value pairs or a list of values. In addition to type checks, it also supports parameter defaults, optional parameters, and extra \"slurpy\" parameters.") (license license:artistic2.0))) (define-public perl-par-dist (package (name "perl-par-dist") (version "0.49") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/" "PAR-Dist-" version ".tar.gz")) (sha256 (base32 "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/PAR-Dist") (synopsis "Create and manipulate PAR distributions") (description "PAR::Dist is a toolkit to create and manipulate PAR distributions.") (license (package-license perl)))) (define-public perl-parent (deprecated-package "perl-parent" perl)) (define-public perl-path-class (package (name "perl-path-class") (version "0.37") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" "Path-Class-" version ".tar.gz")) (sha256 (base32 "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Path-Class") (synopsis "Path specification manipulation") (description "Path::Class is a module for manipulation of file and directory specifications in a cross-platform manner.") (license (package-license perl)))) (define-public perl-pathtools (package (name "perl-pathtools") (version "3.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-" version ".tar.gz")) (sha256 (base32 "18j5z71xin9dsqddl6khm838d23p3843jcq7q0kwgy5ilqx50n55")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-pwd-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "Cwd.pm" (("'/bin/pwd'") (string-append "'" (assoc-ref inputs "coreutils") "/bin/pwd'"))) #t))))) (inputs `(("coreutils" ,coreutils))) (home-page "https://metacpan.org/release/PathTools") (synopsis "Tools for working with directory and file names") (description "This package provides functions to work with directory and file names.") (license license:perl-license))) (define-public perl-path-tiny (package (name "perl-path-tiny") (version "0.118") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Path-Tiny-" version ".tar.gz")) (sha256 (base32 "1zdhc3azw6wn21db3yyygs57vlqkx72ipyd8sa21m72c1y6qs4rj")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ; Tests require additional test modules to be packaged ;; (native-inputs ;; `(("perl-test-failwarnings" ,perl-test-failwarnings) ;; ("perl-test-mockrandom" ,perl-test-mockrandom))) (inputs `(("perl-unicode-utf8" ,perl-unicode-utf8))) (home-page "https://metacpan.org/release/Path-Tiny") (synopsis "File path utility") (description "This module provides a small, fast utility for working with file paths.") (license license:asl2.0))) (define-public perl-pdf-api2 (package (name "perl-pdf-api2") (version "2.040") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-" version ".tar.gz")) (sha256 (base32 "0nlks4p33d08h0fiv6aivinalf9f9zdkgkxqvvbbvdkvyh4z29a9")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception) ("perl-test-memory-cycle" ,perl-test-memory-cycle))) (propagated-inputs `(("perl-font-ttf" ,perl-font-ttf))) (home-page "https://metacpan.org/release/PDF-API2") (synopsis "Facilitates the creation and modification of PDF files") (description "This Perl module facilitates the creation and modification of PDF files.") (license license:lgpl2.1))) (define-public perl-perlio-utf8_strict (package (name "perl-perlio-utf8-strict") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-" version ".tar.gz")) (sha256 (base32 "1jw1ri8nkm4ck73arbsld1y2qgj2b9ir01y8mzb3mjs6w0pkz8w3")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) (home-page "https://metacpan.org/release/PerlIO-utf8_strict") (synopsis "Fast and correct UTF-8 IO") (description "@code{PerlIO::utf8_strict} provides a fast and correct UTF-8 PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input for correctness.") (license (package-license perl)))) (define-public perl-pegex (package (name "perl-pegex") (version "0.70") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/Pegex-" version ".tar.gz")) (sha256 (base32 "1zd0zm6vxapw6bds3ipymkbzam70p3j3rm48794qy11620r22dgx")))) (build-system perl-build-system) (native-inputs `(("perl-file-sharedir-install" ,perl-file-sharedir-install) ("perl-yaml-libyaml" ,perl-yaml-libyaml))) (home-page "https://metacpan.org/release/Pegex") (synopsis "Acmeist PEG Parser Framework") (description "Pegex is an Acmeist parser framework. It allows you to easily create parsers that will work equivalently in lots of programming languages. The inspiration for Pegex comes from the parsing engine upon which the postmodern programming language Perl 6 is based on. Pegex brings this beauty to the other justmodern languages that have a normal regular expression engine available.") (license (package-license perl)))) (define-public perl-pod-coverage (package (name "perl-pod-coverage") (version "0.23") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Pod-Coverage-" version ".tar.gz")) (sha256 (base32 "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh")))) (build-system perl-build-system) (propagated-inputs `(("perl-devel-symdump" ,perl-devel-symdump))) (home-page "https://metacpan.org/release/Pod-Coverage") (synopsis "Check for comprehensive documentation of a module") (description "This module provides a mechanism for determining if the pod for a given module is comprehensive.") (license (package-license perl)))) (define-public perl-pod-simple (package (name "perl-pod-simple") (version "3.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/" "Pod-Simple-" version ".tar.gz")) (sha256 (base32 "1icagrjqw1azmff82h17cbrhqgql7rg21gz64mjpiqqq0cpfpz59")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Pod-Simple") (synopsis "Parsing library for text in Pod format") (description "@code{Pod::Simple} is a Perl library for parsing text in the @dfn{Pod} (plain old documentation) markup language that is typically used for writing documentation for Perl and for Perl modules.") (license (package-license perl)))) (define-public perl-posix-strftime-compiler (package (name "perl-posix-strftime-compiler") (version "0.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/" "POSIX-strftime-Compiler-" version ".tar.gz")) (sha256 (base32 "04dcn2n4rfkj8p24vj2p17vvis40l87pf2vdqp0vqm5jg3fjnn16")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (arguments `(#:tests? #f)) ; TODO: Timezone test failures (home-page "https://metacpan.org/release/POSIX-strftime-Compiler") (synopsis "GNU C library compatible strftime for loggers and servers") (description "POSIX::strftime::Compiler provides GNU C library compatible strftime(3). But this module is not affected by the system locale. This feature is useful when you want to write loggers, servers, and portable applications.") (license (package-license perl)))) (define-public perl-ppi (package (name "perl-ppi") (version "1.270") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MITHALDU/" "PPI-" version ".tar.gz")) (sha256 (base32 "0mzlz9rxqx93rqgy16jcfxwkplvhzr0f1gvvvwmmvf0vg266jak2")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;FIXME: some tests fail (native-inputs `(("perl-class-inspector" ,perl-class-inspector) ("perl-test-deep" ,perl-test-deep) ("perl-test-nowarnings" ,perl-test-nowarnings) ("perl-test-object" ,perl-test-object) ("perl-test-subcalls" ,perl-test-subcalls))) (propagated-inputs `(("perl-clone" ,perl-clone) ("perl-io-string" ,perl-io-string) ("perl-params-util" ,perl-params-util) ("perl-task-weaken" ,perl-task-weaken))) (home-page "https://metacpan.org/release/PPI") (synopsis "Parse, analyze and manipulate Perl (without Perl)") (description "The PPI module parses, analyzes and manipulates Perl code.") (license license:perl-license))) (define-public perl-probe-perl (package (name "perl-probe-perl") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" "Probe-Perl-" version ".tar.gz")) (sha256 (base32 "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r")))) (build-system perl-build-system) (synopsis "Information about the currently running perl") (description "Probe::Perl provides methods for obtaining information about the currently running perl interpreter. It originally began life as code in the Module::Build project, but has been externalized here for general use.") (home-page "https://metacpan.org/release/Probe-Perl") (license (package-license perl)))) (define-public perl-proc-invokeeditor (package (name "perl-proc-invokeeditor") (version "1.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSTEVENS/Proc-InvokeEditor-" version ".tar.gz")) (sha256 (base32 "0xc1416kvhq904ribpwh2lbxryh41dzl2glzpgr32b68s4fbwbaa")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'set-EDITOR (lambda _ (setenv "EDITOR" "echo") #t))))) (propagated-inputs `(("perl-carp-assert" ,perl-carp-assert))) (home-page "https://metacpan.org/release/Proc-InvokeEditor") (synopsis "Interface to external editor from Perl") (description "This module provides the ability to supply some text to an external text editor, have it edited by the user, and retrieve the results.") (license (package-license perl)))) (define-public perl-readonly (package (name "perl-readonly") (version "2.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SANKO/" "Readonly-" version ".tar.gz")) (sha256 (base32 "165zcf9lpijdpkx82za0g9rx8ckjnhipmcivdkyzshl8jmp1bl4v")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Readonly") (synopsis "Create read-only scalars, arrays, hashes") (description "This module provides a facility for creating non-modifiable variables in Perl. This is useful for configuration files, headers, etc. It can also be useful as a development and debugging tool for catching updates to variables that should not be changed.") (license (package-license perl)))) (define-public perl-ref-util-xs (package (name "perl-ref-util-xs") (version "0.117") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/" "Ref-Util-XS-" version ".tar.gz")) (sha256 (base32 "0g33cndhj353h5xjihvgjc2h6vxwkyyzw63r4l06czvq4flcar7v")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Ref-Util-XS") (synopsis "XS implementation for Ref::Util") (description "@code{Ref::Util::XS} is the XS implementation of @code{Ref::Util}, which provides several functions to help identify references in a more convenient way than the usual approach of examining the return value of @code{ref}.") (license license:x11))) (define-public perl-regexp-common (package (name "perl-regexp-common") (version "2017060201") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" "Regexp-Common-" version ".tar.gz")) (sha256 (base32 "16q8d7mx0c4nbjrvj69jdn4q33d1k40imgxn83h11wq6xqx8a1zf")))) (build-system perl-build-system) (synopsis "Provide commonly requested regular expressions") (description "This module exports a single hash (@code{%RE}) that stores or generates commonly needed regular expressions. Patterns currently provided include: balanced parentheses and brackets, delimited text (with escapes), integers and floating-point numbers in any base (up to 36), comments in 44 languages, offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip codes.") (home-page "https://metacpan.org/release/Regexp-Common") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) license:x11 license:bsd-3)))) (define-public perl-regexp-util (package (name "perl-regexp-util") (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Regexp-Util-" version ".tar.gz")) (sha256 (base32 "01n1cggiflsnp9f6adkcxzkc0qpgssz60cwnyyd8mzavh2ximr5a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Regexp-Util") (synopsis "Selection of general-utility regexp subroutines") (description "This package provides a selection of regular expression subroutines including @code{is_regexp}, @code{regexp_seen_evals}, @code{regexp_is_foreign}, @code{regexp_is_anchored}, @code{serialize_regexp}, and @code{deserialize_regexp}.") (license (package-license perl)))) (define-public perl-role-tiny (package (name "perl-role-tiny") (version "1.003004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Role-Tiny-" version ".tar.gz")) (sha256 (base32 "0ak60hakn0ixmsiw403si0lf5pagq5r6wjgl7p0pr979nlcikfmd")))) (build-system perl-build-system) (native-inputs `(("perl-namespace-autoclean" ,perl-namespace-autoclean) ("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-class-method-modifiers" ,perl-class-method-modifiers))) (home-page "https://metacpan.org/release/Role-Tiny") (synopsis "Roles, as a slice of Moose") (description "Role::Tiny is a minimalist role composition tool.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘Role::Tiny’. (define-public perl-role-tiny-2 (package (inherit perl-role-tiny) (version "2.001004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Role-Tiny-" version ".tar.gz")) (sha256 (base32 "11qn516352yhi794www3ykwa9xv2gxpfnhn9jcn10x0ahl95gflj")))))) (define-public perl-safe-isa (package (name "perl-safe-isa") (version "1.000010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Safe-Isa-" version ".tar.gz")) (sha256 (base32 "0sm6p1kw98s7j6n92vvxjqf818xggnmjwci34xjmw7gzl2519x47")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Safe-Isa") (synopsis "Call isa, can, does, and DOES safely") (description "This module allows you to call isa, can, does, and DOES safely on things that may not be objects.") (license (package-license perl)))) (define-public perl-scalar-string (package (name "perl-scalar-string") (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-" version ".tar.gz")) (sha256 (base32 "0llbsqk7rsg9p7l1f4yk6iv7wij91gvavprsqhnb04w7nz4ifjpm")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (home-page "https://metacpan.org/release/Scalar-String") (synopsis "String aspects of scalars") (description "@code{Scalar::String} is about the string part of plain Perl scalars. A scalar has a string value, which is notionally a sequence of Unicode codepoints but may be internally encoded in either ISO-8859-1 or UTF-8. In places, more so in older versions of Perl, the internal encoding shows through. To fully understand Perl strings it is necessary to understand these implementation details. This module provides functions to classify a string by encoding and to encode a string in a desired way. The module is implemented in XS, with a pure Perl backup version for systems that cannot handle XS.") (license license:perl-license))) (define-public perl-scope-guard (package (name "perl-scope-guard") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHOCOLATE/" "Scope-Guard-" version ".tar.gz")) (sha256 (base32 "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Scope-Guard") (synopsis "Lexically-scoped resource management") (description "This module provides a convenient way to perform cleanup or other forms of resource management at the end of a scope. It is particularly useful when dealing with exceptions: the Scope::Guard constructor takes a reference to a subroutine that is guaranteed to be called even if the thread of execution is aborted prematurely. This effectively allows lexically-scoped \"promises\" to be made that are automatically honoured by perl's garbage collector.") (license (package-license perl)))) (define-public perl-set-infinite (package (name "perl-set-infinite") (version "0.65") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FG/FGLOCK/" "Set-Infinite-" version ".tar.gz")) (sha256 (base32 "07vyp0jpndcxkbyjk432nillxxk22wrmm2rs985y8ba96h3qig07")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-Infinite") (synopsis "Infinite sets") (description "Set::Infinite is a set theory module for infinite sets.") (license (package-license perl)))) (define-public perl-set-intervaltree (package (name "perl-set-intervaltree") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SL/SLOYD/Set-IntervalTree-" version ".tar.gz")) (sha256 (base32 "0jf3vdmdgxx6a9xrfwnbbs9g37i1i6qhfg5qwln8x5i280701m3g")))) (build-system perl-build-system) (native-inputs `(("perl-extutils-cppguess" ,perl-extutils-cppguess))) (home-page "https://metacpan.org/release/Set-IntervalTree") (synopsis "Perform range-based lookups on sets of ranges") (description "This package provides an efficient mechanism to look up ranges in Interval Trees.") (license (package-license perl)))) (define-public perl-set-intspan (package (name "perl-set-intspan") (version "1.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-" version ".tar.gz")) (sha256 (base32 "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-IntSpan") (synopsis "Manage sets of integers") (description "@code{Set::IntSpan} manages sets of integers. It is optimized for sets that have long runs of consecutive integers.") (license license:perl-license))) (define-public perl-set-object (package (name "perl-set-object") (version "1.39") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" "Set-Object-" version ".tar.gz")) (sha256 (base32 "040q819l9x55j0hjhfvc153451syvjffw3d22gs398sd23mwzzsy")))) (build-system perl-build-system) (propagated-inputs `(("perl-moose" ,perl-moose) ("perl-test-leaktrace" ,perl-test-leaktrace))) (home-page "https://metacpan.org/release/Set-Object") (synopsis "Unordered collections of Perl Objects") (description "Set::Object provides efficient sets, unordered collections of Perl objects without duplicates for scalars and references.") (license license:artistic2.0))) (define-public perl-set-scalar (package (name "perl-set-scalar") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAVIDO/" "Set-Scalar-" version ".tar.gz")) (sha256 (base32 "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-Scalar") (synopsis "Set operations for Perl") (description "The first priority of Set::Scalar is to be a convenient interface to sets (as in: unordered collections of Perl scalars). While not designed to be slow or big, neither has it been designed to be fast or compact.") (license (package-license perl)))) (define-public perl-sort-key (package (name "perl-sort-key") (version "1.33") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-" version ".tar.gz")) (sha256 (base32 "1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sort-Key") (synopsis "Sort arrays by one or multiple calculated keys") (description "This Perl module provides various functions to quickly sort arrays by one or multiple calculated keys.") (license (package-license perl)))) (define-public perl-sort-naturally (package (name "perl-sort-naturally") (version "1.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-" version ".tar.gz")) (sha256 (base32 "0ip7q5g8d3lr7ri3ffcbrpk1hzzsiwgsn14k10k7hnjphxf1raza")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sort-Naturally") (synopsis "Sort lexically, but sort numeral parts numerically") (description "This module exports two functions, @code{nsort} and @code{ncmp}; they are used in implementing a \"natural sorting\" algorithm. Under natural sorting, numeric substrings are compared numerically, and other word-characters are compared lexically.") (license (package-license perl)))) (define-public perl-specio (package (name "perl-specio") (version "0.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Specio-" version ".tar.gz")) (sha256 (base32 "1s5xd9awwrzc94ymimjkxqs6jq513wwlmwwarxaklvg2hk4lps0l")))) (build-system perl-build-system) (propagated-inputs `(("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-eval-closure" ,perl-eval-closure) ("perl-module-runtime" ,perl-module-runtime) ("perl-mro-compat" ,perl-mro-compat) ("perl-role-tiny" ,perl-role-tiny) ("perl-test-fatal" ,perl-test-fatal) ("perl-test-needs" ,perl-test-needs))) (home-page "https://metacpan.org/release/Specio") (synopsis "Classes for representing type constraints and coercion") (description "The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them. Note that this is not a proper type system for Perl. Nothing in this distribution will magically make the Perl interpreter start checking a value's type on assignment to a variable. In fact, there's no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type.") (license license:artistic2.0))) (define-public perl-spiffy (package (name "perl-spiffy") (version "0.46") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" "Spiffy-" version ".tar.gz")) (sha256 (base32 "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Spiffy") (synopsis "Spiffy Perl Interface Framework For You") (description "Spiffy is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way. Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6.") (license (package-license perl)))) (define-public perl-want (package (name "perl-want") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBIN/Want-" version ".tar.gz")) (sha256 (base32 "1xsjylbxxcbkjazqms49ipi94j1hd2ykdikk29cq7dscil5p9r5l")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Want") (synopsis "Generalization of wantarray") (description "This module generalises the mechanism of the @code{wantarray} function, allowing a function to determine in some detail how its return value is going to be immediately used.") (license license:perl-license))) (define-public perl-contextual-return (package (name "perl-contextual-return") (version "0.004014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/Contextual-Return-" version ".tar.gz")) (sha256 (base32 "0y4zf5qkpayp4kkg7lw9ydbbin1z99m6xvy02fgacjbfw4ai9zh9")))) (build-system perl-build-system) (propagated-inputs `(("perl-want" ,perl-want))) (home-page "https://metacpan.org/release/Contextual-Return") (synopsis "Create context-sensitive return values") (description "This module provides a collection of named blocks that allow a return statement to return different values depending on the context in which it is called.") (license license:perl-license))) (define-public perl-statistics-basic (package (name "perl-statistics-basic") (version "1.6611") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-" version ".tar.gz")) (sha256 (base32 "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8")))) (build-system perl-build-system) (inputs `(("perl-number-format" ,perl-number-format))) (home-page "https://metacpan.org/release/Statistics-Basic") (synopsis "Collection of very basic statistics modules") (description "This package provides basic statistics functions like @code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.") (license license:lgpl2.0))) (define-public perl-statistics-pca (package (name "perl-statistics-pca") (version "0.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DS/DSTH/Statistics-PCA-" version ".tar.gz")) (sha256 (base32 "1i3bskwibp54c9a2wx8gzr3hyds6mmhr3d550g8j6893005v3bgq")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-contextual-return" ,perl-contextual-return) ("perl-math-cephes" ,perl-math-cephes) ("perl-math-matrixreal" ,perl-math-matrixreal) ("perl-text-simpletable" ,perl-text-simpletable))) (home-page "https://metacpan.org/release/Statistics-PCA") (synopsis "Perl implementation of Principal Component Analysis") (description "This package provides the Statistics::PCA module, an implementation of @dfn{Principal Component Analysis} (PCA).") (license license:perl-license))) (define-public perl-stream-buffered (package (name "perl-stream-buffered") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" "Stream-Buffered-" version ".tar.gz")) (sha256 (base32 "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Stream-Buffered") (synopsis "Temporary buffer to save bytes") (description "Stream::Buffered is a buffer class to store arbitrary length of byte strings and then get a seekable filehandle once everything is buffered. It uses PerlIO and/or temporary file to save the buffer depending on the length of the size.") (license (package-license perl)))) (define-public perl-strictures (package (name "perl-strictures") (version "1.005005") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "strictures-" version ".tar.gz")) (sha256 (base32 "1bmpv8wr9jbc1lfj634xhq3y42nm28hh01jfsyzxhqhqf6dkdz59")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/strictures") (synopsis "Turn on strict and make all warnings fatal") (description "Strictures turns on strict and make all warnings fatal when run from within a source-controlled directory.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘strictures’. (define-public perl-strictures-2 (package (inherit perl-strictures) (version "2.000006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "strictures-" version ".tar.gz")) (sha256 (base32 "0mwd9xqz4n8qfpi5h5581lbm33qhf7agww18h063icnilrs7km89")))))) (define-public perl-string-camelcase (package (name "perl-string-camelcase") (version "0.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HI/HIO/" "String-CamelCase-" version ".tar.gz")) (sha256 (base32 "1a8i4yzv586svd0pbxls7642vvmyiwzh4x2xyij8gbnfxsydxhw9")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/String-CamelCase") (synopsis "Camelcase and de-camelcase") (description "This module may be used to convert from under_score text to CamelCase and back again.") (license (package-license perl)))) (define-public perl-string-escape (package (name "perl-string-escape") (version "2010.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EV/EVO/String-Escape-" version ".tar.gz")) (sha256 (base32 "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/String-Escape") (synopsis "Backslash escapes, quoted phrase, word elision, etc.") (description "This module provides a flexible calling interface to some frequently-performed string conversion functions, including applying and expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and removing double-quotes, and truncating to fit within a desired length.") (license (package-license perl)))) (define-public perl-string-formatter (package (name "perl-string-formatter") (version "0.102084") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-" version ".tar.gz")) (sha256 (base32 "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3")))) (build-system perl-build-system) (propagated-inputs `(("perl-params-util" ,perl-params-util) ("perl-sub-exporter" ,perl-sub-exporter))) (home-page "https://metacpan.org/release/String-Formatter") (synopsis "Build your own sprintf-like functions") (description "@code{String::Formatter} is a tool for building sprintf-like formatting routines. It supports named or positional formatting, custom conversions, fixed string interpolation, and simple width-matching.") (license license:gpl2))) (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "String-RewritePrefix-" version ".tar.gz")) (sha256 (base32 "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw")))) (build-system perl-build-system) (propagated-inputs `(("perl-sub-exporter" ,perl-sub-exporter))) (home-page "https://metacpan.org/release/String-RewritePrefix") (synopsis "Rewrite strings based on a set of known prefixes") (description "This module allows you to rewrite strings based on a set of known prefixes.") (license (package-license perl)))) (define-public perl-string-shellquote (package (name "perl-string-shellquote") (version "1.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-" version ".tar.gz")) (sha256 (base32 "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/String-ShellQuote") (synopsis "Quote strings for passing through a shell") (description "@code{shell-quote} lets you pass arbitrary strings through the shell so that they won't be changed.") (license (package-license perl)))) (define-public perl-string-print (package (name "perl-string-print") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/" "String-Print-" version ".tar.gz")) (sha256 (base32 "1n9lc5dr66sg89hym47764fyfms7vrxrhwvdps2x8x8gxly7rsdl")))) (build-system perl-build-system) (propagated-inputs `(("perl-unicode-linebreak" ,perl-unicode-linebreak))) (home-page "https://metacpan.org/release/String-Print") (synopsis "String printing alternatives to printf") (description "This module inserts values into (translated) strings. It provides @code{printf} and @code{sprintf} alternatives via both an object-oriented and a functional interface.") (license (package-license perl)))) (define-public perl-sub-exporter (package (name "perl-sub-exporter") (version "0.987") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-" version ".tar.gz")) (sha256 (base32 "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l")))) (build-system perl-build-system) (propagated-inputs `(("perl-data-optlist" ,perl-data-optlist) ("perl-params-util" ,perl-params-util))) (home-page "https://metacpan.org/release/Sub-Exporter") (synopsis "Sophisticated exporter for custom-built routines") (description "Sub::Exporter provides a sophisticated alternative to Exporter.pm for custom-built routines.") (license (package-license perl)))) (define-public perl-sub-exporter-progressive (package (name "perl-sub-exporter-progressive") (version "0.001013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" "Sub-Exporter-Progressive-" version ".tar.gz")) (sha256 (base32 "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm")))) (build-system perl-build-system) (native-inputs `(("perl-sub-exporter" ,perl-sub-exporter))) (home-page "https://metacpan.org/release/Sub-Exporter-Progressive") (synopsis "Only use Sub::Exporter if you need it") (description "Sub::Exporter is an incredibly powerful module, but with that power comes great responsibility, as well as some runtime penalties. This module is a \"Sub::Exporter\" wrapper that will let your users just use Exporter if all they are doing is picking exports, but use \"Sub::Exporter\" if your users try to use \"Sub::Exporter\"'s more advanced features, like renaming exports, if they try to use them.") (license (package-license perl)))) (define-public perl-sub-identify (package (name "perl-sub-identify") (version "0.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/" "Sub-Identify-" version ".tar.gz")) (sha256 (base32 "0vxdxyfh6037xy88ic7500wydzmsxldhp95n8bld2kaihqh2g386")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Identify") (synopsis "Retrieve names of code references") (description "Sub::Identify allows you to retrieve the real name of code references.") (license (package-license perl)))) (define-public perl-sub-info (package (name "perl-sub-info") (version "0.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-" version ".tar.gz")) (sha256 (base32 "1snhrmc6gpw2zjnj7zvvqj69mlw711bxah6kk4dg5vxxjvb5cc7a")))) (build-system perl-build-system) (propagated-inputs `(("perl-importer" ,perl-importer))) (home-page "https://metacpan.org/release/Sub-Info") (synopsis "Tool to inspect subroutines") (description "This package provides tools for inspecting subroutines in Perl.") (license (package-license perl)))) (define-public perl-sub-install (package (name "perl-sub-install") (version "0.928") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-" version ".tar.gz")) (sha256 (base32 "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Install") (synopsis "Install subroutines into packages easily") (description "Sub::Install makes it easy to install subroutines into packages without the unsightly mess of C or typeglobs lying about where just anyone can see them.") (license (package-license perl)))) (define-public perl-sub-name (package (name "perl-sub-name") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Sub-Name-" version ".tar.gz")) (sha256 (base32 "05viq8scqk29g964fsfvls2rhvlb8myz3jblwh5c2ivhw3gfjcmx")))) (build-system perl-build-system) (native-inputs `(("perl-devel-checkbin" ,perl-devel-checkbin))) (home-page "https://metacpan.org/release/Sub-Name") (synopsis "(Re)name a sub") (description "Assigns a new name to referenced sub. If package specification is omitted in the name, then the current package is used. The return value is the sub.") (license (package-license perl)))) (define-public perl-sub-quote (package (name "perl-sub-quote") (version "2.006006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-" version ".tar.gz")) (sha256 (base32 "17fq4iskrisnqs96amrz493vxikwvqbj9s7014k6vyl84gs2lkkf")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal))) (propagated-inputs `(("perl-sub-name" ,perl-sub-name))) (home-page "https://metacpan.org/release/Sub-Quote") (synopsis "Efficient generation of subroutines via string eval") (description "Sub::Quote provides an efficient generation of subroutines via string eval.") (license (package-license perl)))) (define-public perl-sub-uplevel (package (name "perl-sub-uplevel") (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Sub-Uplevel-" version ".tar.gz")) (sha256 (base32 "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Uplevel") (synopsis "Apparently run a function in a higher stack frame") (description "Like Tcl's uplevel() function, but not quite so dangerous. The idea is just to fool caller(). All the really naughty bits of Tcl's uplevel() are avoided.") (license (package-license perl)))) (define-public perl-super (package (name "perl-super") (version "1.20190531") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/" "SUPER-" version ".tar.gz")) (sha256 (base32 "16nk2za9fwyg7mcifacr69qi075iz1yvy8r9jh3903kzdvkiwpb8")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-sub-identify" ,perl-sub-identify))) (home-page "https://metacpan.org/release/SUPER") (synopsis "Control superclass method dispatching") (description "When subclassing a class, you may occasionally want to dispatch control to the superclass---at least conditionally and temporarily. This module provides nicer equivalents to the native Perl syntax for calling superclasses, along with a universal @code{super} method to determine a class' own superclass, and better support for run-time mix-ins and roles.") (license license:perl-license))) (define-public perl-svg (package (name "perl-svg") (version "2.86") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/SVG-" version ".tar.gz")) (sha256 (base32 "0yx661fznk70lgxl87rdl9fsswr6pd1d7wzrh0136b5vhrpypikj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/SVG") (synopsis "Perl extension for generating SVG documents") (description "SVG is a Perl module which generates a nested data structure containing the DOM representation of an SVG (Scalable Vector Graphics) image. Using SVG, you can generate SVG objects, embed other SVG instances into it, access the DOM object, create and access Javascript, and generate SMIL animation content.") (license (package-license perl)))) (define-public perl-switch (package (name "perl-switch") (version "2.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/Switch-" version ".tar.gz")) (sha256 (base32 "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Switch") (synopsis "Switch statement for Perl") (description "Switch is a Perl module which implements a generalized case mechanism. The module augments the standard Perl syntax with two new statements: @code{switch} and @code{case}.") (license (package-license perl)))) (define-public perl-sys-cpu (package (name "perl-sys-cpu") (version "0.61") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" "Sys-CPU-" version ".tar.gz")) (sha256 (base32 "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")) (modules '((guix build utils))) (snippet '(begin ;; The contents of /proc/cpuinfo can differ and confuse the ;; cpu_clock and cpu_type methods, so we replace the test ;; with one that marks cpu_clock and cpu_type as TODO. ;; Borrowed from Debian. (call-with-output-file "t/Sys-CPU.t" (lambda (port) (format port "#!/usr/bin/perl use Test::More tests => 4; BEGIN { use_ok('Sys::CPU'); } $number = &Sys::CPU::cpu_count(); ok( defined($number), \"CPU Count: $number\" ); TODO: { local $TODO = \"/proc/cpuinfo doesn't always report 'cpu MHz' or 'clock' or 'bogomips' ...\"; $speed = &Sys::CPU::cpu_clock(); ok( defined($speed), \"CPU Speed: $speed\" ); } TODO: { local $TODO = \"/proc/cpuinfo doesn't always report 'model name' or 'machine' ...\"; $type = &Sys::CPU::cpu_type(); ok( defined($type), \"CPU Type: $type\" ); }~%"))) #t)))) (build-system perl-build-system) (synopsis "Perl extension for getting CPU information") (description "Sys::CPU is a module for counting the number of CPUs on a system, and determining their type and clock speed.") (home-page "https://metacpan.org/release/MZSANFORD/Sys-CPU-0.61") (license (package-license perl)))) (define-public perl-sys-hostname-long (package (name "perl-sys-hostname-long") (version "1.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SC/SCOTT/" "Sys-Hostname-Long-" version ".tar.gz")) (sha256 (base32 "1jv5n8jv48c1p8svjsigyxndv1ygsq8wgwj9c7ypx1vaf3rns679")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;no `hostname' during build (home-page "https://metacpan.org/release/Sys-Hostname-Long") (synopsis "Get full hostname in Perl") (description "Sys::Hostname::Long tries very hard to get the full hostname of a system.") (license (package-license perl)))) (define-public perl-sys-syscall (package (name "perl-sys-syscall") (version "0.25") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BR/BRADFITZ/" "Sys-Syscall-" version ".tar.gz")) (sha256 (base32 "1r8k4q04dhs191zgdfgiagvbra770hx0bm6x24jsykxn0c6ghi8y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sys-Syscall") (synopsis "Access system calls that Perl doesn't normally provide access to") (description "Sys::Syscall allows one to use epoll and sendfile system calls from Perl. Support is mostly Linux-only for now, but other syscalls/OSes are planned for the future.") (license license:perl-license))) (define-public perl-task-weaken (package (name "perl-task-weaken") (version "1.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Task-Weaken-" version ".tar.gz")) (sha256 (base32 "1gk6rmnp4x50lzr0vfng41khf0f8yzxlm0pad1j69vxskpdzx0r3")))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'set-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/Task-Weaken") (synopsis "Ensure that a platform has weaken support") (description "One recurring problem in modules that use Scalar::Util's weaken function is that it is not present in the pure-perl variant. If Scalar::Util is not available at all, it will issue a normal dependency on the module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the module does not have weaken, the install will bail out altogether with a long error encouraging the user to seek support.") (license (package-license perl)))) (define-public perl-template-toolkit (package (name "perl-template-toolkit") (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "Template-Toolkit-" version ".tar.gz")) (sha256 (base32 "1msxg3j1hx5wsc7vr81x5gs9gdbn4y0x6cvyj3pq4dgi1603dbvi")))) (build-system perl-build-system) (propagated-inputs `(("perl-appconfig" ,perl-appconfig) ("perl-test-leaktrace" ,perl-test-leaktrace))) (home-page "https://metacpan.org/release/Template-Toolkit") (synopsis "Template processing system for Perl") (description "The Template Toolkit is a collection of modules which implement an extensible template processing system. It was originally designed and remains primarily useful for generating dynamic web content, but it can be used equally well for processing any other kind of text based documents: HTML, XML, POD, PostScript, LaTeX, and so on.") (license (package-license perl)))) (define-public perl-template-timer (package (name "perl-template-timer") (version "1.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/" "Template-Timer-" version ".tar.gz")) (sha256 (base32 "1d3pbcx1kz73ncg8s8lx3ifwphz838qy0m40gdar7790cnrlqcdp")))) (build-system perl-build-system) (propagated-inputs `(("perl-template-toolkit" ,perl-template-toolkit))) (home-page "https://metacpan.org/release/Template-Timer") (synopsis "Profiling for Template Toolkit") (description "Template::Timer provides inline profiling of the template processing in Perl code.") (license (list license:gpl3 license:artistic2.0)))) (define-public perl-template-tiny (package (name "perl-template-tiny") (version "1.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-" version ".tar.gz")) (sha256 (base32 "0jhadxbc8rzbk2v8qvjrbhnvfp0m56iqar6d4nvxyl8bccn0cgh7")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Template-Tiny") (synopsis "Template Toolkit reimplemented in as little code as possible") (description "@code{Template::Tiny} is a reimplementation of a subset of the functionality from Template Toolkit in as few lines of code as possible. It is intended for use in light-usage, low-memory, or low-cpu templating situations, where you may need to upgrade to the full feature set in the future, or if you want the retain the familiarity of TT-style templates.") (license license:perl-license))) (define-public perl-term-encoding (package (name "perl-term-encoding") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" "Term-Encoding-" version ".tar.gz")) (sha256 (base32 "02qx4ni1vqp9hvkw69hp5bxcf2ghjiw8sl34pqy5mlimsy3rdflm")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install))) (home-page "https://metacpan.org/release/Term-Encoding") (synopsis "Detect encoding of the current terminal") (description "Term::Encoding is a simple module to detect the encoding of the current terminal expects in various ways.") (license (package-license perl)))) (define-public perl-term-progressbar (package (name "perl-term-progressbar") (version "2.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/" "Term-ProgressBar-" version ".tar.gz")) (sha256 (base32 "15pn42zf793dplpfnmawh7v7xc4qm38s1jhvn1agx4cafcn61q61")))) (build-system perl-build-system) (native-inputs `(("perl-capture-tiny" ,perl-capture-tiny) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-class-methodmaker" ,perl-class-methodmaker) ("perl-term-readkey" ,perl-term-readkey))) (home-page "https://metacpan.org/release/Term-ProgressBar") (synopsis "Progress meter on a standard terminal") (description "Term::ProgressBar provides a simple progress bar on the terminal, to let the user know that something is happening, roughly how much stuff has been done, and maybe an estimate at how long remains.") (license (package-license perl)))) (define-public perl-term-progressbar-quiet (package (name "perl-term-progressbar-quiet") (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LB/LBROCARD/" "Term-ProgressBar-Quiet-" version ".tar.gz")) (sha256 (base32 "19l4476iinwz19vh360k3rss38m9gmkg633i5v9jkg48yn954rr5")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-interactive" ,perl-io-interactive) ("perl-term-progressbar" ,perl-term-progressbar) ("perl-test-mockobject" ,perl-test-mockobject))) (home-page "https://metacpan.org/release/Term-ProgressBar-Quiet") (synopsis "Progress meter if run interactively") (description "Term::ProgressBar is a wonderful module for showing progress bars on the terminal. This module acts very much like that module when it is run interactively. However, when it is not run interactively (for example, as a cron job) then it does not show the progress bar.") (license (package-license perl)))) (define-public perl-term-progressbar-simple (package (name "perl-term-progressbar-simple") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EV/EVDB/" "Term-ProgressBar-Simple-" version ".tar.gz")) (sha256 (base32 "19kr6l2aflwv9yph5xishkpag038qb8wd4mkzb0x1psvgp3b63d2")))) (build-system perl-build-system) (propagated-inputs `(("perl-term-progressbar-quiet" ,perl-term-progressbar-quiet))) (home-page "https://metacpan.org/release/Term-ProgressBar-Simple") (synopsis "Simple progress bars") (description "Term::ProgressBar::Simple tells you how much work has been done, how much is left to do, and estimate how long it will take.") (license (package-license perl)))) (define-public perl-term-readkey (package (name "perl-term-readkey") (version "2.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JS/JSTOWE/" "TermReadKey-" version ".tar.gz")) (sha256 (base32 "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TermReadKey") (synopsis "Simple terminal control") (description "This module, ReadKey, provides ioctl control for terminals so the input modes can be changed (thus allowing reads of a single character at a time), and also provides non-blocking reads of stdin, as well as several other terminal related features, including retrieval/modification of the screen size, and retrieval/modification of the control characters.") (license (package-license perl)))) (define-public perl-term-readline-gnu (package (name "perl-term-readline-gnu") (version "1.36") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAYASHI/" "Term-ReadLine-Gnu-" version ".tar.gz")) (sha256 (base32 "09b9mcmp09kdfh5jaqdr528yny8746hvn3f185aqd6rw06jgf24s")))) (build-system perl-build-system) (inputs `(("readline" ,readline) ("ncurses" ,ncurses))) (arguments `(#:tests? #f ; Tests fail without other Term::ReadLine interfaces present #:phases (modify-phases %standard-phases (add-before 'configure 'patch-search-lib (lambda* (#:key inputs #:allow-other-keys) (substitute* "Makefile.PL" ;; The configuration provides no way easy was to pass ;; additional directories to search for libraries, so ;; just patch in the flags. (("-lreadline" &) (format #f "-L~a/lib ~a" (assoc-ref inputs "readline") &)) (("&search_lib\\('-lncurses'\\)") (string-append "'-L" (assoc-ref inputs "ncurses") "/lib" " -lncurses'")))))))) (home-page "https://metacpan.org/release/Term-ReadLine-Gnu") (synopsis "GNU Readline/History Library interface for Perl") (description "This module implements an interface to the GNU Readline library. It gives you input line editing facilities, input history management facilities, completion facilities, etc. Term::ReadLine::Gnu is upwards compatible with Term::ReadLine.") (license (package-license perl)))) (define-public perl-term-size-any (package (name "perl-term-size-any") (version "0.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/" "Term-Size-Any-" version ".tar.gz")) (sha256 (base32 "1lnynd8pwjp3g85bl4nav6yigg2lag3sx5da989j7a733bdmzyk4")))) (build-system perl-build-system) (native-inputs `(("perl-devel-hide" ,perl-devel-hide))) (propagated-inputs `(("perl-term-size-perl" ,perl-term-size-perl))) (home-page "https://metacpan.org/release/Term-Size-Any") (synopsis "Retrieve terminal size") (description "This is a unified interface to retrieve terminal size. It loads one module of a list of known alternatives, each implementing some way to get the desired terminal information. This loaded module will actually do the job on behalf of @code{Term::Size::Any}.") (license (package-license perl)))) (define-public perl-term-size-perl (package (name "perl-term-size-perl") (version "0.031") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/" "Term-Size-Perl-" version ".tar.gz")) (sha256 (base32 "17i05y186l977bhp32b24c8rqasmg1la934dizf5sc0vrd36g6mf")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Term-Size-Perl") (synopsis "Perl extension for retrieving terminal size (Perl version)") (description "This is yet another implementation of @code{Term::Size}. Now in pure Perl, with the exception of a C probe run at build time.") (license (package-license perl)))) (define-public perl-term-table (package (name "perl-term-table") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-" version ".tar.gz")) (sha256 (base32 "0gi4lyvs6n8y6hjwmflfpamfl65y7mb1g39zi0rx35nclj8xb370")))) (build-system perl-build-system) (propagated-inputs `(("perl-importer" ,perl-importer))) (home-page "https://metacpan.org/release/Term-Table") (synopsis "Format a header and rows into a table") (description "This module is able to generically format rows of data into tables.") (license (package-license perl)))) (define-public perl-text-aligner (package (name "perl-text-aligner") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "Text-Aligner-" version ".tar.gz")) (sha256 (base32 "1vry21jrh91l2pkajnrps83bnr1fn6zshbzi80mcrnggrn9iq776")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Text-Aligner") (synopsis "Align text") (description "Text::Aligner exports a single function, align(), which is used to justify strings to various alignment styles.") (license license:x11))) (define-public perl-text-balanced (package (name "perl-text-balanced") (version "2.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHAY/" "Text-Balanced-" version ".tar.gz")) (sha256 (base32 "1j4jjw6bg6ik8cn1mimw54rvg4h0qf4hm9k63y9572sny3w56xq5")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Balanced") (synopsis "Extract delimited text sequences from strings") (description "The Text::Balanced module can be used to extract delimited text sequences from strings.") (license (package-license perl)))) (define-public perl-text-csv (package (name "perl-text-csv") (version "2.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IS/ISHIGAKI/" "Text-CSV-" version ".tar.gz")) (sha256 (base32 "1hmjrc8h622nybdq8lpqi3hlrcjvb474s4a4b2cjs8h5b0cxkjwc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-CSV") (synopsis "Manipulate comma-separated values") (description "Text::CSV provides facilities for the composition and decomposition of comma-separated values. An instance of the Text::CSV class can combine fields into a CSV string and parse a CSV string into fields.") (license (package-license perl)))) (define-public perl-text-csv-xs (package (name "perl-text-csv-xs") (version "1.44") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HM/HMBRAND/" "Text-CSV_XS-" version ".tgz")) (sha256 (base32 "1i4viyf61lzss474ndnmqhdqlhksn9hcxhjbqhv4frg2m3f2v0f4")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-CSV_XS") (synopsis "Routines for manipulating CSV files") (description "@code{Text::CSV_XS} provides facilities for the composition and decomposition of comma-separated values. An instance of the @code{Text::CSV_XS} class will combine fields into a CSV string and parse a CSV string into fields. The module accepts either strings or files as input and support the use of user-specified characters for delimiters, separators, and escapes.") (license (package-license perl)))) (define-public perl-text-diff (package (name "perl-text-diff") (version "1.45") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Text-Diff-" version ".tar.gz")) (sha256 (base32 "013g13prdghxvrp5754gyc7rmv1syyxrhs33yc5f0lrz3dxs1fp8")))) (build-system perl-build-system) (propagated-inputs `(("perl-algorithm-diff" ,perl-algorithm-diff))) (home-page "https://metacpan.org/release/Text-Diff") (synopsis "Perform diffs on files and record sets") (description "Text::Diff provides a basic set of services akin to the GNU diff utility. It is not anywhere near as feature complete as GNU diff, but it is better integrated with Perl and available on all platforms. It is often faster than shelling out to a system's diff executable for small files, and generally slower on larger files.") (license (package-license perl)))) (define-public perl-text-format (package (name "perl-text-format") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-" version ".tar.gz")) (sha256 (base32 "0104z7jjv46kqh77rnx8kvmsbr5dy0s56xm01dckq4ly65br0hkx")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (home-page "https://metacpan.org/release/Text-Format") (synopsis "Various subroutines to format text") (description "This package provides functions to format text in various ways like centering, paragraphing, and converting tabs to spaces and spaces to tabs.") (license license:perl-license))) (define-public perl-text-glob (package (name "perl-text-glob") (version "0.11") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Text-Glob-" version ".tar.gz")) (sha256 (base32 "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Text-Glob") (synopsis "Match globbing patterns against text") (description "Text::Glob implements glob(3) style matching that can be used to match against text, rather than fetching names from a file system. If you want to do full file globbing use the File::Glob module instead.") (license (package-license perl)))) (define-public perl-text-haml (package (name "perl-text-haml") (version "0.990118") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VT/VTI/" "Text-Haml-" version ".tar.gz")) (sha256 (base32 "1siq8hgj7s8gwpf3n3h1is5v50rwi6av8lfb19khiyyqz0rp7a57")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny))) (propagated-inputs `(("perl-data-section-simple" ,perl-data-section-simple) ("perl-uri" ,perl-uri))) (home-page "https://metacpan.org/release/Text-Haml") (synopsis "Haml Perl implementation") (description "Text::Haml implements Haml @url{http://haml.info/docs/yardoc/file.REFERENCE.html} specification.") (license license:artistic2.0))) (define-public perl-text-neattemplate (package (name "perl-text-neattemplate") (version "0.1101") (source (origin (method url-fetch) (uri (string-append "https://cpan.metacpan.org/authors/id/R/RU/RUBYKAT/" "Text-NeatTemplate-" version ".tar.gz")) (sha256 (base32 "129msa57jzxxi2x7z9hgzi48r48y65w77ycfk1w733zz2m8nr8y3")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Text-NeatTemplate") (synopsis "Fast, middleweight template engine") (description "Text::NeatTemplate provides a simple, middleweight but fast template engine, for when you need speed rather than complex features, yet need more features than simple variable substitution.") (license (package-license perl)))) (define-public perl-text-patch (package (name "perl-text-patch") (version "1.8") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CA/CADE/" "Text-Patch-" version ".tar.gz")) (sha256 (base32 "1k1xbhxwn9fymqqwnam9pm7hr2p5ikq6dk578qw18gkap9hqxwga")))) (build-system perl-build-system) (propagated-inputs `(("perl-text-diff" ,perl-text-diff))) (home-page "https://metacpan.org/release/Text-Patch") (synopsis "Patches text with given patch") (description "Text::Patch combines source text with given diff (difference) data. Diff data is produced by Text::Diff module or by the standard @code{diff} utility.") (license license:gpl2+))) (define-public perl-text-roman (package (name "perl-text-roman") (version "3.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-" version ".tar.gz")) (sha256 (base32 "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Roman") (synopsis "Convert between Roman and Arabic algorisms") (description "This package provides functions to convert between Roman and Arabic algorisms. It supports both conventional Roman algorisms (which range from 1 to 3999) and Milhar Romans, a variation which uses a bar across the algorism to indicate multiplication by 1000.") (license (package-license perl)))) (define-public perl-text-simpletable (package (name "perl-text-simpletable") (version "2.07") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MR/MRAMBERG/" "Text-SimpleTable-" version ".tar.gz")) (sha256 (base32 "1v8r8qpzg283p2pqqr8dqrak2bxray1b2jmib0qk75jffqw3yv95")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-SimpleTable") (synopsis "Simple ASCII tables") (description "Text::SimpleTable draws simple ASCII tables.") (license license:artistic2.0))) (define-public perl-text-table (package (name "perl-text-table") (version "1.133") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "Text-Table-" version ".tar.gz")) (sha256 (base32 "04kh5x5inq183rdg221wlqaaqi1ipyj588mxsslik6nhc14f17nd")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-text-aligner" ,perl-text-aligner))) (home-page "https://metacpan.org/release/Text-Table") (synopsis "Organize Data in Tables") (description "Text::Table renders plaintext tables.") (license license:x11))) (define-public perl-text-template (package (name "perl-text-template") (version "1.55") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-" version ".tar.gz")) (sha256 (base32 "12zi08mwmlbfbnsialmppk75s6dkg765dvmay3wif3158plqp554")))) (build-system perl-build-system) (native-inputs `(("perl-test-more-utf8" ,perl-test-more-utf8) ("perl-test-warnings" ,perl-test-warnings))) (home-page "https://metacpan.org/release/Text-Template") (synopsis "Expand template text with embedded Perl") (description "This is a library for generating letters, building HTML pages, or filling in templates generally. A template is a piece of text that has little Perl programs embedded in it here and there. When you fill in a template, you evaluate the little programs and replace them with their values.") (license license:perl-license))) (define-public perl-text-unidecode (package (name "perl-text-unidecode") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SB/SBURKE/" "Text-Unidecode-" version ".tar.gz")) (sha256 (base32 "1imii0p6wvhrxsr5z2zhazpx5vl4l4ybf1y2c5hy480xvi6z293c")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Unidecode") (synopsis "Provide plain ASCII transliterations of Unicode text") (description "Text::Unidecode provides a function, unidecode(...) that takes Unicode data and tries to represent it in US-ASCII characters (i.e., the universally displayable characters between 0x00 and 0x7F). The representation is almost always an attempt at transliteration-- i.e., conveying, in Roman letters, the pronunciation expressed by the text in some other writing system.") (license (package-license perl)))) (define-public perl-threads (package (name "perl-threads") (version "2.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-" version ".tar.gz")) (sha256 (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/threads") (synopsis "Perl interpreter-based threads") (description "This module exposes interpreter threads to the Perl level.") (license license:perl-license))) (define-public perl-throwable (package (name "perl-throwable") (version "0.200013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Throwable-" version ".tar.gz")) (sha256 (base32 "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr")))) (build-system perl-build-system) (native-inputs `(("perl-devel-stacktrace" ,perl-devel-stacktrace))) (propagated-inputs `(("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-module-runtime" ,perl-module-runtime) ("perl-moo" ,perl-moo))) (home-page "https://metacpan.org/release/Throwable") (synopsis "Role for classes that can be thrown") (description "Throwable is a role for classes that are meant to be thrown as exceptions to standard program flow.") (license (package-license perl)))) (define-public perltidy (package (name "perltidy") (version "20180220") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/perltidy/" version "/Perl-Tidy-" version ".tar.gz")) (sha256 (base32 "0w1k5ffcrpx0fm9jgprrwy0290k6cmy7dyk83s61063migi3r5z9")))) (build-system perl-build-system) (home-page "http://perltidy.sourceforge.net/") (synopsis "Perl script tidier") (description "This package contains a Perl script which indents and reformats Perl scripts to make them easier to read. The formatting can be controlled with command line parameters. The default parameter settings approximately follow the suggestions in the Perl Style Guide.") (license license:gpl2+))) (define-public perl-tie-cycle (package (name "perl-tie-cycle") (version "1.226") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-" version ".tar.gz")) (sha256 (base32 "0cvnykkr5z57xwl6i9qdws2gpdhsm0rrf3kia8q0q25vag0f31q9")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Cycle") (synopsis "Cycle through a list of values") (description "You use @code{Tie::Cycle} to go through a list over and over again. Once you get to the end of the list, you go back to the beginning.") (license (package-license perl)))) (define-public perl-tie-ixhash (package (name "perl-tie-ixhash") (version "1.23") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/" "Tie-IxHash-" version ".tar.gz")) (sha256 (base32 "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Tie-IxHash") (synopsis "Ordered associative arrays for Perl") (description "This Perl module implements Perl hashes that preserve the order in which the hash elements were added. The order is not affected when values corresponding to existing keys in the IxHash are changed. The elements can also be set to any arbitrary supplied order. The familiar perl array operations can also be performed on the IxHash.") (license (package-license perl)))) (define-public perl-tie-handle-offset (package (name "perl-tie-handle-offset") (version "0.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-" version ".tar.gz")) (sha256 (base32 "17m8s8314wi4g0wasdxk15rf12vzsgzmcbr598jam5f6bl2kk7zf")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Handle-Offset") (synopsis "Special file handle that hides the beginning of a file") (description "This modules provides a file handle that hides the beginning of a file, by modifying the @code{seek()} and @code{tell()} calls.") (license license:asl2.0))) (define-public perl-tie-simple (package (name "perl-tie-simple") (version "1.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HANENKAMP/" "Tie-Simple-" version ".tar.gz")) (sha256 (base32 "04lbh07nlxhpp03gl20f9w8hxjb2vzlb7w85y9w6q12i749y5s99")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Simple") (synopsis "Variable ties made much easier") (description "This module adds the ability to quickly create new types of tie objects without creating a complete class. It does so in such a way as to try and make the programmers life easier when it comes to single-use ties that I find myself wanting to use from time-to-time. The Tie::Simple package is actually a front-end to other classes which really do all the work once tied, but this package does the dwimming to automatically figure out what you're trying to do.") (license license:perl-license))) (define-public perl-tie-toobject (package (name "perl-tie-toobject") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NU/NUFFIN/" "Tie-ToObject-" version ".tar.gz")) (sha256 (base32 "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3")))) (build-system perl-build-system) (propagated-inputs `(("perl-test-simple" ,perl-test-simple))) (home-page "https://metacpan.org/release/Tie-ToObject") (synopsis "Tie to an existing Perl object") (description "This class provides a tie constructor that returns the object it was given as it's first argument. This way side effects of calling $object->TIEHASH are avoided.") (license (package-license perl)))) (define-public perl-time-duration (package (name "perl-time-duration") (version "1.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Time-Duration-" version ".tar.gz")) (sha256 (base32 "1f59z2svfydxgd1gzrb5k3hl6d432kzmskk7jhv2dyb5hyx0wd7y")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) (home-page "https://metacpan.org/release/Time-Duration") (synopsis "English expression of durations") (description "This module provides functions for expressing durations in rounded or exact terms.") (license (package-license perl)))) (define-public perl-time-duration-parse (package (name "perl-time-duration-parse") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Time-Duration-Parse-" version ".tar.gz")) (sha256 (base32 "10g39bbrxkabbsfq4rv7f5b5x7h3jba08j4pg8gwr0b9iqx19n31")))) (build-system perl-build-system) (native-inputs `(("perl-time-duration" ,perl-time-duration))) (propagated-inputs `(("perl-exporter-lite" ,perl-exporter-lite))) (home-page "https://metacpan.org/release/Time-Duration-Parse") (synopsis "Parse time duration strings") (description "Time::Duration::Parse is a module to parse human readable duration strings like \"2 minutes\" and \"3 seconds\" to seconds.") (license (package-license perl)))) (define-public perl-time-hires (package (name "perl-time-hires") (version "1.9764") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/Time-HiRes-" version ".tar.gz")) (sha256 (base32 "1cfp078spid9z5g7xiswkpkjbkh4mkjvarz25wgwvdxzhxavwhcq")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-HiRes") (synopsis "High-resolution alarm, sleep, gettimeofday, and interval timers") (description "This package implements @code{usleep}, @code{ualarm}, and @code{gettimeofday} for Perl, as well as wrappers to implement @code{time}, @code{sleep}, and @code{alarm} that know about non-integral seconds.") (license license:perl-license))) (define-public perl-time-local (package (name "perl-time-local") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Time-Local-" version ".tar.gz")) (sha256 (base32 "1jr0i57jqm0spdd98gp5mzdnrqdyf7rls0ygwb9ldfc655mlyx67")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-Local") (synopsis "Efficiently compute time from local and GMT time") (description "This module provides functions that are the inverse of built-in perl functions localtime() and gmtime(). They accept a date as a six-element array, and return the corresponding time(2) value in seconds since the system epoch.") (license (package-license perl)))) (define-public perl-time-piece (package (name "perl-time-piece") (version "1.3401") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-" version ".tar.gz")) (sha256 (base32 "09scn3yyqfl5w3yb6qrylhhn386zfz9fmpslk8iwyidb1sxvfmab")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-Piece") (synopsis "Object-Oriented time objects") (description "This module replaces the standard @code{localtime} and @code{gmtime} functions with implementations that return objects. It does so in a backwards-compatible manner, so that using these functions as documented will still work as expected.") (license license:perl-license))) (define-public perl-timedate (package (name "perl-timedate") (version "2.33") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "TimeDate-" version ".tar.gz")) (sha256 (base32 "1cjyc0yi873597r7xcp9yz0l1c46ik2kxwfrn00zbrlx0d5rrdn0")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TimeDate") (synopsis "Date parsing/formatting subroutines") (description "This module provides routines for parsing date string into time values and formatting dates into ASCII strings.") (license (package-license perl)))) (define-public perl-time-mock (package (name "perl-time-mock") (version "0.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EW/EWILHELM/" "Time-Mock-v" version ".tar.gz")) (sha256 (base32 "0bwqyg8z98m8cjw1qcm4wg502n225k33j2fp8ywxkgfjdd1zgllv")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (propagated-inputs `(("perl-timedate" ,perl-timedate))) ;For Date::Parse (home-page "https://metacpan.org/release/Time-Mock") (synopsis "Shift and scale time") (description "This module allows you to speed up your sleep(), alarm(), and time() calls.") (license (package-license perl)))) (define-public perl-tree-simple (package (name "perl-tree-simple") (version "1.34") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" "Tree-Simple-" version ".tgz")) (sha256 (base32 "176j8zgsndfnxb5mxaiarnva3ghck1jxgxwkz77r9fr2sadpksdp")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-scalar-list-utils" ,perl-scalar-list-utils))) (home-page "https://metacpan.org/release/Tree-Simple") (synopsis "Simple tree object") (description "This module in a fully object-oriented implementation of a simple n-ary tree.") (license (package-license perl)))) (define-public perl-tree-simple-visitorfactory (package (name "perl-tree-simple-visitorfactory") (version "0.16") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" "Tree-Simple-VisitorFactory-" version ".tgz")) (sha256 (base32 "19hdi00rw492m5r51b495gv5c64g91g98f8lm6sgym1cl7x3ixcw")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs `(("perl-tree-simple" ,perl-tree-simple))) (home-page "https://metacpan.org/release/Tree-Simple-VisitorFactory") (synopsis "Factory object for dispensing Visitor objects") (description "This module is a factory for dispensing Tree::Simple::Visitor::* objects.") (license (package-license perl)))) (define-public perl-try-tiny (package (name "perl-try-tiny") (version "0.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Try-Tiny-" version ".tar.gz")) (sha256 (base32 "0szgvlz19yz3mq1lbzmwh8w5dh6agg5s16xv22zrnl83r7ax0nys")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Try-Tiny") (synopsis "Minimal try/catch with proper preservation of $@@") (description "This module provides bare bones try/catch/finally statements that are designed to minimize common mistakes with eval blocks, and nothing else.") (license license:x11))) (define-public perl-type-tie (package (name "perl-type-tie") (version "0.015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Type-Tie-" version ".tar.gz")) (sha256 (base32 "0d2ldn6pi8dj7shk4gkjm9bzqr7509fzkwjs7579pmgg6xkkynjf")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) ("perl-test-requires" ,perl-test-requires))) (propagated-inputs `(("perl-exporter-tiny" ,perl-exporter-tiny) ("perl-hash-fieldhash" ,perl-hash-fieldhash))) (home-page "https://metacpan.org/release/Type-Tie") (synopsis "Tie a variable to a type constraint") (description "This module exports a single function: @code{ttie}. It ties a variable to a type constraint, ensuring that whatever values stored in the variable will conform to the type constraint. If the type constraint has coercions, these will be used if necessary to ensure values assigned to the variable conform.") (license (package-license perl)))) (define-public perl-type-tiny (package (name "perl-type-tiny") (version "1.012003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Type-Tiny-" version ".tar.gz")) (sha256 (base32 "0s11rlkkjjys8x6ihm5mrhzbbf341g5ckqbalph4g7l98kcy26yl")))) (build-system perl-build-system) (native-inputs `(("perl-test-warnings" ,perl-test-warnings))) (propagated-inputs `(("perl-devel-lexalias" ,perl-devel-lexalias) ("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-exporter-tiny" ,perl-exporter-tiny) ("perl-moo" ,perl-moo) ("perl-moose" ,perl-moose) ("perl-mouse" ,perl-mouse) ("perl-ref-util-xs" ,perl-ref-util-xs) ("perl-regexp-util" ,perl-regexp-util) ("perl-type-tie" ,perl-type-tie))) (home-page "https://metacpan.org/release/Type-Tiny") (synopsis "Tiny, yet Moo(se)-compatible type constraint") (description "@code{Type::Tiny} is a small class for writing type constraints, inspired by Moose's type constraint API. It has only one non-core dependency (and even that is simply a module that was previously distributed as part of @code{Type::Tiny} but has since been spun off), and can be used with Moose, Mouse and Moo (or none of the above).") (license (package-license perl)))) (define-public perl-type-tiny-xs (package (name "perl-type-tiny-xs") (version "0.022") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-XS-" version ".tar.gz")) (sha256 (base32 "007z49zbwnhghsrvvv2v7fvp6iqfz74bb29qh36307fwywqlmhxw")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Type-Tiny-XS") (synopsis "Provides an XS boost for some of Type::Tiny's built-in type constraints") (description "This module is optionally used by @code{Type::Tiny} to provide faster, C-based implementations of some type constraints. This package has only core dependencies, and does not depend on @code{Type::Tiny}, so other data validation frameworks might also consider using it.") (license license:perl-license))) (define-public perl-types-path-tiny (package (name "perl-types-path-tiny") (version "0.006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Types-Path-Tiny-" version ".tar.gz")) (sha256 (base32 "1072vwcbx2bldfg8xpxc9iqs3rzqd18yik60b432hsdwxpxcjgsr")))) (build-system perl-build-system) (propagated-inputs `(("perl-file-pushd" ,perl-file-pushd) ("perl-path-tiny" ,perl-path-tiny) ("perl-type-tiny" ,perl-type-tiny) ("perl-exporter-tiny" ,perl-exporter-tiny))) (home-page "https://metacpan.org/release/Types-Path-Tiny") (synopsis "Types and coercions for Moose and Moo") (description "This module provides @code{Path::Tiny} types for Moose, Moo, etc. It handles two important types of coercion: coercing objects with overloaded stringification, and coercing to absolute paths. It also can check to ensure that files or directories exist.") (license license:artistic2.0))) (define-public perl-types-serialiser (package (name "perl-types-serialiser") (version "1.0") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Types-Serialiser-" version ".tar.gz")) (sha256 (base32 "03bk0hm5ys8k7265dkap825ybn2zmzb1hl0kf1jdm8yq95w39lvs")))) (build-system perl-build-system) (propagated-inputs `(("perl-common-sense" ,perl-common-sense))) (home-page "https://metacpan.org/release/Types-Serialiser") (synopsis "Data types for common serialisation formats") (description "This module provides some extra datatypes that are used by common serialisation formats such as JSON or CBOR.") (license (package-license perl)))) (define-public perl-unicode-normalize (package (name "perl-unicode-normalize") (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/" "Unicode-Normalize-" version ".tar.gz")) (sha256 (base32 "0gvpmrfrvb3sxqq4pnqfmbpf9q0q2an6a2ba4ara95cvx1s6zpms")))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'set-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/Unicode-Normalize") (synopsis "Unicode normalization forms") (description "This Perl module provides Unicode normalization forms.") (license (package-license perl)))) (define-public perl-unicode-collate (package (name "perl-unicode-collate") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SADAHIRO/" "Unicode-Collate-" version ".tar.gz")) (sha256 (base32 "0dr4k10fgbsczh4sz7w8d0nnba38r6jrg87cm3gw4xxgn55fzj7l")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (propagated-inputs `(("perl-unicode-normalize" ,perl-unicode-normalize))) (home-page "https://metacpan.org/release/Unicode-Collate") (synopsis "Unicode collation algorithm") (description "This package provides tools for sorting and comparing Unicode data.") ;; The file Unicode/Collate/allkeys.txt is released under the Expat ;; license. (license (list (package-license perl) license:expat)))) (define-public perl-unicode-linebreak (package (name "perl-unicode-linebreak") (version "2019.001") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEZUMI/" "Unicode-LineBreak-" version ".tar.gz")) (sha256 (base32 "12iinva5gqc9g7qzxrvmh45n714z0ad9g7wq2dxwgp6drbj64rs8")))) (build-system perl-build-system) (propagated-inputs `(("perl-mime-charset" ,perl-mime-charset))) (home-page "https://metacpan.org/release/Unicode-LineBreak") (synopsis "Unicode line breaking algorithm") (description "@code{Unicode::LineBreak} implements the line breaking algorithm described in Unicode Standard Annex #14. The @code{East_Asian_Width} property defined by Annex #11 is used to determine breaking positions.") (license (package-license perl)))) (define-public perl-unicode-utf8 (package (name "perl-unicode-utf8") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHANSEN/" "Unicode-UTF8-" version ".tar.gz")) (sha256 (base32 "1xnhazbdvpyfpnxd90krzhxkvabf8fa2ji6xzlrf75j6nz8251zs")))) (build-system perl-build-system) ;; FIXME: Tests fail on 32-bit architectures: ;; . (arguments `(#:tests? ,(target-64bit?))) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) ("perl-test-leaktrace" ,perl-test-leaktrace) ("perl-variable-magic" ,perl-variable-magic) ("perl-test-pod" ,perl-test-pod))) (home-page "https://metacpan.org/release/Unicode-UTF8") (synopsis "Encoding and decoding of UTF-8 encoding form") (description "This module provides functions to encode and decode UTF-8 encoding form as specified by Unicode and ISO/IEC 10646:2011.") (license (package-license perl)))) (define-public perl-universal-can (package (name "perl-universal-can") (version "1.20140328") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/" "UNIVERSAL-can-" version ".tar.gz")) (sha256 (base32 "03wr25zznbfn1g8zmmq3g6a6288xr30priwvm75y4vvqfkrajbaj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/UNIVERSAL-can") (synopsis "UNIVERSAL::can() reimplementation") (description "This module attempts to work around people calling UNIVERSAL::can() as a function, which it is not.") (license (package-license perl)))) (define-public perl-universal-isa (package (name "perl-universal-isa") (version "1.20171012") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "UNIVERSAL-isa-" version ".tar.gz")) (sha256 (base32 "0avzv9j32aab6l0rd63n92v0pgliz1p4yabxxjfq275hdh1mcsfi")))) (build-system perl-build-system) (native-inputs `(("perl-module-build-tiny" ,perl-module-build-tiny))) (home-page "https://metacpan.org/release/UNIVERSAL-isa") (synopsis "UNIVERSAL::isa() reimplementation") (description "This module attempts to recover from people calling UNIVERSAL::isa as a function.") (license (package-license perl)))) (define-public perl-universal-require (package (name "perl-universal-require") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-" version ".tar.gz")) (sha256 (base32 "00qs1y2xzxbz4s13q28hwg2pm0vcmsb0gg6k7wh3p33cw0kcsryl")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/UNIVERSAL-require") (synopsis "Require modules from a variable") (description "This module lets you require other modules where the module name is in a variable, something you can't do with the @code{require} built-in.") (license (package-license perl)))) (define-public perl-variable-magic (package (name "perl-variable-magic") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/" "Variable-Magic-" version ".tar.gz")) (sha256 (base32 "0p31dclnj47k4hj35rzay9pzxasl3gq46kzwqalhdw1kgr8ii6iz")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Variable-Magic") (synopsis "Associate user-defined magic to variables from Perl") (description "Magic is Perl's way of enhancing variables. This mechanism lets the user add extra data to any variable and hook syntactical operations (such as access, assignment or destruction) that can be applied to it. With this module, you can add your own magic to any variable without having to write a single line of XS.") (license (package-license perl)))) (define-public perl-xml-writer (package (name "perl-xml-writer") (version "0.900") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-" version ".tar.gz")) (sha256 (base32 "07qd806kcs7si7qakx3x5p68xq2jdmkxdrns987kaayg7syzbj3k")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/XML-Writer") (synopsis "Easily generate well-formed, namespace-aware XML") (description "@code{XML::Writer} is a simple Perl module for writing XML documents: it takes care of constructing markup and escaping data correctly. By default, it also performs a significant amount of well-formedness checking on the output to make certain (for example) that start and end tags match, that there is exactly one document element, and that there are not duplicate attribute names.") ;; Redistribution and use in source and compiled forms, with or without ;; modification, are permitted under any circumstances. No warranty. (license license:public-domain))) (define-public perl-xs-object-magic (package (name "perl-xs-object-magic") (version "0.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "XS-Object-Magic-" version ".tar.gz")) (sha256 (base32 "0njyy4y0zax4zz55y82dlm9cly1pld1lcxb281s12bp9rrhf9j9x")))) (build-system perl-build-system) (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends) ("perl-module-install" ,perl-module-install) ("perl-test-fatal" ,perl-test-fatal))) (home-page "https://metacpan.org/release/XS-Object-Magic") (synopsis "Opaque, extensible XS pointer backed objects using sv_magic") (description "This way of associating structs with Perl space objects is designed to supersede Perl's builtin @code{T_PTROBJ} with something that is extensible (structs can be associated with any data type) and opaque (the C pointer is neither visible nor modifiable from Perl space).") (license (package-license perl)))) (define-public perl-yaml (package (name "perl-yaml") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" "YAML-" version ".tar.gz")) (sha256 (base32 "1kbrfksjg4k4vmx1i337m5n69m00m0m5bgsh61c15bzzrgbacc2h")))) (build-system perl-build-system) (native-inputs `(("perl-test-yaml" ,perl-test-yaml))) (home-page "https://metacpan.org/release/YAML") (synopsis "YAML for Perl") (description "The YAML.pm module implements a YAML Loader and Dumper based on the YAML 1.0 specification.") (license (package-license perl)))) (define-public perl-yaml-libyaml (package (name "perl-yaml-libyaml") (version "0.83") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-" version ".tar.gz")) (sha256 (base32 "1464pradi2dkydm35bhbzyk7sqq87kcd70bp9xddfyirzys7awdl")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/YAML-LibYAML") (synopsis "Perl YAML Serialization using XS and libyaml") (description "@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the best YAML support to date.") (license license:perl-license))) (define-public perl-yaml-tiny (package (name "perl-yaml-tiny") (version "1.73") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "YAML-Tiny-" version ".tar.gz")) (sha256 (base32 "0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw")))) (build-system perl-build-system) (native-inputs `(("perl-json-maybexs" ,perl-json-maybexs) ("perl-module-build-tiny" ,perl-module-build-tiny))) (arguments `(#:tests? #f)) ;requires Test::More >= 0.99 (home-page "https://metacpan.org/release/YAML-Tiny") (synopsis "Read/Write YAML files") (description "YAML::Tiny is a perl class for reading and writing YAML-style files, written with as little code as possible, reducing load time and memory overhead.") (license (package-license perl)))) (define-public perl-parse-recdescent (package (name "perl-parse-recdescent") (version "1.967015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-" version ".tar.gz")) (sha256 (base32 "0dvfcn2xvj9r4ra5xqgasl847nsm1iy85w1kly41fkxm9im36hqr")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Parse-RecDescent") (synopsis "Generate recursive-descent parsers") (description "@code{Parse::RecDescent} can incrementally generate top-down recursive-descent text parsers from simple yacc-like grammar specifications.") (license license:perl-license))) (define-public perl-parse-yapp (package (name "perl-parse-yapp") (version "1.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-" version ".tar.gz")) (sha256 (base32 "1r8kbyk0qd4ficmabj753kjpq0ib0csk01169w7jxflg62cfj41q")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Parse-Yapp") (synopsis "Generate and use LALR parsers") (description "This package compiles yacc-like @dfn{Look Ahead LR} (LALR) grammars to generate Perl object oriented parser modules.") (license (package-license perl)))) ;;; Some packaged modules need versions of core modules that are newer than ;;; those in our perl 5.16.1. (define-public perl-cpan-meta (package (name "perl-cpan-meta") (version "2.150010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-" version ".tar.gz")) (sha256 (base32 "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74")))) (build-system perl-build-system) (propagated-inputs `(("perl-cpan-meta-requirements" ,perl-cpan-meta-requirements) ("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml) ("perl-parse-cpan-meta" ,perl-parse-cpan-meta))) (home-page "https://metacpan.org/release/CPAN-Meta") (synopsis "Distribution metadata for a CPAN dist") (description "Software distributions released to the CPAN include a META.json or, for older distributions, META.yml, which describes the distribution, its contents, and the requirements for building and installing the distribution. The data structure stored in the META.json file is described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to represent this distribution metadata (or distmeta), along with some helpful methods for interrogating that data.") (license (package-license perl)))) (define-public perl-cpan-meta-requirements (package (name "perl-cpan-meta-requirements") (version "2.140") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-Requirements-" version ".tar.gz")) (sha256 (base32 "1a8zflgaayycmn3zvd3n64yypa4jyl1va0h51wpr5w46irg69608")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/CPAN-Meta-Requirements") (synopsis "Set of version requirements for a CPAN dist") (description "A CPAN::Meta::Requirements object models a set of version constraints like those specified in the META.yml or META.json files in CPAN distributions, and as defined by CPAN::Meta::Spec. It can be built up by adding more and more constraints, and will reduce them to the simplest representation.") (license (package-license perl)))) (define-public perl-cpan-meta-yaml (package (name "perl-cpan-meta-yaml") (version "0.018") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-YAML-" version ".tar.gz")) (sha256 (base32 "150jh9l7baddl2587m23qs2l0pb395qsx9bhsgdsnn6y9k4zgjik")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;Tests require Test::More >= 0.99 (home-page "https://metacpan.org/release/CPAN-Meta-YAML") (synopsis "Read and write a subset of YAML for CPAN Meta files") (description "This module implements a subset of the YAML specification for use in reading and writing CPAN metadata files like META.yml and MYMETA.yml.") (license (package-license perl)))) (define-public perl-module-build (package (name "perl-module-build") (version "0.4229") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" "Module-Build-" version ".tar.gz")) (sha256 (base32 "064c03wxia7jz0i578awj4srykj0nnigm4p5r0dv0559rnk93r0z")))) (build-system perl-build-system) (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta))) (home-page "https://metacpan.org/release/Module-Build") (synopsis "Build and install Perl modules") (description "@code{Module::Build} is a system for building, testing, and installing Perl modules; it used to be part of Perl itself until version 5.22, which dropped it. It is meant to be an alternative to @code{ExtUtils::MakeMaker}. Developers may alter the behavior of the module through subclassing in a much more straightforward way than with @code{MakeMaker}. It also does not require a @command{make} on your system---most of the @code{Module::Build} code is pure-Perl.") (license (package-license perl)))) (define-public perl-parse-cpan-meta (package (name "perl-parse-cpan-meta") (version "2.150010") (source (origin (method url-fetch) ;; This module is now known as CPAN::Meta on CPAN. (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-" version ".tar.gz")) (sha256 (base32 "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74")))) (build-system perl-build-system) (propagated-inputs `(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml))) (home-page "https://metacpan.org/release/DAGOLDEN/Parse-CPAN-Meta-1.4422") (synopsis "Parse META.yml and META.json CPAN metadata files") (description "Parse::CPAN::Meta is a parser for META.json and META.yml files, using JSON::PP and/or CPAN::Meta::YAML.") (license (package-license perl)))) (define-public perl-scalar-list-utils (package (name "perl-scalar-list-utils") (version "1.56") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/" "Scalar-List-Utils-" version ".tar.gz")) (sha256 (base32 "0nxb29x7i2w6kjxq188n131b56bsqj1ykrxjcjp6sgpv81ym7f0m")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Scalar-List-Utils") (synopsis "Common Scalar and List utility subroutines") (description "This package contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.") (license (package-license perl)))) (define-public perl-sdl (package (name "perl-sdl") (version "2.548") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/" "SDL-" version ".tar.gz")) (sha256 (base32 "1dagpmcpjnwvd4g6mmnc312rqpd4qcwx21rpi2j7084wz8mijai5")))) (build-system perl-build-system) (native-inputs `(("perl-alien-sdl" ,perl-alien-sdl) ("perl-capture-tiny" ,perl-capture-tiny) ("perl-file-sharedir" ,perl-file-sharedir) ("perl-module-build" ,perl-module-build) ("perl-test-most" ,perl-test-most) ("perl-tie-simple" ,perl-tie-simple))) (inputs `(("freeglut" ,freeglut) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsmpeg" ,libsmpeg) ("libtiff" ,libtiff) ("mesa" ,mesa) ("sdl" ,(sdl-union (list sdl sdl-gfx sdl-image sdl-mixer sdl-pango sdl-ttf))))) (propagated-inputs `(("perl-file-sharedir" ,perl-file-sharedir) ("perl-tie-simple" ,perl-tie-simple))) (home-page "https://metacpan.org/release/SDL") (synopsis "SDL bindings to Perl") (description "SDL Perl is a package of Perl modules that provide both functional and object oriented interfaces to the Simple DirectMedia Layer for Perl5. This package takes some liberties with the SDL API, and attempts to adhere to the spirit of both the SDL and Perl.") (license license:lgpl2.1))) (define-public perl-sgmls (package (name "perl-sgmls") (version "1.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-" version ".tar.gz")) (sha256 (base32 "1gdjf3mcz2bxir0l9iljxiz6qqqg3a9gg23y5wjg538w552r432m")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'wrap-script (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (site (string-append out "/lib/perl5/site_perl"))) (with-directory-excursion out (rename-file "bin/sgmlspl.pl" "bin/sgmlspl") (wrap-program "bin/sgmlspl" `("PERL5LIB" suffix (,site)))) #t)))))) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/RAAB/SGMLSpm-1.1") (synopsis "Perl module for processing SGML parser output") (description "This package contains @code{SGMLS.pm}, a perl5 class library for parsing the output from an SGML parser such as OpenSP. It also includes the @command{sgmlspl} command, an Perl script showcasing how the library can be used.") (license license:gpl2+))) (define-public perl-shell-command (package (name "perl-shell-command") (version "0.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-" version ".tar.gz")) (sha256 (base32 "1lgc2rb3b5a4lxvbq0cbg08qk0n2i88srxbsz93bwi3razpxxr7k")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Shell-Command") (synopsis "Cross-platform functions emulating common shell commands") (description "Shell::Command is a thin wrapper around ExtUtils::Command.") (license (package-license perl)))) ;;; END: Core module overrides (define-public perl-file-find-object (package (name "perl-file-find-object") (version "0.2.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-v" version ".tar.gz")) (sha256 (base32 "0gf13b76b824s73r5rp00v8xrd6dnb5yi5jjavfc394scqv6ldh4")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (inputs `(("perl-class-xsaccessor" ,perl-class-xsaccessor))) (home-page "https://metacpan.org/release/File-Find-Object") (synopsis "Object-oriented File::Find replacement in Perl") (description "File::Find::Object is an object-oriented File::Find replacement in Perl.") (license license:artistic2.0))) (define-public perl-file-find-object-rule (package (name "perl-file-find-object-rule") (version "0.0311") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-" version ".tar.gz")) (sha256 (base32 "0gjzfd5fz7mhr5abafxr7qic7nwhk7y9iv17as6l880973j952h3")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (inputs `(("perl-class-xsaccessor" ,perl-class-xsaccessor) ("perl-file-find-object" ,perl-file-find-object) ("perl-number-compare" ,perl-number-compare) ("perl-text-glob" ,perl-text-glob))) (home-page "https://metacpan.org/release/File-Find-Object-Rule") (synopsis "Alternative interface to File::Find::Object") (description "File::Find::Object::Rule is an alternative Perl interface to File::Find::Object.") (license (package-license perl)))) (define-public perl-file-finder (package (name "perl-file-finder") (version "0.53") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-" version ".tar.gz")) (sha256 (base32 "0x3a2xgzrka73lcmmwalq2mmpzxa7s6pm01ahxf677ksqsdc3jrf")))) (build-system perl-build-system) (propagated-inputs `(("perl-text-glob" ,perl-text-glob))) (home-page "https://metacpan.org/release/File-Finder") (synopsis "Wrapper for @code{File::Find} ala @code{find(1)}") (description "@code{File::Find} is great, but constructing the wanted routine can sometimes be a pain. @code{File::Finder} provides a wanted-writer, using syntax that is directly mappable to the @code{find(1)} command's syntax. A @code{File::Finder} object contains a hash of @code{File::Find} options, and a series of steps that mimic find's predicates. Initially, a @code{File::Finder} object has no steps. Each step method clones the previous object's options and steps, and then adds the new step, returning the new object. In this manner, an object can be grown, step by step, by chaining method calls. Furthermore, a partial sequence can be created and held, and used as the head of many different sequences.") (license license:perl-license))) (define-public perl-font-ttf (package (name "perl-font-ttf") (version "1.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-" version ".tar.gz")) (sha256 (base32 "14y29ja3lsa3yw0ll20lj96f3zz5zydjqi1c5nh9wxar8927ssab")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-string" ,perl-io-string))) (home-page "https://metacpan.org/release/Font-TTF") (synopsis "TTF font support for Perl") (description "This package provides a Perl module for TrueType/OpenType font hacking. It supports reading, processing and writing of the following tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat, fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep, prop, vhea, vmtx and the reading and writing of all other table types.") (license license:artistic2.0))) (define-public perl-libtime-parsedate (package (name "perl-libtime-parsedate") (version "2015.103") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-" version ".tar.gz")) (sha256 (base32 "1lgfr87j4qwqnln0hyyzgik5ixqslzdaksn9m8y824gqbcihc6ic")))) (build-system perl-build-system) (arguments `(;; XXX: We'd like to use #:disallowed-references 'perl-build-system' ;; doesn't support it yet. ;; ;; #:disallowed-references (,tzdata-for-tests) #:phases (modify-phases %standard-phases ;; This is needed for tests (add-after 'unpack 'set-TZDIR (lambda* (#:key inputs #:allow-other-keys) (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) #t))))) (native-inputs `(("perl-module-build" ,perl-module-build) ("tzdata" ,tzdata-for-tests))) (home-page "https://metacpan.org/release/Time-ParseDate") (synopsis "Collection of Perl modules for time/date manipulation") (description "Provides several perl modules for date/time manipulation: @code{Time::CTime.pm}, @code{Time::JulianDay.pm}, @code{Time::ParseDate.pm}, @code{Time::Timezone.pm}, and @code{Time::DaysInMonth.pm}.") ;; License text: ;; "License hereby granted for anyone to use, modify or redistribute this ;; module at their own risk. Please feed useful changes back to ;; cpan@dave.sharnoff.org." (license (license:non-copyleft "http://metadata.ftp-master.debian.org/\ changelogs/main/libt/libtime-parsedate-perl/\ libtime-parsedate-perl_2015.103-2_copyright")))) (define-public perl-libtime-period (package (name "perl-libtime-period") (version "1.20") (source (origin (method url-fetch) (uri (string-append "http://http.debian.net/debian/pool/main/libt/" "libtime-period-perl/libtime-period-perl_" version ".orig.tar.gz")) (sha256 (base32 "0c0yd999h0ikj88c9j95wa087m87i0qh7vja3715y2kd7vixkci2")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) ;; Unless some other homepage is out there... (home-page "https://packages.debian.org/stretch/libtime-period-perl") (synopsis "Perl library for testing if a time() is in a specific period") (description "This Perl library provides a function which tells whether a specific time falls within a specified time period. Its syntax for specifying time periods allows you to test for conditions like \"Monday to Friday, 9am till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and 4:15pm\" and \"in the first half of each minute\" and \"in January of 1998\".") (license license:perl-license))) (define-public perl-path-iterator-rule (package (name "perl-path-iterator-rule") (version "1.014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-" version ".tar.gz")) (sha256 (base32 "19mik0r5v1cmxfxm0h4lwqyj0nmq6jgnvvq96hqcjgylpvc02x1z")))) (build-system perl-build-system) (native-inputs `(("perl-file-pushd" ,perl-file-pushd) ("perl-path-tiny" ,perl-path-tiny) ("perl-test-deep" ,perl-test-deep) ("perl-test-filename" ,perl-test-filename))) (propagated-inputs `(("perl-number-compare" ,perl-number-compare) ("perl-text-glob" ,perl-text-glob) ("perl-try-tiny" ,perl-try-tiny))) (home-page "https://metacpan.org/release/Path-Iterator-Rule") (synopsis "Iterative, recursive file finder") (description "Path::Iterator::Rule iterates over files and directories to identify ones matching a user-defined set of rules. The API is based heavily on File::Find::Rule, but with more explicit distinction between matching rules and options that influence how directories are searched. A Path::Iterator::Rule object is a collection of rules (match criteria) with methods to add additional criteria. Options that control directory traversal are given as arguments to the method that generates an iterator. A summary of features for comparison to other file finding modules: @itemize @item provides many helper methods for specifying rules @item offers (lazy) iterator and flattened list interfaces @item custom rules implemented with callbacks @item breadth-first (default) or pre- or post-order depth-first searching @item follows symlinks (by default, but can be disabled) @item directories visited only once (no infinite loop; can be disabled) @item doesn't chdir during operation @item provides an API for extensions @end itemize As a convenience, the PIR module is an empty subclass of this one that is less arduous to type for one-liners.") (license license:asl2.0))) (define-public perl-pod-constants (package (name "perl-pod-constants") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MG/MGV/Pod-Constants-" version ".tar.gz")) (sha256 (base32 "1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Pod-Constants") (synopsis "Include constants from POD") (description "This module allows you to specify those constants that should be documented in your POD, and pull them out a run time in a fairly arbitrary fashion. Pod::Constants uses Pod::Parser to do the parsing of the source file. It has to open the source file it is called from, and does so directly either by lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") (license license:artistic2.0))) (define-public perl-text-soundex (package (name "perl-text-soundex") (version "3.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-" version ".tar.gz")) (sha256 (base32 "1vb0vg1109gfzaak74ynw5s00ml28f33j612g2lxw98b52s5bpgn")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Soundex") (synopsis "Implementation of the soundex algorithm.") (description "Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for names with the same pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling. This module implements the original soundex algorithm developed by Robert Russell and Margaret Odell, patented in 1918 and 1922, as well as a variation called \"American Soundex\" used for US census data, and current maintained by the National Archives and Records Administration (NARA).") (license license:perl-license))) (define-public perl-regexp-pattern (package (name "perl-regexp-pattern") (version "0.2.8") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PERLANCAR/Regexp-Pattern-" version ".tar.gz")) (sha256 (base32 "064igp2wxgsz4yb33v1r90i8clwjzs2xnpvw9niqlqrbzzrd4q1l")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) (home-page "https://metacpan.org/release/Regexp-Pattern") (synopsis "Collection of regexp patterns") (description "Regexp::Pattern is a convention for organizing reusable regexp patterns in modules.") (license (package-license perl)))) (define-public perl-data-sexpression (package (name "perl-data-sexpression") (version "0.41") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-" version ".tar.gz")) (sha256 (base32 "16qls1yqcmhxrcx9agsmaypxa1nirq4nvbyzbww9984589m44ql1")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install) ("perl-test-deep" ,perl-test-deep))) (propagated-inputs `(("perl-class-accessor" ,perl-class-accessor))) (home-page "https://metacpan.org/release/Data-SExpression") (synopsis "Parse Lisp S-Expressions into Perl data structures") (description "Data::SExpression parses Lisp S-Expressions into Perl data structures.") (license license:perl-license)))