gnu: Add Module-Implementation.
[jackhill/guix/guix.git] / gnu / packages / perl.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
3 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
4 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
5 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
6 ;;;
7 ;;; This file is part of GNU Guix.
8 ;;;
9 ;;; GNU Guix is free software; you can redistribute it and/or modify it
10 ;;; under the terms of the GNU General Public License as published by
11 ;;; the Free Software Foundation; either version 3 of the License, or (at
12 ;;; your option) any later version.
13 ;;;
14 ;;; GNU Guix is distributed in the hope that it will be useful, but
15 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;;; GNU General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU General Public License
20 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22 (define-module (gnu packages perl)
23 #:use-module (guix licenses)
24 #:use-module (gnu packages)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix build-system gnu)
28 #:use-module (guix build-system perl))
29
30 ;;;
31 ;;; Please: Try to add new module packages in alphabetic order.
32 ;;;
33
34 \f
35 (define-public perl
36 ;; Yeah, Perl... It is required early in the bootstrap process by Linux.
37 (package
38 (name "perl")
39 (version "5.16.1")
40 (source (origin
41 (method url-fetch)
42 (uri (string-append "http://www.cpan.org/src/5.0/perl-"
43 version ".tar.gz"))
44 (sha256
45 (base32
46 "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))
47 (patches (list (search-patch "perl-no-sys-dirs.patch")))))
48 (build-system gnu-build-system)
49 (arguments
50 '(#:tests? #f
51 #:phases
52 (alist-replace
53 'configure
54 (lambda* (#:key inputs outputs #:allow-other-keys)
55 (let ((out (assoc-ref outputs "out"))
56 (libc (assoc-ref inputs "libc")))
57 ;; Use the right path for `pwd'.
58 (substitute* "dist/Cwd/Cwd.pm"
59 (("/bin/pwd")
60 (which "pwd")))
61
62 (zero?
63 (system* "./Configure"
64 (string-append "-Dprefix=" out)
65 (string-append "-Dman1dir=" out "/share/man/man1")
66 (string-append "-Dman3dir=" out "/share/man/man3")
67 "-de" "-Dcc=gcc"
68 "-Uinstallusrbinperl"
69 "-Dinstallstyle=lib/perl5"
70 "-Duseshrplib"
71 (string-append "-Dlocincpth=" libc "/include")
72 (string-append "-Dloclibpth=" libc "/lib")))))
73 %standard-phases)))
74 (native-search-paths (list (search-path-specification
75 (variable "PERL5LIB")
76 (files '("lib/perl5/site_perl")))))
77 (synopsis "Implementation of the Perl programming language")
78 (description
79 "Perl 5 is a highly capable, feature-rich programming language with over
80 24 years of development.")
81 (home-page "http://www.perl.org/")
82 (license gpl1+))) ; or "Artistic"
83
84 (define-public perl-archive-zip
85 (package
86 (name "perl-archive-zip")
87 (version "1.30")
88 (source
89 (origin
90 (method url-fetch)
91 (uri (string-append
92 "mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-"
93 version ".tar.gz"))
94 (sha256
95 (base32
96 "0633zah5z9njiqnvy3vh42fjymncmil1jdfb7d18w8xpfzzp5d7q"))))
97 (build-system perl-build-system)
98 (synopsis "Perl API to zip files")
99 (description "The Archive::Zip module allows a Perl program to create,
100 manipulate, read, and write Zip archive files.")
101 (home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm")
102 (license (package-license perl))))
103
104 (define-public perl-benchmark-timer
105 (package
106 (name "perl-benchmark-timer")
107 (version "0.7102")
108 (source (origin
109 (method url-fetch)
110 (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/"
111 "Benchmark-Timer-" version ".tar.gz"))
112 (sha256
113 (base32
114 "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01"))))
115 (build-system perl-build-system)
116 ;; The optional input module Statistics::PointEstimation (from
117 ;; Statistics-TTest) lists no license.
118 (synopsis "Benchmarking with statistical confidence")
119 (description
120 "The Benchmark::Timer class allows you to time portions of code
121 conveniently, as well as benchmark code by allowing timings of repeated
122 trials. It is perfect for when you need more precise information about the
123 running time of portions of your code than the Benchmark module will give you,
124 but don't want to go all out and profile your code.")
125 (home-page (string-append "http://search.cpan.org/~dcoppit/"
126 "Benchmark-Timer-" version))
127 (license gpl2)))
128
129 (define-public perl-capture-tiny
130 (package
131 (name "perl-capture-tiny")
132 (version "0.28")
133 (source
134 (origin
135 (method url-fetch)
136 (uri (string-append
137 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-"
138 version ".tar.gz"))
139 (sha256
140 (base32
141 "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"))))
142 (build-system perl-build-system)
143 (home-page "http://search.cpan.org/dist/Capture-Tiny")
144 (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
145 (description
146 "Capture::Tiny provides a simple, portable way to capture almost anything
147 sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS
148 code or from an external program. Optionally, output can be teed so that it
149 is captured while being passed through to the original file handles.")
150 (license asl2.0)))
151
152 (define-public perl-clone
153 (package
154 (name "perl-clone")
155 (version "0.37")
156 (source (origin
157 (method url-fetch)
158 (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/"
159 "Clone-" version ".tar.gz"))
160 (sha256
161 (base32
162 "17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr"))))
163 (build-system perl-build-system)
164 (synopsis "Recursively copy Perl datatypes")
165 (description
166 "This module provides a clone() method which makes recursive copies of
167 nested hash, array, scalar and reference types, including tied variables and
168 objects.")
169 (home-page (string-append "http://search.cpan.org/~garu/"
170 "Clone-" version))
171 (license (package-license perl))))
172
173 (define-public perl-cpan-meta-check
174 (package
175 (name "perl-cpan-meta-check")
176 (version "0.009")
177 (source
178 (origin
179 (method url-fetch)
180 (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/"
181 "CPAN-Meta-Check-" version ".tar.gz"))
182 (sha256
183 (base32
184 "0qbk5dwvhd78qgq5x6nim2n0l78pylvlklpbrm56w9yss6pl6bgb"))))
185 (build-system perl-build-system)
186 (native-inputs `(("perl-test-deep" ,perl-test-deep)))
187 (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta)))
188 (home-page "http://search.cpan.org/dist/CPAN-Meta-Check")
189 (synopsis "Verify requirements in a CPAN::Meta object")
190 (description "This module verifies if requirements described in a
191 CPAN::Meta object are present.")
192 (license (package-license perl))))
193
194 (define-public perl-data-optlist
195 (package
196 (name "perl-data-optlist")
197 (version "0.109")
198 (source
199 (origin
200 (method url-fetch)
201 (uri (string-append
202 "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-"
203 version ".tar.gz"))
204 (sha256
205 (base32
206 "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw"))))
207 (build-system perl-build-system)
208 (propagated-inputs
209 `(("perl-sub-install" ,perl-sub-install)
210 ("perl-params-util" ,perl-params-util)))
211 (home-page "http://search.cpan.org/dist/Data-OptList")
212 (synopsis "Parse and validate simple name/value option pairs")
213 (description
214 "Data::OptList provides a simple syntax for name/value option pairs.")
215 (license (package-license perl))))
216
217 (define-public perl-digest-sha1
218 (package
219 (name "perl-digest-sha1")
220 (version "2.13")
221 (source (origin
222 (method url-fetch)
223 (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/"
224 "Digest-SHA1-" version ".tar.gz"))
225 (sha256
226 (base32
227 "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8"))))
228 (build-system perl-build-system)
229 (synopsis "Perl implementation of the SHA-1 message digest algorithm")
230 (description
231 "This package provides 'Digest::SHA1', an implementation of the NIST
232 SHA-1 message digest algorithm for use by Perl programs.")
233 (home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-"
234 version "/SHA1.pm"))
235 (license (package-license perl))))
236
237 (define-public perl-dist-checkconflicts
238 (package
239 (name "perl-dist-checkconflicts")
240 (version "0.11")
241 (source (origin
242 (method url-fetch)
243 (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/"
244 "Dist-CheckConflicts-" version ".tar.gz"))
245 (sha256
246 (base32
247 "1i7dr9jpdiy2nijl2p4q5zg2q2s9ckbj2hs4kmnnckf9hsb4p17a"))))
248 (build-system perl-build-system)
249 (native-inputs `(("perl-test-fatal" ,perl-test-fatal)))
250 (propagated-inputs
251 `(("perl-module-runtime" ,perl-module-runtime)))
252 (home-page "http://search.cpan.org/dist/Dist-CheckConflicts")
253 (synopsis "Declare version conflicts for your dist")
254 (description "This module allows you to specify conflicting versions of
255 modules separately and deal with them after the module is done installing.")
256 (license (package-license perl))))
257
258 (define-public perl-exporter-lite
259 (package
260 (name "perl-exporter-lite")
261 (version "0.06")
262 (source (origin
263 (method url-fetch)
264 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
265 "Exporter-Lite-" version ".tar.gz"))
266 (sha256
267 (base32
268 "0k4gkvid4fr8yvwj0axdx5111mzfw2iipls3qllxr364fqhmclpj"))))
269 (build-system perl-build-system)
270 (synopsis "Lightweight exporting of functions and variables")
271 (description
272 "Exporter::Lite is an alternative to Exporter, intended to provide a
273 lightweight subset of the most commonly-used functionality. It supports
274 import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
275 (home-page (string-append "http://search.cpan.org/~neilb/"
276 "Exporter-Lite-" version))
277 (license (package-license perl))))
278
279 (define-public perl-file-list
280 (package
281 (name "perl-file-list")
282 (version "0.3.1")
283 (source (origin
284 (method url-fetch)
285 (uri (string-append
286 "mirror://cpan/authors/id/D/DO/DOPACKI/File-List-"
287 version ".tar.gz"))
288 (sha256
289 (base32
290 "00m5ax4aq59hdvav6yc4g63vhx3a57006rglyypagvrzfxjvm8s8"))))
291 (build-system perl-build-system)
292 (arguments
293 `(#:phases
294 (alist-cons-after
295 'unpack 'cd
296 (lambda* _
297 (chdir "List"))
298 %standard-phases)))
299 (license (package-license perl))
300 (synopsis "Perl extension for crawling directory trees and compiling
301 lists of files")
302 (description
303 "The File::List module crawls the directory tree starting at the
304 provided base directory and can return files (and/or directories if desired)
305 matching a regular expression.")
306 (home-page "http://search.cpan.org/~dopacki/File-List/")))
307
308 (define-public perl-file-which
309 (package
310 (name "perl-file-which")
311 (version "1.09")
312 (source (origin
313 (method url-fetch)
314 (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
315 "File-Which-" version ".tar.gz"))
316 (sha256
317 (base32
318 "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp"))))
319 (build-system perl-build-system)
320 (native-inputs `(("test-script" ,perl-test-script)))
321 (synopsis "Portable implementation of the `which' utility")
322 (description
323 "File::Which was created to be able to get the paths to executable
324 programs on systems under which the `which' program wasn't implemented in the
325 shell.")
326 (home-page (string-append "http://search.cpan.org/~adamk/"
327 "File-Which-" version))
328 (license (package-license perl))))
329
330 (define-public perl-getopt-tabular
331 (package
332 (name "perl-getopt-tabular")
333 (version "0.3")
334 (source (origin
335 (method url-fetch)
336 (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/"
337 "Getopt-Tabular-" version ".tar.gz"))
338 (sha256
339 (base32
340 "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv"))))
341 (build-system perl-build-system)
342 (synopsis "Table-driven argument parsing for Perl")
343 (description
344 "Getopt::Tabular is a Perl 5 module for table-driven argument parsing,
345 vaguely inspired by John Ousterhout's Tk_ParseArgv.")
346 (home-page (string-append "http://search.cpan.org/~gward/"
347 "Getopt-Tabular-" version))
348 (license (package-license perl))))
349
350 (define-public perl-io-tty
351 (package
352 (name "perl-io-tty")
353 (version "1.11")
354 (source (origin
355 (method url-fetch)
356 (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-"
357 version ".tar.gz"))
358 (sha256
359 (base32
360 "0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4"))))
361 (build-system perl-build-system)
362 (home-page "http://search.cpan.org/~toddr/IO-Tty/")
363 (synopsis "Perl interface to pseudo ttys")
364 (description
365 "This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to
366 pseudo ttys.")
367 (license (package-license perl))))
368
369 (define-public perl-ipc-run3
370 (package
371 (name "perl-ipc-run3")
372 (version "0.048")
373 (source (origin
374 (method url-fetch)
375 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
376 "IPC-Run3-" version ".tar.gz"))
377 (sha256
378 (base32
379 "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"))))
380 (build-system perl-build-system)
381 (synopsis "Run a subprocess with input/ouput redirection")
382 (description
383 "The IPC::Run3 module allows you to run a subprocess and redirect stdin,
384 stdout, and/or stderr to files and perl data structures. It aims to satisfy
385 99% of the need for using system, qx, and open3 with a simple, extremely
386 Perlish API and none of the bloat and rarely used features of IPC::Run.")
387 (home-page (string-append "http://search.cpan.org/~rjbs/"
388 "IPC-Run3-" version))
389 ;; "You may use this module under the terms of the BSD, Artistic, or GPL
390 ;; licenses, any version."
391 (license (list bsd-3 gpl3+))))
392
393 (define-public perl-module-implementation
394 (package
395 (name "perl-module-implementation")
396 (version "0.09")
397 (source
398 (origin
399 (method url-fetch)
400 (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
401 "Module-Implementation-" version ".tar.gz"))
402 (sha256
403 (base32
404 "0vfngw4dbryihqhi7g9ks360hyw8wnpy3hpkzyg0q4y2y091lpy1"))))
405 (build-system perl-build-system)
406 (native-inputs
407 `(("perl-test-fatal" ,perl-test-fatal)
408 ("perl-test-requires" ,perl-test-requires)))
409 (propagated-inputs
410 `(("perl-module-runtime" ,perl-module-runtime)
411 ("perl-try-tiny" ,perl-try-tiny)))
412 (home-page "http://search.cpan.org/dist/Module-Implementation")
413 (synopsis "Loads alternate underlying implementations for a module")
414 (description "This module abstracts out the process of choosing one of
415 several underlying implementations for a module. This can be used to provide
416 XS and pure Perl implementations of a module, or it could be used to load an
417 implementation for a given OS or any other case of needing to provide multiple
418 implementations.")
419 (license artistic2.0)))
420
421 (define-public perl-module-runtime
422 (package
423 (name "perl-module-runtime")
424 (version "0.014")
425 (source
426 (origin
427 (method url-fetch)
428 (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/"
429 "Module-Runtime-" version ".tar.gz"))
430 (sha256
431 (base32
432 "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c"))))
433 (build-system perl-build-system)
434 (home-page "http://search.cpan.org/dist/Module-Runtime")
435 (synopsis "Perl runtime module handling")
436 (description "The functions exported by this module deal with runtime
437 handling of Perl modules, which are normally handled at compile time.")
438 (license (package-license perl))))
439
440 (define-public perl-package-anon
441 (package
442 (name "perl-package-anon")
443 (version "0.05")
444 (source
445 (origin
446 (method url-fetch)
447 (uri (string-append "mirror://cpan/authors/id/A/AU/AUGGY/"
448 "Package-Anon-" version ".tar.gz"))
449 (sha256
450 (base32
451 "1fj1fakkfklf2iwzsl64vfgshya3jgm6vhxiphw12wlac9g2il0m"))))
452 (build-system perl-build-system)
453 (propagated-inputs
454 `(("perl-sub-exporter" ,perl-sub-exporter)
455 ("perl-params-util" ,perl-params-util)))
456 (home-page "http://search.cpan.org/dist/Package-Anon")
457 (synopsis "Anonymous packages")
458 (description "This module allows for anonymous packages that are
459 independent of the main namespace and only available through an object
460 instance, not by name.")
461 (license (package-license perl))))
462
463 (define-public perl-params-util
464 (package
465 (name "perl-params-util")
466 (version "1.07")
467 (source
468 (origin
469 (method url-fetch)
470 (uri (string-append
471 "mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-"
472 version ".tar.gz"))
473 (sha256
474 (base32
475 "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h"))))
476 (build-system perl-build-system)
477 (home-page "http://search.cpan.org/dist/Params-Util")
478 (synopsis "Simple, compact and correct param-checking functions")
479 (description
480 "Params::Util provides a basic set of importable functions that makes
481 checking parameters easier.")
482 (license (package-license perl))))
483
484 (define-public perl-probe-perl
485 (package
486 (name "perl-probe-perl")
487 (version "0.03")
488 (source (origin
489 (method url-fetch)
490 (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/"
491 "Probe-Perl-" version ".tar.gz"))
492 (sha256
493 (base32
494 "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r"))))
495 (build-system perl-build-system)
496 (synopsis "Information about the currently running perl")
497 (description
498 "Probe::Perl provides methods for obtaining information about the
499 currently running perl interpreter. It originally began life as code in the
500 Module::Build project, but has been externalized here for general use.")
501 (home-page (string-append "http://search.cpan.org/~kwilliams/"
502 "Probe-Perl-" version))
503 (license (package-license perl))))
504
505 (define-public perl-regexp-common
506 (package
507 (name "perl-regexp-common")
508 (version "2013031301")
509 (source (origin
510 (method url-fetch)
511 (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/"
512 "Regexp-Common-" version ".tar.gz"))
513 (sha256
514 (base32
515 "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj"))))
516 (build-system perl-build-system)
517 (synopsis "Provide commonly requested regular expressions")
518 (description
519 "This module exports a single hash (`%RE') that stores or generates
520 commonly needed regular expressions. Patterns currently provided include:
521 balanced parentheses and brackets, delimited text (with escapes), integers and
522 floating-point numbers in any base (up to 36), comments in 44 languages,
523 offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip
524 codes.")
525 (home-page (string-append "http://search.cpan.org/~abigail/"
526 "Regexp-Common-" version))
527 ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD.
528 (license (list (package-license perl) x11 bsd-3))))
529
530 (define-public perl-sub-exporter
531 (package
532 (name "perl-sub-exporter")
533 (version "0.987")
534 (source
535 (origin
536 (method url-fetch)
537 (uri (string-append
538 "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-"
539 version ".tar.gz"))
540 (sha256
541 (base32
542 "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l"))))
543 (build-system perl-build-system)
544 (propagated-inputs
545 `(("perl-data-optlist" ,perl-data-optlist)
546 ("perl-params-util" ,perl-params-util)))
547 (home-page "http://search.cpan.org/dist/Sub-Exporter")
548 (synopsis "Sophisticated exporter for custom-built routines")
549 (description
550 "Sub::Exporter provides a sophisticated alternative to Exporter.pm for
551 custom-built routines.")
552 (license (package-license perl))))
553
554 (define-public perl-sub-install
555 (package
556 (name "perl-sub-install")
557 (version "0.928")
558 (source
559 (origin
560 (method url-fetch)
561 (uri (string-append
562 "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-"
563 version ".tar.gz"))
564 (sha256
565 (base32
566 "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1"))))
567 (build-system perl-build-system)
568 (home-page "http://search.cpan.org/dist/Sub-Install")
569 (synopsis "Install subroutines into packages easily")
570 (description
571 "Sub::Install makes it easy to install subroutines into packages without
572 the unsightly mess of C<no strict> or typeglobs lying about where just anyone
573 can see them.")
574 (license (package-license perl))))
575
576 (define-public perl-sys-cpu
577 (package
578 (name "perl-sys-cpu")
579 (version "0.61")
580 (source (origin
581 (method url-fetch)
582 (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/"
583 "Sys-CPU-" version ".tar.gz"))
584 (sha256
585 (base32
586 "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5"))))
587 (build-system perl-build-system)
588 (synopsis "Perl extension for getting CPU information")
589 (description
590 "In responce to a post on perlmonks.org, a module for counting the number
591 of CPU's on a system. Support has now also been added for type of CPU and
592 clock speed.")
593 (home-page (string-append "http://search.cpan.org/~mzsanford/"
594 "Sys-CPU-" version))
595 (license (package-license perl))))
596
597 (define-public perl-test-deep
598 (package
599 (name "perl-test-deep")
600 (version "0.114")
601 (source (origin
602 (method url-fetch)
603 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
604 "Test-Deep-" version ".tar.gz"))
605 (sha256
606 (base32
607 "09yr47vw7vj27sdik312x08938higcij8ybyq8k67mlccx8cpqf0"))))
608 (build-system perl-build-system)
609 (inputs `(("perl-test-tester" ,perl-test-tester)
610 ("perl-test-nowarnings" ,perl-test-nowarnings)))
611 (synopsis "Flexible deep comparison for the Test::Builder framework")
612 (description
613 "Test::Deep compares two structures by going through each level, ensuring
614 that the values match, that arrays and hashes have the same elements and that
615 references are blessed into the correct class. It also handles circular data
616 structures without getting caught in an infinite loop.")
617 (home-page (string-append "http://search.cpan.org/~rjbs/"
618 "Test-Deep-" version))
619 (license gpl1+))) ; or "Artistic License"
620
621 (define-public perl-test-fatal
622 (package
623 (name "perl-test-fatal")
624 (version "0.014")
625 (source
626 (origin
627 (method url-fetch)
628 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
629 "Test-Fatal-" version ".tar.gz"))
630 (sha256
631 (base32
632 "1c6bs68mss4q7cyapkv2c0jn66i21050p0faxf3s3417gdffzp5w"))))
633 (build-system perl-build-system)
634 (propagated-inputs `(("perl-try-tiny" ,perl-try-tiny)))
635 (home-page "http://search.cpan.org/dist/Test-Fatal")
636 (synopsis "Simple helpers for testing code with exceptions")
637 (description "Test::Fatal is an alternative to the popular
638 Test::Exception. It does much less, but should allow greater flexibility in
639 testing exception-throwing code with about the same amount of typing.")
640 (license (package-license perl))))
641
642 (define-public perl-test-nowarnings
643 (package
644 (name "perl-test-nowarnings")
645 (version "1.04")
646 (source (origin
647 (method url-fetch)
648 (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
649 "Test-NoWarnings-" version ".tar.gz"))
650 (sha256
651 (base32
652 "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3"))))
653 (build-system perl-build-system)
654 (inputs `(("perl-test-tester" ,perl-test-tester)))
655 (synopsis "Ensure no warnings are produced while testing")
656 (description
657 "This modules causes any warnings during testing to be captured and
658 stored. It automatically adds an extra test that will run when your script
659 ends to check that there were no warnings. If there were any warings, the
660 test will fail and output diagnostics of where, when and what the warning was,
661 including a stack trace of what was going on when it occurred.")
662 (home-page (string-append "http://search.cpan.org/~adamk/"
663 "Test-NoWarnings-" version))
664 (license lgpl2.1)))
665
666 (define-public perl-test-output
667 (package
668 (name "perl-test-output")
669 (version "1.03")
670 (source (origin
671 (method url-fetch)
672 (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
673 "Test-Output-" version ".tar.gz"))
674 (sha256
675 (base32
676 "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i"))))
677 (build-system perl-build-system)
678 (propagated-inputs
679 `(("perl-capture-tiny" ,perl-capture-tiny)
680 ("perl-test-tester" ,perl-test-tester)
681 ("perl-sub-exporter" ,perl-sub-exporter)))
682 (synopsis "Utilities to test STDOUT and STDERR messages")
683 (description
684 "Test::Output provides a simple interface for testing output sent to
685 STDOUT or STDERR. A number of different utilities are included to try and be
686 as flexible as possible to the tester.")
687 (home-page (string-append "http://search.cpan.org/~bdfoy/"
688 "Test-Output-" version))
689 (license (package-license perl))))
690
691 (define-public perl-test-requires
692 (package
693 (name "perl-test-requires")
694 (version "0.08")
695 (source
696 (origin
697 (method url-fetch)
698 (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
699 "Test-Requires-" version ".tar.gz"))
700 (sha256
701 (base32
702 "08c29m0dn34384mmmpqqlbb899zpbkkc01c2lsp31mch1frv9cg7"))))
703 (build-system perl-build-system)
704 (home-page "http://search.cpan.org/dist/Test-Requires")
705 (synopsis "Checks to see if the module can be loaded")
706 (description "Test::Requires checks to see if the module can be loaded.
707 If this fails, then rather than failing tests this skips all tests.")
708 (license (package-license perl))))
709
710 (define-public perl-test-script
711 (package
712 (name "perl-test-script")
713 (version "1.07")
714 (source (origin
715 (method url-fetch)
716 (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
717 "Test-Script-" version ".tar.gz"))
718 (sha256
719 (base32
720 "15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2"))))
721 (build-system perl-build-system)
722 (propagated-inputs
723 `(("probe-perl" ,perl-probe-perl)
724 ("ipc-run3" ,perl-ipc-run3)))
725 (synopsis "Basic cross-platform tests for scripts")
726 (description
727 "The intent of the Test::Script module is to provide a series of basic
728 tests for 80% of the testing you will need to do for scripts in the script (or
729 bin as is also commonly used) paths of your Perl distribution.")
730 (home-page (string-append "http://search.cpan.org/~adamk/"
731 "Test-Script-" version))
732 (license (package-license perl))))
733
734 (define-public perl-test-simple
735 (package
736 (name "perl-test-simple")
737 (version "1.001014")
738 (source (origin
739 (method url-fetch)
740 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
741 "Test-Simple-" version ".tar.gz"))
742 (sha256
743 (base32
744 "0szi95shwwdvc4nqykzgx05g2m1001mjhvqqhjg5wypbi771992m"))))
745 (build-system perl-build-system)
746 (synopsis "Basic utilities for writing tests")
747 (description
748 "Test::Simple contains basic utilities for writing tests.")
749 (home-page (string-append "http://search.cpan.org/~exodist/"
750 "Test-Simple-" version))
751 (license (package-license perl))))
752
753 (define-public perl-test-tester
754 (package
755 (name "perl-test-tester")
756 (version "0.109")
757 (source (origin
758 (method url-fetch)
759 (uri (string-append "mirror://cpan/authors/id/F/FD/FDALY/"
760 "Test-Tester-" version ".tar.gz"))
761 (sha256
762 (base32
763 "0m9n28z09kq455r5nydj1bnr85lvmbfpcbjdkjfbpmfb5xgciiyk"))))
764 (build-system perl-build-system)
765 (synopsis "Simplify running Test::Builder tests")
766 (description
767 "Test::Tester allows testing of test modules based on Test::Builder with
768 a minimum of effort.")
769 (home-page (string-append "http://search.cpan.org/~fdaly/"
770 "Test-Tester-" version))
771 ;; "Under the same license as Perl itself"
772 (license (package-license perl))))
773
774 (define-public perl-test-warnings
775 (package
776 (name "perl-test-warnings")
777 (version "0.020")
778 (source
779 (origin
780 (method url-fetch)
781 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
782 "Test-Warnings-" version ".tar.gz"))
783 (sha256
784 (base32
785 "1x262kybrdnbiiw53m1axp4zyh4lsfb9mm2shmpm8lwf7sp30isi"))))
786 (build-system perl-build-system)
787 (home-page "http://search.cpan.org/dist/Test-Warnings")
788 (synopsis "Test for warnings and the lack of them")
789 (description "This module is intended to be used as a drop-in replacement
790 for Test::NoWarnings. It also adds an extra test, but runs this test before
791 done_testing calculates the test count, rather than after. It does this by
792 hooking into done_testing as well as via an END block. You can declare a
793 plan, or not, and things will still Just Work.")
794 (license (package-license perl))))
795
796 (define-public perl-try-tiny
797 (package
798 (name "perl-try-tiny")
799 (version "0.22")
800 (source
801 (origin
802 (method url-fetch)
803 (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/"
804 "Try-Tiny-" version ".tar.gz"))
805 (sha256
806 (base32
807 "068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0"))))
808 (build-system perl-build-system)
809 (home-page "http://search.cpan.org/dist/Try-Tiny")
810 (synopsis "Minimal try/catch with proper preservation of $@")
811 (description "This module provides bare bones try/catch/finally statements
812 that are designed to minimize common mistakes with eval blocks, and nothing
813 else.")
814 (license x11)))
815
816 \f
817 ;;; Some packaged modules need versions of core modules that are newer than
818 ;;; those in our perl 5.16.1.
819
820 (define-public perl-cpan-meta
821 (package
822 (name "perl-cpan-meta")
823 (version "2.143240")
824 (source
825 (origin
826 (method url-fetch)
827 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
828 "CPAN-Meta-" version ".tar.gz"))
829 (sha256
830 (base32
831 "1d80bxphpp5dq7fx5ipxszn7j8q9d85w6fnapdrbym21k1vsmlf6"))))
832 (build-system perl-build-system)
833 (propagated-inputs
834 `(("perl-cpan-meta-requirements" ,perl-cpan-meta-requirements)
835 ("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)
836 ("perl-parse-cpan-meta" ,perl-parse-cpan-meta)))
837 (home-page "http://search.cpan.org/dist/CPAN-Meta")
838 (synopsis "Distribution metadata for a CPAN dist")
839 (description "Software distributions released to the CPAN include a
840 META.json or, for older distributions, META.yml, which describes the
841 distribution, its contents, and the requirements for building and installing
842 the distribution. The data structure stored in the META.json file is
843 described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to
844 represent this distribution metadata (or distmeta), along with some helpful
845 methods for interrogating that data.")
846 (license (package-license perl))))
847
848 (define-public perl-cpan-meta-requirements
849 (package
850 (name "perl-cpan-meta-requirements")
851 (version "2.131")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
856 "CPAN-Meta-Requirements-" version ".tar.gz"))
857 (sha256
858 (base32
859 "12p5s7w3cwcrbpcrxzanvpr0syswhwlqzbaki6m044c45jix2fss"))))
860 (build-system perl-build-system)
861 (home-page "http://search.cpan.org/dist/CPAN-Meta-Requirements")
862 (synopsis "Set of version requirements for a CPAN dist")
863 (description "A CPAN::Meta::Requirements object models a set of version
864 constraints like those specified in the META.yml or META.json files in CPAN
865 distributions, and as defined by CPAN::Meta::Spec. It can be built up by
866 adding more and more constraints, and will reduce them to the simplest
867 representation.")
868 (license (package-license perl))))
869
870 (define-public perl-cpan-meta-yaml
871 (package
872 (name "perl-cpan-meta-yaml")
873 (version "0.012")
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
878 "CPAN-Meta-YAML-" version ".tar.gz"))
879 (sha256
880 (base32
881 "0a0d62w8d81kkas4j1h48znk0f0vrpibl31gvz9r8hm77dbqqwkw"))))
882 (build-system perl-build-system)
883 (arguments
884 `(#:tests? #f)) ;Tests require Test::More >= 0.99
885 (home-page "http://search.cpan.org/dist/CPAN-Meta-YAML")
886 (synopsis "Read and write a subset of YAML for CPAN Meta files")
887 (description "This module implements a subset of the YAML specification
888 for use in reading and writing CPAN metadata files like META.yml and
889 MYMETA.yml.")
890 (license (package-license perl))))
891
892 (define-public perl-parse-cpan-meta
893 (package
894 (name "perl-parse-cpan-meta")
895 (version "1.4414")
896 (source
897 (origin
898 (method url-fetch)
899 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
900 "Parse-CPAN-Meta-" version ".tar.gz"))
901 (sha256
902 (base32
903 "06ya2rg599qanqb1fxiyrd489mvmdgzbw4ph23hwjwpv9lahhxnd"))))
904 (build-system perl-build-system)
905 (propagated-inputs
906 `(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)))
907 (home-page "http://search.cpan.org/dist/Parse-CPAN-Meta")
908 (synopsis "Parse META.yml and META.json CPAN metadata files")
909 (description "Parse::CPAN::Meta is a parser for META.json and META.yml
910 files, using JSON::PP and/or CPAN::Meta::YAML.")
911 (license (package-license perl))))
912
913 ;;; END: Core module overrides