python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / top-level / perl-packages.nix
blob91daaf81128344e5302083968a48222bded7ebaf
1 /* This file defines the composition for CPAN (Perl) packages.  It has
2    been factored out of all-packages.nix because there are so many of
3    them.  Also, because most Nix expressions for CPAN packages are
4    trivial, most are actually defined here.  I.e. there's no function
5    for each package in a separate file: the call to the function would
6    be almost as much code as the function itself. */
8 { config
9 , stdenv, lib, buildPackages, pkgs, darwin
10 , fetchurl, fetchpatch, fetchFromGitHub, fetchFromGitLab
11 , perl, overrides, buildPerl, shortenPerlShebang
12 , nixosTests
15 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.30.3 or above
16 assert lib.versionAtLeast perl.version "5.30.3";
17 let
18   inherit (lib) maintainers teams;
19   self = _self // (overrides pkgs);
20   _self = with self; {
22   inherit perl;
23   perlPackages = self;
25   callPackage = pkgs.newScope self;
27   # Check whether a derivation provides a perl module.
28   hasPerlModule = drv: drv ? perlModule ;
30   requiredPerlModules = drvs: let
31     modules = lib.filter hasPerlModule drvs;
32   in lib.unique ([perl] ++ modules ++ lib.concatLists (lib.catAttrs "requiredPerlModules" modules));
34   # Convert derivation to a perl module.
35   toPerlModule = drv:
36     drv.overrideAttrs( oldAttrs: {
37       # Use passthru in order to prevent rebuilds when possible.
38       passthru = (oldAttrs.passthru or {}) // {
39         perlModule = perl;
40         requiredPerlModules = requiredPerlModules drv.propagatedBuildInputs;
41       };
42     });
44   buildPerlPackage = callPackage ../development/perl-modules/generic {
45     inherit buildPerl;
46   };
48   # Helper functions for packages that use Module::Build to build.
49   buildPerlModule = args:
50     buildPerlPackage ({
51       buildPhase = ''
52         runHook preBuild
53         perl Build.PL --prefix=$out; ./Build build
54         runHook postBuild
55       '';
56       installPhase = ''
57         runHook preInstall
58         ./Build install
59         runHook postInstall
60       '';
61       checkPhase = ''
62         runHook preCheck
63         ./Build test
64         runHook postCheck
65       '';
66     } // args // {
67       preConfigure = ''
68         touch Makefile.PL
69         ${args.preConfigure or ""}
70       '';
71       buildInputs = (args.buildInputs or []) ++ [ ModuleBuild ];
72     });
74   /* Construct a perl search path (such as $PERL5LIB)
76      Example:
77        pkgs = import <nixpkgs> { }
78        makePerlPath [ pkgs.perlPackages.libnet ]
79        => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
80   */
81   makePerlPath = lib.makeSearchPathOutput "lib" perl.libPrefix;
83   /* Construct a perl search path recursively including all dependencies (such as $PERL5LIB)
85      Example:
86        pkgs = import <nixpkgs> { }
87        makeFullPerlPath [ pkgs.perlPackages.CGI ]
88        => "/nix/store/fddivfrdc1xql02h9q500fpnqy12c74n-perl-CGI-4.38/lib/perl5/site_perl:/nix/store/8hsvdalmsxqkjg0c5ifigpf31vc4vsy2-perl-HTML-Parser-3.72/lib/perl5/site_perl:/nix/store/zhc7wh0xl8hz3y3f71nhlw1559iyvzld-perl-HTML-Tagset-3.20/lib/perl5/site_perl"
89   */
90   makeFullPerlPath = deps: makePerlPath (lib.misc.closePropagation deps);
93   ack = buildPerlPackage rec {
94     pname = "ack";
95     version = "3.6.0";
97     src = fetchurl {
98       url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v${version}.tar.gz";
99       hash = "sha256-AxRNEHBknpL2obfSC9xTXiuxrCWNqr5ILpqoJ3tI8AU=";
100     };
102     outputs = ["out" "man"];
104     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
105     propagatedBuildInputs = [ FileNext ];
106     postInstall = lib.optionalString stdenv.isDarwin ''
107       shortenPerlShebang $out/bin/ack
108     '';
110     # tests fails on nixos and hydra because of different purity issues
111     doCheck = false;
113     meta = {
114       description = "A grep-like tool tailored to working with large trees of source code";
115       homepage = "https://beyondgrep.com";
116       license = with lib.licenses; [ artistic2 ];
117     };
118   };
120   ActionCircuitBreaker = buildPerlPackage {
121     pname = "Action-CircuitBreaker";
122     version = "0.1";
123     src = fetchurl {
124       url = "mirror://cpan/authors/id/H/HA/HANGY/Action-CircuitBreaker-0.1.tar.gz";
125       hash = "sha256-P49dcm+uU3qzNuAKaBmuSoWW5MXyQ+dypTbvLrbmBrE=";
126     };
127     buildInputs = [ ActionRetry TryTiny ];
128     propagatedBuildInputs = [ Moo ];
129     meta = {
130       description = "Module to try to perform an action, with an option to suspend execution after a number of failures";
131       homepage = "https://github.com/hangy/Action-CircuitBreaker";
132       license = with lib.licenses; [ artistic1 gpl1Plus ];
133     };
134   };
136   ActionRetry = buildPerlPackage {
137     pname = "Action-Retry";
138     version = "0.24";
139     src = fetchurl {
140       url = "mirror://cpan/authors/id/D/DA/DAMS/Action-Retry-0.24.tar.gz";
141       hash = "sha256-o3WXQsW+8tGXWrc9NUmdgRMySRmySTYTAlXP8H0ClPc=";
142     };
143     propagatedBuildInputs = [ MathFibonacci ModuleRuntime Moo ];
144     meta = {
145       description = "Module to try to perform an action, with various ways of retrying and sleeping between retries";
146       license = with lib.licenses; [ artistic1 gpl1Plus ];
147     };
148   };
150   AlgorithmAnnotate = buildPerlPackage {
151     pname = "Algorithm-Annotate";
152     version = "0.10";
153     src = fetchurl {
154       url = "mirror://cpan/authors/id/C/CL/CLKAO/Algorithm-Annotate-0.10.tar.gz";
155       hash = "sha256-ybF2RkOTPrGjNWkGzDctSDqZQWIHox3z5Y7piS2ZIvk=";
156     };
157     propagatedBuildInputs = [ AlgorithmDiff ];
158     meta = {
159       description = "Represent a series of changes in annotate form";
160       license = with lib.licenses; [ artistic1 gpl1Plus ];
161     };
162   };
164   AlgorithmC3 = buildPerlPackage {
165     pname = "Algorithm-C3";
166     version = "0.11";
167     src = fetchurl {
168       url = "mirror://cpan/authors/id/H/HA/HAARG/Algorithm-C3-0.11.tar.gz";
169       hash = "sha256-qvSEZ3Zd7qbkgFS8fUPkbk1Ay82hZVLGKdN74Jgokwk=";
170     };
171     meta = {
172       description = "A module for merging hierarchies using the C3 algorithm";
173       license = with lib.licenses; [ artistic1 gpl1Plus ];
174     };
175   };
177   AlgorithmCheckDigits = buildPerlModule {
178     pname = "Algorithm-CheckDigits";
179     version = "1.3.5";
180     src = fetchurl {
181       url = "mirror://cpan/authors/id/M/MA/MAMAWE/Algorithm-CheckDigits-v1.3.5.tar.gz";
182       hash = "sha256-qVbQUXGA1tkEL0fXOqaicot1/L1UaUDS2+Cn589Cj3M=";
183     };
184     buildInputs = [ ProbePerl ];
185     meta = {
186       description = "Perl extension to generate and test check digits";
187       license = with lib.licenses; [ artistic1 gpl1Plus ];
188       mainProgram = "checkdigits.pl";
189     };
190   };
192   AlgorithmDiff = buildPerlPackage {
193     pname = "Algorithm-Diff";
194     version = "1.1903";
195     src = fetchurl {
196       url = "mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz";
197       hash = "sha256-MOhKxLMdQLZik/exIhMxxaUFYaOdWA2FAE2cH/+ZF1E=";
198     };
199     buildInputs = [ pkgs.unzip ];
200     meta = {
201       description = "Compute 'intelligent' differences between two files / lists";
202       license = with lib.licenses; [ artistic1 gpl1Plus ];
203     };
204   };
206   AlgorithmLCSS = buildPerlPackage {
207     pname = "Algorithm-LCSS";
208     version = "0.01";
209     src = fetchurl {
210       url = "mirror://cpan/authors/id/J/JF/JFREEMAN/Algorithm-LCSS-0.01.tar.gz";
211       hash = "sha256-cXzvzHhCoXGrVXbyLrcuVm7fBhzq+H3Mvn8ggfVgH3g=";
212     };
213     propagatedBuildInputs = [ AlgorithmDiff ];
214     meta = {
215       description = "Perl extension for getting the Longest Common Sub-Sequence";
216       license = with lib.licenses; [ artistic1 gpl1Plus ];
217       maintainers = [ maintainers.sgo ];
218     };
219   };
221   AlgorithmMerge = buildPerlPackage {
222     pname = "Algorithm-Merge";
223     version = "0.08";
224     src = fetchurl {
225       url = "mirror://cpan/authors/id/J/JS/JSMITH/Algorithm-Merge-0.08.tar.gz";
226       hash = "sha256-nAaIJYodxLg5iAU7n5qY53KM25tppQCNy9JR0PgIFs8=";
227     };
228     propagatedBuildInputs = [ AlgorithmDiff ];
229     meta = {
230       description = "Three-way merge and diff";
231       license = with lib.licenses; [ artistic1 gpl1Plus ];
232     };
233   };
235   AlienBaseModuleBuild = buildPerlModule {
236     pname = "Alien-Base-ModuleBuild";
237     version = "1.15";
238     src = fetchurl {
239       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Base-ModuleBuild-1.15.tar.gz";
240       hash = "sha256-E8lDLPQbNMsU3yRUoD5UDivV3J65yCgktq0PTGd5Ov0=";
241     };
242     buildInputs = [ Test2Suite ];
243     propagatedBuildInputs = [ AlienBuild ArchiveExtract CaptureTiny Filechdir PathTiny ShellConfigGenerate ShellGuess SortVersions URI ];
244     meta = {
245       description = "A Module::Build subclass for building Alien:: modules and their libraries";
246       homepage = "https://metacpan.org/pod/Alien::Base::ModuleBuild";
247       license = with lib.licenses; [ artistic1 gpl1Plus ];
248     };
249   };
251   AlienBuild = buildPerlPackage {
252     pname = "Alien-Build";
253     version = "2.37";
254     src = fetchurl {
255       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-2.37.tar.gz";
256       hash = "sha256-MAC8vphIJkP3a7z/zkL9SPJMY6ZFf4qiwWlfSBrJ7VE=";
257     };
258     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
259     buildInputs = [ DevelHide Test2Suite ];
260     meta = {
261       description = "Build external dependencies for use in CPAN";
262       homepage = "https://metacpan.org/pod/Alien::Build";
263       license = with lib.licenses; [ artistic1 gpl1Plus ];
264     };
265   };
267   AlienGMP = buildPerlPackage {
268     pname = "Alien-GMP";
269     version = "1.16";
270     src = fetchurl {
271       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-GMP-1.16.tar.gz";
272       hash = "sha256-CQzUjuU1v2LxeIlWF6hReDrhGqTGAGof1NhKQy8RPaU=";
273     };
274     propagatedBuildInputs = [ AlienBuild ];
275     buildInputs = [ pkgs.gmp Alienm4 DevelChecklib IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
276     meta = {
277       description = "Alien package for the GNU Multiple Precision library";
278       homepage = "https://metacpan.org/pod/Alien::GMP";
279       license = with lib.licenses; [ lgpl3Plus ];
280     };
281   };
283   AlienLibGumbo = buildPerlModule {
284     pname = "Alien-LibGumbo";
285     version = "0.05";
286     src = fetchurl {
287       url = "mirror://cpan/authors/id/R/RU/RUZ/Alien-LibGumbo-0.05.tar.gz";
288       hash = "sha256-D76RarEfaA5cKM0ayAA3IyPioOBq/8bIs2J5/GTXZRc=";
289     };
290     buildInputs = [ AlienBaseModuleBuild ];
291     propagatedBuildInputs = [ AlienBuild FileShareDir PathClass ];
292     meta = {
293       description = "Gumbo parser library";
294       license = with lib.licenses; [ artistic1 gpl1Plus ];
295       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.AlienLibGumbo.x86_64-darwin
296     };
297   };
299   AlienLibxml2 = buildPerlPackage {
300     pname = "Alien-Libxml2";
301     version = "0.17";
302     src = fetchurl {
303       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.17.tar.gz";
304       hash = "sha256-c7RSRPC1w25TMsM1abgqGrLDPiY/HQB4XSADvK7GjbM=";
305     };
306     propagatedBuildInputs = [ AlienBuild ];
307     buildInputs = [ pkgs.libxml2 MojoDOM58 SortVersions Test2Suite URI ];
308     meta = {
309       description = "Install the C libxml2 library on your system";
310       homepage = "https://metacpan.org/pod/Alien::Libxml2";
311       license = with lib.licenses; [ artistic1 gpl1Plus ];
312     };
313   };
315   aliased = buildPerlModule {
316     pname = "aliased";
317     version = "0.34";
318     src = fetchurl {
319       url = "mirror://cpan/authors/id/E/ET/ETHER/aliased-0.34.tar.gz";
320       hash = "sha256-w1BSRQfNgn+rhk5dTCzDULG6uqEvqVrsDKAIQ/zH3us=";
321     };
322     buildInputs = [ ModuleBuildTiny ];
323     meta = {
324       description = "Use shorter versions of class names";
325       license = with lib.licenses; [ artistic1 gpl1Plus ];
326     };
327   };
329   asa = buildPerlPackage {
330     pname = "asa";
331     version = "1.04";
332     src = fetchurl {
333       url = "mirror://cpan/authors/id/E/ET/ETHER/asa-1.04.tar.gz";
334       hash = "sha256-5YM7dOczuu4Z0e9eBLEmPBz/nBdGmVrXL8QJGPRAZ14=";
335     };
336     meta = {
337       description = "Lets your class/object say it works like something else";
338       homepage = "https://github.com/karenetheridge/asa";
339       license = with lib.licenses; [ artistic1 gpl1Plus ];
340     };
341   };
343   AlienSDL = buildPerlModule {
344     pname = "Alien-SDL";
345     version = "1.446";
346     src = fetchurl {
347       url = "mirror://cpan/authors/id/F/FR/FROGGS/Alien-SDL-1.446.tar.gz";
348       hash = "sha256-yaosncPGPYl3PH1yA/KkbRuSTQxy2fgBrxR6Pci8USo=";
349     };
350     patches = [ ../development/perl-modules/alien-sdl.patch ];
352     installPhase = "./Build install --prefix $out";
354     SDL_INST_DIR = lib.getDev pkgs.SDL;
355     buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
356     propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
358     meta = {
359       description = "Get, Build and Use SDL libraries";
360       license = with lib.licenses; [ artistic1 gpl1Plus ];
361     };
362   };
364   AlienTidyp = buildPerlModule {
365     pname = "Alien-Tidyp";
366     version = "1.4.7";
367     src = fetchurl {
368       url = "mirror://cpan/authors/id/K/KM/KMX/Alien-Tidyp-v1.4.7.tar.gz";
369       hash = "sha256-uWTL2nH79sDqaaTztBUEwUXygWga/hmewrSUQC6/SmU=";
370     };
372     buildInputs = [ ArchiveExtract ];
373     TIDYP_DIR = pkgs.tidyp;
374     propagatedBuildInputs = [ FileShareDir ];
375     meta = {
376       description = "Building, finding and using tidyp library";
377       license = with lib.licenses; [ artistic1 gpl1Plus ];
378     };
379   };
381   AlienWxWidgets = buildPerlModule {
382     pname = "Alien-wxWidgets";
383     version = "0.69";
384     src = fetchurl {
385       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Alien-wxWidgets-0.69.tar.gz";
386       hash = "sha256-UyJOS7vv/0z3tj7ZpiljiTuf/Ull1w2WcQNI+Gdt4kk=";
387     };
388     propagatedBuildInputs = [ pkgs.pkg-config pkgs.gtk2 pkgs.wxGTK30 ModulePluggable ];
389     buildInputs = [ LWPProtocolHttps ];
390     meta = {
391       description = "Building, finding and using wxWidgets binaries";
392       license = with lib.licenses; [ artistic1 gpl1Plus ];
393     };
394   };
396   Alienm4 = buildPerlPackage {
397     pname = "Alien-m4";
398     version = "0.19";
399     src = fetchurl {
400       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-m4-0.19.tar.gz";
401       hash = "sha256-SdvvZKGoDGtKc3T85ovix+6eZdHA3/Uxw5u1lBRG0PY=";
402     };
403     propagatedBuildInputs = [ AlienBuild ];
404     buildInputs = [ pkgs.gnum4 Alienpatch IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
405     meta = {
406       description = "Find or build GNU m4";
407       homepage = "https://metacpan.org/pod/Alien::m4";
408       license = with lib.licenses; [ artistic1 gpl1Plus ];
409     };
410   };
412   Alienpatch = buildPerlPackage {
413     pname = "Alien-patch";
414     version = "0.15";
415     src = fetchurl {
416       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-patch-0.15.tar.gz";
417       hash = "sha256-/tZyJbLZamZpL30vQ+DTRykhRSnbHWsTsNykYgquANA=";
418     };
419     propagatedBuildInputs = [ AlienBuild ];
420     buildInputs = [ IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
421     meta = {
422       description = "Find or build patch";
423       homepage = "https://metacpan.org/pod/Alien::patch";
424       license = with lib.licenses; [ artistic1 gpl1Plus ];
425     };
426   };
428   AltCryptRSABigInt = buildPerlPackage {
429     pname = "Alt-Crypt-RSA-BigInt";
430     version = "0.06";
431     src = fetchurl {
432       url = "mirror://cpan/authors/id/D/DA/DANAJ/Alt-Crypt-RSA-BigInt-0.06.tar.gz";
433       hash = "sha256-dvQ0yrNpmc3wmBE0W7Oda3y+1+CFsCM4Mox/RuCLOPM=";
434     };
435     propagatedBuildInputs = [ ClassLoader ConvertASCIIArmour DataBuffer DigestMD2 MathBigIntGMP MathPrimeUtil SortVersions TieEncryptedHash ];
436     meta = {
437       description = "RSA public-key cryptosystem, using Math::BigInt";
438       homepage = "https://github.com/danaj/Alt-Crypt-RSA-BigInt";
439       license = with lib.licenses; [ artistic1 gpl1Plus ];
440       maintainers = [ maintainers.sgo ];
441     };
442   };
444   AnyEvent = buildPerlPackage {
445     pname = "AnyEvent";
446     version = "7.17";
447     src = fetchurl {
448       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz";
449       hash = "sha256-UL7qaJwJj+Sq64OAbEC5/n+UbVdprPmfhJ8JkJGkuYU=";
450     };
451     buildInputs = [ CanaryStability ];
452     meta = {
453       description = "The DBI of event loop programming";
454       license = with lib.licenses; [ artistic1 gpl1Plus ];
455     };
456   };
458   AnyEventAIO = buildPerlPackage {
459     pname ="AnyEvent-AIO";
460     version = "1.1";
461     src = fetchurl {
462       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-AIO-1.1.tar.gz";
463       hash = "sha256-axBbjGQVYWMfUz7DQj6AZ6PX1YBDv4Xw9eCdcGkFcGs=";
464     };
465     propagatedBuildInputs = [ AnyEvent IOAIO ];
466     meta = {
467       description = "Truly asynchronous file and directory I/O";
468       license = with lib.licenses; [ artistic1 gpl1Plus ];
469     };
470   };
472   AnyEventBDB = buildPerlPackage rec {
473     pname = "AnyEvent-BDB";
474     version = "1.1";
475     src = fetchurl {
476       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
477       hash = "sha256-k+NgEJQEZGJuXzG5+u3WXhLtjRq/Fs4FL+vyP0la78g=";
478     };
479     buildInputs = [ CanaryStability ];
480     propagatedBuildInputs = [ BDB AnyEvent ];
481     meta = {
482       description = "Truly asynchronous berkeley db access";
483       license = with lib.licenses; [ artistic1 gpl1Plus ];
484     };
485   };
487   AnyEventCacheDNS = buildPerlModule {
488     pname = "AnyEvent-CacheDNS";
489     version = "0.08";
490     src = fetchurl {
491       url = "mirror://cpan/authors/id/P/PO/POTYL/AnyEvent-CacheDNS-0.08.tar.gz";
492       hash = "sha256-QcH68YO2GAa1WInO6hI3dQwfYbnOJzX98z3AVTZxLa4=";
493     };
494     propagatedBuildInputs = [ AnyEvent ];
495     doCheck = false; # does an DNS lookup
496     meta = {
497       description = "Simple DNS resolver with caching";
498       homepage = "https://github.com/potyl/perl-AnyEvent-CacheDNS";
499       license = with lib.licenses; [ artistic1 gpl1Plus ];
500     };
501   };
503   AnyEventFastPing = buildPerlPackage {
504     pname = "AnyEvent-FastPing";
505     version = "2.1";
506     src = fetchurl {
507       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-FastPing-2.1.tar.gz";
508       hash = "sha256-5ZIbj3rTXJg6ACWuAKSPyVyQwX/uw+WFmBhwSwxScCw=";
509     };
510     propagatedBuildInputs = [ AnyEvent commonsense ];
511     meta = {
512       description = "Quickly ping a large number of hosts";
513       license = with lib.licenses; [ artistic1 gpl2Plus ];
514       mainProgram = "fastping";
515     };
516   };
518   AnyEventHTTP = buildPerlPackage {
519     pname = "AnyEvent-HTTP";
520     version = "2.25";
521     src = fetchurl {
522       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-HTTP-2.25.tar.gz";
523       hash = "sha256-XPpTQWEkF29vTNMrAOqMp5otXfUSWGg5ic0E/obiUBM=";
524     };
525     propagatedBuildInputs = [ AnyEvent commonsense ];
526     meta = {
527       description = "Simple but non-blocking HTTP/HTTPS client";
528       license = with lib.licenses; [ artistic1 gpl1Plus ];
529     };
530   };
532   AnyEventI3 = buildPerlPackage {
533     pname = "AnyEvent-I3";
534     version = "0.17";
535     src = fetchurl {
536       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/AnyEvent-I3-0.17.tar.gz";
537       hash = "sha256-U4LJhMnxODlfKfDACvgaoMj0t2VYIFXHPt5LE/BKbWM=";
538     };
539     propagatedBuildInputs = [ AnyEvent JSONXS ];
540     meta = {
541       description = "Communicate with the i3 window manager";
542       license = with lib.licenses; [ artistic1 gpl1Plus ];
543     };
544   };
546   AnyEventIRC = buildPerlPackage rec {
547     pname = "AnyEvent-IRC";
548     version = "0.97";
549     src = fetchurl {
550       url = "mirror://cpan/authors/id/E/EL/ELMEX/${pname}-${version}.tar.gz";
551       hash = "sha256-v9fPZFw8jGEUcQVxKGEUR+IPGt8BUWxpYky9i8d/W/A=";
552     };
553     propagatedBuildInputs = [ AnyEvent ObjectEvent commonsense ];
554     meta = {
555       description = "An event based IRC protocol client API";
556       license = with lib.licenses; [ artistic1 gpl1Plus ];
557     };
558   };
560   AnyEventRabbitMQ = buildPerlPackage {
561     pname = "AnyEvent-RabbitMQ";
562     version = "1.22";
563     src = fetchurl {
564       url = "mirror://cpan/authors/id/D/DL/DLAMBLEY/AnyEvent-RabbitMQ-1.22.tar.gz";
565       hash = "sha256-mMUqH+cAcQ8+W8VaOLJd5iXpsug0HSeNz54bPz0ZrO4=";
566     };
567     buildInputs = [ FileShareDirInstall TestException ];
568     propagatedBuildInputs = [ AnyEvent DevelGlobalDestruction FileShareDir ListMoreUtils NetAMQP Readonly namespaceclean ];
569     meta = {
570       description = "An asynchronous and multi channel Perl AMQP client";
571       license = with lib.licenses; [ artistic1 gpl1Plus ];
572     };
573   };
575   AnyMoose = buildPerlPackage {
576     pname = "Any-Moose";
577     version = "0.27";
578     src = fetchurl {
579       url = "mirror://cpan/authors/id/E/ET/ETHER/Any-Moose-0.27.tar.gz";
580       hash = "sha256-qKY+N/qALoJYvpmYORbN5FElgdyAYt5Q5z1mr24thTU=";
581     };
582     propagatedBuildInputs = [ Moose Mouse ];
583     meta = {
584       description = "(DEPRECATED) use Moo instead!";
585       license = with lib.licenses; [ artistic1 gpl1Plus ];
586     };
587   };
589   AnyURIEscape = buildPerlPackage {
590     pname = "Any-URI-Escape";
591     version = "0.01";
592     src = fetchurl {
593       url = "mirror://cpan/authors/id/P/PH/PHRED/Any-URI-Escape-0.01.tar.gz";
594       hash = "sha256-44E87J8Qj6XAvmbgjBmGv7pNJCFRsPn07F4MXhcQjEw=";
595     };
596     propagatedBuildInputs = [ URI ];
597     meta = {
598       description = "Load URI::Escape::XS preferentially over URI::Escape";
599       license = with lib.licenses; [ artistic1 gpl1Plus ];
600     };
601   };
603   URIEscapeXS = buildPerlPackage {
604     pname = "URI-Escape-XS";
605     version = "0.14";
606     src = fetchurl {
607       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/URI-Escape-XS-0.14.tar.gz";
608       hash = "sha256-w5rFDGwrgxrkvwhpLmyl1KP5xX3E1/nEywZj4shsJ1k=";
609     };
610     meta = {
611       description = "Drop-In replacement for URI::Escape";
612       license = with lib.licenses; [ artistic1 gpl1Plus ];
613     };
614   };
616   ApacheAuthCookie = buildPerlPackage {
617     pname = "Apache-AuthCookie";
618     version = "3.30";
619     src = fetchurl {
620       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.30.tar.gz";
621       hash = "sha256-H3G5TT1VqVCksy2uTpD252yBV1CKfiruUGIbF5qtsfs=";
622     };
623     buildInputs = [ ApacheTest ];
624     propagatedBuildInputs = [ ClassLoad HTTPBody HashMultiValue WWWFormUrlEncoded ];
626     # Fails because /etc/protocols is not available in sandbox and make
627     # getprotobyname('tcp') in ApacheTest fail.
628     doCheck = !stdenv.isLinux;
630     meta = {
631       description = "Perl Authentication and Authorization via cookies";
632       homepage = "https://github.com/mschout/apache-authcookie";
633       license = with lib.licenses; [ artistic1 gpl1Plus ];
634     };
635   };
637   ApacheDB = buildPerlPackage {
638     pname = "Apache-DB";
639     version = "0.18";
640     src = fetchurl {
641       url = "mirror://cpan/authors/id/L/LZ/LZE/Apache-DB-0.18.tar.gz";
642       hash = "sha256-ZSf08VmCcL6ge+x4e3G98OwrVyVIvnQ4z3TyuaYAv+0=";
643     };
644     meta = {
645       description = "Run the interactive Perl debugger under mod_perl";
646       license = with lib.licenses; [ artistic1 gpl1Plus ];
647     };
648   };
650   ApacheLogFormatCompiler = buildPerlModule {
651     pname = "Apache-LogFormat-Compiler";
652     version = "0.36";
653     src = fetchurl {
654       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz";
655       hash = "sha256-lFCVA+506oIBg9BwwRYw7lvA/YwSy3T66VPtYuShrBc=";
656     };
657     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
658     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
659     # We cannot change the timezone on the fly.
660     prePatch = "rm t/04_tz.t";
661     meta = {
662       description = "Compile a log format string to perl-code";
663       homepage = "https://github.com/kazeburo/Apache-LogFormat-Compiler";
664       license = with lib.licenses; [ artistic1 gpl1Plus ];
665     };
666   };
668   ApacheSession = buildPerlModule {
669     pname = "Apache-Session";
670     version = "1.94";
671     src = fetchurl {
672       url = "mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.94.tar.gz";
673       hash = "sha256-/mm3aJmv6QuK5bgt4qqnV1rakIk39EhbgKrvMXVj6Z8=";
674     };
675     buildInputs = [ TestDeep TestException ];
676     meta = {
677       description = "A persistence framework for session data";
678       license = with lib.licenses; [ artistic1 gpl1Plus ];
679     };
680   };
682   ApacheTest = buildPerlPackage {
683     pname = "Apache-Test";
684     version = "1.42";
685     src = fetchurl {
686       url = "mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.42.tar.gz";
687       hash = "sha256-BoHwfX2KlCnQ7fioxa1qZVvn/oGtoUJnCyuOd2s7s+s=";
688     };
689     doCheck = false;
690     meta = {
691       description = "Test.pm wrapper with helpers for testing Apache";
692       license = with lib.licenses; [ asl20 ];
693     };
694   };
696   AppCLI = buildPerlPackage {
697     pname = "App-CLI";
698     version = "0.50";
699     src = fetchurl {
700       url = "mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.50.tar.gz";
701       hash = "sha256-UdP1gzq1GftG5VUrYOVFXk+cHGgn0e7kFT0LQJ8qk0U=";
702     };
703     propagatedBuildInputs = [ CaptureTiny ClassLoad ];
704     buildInputs = [ TestKwalitee TestPod ];
705     meta = {
706       description = "Dispatcher module for command line interface programs";
707       license = with lib.licenses; [ artistic1 gpl1Plus ];
708     };
709   };
711   AppClusterSSH = buildPerlModule {
712     pname = "App-ClusterSSH";
713     version = "4.16";
714     src = fetchurl {
715       url = "mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.16.tar.gz";
716       hash = "sha256-G3y4q2BoViRK34vZrE0nUHwuQWh7OvGiJs4dsvP9VXg=";
717     };
718     propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
719     buildInputs = [ DataDump FileWhich Readonly TestDifferences TestTrap ];
720     preCheck = "rm t/30cluster.t"; # do not run failing tests
721     postInstall = ''
722       mkdir -p $out/share/bash-completion/completions
723       mv $out/bin/clusterssh_bash_completion.dist \
724         $out/share/bash-completion/completions/clusterssh_bash_completion
725       substituteInPlace $out/share/bash-completion/completions/clusterssh_bash_completion \
726         --replace '/bin/true' '${pkgs.coreutils}/bin/true' \
727         --replace 'grep' '${pkgs.gnugrep}/bin/grep' \
728         --replace 'sed' '${pkgs.gnused}/bin/sed'
729     '';
730     meta = {
731       description = "Cluster administration tool";
732       homepage = "https://github.com/duncs/clusterssh/wiki";
733       license = with lib.licenses; [ artistic1 gpl1Plus ];
734       mainProgram = "cssh";
735     };
736   };
738   AppCmd = buildPerlPackage {
739     pname = "App-Cmd";
740     version = "0.331";
741     src = fetchurl {
742       url = "mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz";
743       hash = "sha256-Sl098ABr0niIDQH0lXqqZSqPkf6PZuk633D7oMPstoA=";
744     };
745     buildInputs = [ TestFatal ];
746     propagatedBuildInputs = [ CaptureTiny ClassLoad GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix ];
747     meta = {
748       description = "Write command line apps with less suffering";
749       homepage = "https://github.com/rjbs/App-Cmd";
750       license = with lib.licenses; [ artistic1 gpl1Plus ];
751     };
752   };
754   AppConfig = buildPerlPackage {
755     pname = "AppConfig";
756     version = "1.71";
757     src = fetchurl {
758       url = "mirror://cpan/authors/id/N/NE/NEILB/AppConfig-1.71.tar.gz";
759       hash = "sha256-EXcCcCXssJ7mTZ+fJVYVwE214U91NsNEr2MgMuuIew8=";
760     };
761     buildInputs = [ TestPod ];
762     meta = {
763       description = "A bundle of Perl5 modules for reading configuration files and parsing command line arguments";
764       license = with lib.licenses; [ artistic1 gpl1Plus ];
765     };
766   };
768   AppFatPacker = buildPerlPackage {
769     pname = "App-FatPacker";
770     version = "0.010008";
771     src = fetchurl {
772       url = "mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010008.tar.gz";
773       hash = "sha256-Ep2zbchFZhpYIoaBDP4tUhbrLOCCutQK4fzc4PRd7M8=";
774     };
775     meta = {
776       description = "Pack your dependencies onto your script file";
777       license = with lib.licenses; [ artistic1 gpl1Plus ];
778       mainProgram = "fatpack";
779     };
780   };
782   Appcpanminus = buildPerlPackage {
783     pname = "App-cpanminus";
784     version = "1.7045";
785     src = fetchurl {
786       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7045.tar.gz";
787       hash = "sha256-rE5K3CP+wKtU8IispRH1pX2V5sl6EqHLmO7R/g/g6Zw=";
788     };
789     # Use TLS endpoints for downloads and metadata by default
790     preConfigure = ''
791       substituteInPlace bin/cpanm \
792         --replace http://www.cpan.org https://www.cpan.org \
793         --replace http://backpan.perl.org https://backpan.perl.org \
794         --replace http://fastapi.metacpan.org https://fastapi.metacpan.org \
795         --replace http://cpanmetadb.plackperl.org https://cpanmetadb.plackperl.org
796     '';
797     propagatedBuildInputs = [ IOSocketSSL ];
798     meta = {
799       description = "Get, unpack, build and install modules from CPAN";
800       homepage = "https://github.com/miyagawa/cpanminus";
801       license = with lib.licenses; [ artistic1 gpl1Plus ];
802       mainProgram = "cpanm";
803     };
804   };
806   Appcpm = buildPerlModule {
807     pname = "App-cpm";
808     version = "0.997011";
809     src = fetchurl {
810       url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997011.tar.gz";
811       hash = "sha256-YyECxuZ958nP9R1vqg2dA7/vvtNbXMXZaRn3uSAlAck=";
812     };
813     buildInputs = [ ModuleBuildTiny ];
814     propagatedBuildInputs = [ CPAN02PackagesSearch CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy Modulecpmfile ModuleCPANfile ParsePMFile ParallelPipes locallib ];
815     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
816     postInstall = lib.optionalString stdenv.isDarwin ''
817       shortenPerlShebang $out/bin/cpm
818     '';
819     meta = {
820       description = "A fast CPAN module installer";
821       homepage = "https://github.com/skaji/cpm";
822       license = with lib.licenses; [ artistic1 gpl1Plus ];
823       maintainers = [ maintainers.zakame ];
824       mainProgram = "cpm";
825     };
826   };
828   Applify = buildPerlPackage {
829     pname = "Applify";
830     version = "0.22";
831     src = fetchurl {
832       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Applify-0.22.tar.gz";
833       hash = "sha256-iiSlTkuhclGss88IO2drzqCYsClF9iMsV4nQd3ImxHg=";
834     };
835     meta = {
836       description = "Write object oriented scripts with ease";
837       homepage = "https://github.com/jhthorsen/applify";
838       license = with lib.licenses; [ artistic2 ];
839       maintainers = [ maintainers.sgo ];
840     };
841   };
843   AppMusicChordPro = buildPerlPackage {
844     pname = "App-Music-ChordPro";
845     version = "0.977";
846     src = fetchurl {
847       url = "mirror://cpan/authors/id/J/JV/JV/App-Music-ChordPro-0.977.tar.gz";
848       hash = "sha256-EPOVabK2KSct2zQIUxdb0E3YTHEHLOqzcSW2xga58T0=";
849     };
850     buildInputs = [ PodParser ];
851     propagatedBuildInputs = [ AppPackager FileLoadLines IOString ImageInfo PDFAPI2 StringInterpolateNamed TextLayout ]
852       ++ lib.optionals (!stdenv.isDarwin) [ Wx ];
853     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
854     postInstall = lib.optionalString stdenv.isDarwin ''
855       shortenPerlShebang $out/bin/chordpro
856       rm $out/bin/wxchordpro # Wx not supported on darwin
857     '';
858     meta = {
859       description = "A lyrics and chords formatting program";
860       homepage = "https://www.chordpro.org";
861       license = with lib.licenses; [ artistic1 gpl1Plus ];
862       mainProgram = "chordpro";
863     };
864   };
866   AppPackager =  buildPerlPackage {
867     pname = "App-Packager";
868     version = "1.430.1";
869     src = fetchurl {
870       url = "mirror://cpan/authors/id/J/JV/JV/App-Packager-1.430.1.tar.gz";
871       hash = "sha256-V/TQFEWDh/ni7S39hhXR4lRbimUEsQryJIZXjYvjdKM=";
872     };
873     meta = {
874       description = "Abstraction for Packagers";
875       license = with lib.licenses; [ artistic1 gpl1Plus ];
876     };
877   };
879   Appperlbrew = buildPerlModule {
880     pname = "App-perlbrew";
881     version = "0.89";
882     src = fetchurl {
883       url = "mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.89.tar.gz";
884       hash = "sha256-D/pYdfYMe0L3yDK5Qtyaq+L8KHYXEjvd6bj8rW31eQI=";
885     };
886     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
887     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl PodParser locallib ];
889     doCheck = false;
891     meta = {
892       description = "Manage perl installations in your $HOME";
893       license = with lib.licenses; [ mit ];
894       mainProgram = "perlbrew";
895     };
896   };
898   ArchiveAnyLite = buildPerlPackage {
899     pname = "Archive-Any-Lite";
900     version = "0.11";
901     src = fetchurl {
902       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz";
903       hash = "sha256-FcGIJTmTpLZuVZnweJsTJvCmbAkr2/rJMTcG1BwoUXA=";
904     };
905     propagatedBuildInputs = [ ArchiveZip ];
906     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
907     meta = {
908       description = "Simple CPAN package extractor";
909       license = with lib.licenses; [ artistic1 gpl1Plus ];
910     };
911   };
913   AppSqitch = buildPerlModule {
914     version = "1.1.0";
915     pname = "App-Sqitch";
916     src = fetchurl {
917       url = "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v1.1.0.tar.gz";
918       hash = "sha256-7hRs111jAIN+bKVZuwveJH1CEjyWssXUsoAPONPj0as=";
919     };
920     buildInputs = [ CaptureTiny TestDeep TestDir TestException TestFile TestFileContents TestMockModule TestMockObject TestNoWarnings TestWarn ];
921     propagatedBuildInputs = [ Clone ConfigGitLike DBI DateTime EncodeLocale HashMerge IOPager IPCRun3 IPCSystemSimple ListMoreUtils PathClass PerlIOutf8_strict PodParser StringFormatter StringShellQuote TemplateTiny Throwable TypeTiny URIdb libintl-perl ];
922     doCheck = false;  # Can't find home directory.
923     meta = {
924       description = "Sensible database change management";
925       homepage = "https://sqitch.org";
926       license = with lib.licenses; [ mit ];
927       mainProgram = "sqitch";
928     };
929   };
931   AppSt = buildPerlPackage {
932     pname = "App-St";
933     version = "1.1.4";
934     src = fetchurl {
935       url = "https://github.com/nferraz/st/archive/v1.1.4.tar.gz";
936       hash = "sha256-wCoW9n5MNXaQpUODGYQxSf1wDCIxKPn/6+yrKEnFi7g=";
937     };
938     postInstall =
939       ''
940         ($out/bin/st --help || true) | grep Usage
941       '';
942     meta = {
943       description = "Simple Statistics";
944       homepage = "https://github.com/nferraz/st";
945       license = with lib.licenses; [ mit ];
946       maintainers = [ maintainers.eelco ];
947       mainProgram = "st";
948     };
949   };
951   AttributeParamsValidate = buildPerlPackage {
952     pname = "Attribute-Params-Validate";
953     version = "1.21";
954     src = fetchurl {
955       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Attribute-Params-Validate-1.21.tar.gz";
956       hash = "sha256-WGuTnO/9s3GIt8Rh3RqPnzVpUYTIcDsFw19tUIyAkPU=";
957     };
958     buildInputs = [ TestFatal ];
959     propagatedBuildInputs = [ ParamsValidate ];
960     doCheck = false;
961     meta = {
962       description = "Validate method/function parameters";
963       homepage = "https://metacpan.org/release/Params-Validate";
964       license = with lib.licenses; [ artistic2 ];
965     };
966   };
968   ArrayCompare = buildPerlModule {
969     pname = "Array-Compare";
970     version = "3.0.7";
971     src = fetchurl {
972       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.7.tar.gz";
973       hash = "sha256-ROMQ9pnresGYGNunIh7ohCoecESLdFWMUSaWKy7ZU9w=";
974     };
976     buildInputs = [ TestNoWarnings ];
977     propagatedBuildInputs = [ Moo TypeTiny ];
978     meta = {
979       description = "Perl extension for comparing arrays";
980       license = with lib.licenses; [ artistic1 gpl1Plus ];
981     };
982   };
984   ArrayDiff = buildPerlPackage {
985     pname = "Array-Diff";
986     version = "0.09";
987     src = fetchurl {
988       url = "mirror://cpan/authors/id/N/NE/NEILB/Array-Diff-0.09.tar.gz";
989       hash = "sha256-gAY5Lphh50FTfCu8kRbI5CuWLy4H6NZBov9qEcZEUHc=";
990     };
991     propagatedBuildInputs = [ AlgorithmDiff ClassAccessor ];
992     meta = {
993       description = "Find the differences between two arrays";
994       homepage = "https://github.com/neilb/array-diff-perl";
995       license = with lib.licenses; [ artistic1 gpl1Plus ];
996     };
997   };
999   ArrayFIFO = buildPerlPackage {
1000     pname = "Array-FIFO";
1001     version = "0.13";
1002     src = fetchurl {
1003       url = "mirror://cpan/authors/id/D/DB/DBURKE/Array-FIFO-0.13.tar.gz";
1004       hash = "sha256-virrX1qa8alvADNQilacqTrRmtFdx8a5mObXvHQMZvc=";
1005     };
1006     buildInputs = [ TestDeep TestSpec TestTrap ];
1007     propagatedBuildInputs = [ Moose namespaceautoclean ];
1008     meta = {
1009       description = "A Simple limitable FIFO array, with sum and average methods";
1010       homepage = "https://github.com/dwburke/perl-Array-FIFO";
1011       license = with lib.licenses; [ artistic2 ];
1012     };
1013   };
1015   ArrayRefElem = buildPerlPackage {
1016     pname = "Array-RefElem";
1017     version = "1.00";
1018     src = fetchurl {
1019       url = "mirror://cpan/authors/id//G/GA/GAAS/Array-RefElem-1.00.tar.gz";
1020       hash = "sha256-U7iAo67AQ+TjcM4SaCtHVt5F3XQtq1cpT+IaFUU87+M=";
1021     };
1022     meta = {
1023       description = "Set up array elements as aliases";
1024       license = with lib.licenses; [ artistic1 gpl1Plus ];
1025     };
1026   };
1028   AsyncPing = buildPerlPackage {
1029     pname = "AsyncPing";
1030     version = "2016.1207";
1031     src = fetchurl {
1032       url = "mirror://cpan/authors/id/X/XI/XINFWANG/AsyncPing-2016.1207.tar.gz";
1033       hash = "sha256-b76a/sF6d3B2+K2JksjSMAr2WpUDRD0dT/nD+NKZyVo=";
1034     };
1035     meta = {
1036       description = "Ping a huge number of servers in several seconds";
1037       license = with lib.licenses; [ artistic2 ];
1038     };
1039   };
1041   ArchiveCpio = buildPerlPackage {
1042     pname = "Archive-Cpio";
1043     version = "0.10";
1044     src = fetchurl {
1045       url = "mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.10.tar.gz";
1046       hash = "sha256-JG+zFml2TngzayGRE0Ei4HxE8tgtxPN9VSqyj4ZovtM=";
1047     };
1048     meta = {
1049       description = "Module for manipulations of cpio archives";
1050       license = with lib.licenses; [ artistic1 gpl1Plus ]; # See https://rt.cpan.org/Public/Bug/Display.html?id=43597#txn-569710
1051       mainProgram = "cpio-filter";
1052     };
1053   };
1055   ArchiveExtract = buildPerlPackage {
1056     pname = "Archive-Extract";
1057     version = "0.86";
1058     src = fetchurl {
1059       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.86.tar.gz";
1060       hash = "sha256-ms0JzbjozwttCCEKO4A0IwDImjWYVTGb9rAMFMSqtoc=";
1061     };
1062     meta = {
1063       description = "Generic archive extracting mechanism";
1064       license = with lib.licenses; [ artistic1 gpl1Plus ];
1065     };
1066   };
1068   ArchiveTar = buildPerlPackage {
1069     pname = "Archive-Tar";
1070     version = "2.38";
1071     src = fetchurl {
1072       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Tar-2.38.tar.gz";
1073       hash = "sha256-xeSPU1FCiBhYMM7ZO/Phb731zdzpfe0dHYqbCiHqKHs=";
1074     };
1075     meta = {
1076       description = "Manipulates TAR archives";
1077       license = with lib.licenses; [ artistic1 gpl1Plus ];
1078       mainProgram = "ptar";
1079     };
1080   };
1082   ArchiveTarWrapper = buildPerlPackage {
1083     pname = "Archive-Tar-Wrapper";
1084     version = "0.38";
1085     src = fetchurl {
1086       url = "mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.38.tar.gz";
1087       hash = "sha256-GfPQ2qi5XP+2jHBDUN0GdKI+HS8U0DKQO36WCe23s3o=";
1088     };
1089     propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
1090     meta = {
1091       description = "API wrapper around the 'tar' utility";
1092       license = with lib.licenses; [ gpl3Plus ];
1093     };
1094   };
1096   ArchiveZip = buildPerlPackage {
1097     pname = "Archive-Zip";
1098     version = "1.68";
1099     src = fetchurl {
1100       url = "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.68.tar.gz";
1101       hash = "sha256-mE4YXXhbr2EpxudfjrREEXRawAv2Ei+xyOgio4YexlA=";
1102     };
1103     buildInputs = [ TestMockModule ];
1104     meta = {
1105       description = "Provide an interface to ZIP archive files";
1106       license = with lib.licenses; [ artistic1 gpl1Plus ];
1107       mainProgram = "crc32";
1108     };
1109   };
1111   AstroFITSHeader = buildPerlModule rec {
1112     pname = "Astro-FITS-Header";
1113     version = "3.07";
1114     src = fetchurl {
1115       url = "mirror://cpan/authors/id/T/TJ/TJENNESS/${pname}-${version}.tar.gz";
1116       hash = "sha256-Uw1Z7wwJNfmGLRhxh6LXWDsSxjm7Z9sU+YMyKxYYktk=";
1117     };
1118     meta = {
1119       description = "Object-oriented interface to FITS HDUs";
1120       homepage = "https://github.com/timj/perl-Astro-FITS-Header";
1121       license = with lib.licenses; [ gpl3Plus ];
1122     };
1123   };
1125   AudioFLACHeader = buildPerlPackage {
1126     pname = "Audio-FLAC-Header";
1127     version = "2.4";
1128     src = fetchurl {
1129       url = "mirror://cpan/authors/id/D/DA/DANIEL/Audio-FLAC-Header-2.4.tar.gz";
1130       hash = "sha256-+6WRHWwi2BUGVlzZoUOOhgVCD/eYbPA9GhLQBqQHBUM=";
1131     };
1132     meta = {
1133       description = "Interface to FLAC header metadata";
1134       license = with lib.licenses; [ artistic1 gpl1Plus ];
1135     };
1136   };
1138   AudioScan = buildPerlPackage {
1139     pname = "Audio-Scan";
1140     version = "1.01";
1141     src = fetchurl {
1142       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Audio-Scan-1.01.tar.gz";
1143       hash = "sha256-gxJyAnHHrdxLvuwzEs3divS5kKxjYgSllsB5M61sY0o=";
1144     };
1145     buildInputs = [ pkgs.zlib TestWarn ];
1146     NIX_CFLAGS_COMPILE = "-I${pkgs.zlib.dev}/include";
1147     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
1148     meta = {
1149       description = "Fast C metadata and tag reader for all common audio file formats";
1150       license = with lib.licenses; [ gpl2Plus ];
1151     };
1152   };
1154   AuthenDecHpwd = buildPerlModule {
1155     pname = "Authen-DecHpwd";
1156     version = "2.007";
1157     src = fetchurl {
1158       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz";
1159       hash = "sha256-9DqTuwK0H3Mn2S+eljtpUF9nNQpS6PUHlvmK/E+z8Xc=";
1160     };
1161     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
1162     propagatedBuildInputs = [ DataInteger DigestCRC ScalarString ];
1163     meta = {
1164       description = "DEC VMS password hashing";
1165       license = with lib.licenses; [ gpl1Plus ];
1166     };
1167   };
1169   AuthenHtpasswd = buildPerlPackage {
1170     pname = "Authen-Htpasswd";
1171     version = "0.171";
1172     src = fetchurl {
1173       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz";
1174       hash = "sha256-tfr0fj+UikUoEGzLiMxxBIz+WY5bAmpEQ2i8fjk0gGc=";
1175     };
1176     propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ];
1177     meta = {
1178       description = "Interface to read and modify Apache .htpasswd files";
1179       license = with lib.licenses; [ artistic1 gpl1Plus ];
1180     };
1181   };
1183   AuthenKrb5 = buildPerlModule {
1184     pname = "Authen-Krb5";
1185     version = "1.905";
1186     src = fetchurl {
1187       url = "mirror://cpan/authors/id/I/IO/IOANR/Authen-Krb5-1.905.tar.gz";
1188       hash = "sha256-13sAuxUBpW9xGOkarAx+Qi2888QY+c6YuAF3HDqg900=";
1189     };
1190     perlPreHook = "export LD=$CC";
1191     propagatedBuildInputs = [ pkgs.libkrb5 ];
1192     buildInputs = [ DevelChecklib FileWhich PkgConfig ];
1193     meta = {
1194       description = "XS bindings for Kerberos 5";
1195       license = with lib.licenses; [ artistic1 gpl1Plus ];
1196     };
1197   };
1199   AuthenKrb5Admin = buildPerlPackage rec {
1200     pname = "Authen-Krb5-Admin";
1201     version = "0.17";
1202     src = fetchurl {
1203       url = "mirror://cpan/authors/id/S/SJ/SJQUINNEY/Authen-Krb5-Admin-0.17.tar.gz";
1204       hash = "sha256-XdScrNmD79YajD8aVlcbtzeF6xVZCLXXvsl+7XjfDFQ=";
1205     };
1206     propagatedBuildInputs = [ pkgs.krb5Full.dev AuthenKrb5 ];
1207     # The following ENV variables are required by Makefile.PL to find
1208     # programs in krb5Full.dev. It is not enough to just specify the
1209     # path to krb5-config as this tool returns the prefix of krb5Full,
1210     # which implies a working value for KRB5_LIBDIR, but not the others.
1211     perlPreHook = ''
1212       export KRB5_CONFTOOL=${pkgs.krb5Full.dev}/bin/krb5-config
1213       export KRB5_BINDIR=${pkgs.krb5Full.dev}/bin
1214       export KRB5_INCDIR=${pkgs.krb5Full.dev}/include
1215     '';
1216     # Tests require working Kerberos infrastructure so replace with a
1217     # simple attempt to exercise the module.
1218     checkPhase = ''
1219       perl -I blib/lib -I blib/arch -MAuthen::Krb5::Admin -e 'print "1..1\nok 1\n"'
1220     '';
1221     meta = {
1222       description = "Perl extension for MIT Kerberos 5 admin interface";
1223       license = with lib.licenses; [ bsd3 ];
1224     };
1225   };
1227   AuthenModAuthPubTkt = buildPerlPackage {
1228     pname = "Authen-ModAuthPubTkt";
1229     version = "0.1.1";
1230     src = fetchurl {
1231       url = "mirror://cpan/authors/id/A/AG/AGORDON/Authen-ModAuthPubTkt-0.1.1.tar.gz";
1232       hash = "sha256-eZbhpCxRIWADzPA8S1JQKGtMVWhCV5cYUfXs6RYdx90=";
1233     };
1234     propagatedBuildInputs = [ pkgs.openssl IPCRun3 ];
1235     patchPhase = ''
1236       sed -i 's|my $openssl_bin = "openssl";|my $openssl_bin = "${pkgs.openssl}/bin/openssl";|' lib/Authen/ModAuthPubTkt.pm
1237       # -dss1 doesn't exist for dgst in openssl 1.1, -sha1 can also handle DSA keys now
1238       sed -i 's|-dss1|-sha1|' lib/Authen/ModAuthPubTkt.pm
1239     '';
1240     meta = {
1241       description = "Generate Tickets (Signed HTTP Cookies) for mod_auth_pubtkt protected websites";
1242       license = with lib.licenses; [ artistic1 gpl1Plus ];
1243       mainProgram = "mod_auth_pubtkt.pl";
1244     };
1245   };
1247   AuthenOATH = buildPerlPackage {
1248     pname = "Authen-OATH";
1249     version = "2.0.1";
1250     src = fetchurl {
1251       url = "mirror://cpan/authors/id/O/OA/OALDERS/Authen-OATH-2.0.1.tar.gz";
1252       hash = "sha256-GoE9vcBcP72d0528/YXiz7C6PQ9lLPaybsg6uBRt3Hc=";
1253     };
1254     buildInputs = [ TestNeeds ];
1255     propagatedBuildInputs = [ DigestHMAC Moo TypeTiny ];
1256     meta = {
1257       description = "OATH One Time Passwords";
1258       homepage = "https://github.com/oalders/authen-oath";
1259       license = with lib.licenses; [ artistic1 gpl1Plus ];
1260       maintainers = [ maintainers.sgo ];
1261     };
1262   };
1264   AuthenPassphrase = buildPerlModule {
1265     pname = "Authen-Passphrase";
1266     version = "0.008";
1267     src = fetchurl {
1268       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz";
1269       hash = "sha256-VdtFIGF9hZ2IwO5Ull2oFbcibXkrjNyN6/kgc1WeBGM=";
1270     };
1271     propagatedBuildInputs = [ AuthenDecHpwd CryptDES CryptEksblowfish CryptMySQL CryptPasswdMD5 CryptUnixCryptXS DataEntropy DigestMD4 ModuleRuntime ];
1272     meta = {
1273       description = "Hashed passwords/passphrases as objects";
1274       license = with lib.licenses; [ artistic1 gpl1Plus ];
1275     };
1276   };
1278   AuthenRadius = buildPerlPackage {
1279     pname = "Authen-Radius";
1280     version = "0.32";
1281     src = fetchurl {
1282       url = "mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.32.tar.gz";
1283       hash = "sha256-eyCPmDfIOhhCZyVIklNlh+7Qvd5J577euj1ypmUjF0A=";
1284     };
1285     buildInputs = [ TestNoWarnings ];
1286     propagatedBuildInputs = [ DataHexDump NetIP ];
1287     meta = {
1288       description = "Provide simple Radius client facilities";
1289       license = with lib.licenses; [ artistic2 ];
1290     };
1291   };
1293   AuthenSASL = buildPerlPackage {
1294     pname = "Authen-SASL";
1295     version = "2.16";
1296     src = fetchurl {
1297       url = "mirror://cpan/authors/id/G/GB/GBARR/Authen-SASL-2.16.tar.gz";
1298       hash = "sha256-ZhT6dRjwlPhTdBtjxz82JxaMXTrKibHQKxAW3DKFTgk=";
1299     };
1300     propagatedBuildInputs = [ DigestHMAC ];
1301     meta = {
1302       description = "SASL Authentication framework";
1303       license = with lib.licenses; [ artistic1 gpl1Plus ];
1304     };
1305   };
1307   AuthenSASLSASLprep = buildPerlModule {
1308     pname = "Authen-SASL-SASLprep";
1309     version = "1.100";
1310     src = fetchurl {
1311       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Authen-SASL-SASLprep-1.100.tar.gz";
1312       hash = "sha256-pMzMNLs/U6zwunjJ/GGvjRVtEJ0cEEh7pZiKVQd9H3A=";
1313     };
1314     buildInputs = [ TestNoWarnings ];
1315     propagatedBuildInputs = [ UnicodeStringprep ];
1316     meta = {
1317       description = "A Stringprep Profile for User Names and Passwords (RFC 4013)";
1318       license = with lib.licenses; [ artistic1 gpl1Plus ];
1319       maintainers = [ maintainers.sgo ];
1320     };
1321   };
1323   AuthenSCRAM = buildPerlPackage {
1324     pname = "Authen-SCRAM";
1325     version = "0.011";
1326     src = fetchurl {
1327       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Authen-SCRAM-0.011.tar.gz";
1328       hash = "sha256-RRCMI5pzc9AJQdzw0XGs0D58FqY85vfZVo/wUrF89ag=";
1329     };
1330     buildInputs = [ TestFailWarnings TestFatal ];
1331     propagatedBuildInputs = [ AuthenSASLSASLprep CryptURandom Moo PBKDF2Tiny TypeTiny namespaceclean ];
1332     meta = {
1333       description = "Salted Challenge Response Authentication Mechanism (RFC 5802)";
1334       homepage = "https://github.com/dagolden/Authen-SCRAM";
1335       license = with lib.licenses; [ asl20 ];
1336       maintainers = [ maintainers.sgo ];
1337     };
1338   };
1340   AuthenSimple = buildPerlPackage {
1341     pname = "Authen-Simple";
1342     version = "0.5";
1343     src = fetchurl {
1344       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-0.5.tar.gz";
1345       hash = "sha256-As3atH+L8aHL1Mm/jSWPbQURFJnDP4MV5yRIEvcmE6o=";
1346     };
1347     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable CryptPasswdMD5 ParamsValidate ];
1348     meta = {
1349       description = "Simple Authentication";
1350       license = with lib.licenses; [ artistic1 gpl1Plus ];
1351     };
1352   };
1354   AuthenSimplePasswd = buildPerlModule {
1355     pname = "Authen-Simple-Passwd";
1356     version = "0.6";
1357     src = fetchurl {
1358       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz";
1359       hash = "sha256-z1W8NiWe3w/Wr5rSusgbMdxbVqFixmBZDsuWnHwWdLI=";
1360     };
1361     propagatedBuildInputs = [ AuthenSimple ];
1362     meta = {
1363       description = "Simple Passwd authentication";
1364       license = with lib.licenses; [ artistic1 gpl1Plus ];
1365     };
1366   };
1368   autobox = buildPerlPackage {
1369     pname = "autobox";
1370     version = "3.0.1";
1371     src = fetchurl {
1372       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-v3.0.1.tar.gz";
1373       hash = "sha256-wwO3/M+qH/TUxCmrPxXlyip3VU74yfw7jGK6hZ6HTJg=";
1374     };
1375     propagatedBuildInputs = [ ScopeGuard ];
1376     buildInputs = [ IPCSystemSimple TestFatal ];
1377     meta = {
1378       description = "Call methods on native types";
1379       license = with lib.licenses; [ artistic2 ];
1380     };
1381   };
1383   Autodia = buildPerlPackage {
1384     pname = "Autodia";
1385     version = "2.14";
1386     src = fetchurl {
1387       url = "mirror://cpan/authors/id/T/TE/TEEJAY/Autodia-2.14.tar.gz";
1388       hash = "sha256-rIElyIq+Odn+Aco6zBOgCinzM2pLt+9gRH5ri4Iv9CI=";
1389     };
1390     propagatedBuildInputs = [ TemplateToolkit XMLSimple ];
1391     buildInputs = [ DBI ];
1393     meta = {
1394       description = "AutoDia, create UML diagrams from source code";
1395       longDescription = ''
1396         AutoDia is a modular application that parses source code, XML or data
1397         and produces an XML document in Dia format (or images via graphviz
1398         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
1399         package.  The diagrams its creates are standard UML diagrams showing
1400         dependencies, superclasses, packages, classes and inheritances, as
1401         well as the methods, etc of each class.
1403         AutoDia supports any language that a Handler has been written for,
1404         which includes C, C++, Java, Perl, Python, and more.
1405       '';
1406       homepage = "http://www.aarontrevena.co.uk/opensource/autodia/";
1407       license = with lib.licenses; [ gpl2Plus ];
1408       mainProgram = "autodia.pl";
1409     };
1410   };
1412   AWSSignature4 = buildPerlModule {
1413     pname = "AWS-Signature4";
1414     version = "1.02";
1415     src = fetchurl {
1416       url = "mirror://cpan/authors/id/L/LD/LDS/AWS-Signature4-1.02.tar.gz";
1417       hash = "sha256-ILvBbLNFT+XozzT+YfGpH+JsPxfkSf9mX8u7kqtEPr0=";
1418     };
1419     propagatedBuildInputs = [ LWP TimeDate URI ];
1420     meta = {
1421       description = "Create a version4 signature for Amazon Web Services";
1422       license = with lib.licenses; [ artistic1 gpl1Plus ];
1423     };
1424   };
1426   autovivification = buildPerlPackage {
1427     pname = "autovivification";
1428     version = "0.18";
1429     src = fetchurl {
1430       url = "mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz";
1431       hash = "sha256-LZmXVoUkKYDQqZBPY5FEwFnW7OFYme/eSst0LTJT8QU=";
1432     };
1433     meta = {
1434       description = "Lexically disable autovivification";
1435       homepage = "https://search.cpan.org/dist/autovivification";
1436       license = with lib.licenses; [ artistic1 gpl1Plus ];
1437     };
1438   };
1440   BarcodeZBar = buildPerlPackage {
1441     pname = "Barcode-ZBar";
1442     version = "0.04pre";
1443     # The meta::cpan version of this module has been unmaintained from 2009
1444     # This uses an updated version from the ZBar repo that works with the current ZBar library
1445     src = "${pkgs.zbar.src}/perl";
1446     postPatch = ''
1447       substituteInPlace Makefile.PL --replace "-lzbar" "-L${pkgs.zbar.lib}/lib -lzbar"
1448       rm t/Processor.t
1449     '';
1450     buildInputs =[ ExtUtilsMakeMaker ];
1451     propagatedBuildInputs = [ pkgs.zbar PerlMagick ];
1452     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
1453     meta = {
1454       description = "Perl interface to the ZBar Barcode Reader";
1455       homepage = "https://metacpan.org/pod/Barcode::ZBar";
1456       license = with lib.licenses; [ lgpl21Plus ];
1457     };
1458   };
1460   BC = buildPerlPackage {
1461     pname = "B-C";
1462     version = "1.57";
1463     src = fetchurl {
1464       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-C-1.57.tar.gz";
1465       hash = "sha256-BFKmEdNDrfnZX86ra6a2YXbjrX/MzlKAkiwOQx9RSf8=";
1466     };
1467     propagatedBuildInputs = [ BFlags IPCRun Opcodes ];
1468     doCheck = false; /* test fails */
1469     meta = {
1470       description = "Perl compiler";
1471       homepage = "https://github.com/rurban/perl-compiler";
1472       license = with lib.licenses; [ artistic1 gpl1Plus ];
1473       mainProgram = "perlcc";
1474     };
1475   };
1477   BCOW = buildPerlPackage {
1478     pname = "B-COW";
1479     version = "0.004";
1480     src = fetchurl {
1481       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/B-COW-0.004.tar.gz";
1482       hash = "sha256-/K+3de2EpFvCwGxf/XE0LLPAb7C9zVwbUbDBL4tYX1E=";
1483     };
1484     meta = {
1485       description = "B::COW additional B helpers to check COW status";
1486       license = with lib.licenses; [ artistic1 gpl1Plus ];
1487     };
1488   };
1490   BFlags = buildPerlPackage {
1491     pname = "B-Flags";
1492     version = "0.17";
1493     src = fetchurl {
1494       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Flags-0.17.tar.gz";
1495       hash = "sha256-wduX0BMVvtEJtMSJWM0yGVz8nvXTt3B+tHhAwdV8ELI=";
1496     };
1497     meta = {
1498       description = "Friendlier flags for B";
1499       license = with lib.licenses; [ artistic1 gpl1Only ];
1500     };
1501   };
1503   BeanstalkClient = buildPerlPackage {
1504     pname = "Beanstalk-Client";
1505     version = "1.07";
1506     src = fetchurl {
1507       url = "mirror://cpan/authors/id/G/GB/GBARR/Beanstalk-Client-1.07.tar.gz";
1508       hash = "sha256-MYirESfyyrqX32XIT2nbDscMZOXXDylvmiZ0+nnBEsw=";
1509     };
1510     propagatedBuildInputs = [ ClassAccessor YAMLSyck ];
1511     meta = {
1512       description = "Client to communicate with beanstalkd server";
1513       license = with lib.licenses; [ artistic1 gpl1Plus ];
1514     };
1515   };
1517   BerkeleyDB = buildPerlPackage {
1518     pname = "BerkeleyDB";
1519     version = "0.64";
1521     src = fetchurl {
1522       url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.64.tar.gz";
1523       hash = "sha256-U1yF6FScGsQ6IBYP3ALwpABhQVb9dhV//yiqM/2jdEs=";
1524     };
1526     preConfigure = ''
1527       echo "LIB = ${pkgs.db.out}/lib" > config.in
1528       echo "INCLUDE = ${pkgs.db.dev}/include" >> config.in
1529     '';
1530     meta = {
1531       description = "Perl extension for Berkeley DB version 2, 3, 4, 5 or 6";
1532       license = with lib.licenses; [ artistic1 gpl1Plus ];
1533     };
1534   };
1536   BDB = buildPerlPackage rec {
1537     pname = "BDB";
1538     version = "1.92";
1539     src = fetchurl {
1540       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
1541       hash = "sha256-o/LKnSuu/BqqQJCLL5y5KS/aPn15fji7146rudna62s=";
1542     };
1543     NIX_CFLAGS_COMPILE = "-I${pkgs.db4.dev}/include";
1544     NIX_CFLAGS_LINK = "-L${pkgs.db4.out}/lib -ldb";
1545     buildInputs = [ pkgs.db4 ];
1546     propagatedBuildInputs = [ commonsense ];
1547     meta = {
1548       description = "Asynchronous Berkeley DB access";
1549       license = with lib.licenses; [ artistic1 gpl1Plus ];
1550     };
1551   };
1553   BHooksEndOfScope = buildPerlPackage {
1554     pname = "B-Hooks-EndOfScope";
1555     version = "0.24";
1556     src = fetchurl {
1557       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz";
1558       hash = "sha256-A6o9/l0KpkcalvQ/6DGBedGXlNSmQHCPAoj5IW7HrMY=";
1559     };
1560     propagatedBuildInputs = [ ModuleImplementation SubExporterProgressive ];
1561     meta = {
1562       description = "Execute code after a scope finished compilation";
1563       homepage = "https://github.com/karenetheridge/B-Hooks-EndOfScope";
1564       license = with lib.licenses; [ artistic1 gpl1Plus ];
1565     };
1566   };
1568   BHooksOPAnnotation = buildPerlPackage {
1569     pname = "B-Hooks-OP-Annotation";
1570     version = "0.44";
1571     src = fetchurl {
1572       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/B-Hooks-OP-Annotation-0.44.tar.gz";
1573       hash = "sha256-bib5k2f06pRBac9uBc9NBngyCCQkyo7O/Mt7WmMhexY=";
1574     };
1575     propagatedBuildInputs = [ ExtUtilsDepends ];
1576     meta = {
1577       description = "Annotate and delegate hooked OPs";
1578       license = with lib.licenses; [ artistic1 gpl1Plus ];
1579     };
1580   };
1582   BHooksOPCheck = buildPerlPackage {
1583     pname = "B-Hooks-OP-Check";
1584     version = "0.22";
1585     src = fetchurl {
1586       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz";
1587       hash = "sha256-x7XRvvWe+Qh/9n6zFo0mJL6UrlRkRp4lmtEb+4rYzc0=";
1588     };
1589     buildInputs = [ ExtUtilsDepends ];
1590     meta = {
1591       description = "Wrap OP check callbacks";
1592       homepage = "https://github.com/karenetheridge/B-Hooks-OP-Check";
1593       license = with lib.licenses; [ artistic1 gpl1Plus ];
1594     };
1595   };
1597   BioExtAlign = callPackage ../development/perl-modules/Bio-Ext-Align { };
1599   BioPerl = buildPerlPackage {
1600     pname = "BioPerl";
1601     version = "1.7.8";
1602     src = fetchurl {
1603       url = "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-1.7.8.tar.gz";
1604       hash = "sha256-xJCjvncV6m5DBe/ZcQ5e2rgtq8Vf14a2UFtVCjDXFzg=";
1605     };
1606     buildInputs = [ ModuleBuild TestMemoryCycle TestWeaken TestDeep TestWarn TestException TestDifferences ];
1607     propagatedBuildInputs = [ DataStag Error Graph HTTPMessage IOString IOStringy IPCRun LWP ListMoreUtils SetScalar TestMost TestRequiresInternet URI XMLDOM XMLLibXML XMLSAX XMLSAXBase XMLSAXWriter XMLTwig XMLWriter YAML DBFile libxml_perl ];
1608     meta = {
1609       description = "Perl modules for biology";
1610       homepage = "https://metacpan.org/release/BioPerl";
1611       license = with lib.licenses; [ artistic1 gpl1Plus ];
1612     };
1613   };
1615   BitVector = buildPerlPackage {
1616     pname = "Bit-Vector";
1617     version = "7.4";
1618     src = fetchurl {
1619       url = "mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz";
1620       hash = "sha256-PG2qZx/s+8Nfkqk4W1Y9ZfUN/Gvci0gF+e9GwNA1qSY=";
1621     };
1622     propagatedBuildInputs = [ CarpClan ];
1623     meta = {
1624       description = "Efficient bit vector, set of integers and 'big int' math library";
1625       license = with lib.licenses; [ artistic1 gpl1Plus lgpl2Only ];
1626     };
1627   };
1629   BKeywords = buildPerlPackage rec {
1630     pname = "B-Keywords";
1631     version = "1.24";
1632     src = fetchurl {
1633       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.24.tar.gz";
1634       hash = "sha256-pc9rsoXQbRfO4id4O3I7snQhP9QVOl3uMR0kDhFpYG4=";
1635     };
1636     meta = {
1637       description = "Lists of reserved barewords and symbol names";
1638       license = with lib.licenses; [ artistic1 gpl2Only ];
1639     };
1640   };
1642   boolean = buildPerlPackage {
1643     pname = "boolean";
1644     version = "0.46";
1645     src = fetchurl {
1646       url = "mirror://cpan/authors/id/I/IN/INGY/boolean-0.46.tar.gz";
1647       hash = "sha256-lcCICFw+g79oD+bOFtgmTsJjEEkPfRaA5BbqehGPFWo=";
1648     };
1649     meta = {
1650       description = "Boolean support for Perl";
1651       homepage = "https://github.com/ingydotnet/boolean-pm";
1652       license = with lib.licenses; [ artistic1 gpl1Plus ];
1653     };
1654   };
1656   BoostGeometryUtils = buildPerlModule {
1657     pname = "Boost-Geometry-Utils";
1658     version = "0.15";
1659     src = fetchurl {
1660       url = "mirror://cpan/authors/id/A/AA/AAR/Boost-Geometry-Utils-0.15.tar.gz";
1661       hash = "sha256-AFTdP1c70/b0e3PugdHoRYQvugSq21KICqUnAcaH0co=";
1662     };
1663     patches = [
1664       # Fix out of memory error on Perl 5.19.4 and later.
1665       ../development/perl-modules/boost-geometry-utils-fix-oom.patch
1666     ];
1667     perlPreHook = "export LD=$CC";
1668     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp ];
1669     meta = {
1670       description = "Bindings for the Boost Geometry library";
1671       license = with lib.licenses; [ artistic1 gpl1Plus ];
1672     };
1673   };
1675   BotTraining = buildPerlPackage {
1676     pname = "Bot-Training";
1677     version = "0.07";
1678     src = fetchurl {
1679       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-0.07.tar.gz";
1680       hash = "sha256-7ma7+BTw3D0egGgOBQ+tELHgGP7Xkp9lPtQOCIsqopU=";
1681     };
1682     buildInputs = [ FileSlurp ];
1683     propagatedBuildInputs = [ ClassLoad DirSelf FileShareDir ModulePluggable MooseXGetopt namespaceclean  ];
1684     meta = {
1685       description = "Plain text training material for bots like Hailo and AI::MegaHAL";
1686       homepage = "https://metacpan.org/release/Bot-Training";
1687       license = with lib.licenses; [ artistic1 gpl1Plus ];
1688       mainProgram = "bot-training";
1689     };
1690   };
1692   BotTrainingMegaHAL = buildPerlPackage {
1693     pname = "Bot-Training-MegaHAL";
1694     version = "0.03";
1695     src = fetchurl {
1696       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-MegaHAL-0.03.tar.gz";
1697       hash = "sha256-lWByr/BPIW5cO4GWlltdgNTUdpXXfsqr1W5Z1l8iv2A=";
1698     };
1699     buildInputs = [ FileShareDirInstall ];
1700     propagatedBuildInputs = [ BotTraining ];
1701     meta = {
1702       description = "Provide megahal.trn via Bot::Training";
1703       homepage = "https://metacpan.org/release/Bot-Training-MegaHAL";
1704       license = with lib.licenses; [ artistic1 gpl1Plus ];
1705     };
1706   };
1708   BotTrainingStarCraft = buildPerlPackage {
1709     pname = "Bot-Training-StarCraft";
1710     version = "0.03";
1711     src = fetchurl {
1712       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-StarCraft-0.03.tar.gz";
1713       hash = "sha256-58640Bxi5zLdib/l9Ng+eBwc2RJULRd8Iudht8hhTV4=";
1714     };
1715     buildInputs = [ FileShareDirInstall ];
1716     propagatedBuildInputs = [ BotTraining ];
1717     meta = {
1718       description = "Provide starcraft.trn via Bot::Training";
1719       homepage = "https://metacpan.org/release/Bot-Training-StarCraft";
1720       license = with lib.licenses; [ artistic1 gpl1Plus ];
1721     };
1722   };
1724   BSDResource = buildPerlPackage {
1725     pname = "BSD-Resource";
1726     version = "1.2911";
1727     src = fetchurl {
1728       url = "mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz";
1729       hash = "sha256-nRz7oGPMGPckJ6IkUfeQiDa3MxrIeF2+B1U8WwQ6DD0=";
1730     };
1731     meta = {
1732       description = "BSD process resource limit and priority functions";
1733       license = with lib.licenses; [ artistic2 ];
1734       maintainers = teams.deshaw.members;
1735     };
1736   };
1738   BSON = buildPerlPackage {
1739     pname = "BSON";
1740     version = "1.12.2";
1741     src = fetchurl {
1742       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-v1.12.2.tar.gz";
1743       hash = "sha256-9GEsDDVDEHQbmattJkUSJoIxUMonEJsbORIy1c/dpts=";
1744     };
1745     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal ];
1746     propagatedBuildInputs = [ CryptURandom Moo TieIxHash boolean namespaceclean ];
1747     meta = {
1748       description = "BSON serialization and deserialization (EOL)";
1749       homepage = "https://github.com/mongodb-labs/mongo-perl-bson";
1750       license = with lib.licenses; [ asl20 ];
1751     };
1752   };
1754   BSONXS = buildPerlPackage {
1755     pname = "BSON-XS";
1756     version = "0.8.4";
1757     src = fetchurl {
1758       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-XS-v0.8.4.tar.gz";
1759       hash = "sha256-KPfTOP14tvnJpggL6d4/XLI9iIuW6/b8v6zp8pZq6/k=";
1760     };
1761     buildInputs = [ ConfigAutoConf JSONMaybeXS PathTiny TestDeep TestFatal TieIxHash ];
1762     propagatedBuildInputs = [ BSON boolean JSONXS JSONPP CpanelJSONXS ];
1763     meta = {
1764       description = "XS implementation of MongoDB's BSON serialization (EOL)";
1765       homepage = "https://github.com/mongodb-labs/mongo-perl-bson-xs";
1766       license = with lib.licenses; [ asl20 ];
1767       platforms = lib.platforms.linux; # configure phase fails with "ld: unknown option: -mmacosx-version-min=10.12"
1768     };
1769   };
1771   BUtils = buildPerlPackage {
1772     pname = "B-Utils";
1773     version = "0.27";
1774     src = fetchurl {
1775       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz";
1776       hash = "sha256-+X9T9qMFAQmqQU/usYTK0QGBLUF2DpUrXYSZP2aF/+o=";
1777     };
1778     propagatedBuildInputs = [ TaskWeaken ];
1779     buildInputs = [ ExtUtilsDepends ];
1780     meta = {
1781       description = "Helper functions for op tree manipulation";
1782       homepage = "https://search.cpan.org/dist/B-Utils";
1783       license = with lib.licenses; [ artistic1 gpl1Plus ];
1784     };
1785   };
1787   BusinessHours = buildPerlPackage {
1788     pname = "Business-Hours";
1789     version = "0.13";
1790     src = fetchurl {
1791       url = "mirror://cpan/authors/id/B/BP/BPS/Business-Hours-0.13.tar.gz";
1792       hash = "sha256-qAf+P/u4T/pTlnEazOdXZPOknyQjZGc1DHHIp3pcPsI=";
1793     };
1794     propagatedBuildInputs = [ SetIntSpan ];
1795     meta = {
1796       description = "Calculate business hours in a time period";
1797       license = with lib.licenses; [ artistic1 gpl1Plus ];
1798     };
1799   };
1801   BusinessISBN = buildPerlPackage {
1802     pname = "Business-ISBN";
1803     version = "3.005";
1804     src = fetchurl {
1805       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-3.005.tar.gz";
1806       hash = "sha256-ZTD7rkDFY3bbTmaGw0r42j21xLqtDRBAR7HvPiT+Lio=";
1807     };
1808     propagatedBuildInputs = [ BusinessISBNData ];
1809     meta = {
1810       description = "Work with International Standard Book Numbers";
1811       homepage = "https://github.com/briandfoy/business-isbn";
1812       license = with lib.licenses; [ artistic2 ];
1813     };
1814   };
1816   BusinessISBNData = buildPerlPackage {
1817     pname = "Business-ISBN-Data";
1818     version = "20191107";
1819     src = fetchurl {
1820       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20191107.tar.gz";
1821       hash = "sha256-hExPZPGT04k0C0RlodW8NMYPDI5C5caayK/j07vFyg0=";
1822     };
1823     meta = {
1824       description = "Data pack for Business::ISBN";
1825       homepage = "https://github.com/briandfoy/business-isbn-data";
1826       license = with lib.licenses; [ artistic2 ];
1827     };
1828   };
1830   BusinessISMN = buildPerlPackage {
1831     pname = "Business-ISMN";
1832     version = "1.201";
1833     src = fetchurl {
1834       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.201.tar.gz";
1835       hash = "sha256-SjIxoWRWv4y/F/JrZSQ/JHB4tRRdmgOqdYa68JV37LI=";
1836     };
1837     propagatedBuildInputs = [ TieCycle ];
1838     meta = {
1839       description = "Work with International Standard Music Numbers";
1840       homepage = "https://github.com/briandfoy/business-ismn";
1841       license = with lib.licenses; [ artistic2 ];
1842     };
1843   };
1845   BusinessISSN = buildPerlPackage {
1846     pname = "Business-ISSN";
1847     version = "1.004";
1848     src = fetchurl {
1849       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-1.004.tar.gz";
1850       hash = "sha256-l+yrFdJNEeKFK/Cyj4TIeYvThAKgpp4Xvg5mibJycV4=";
1851     };
1852     meta = {
1853       description = "Perl extension for International Standard Serial Numbers";
1854       homepage = "https://github.com/briandfoy/business-issn";
1855       license = with lib.licenses; [ artistic2 ];
1856     };
1857   };
1859   BytesRandomSecure = buildPerlPackage {
1860     pname = "Bytes-Random-Secure";
1861     version = "0.29";
1862     src = fetchurl {
1863       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-0.29.tar.gz";
1864       hash = "sha256-U7vTOeahHvygfGGaYVx8GIpouyvoSaHLfvw91Nmuha4=";
1865     };
1866     propagatedBuildInputs = [ CryptRandomSeed MathRandomISAAC ];
1867     meta = {
1868       description = "Perl extension to generate cryptographically-secure random bytes";
1869       license = with lib.licenses; [ artistic1 gpl1Plus ];
1870       maintainers = [ maintainers.sgo ];
1871     };
1872   };
1874   BytesRandomSecureTiny = buildPerlPackage {
1875     pname = "Bytes-Random-Secure-Tiny";
1876     version = "1.011";
1877     src = fetchurl {
1878       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-Tiny-1.011.tar.gz";
1879       hash = "sha256-A9lntfgoRpCRN9WrmYSsVwrBCkQB4MYC89IgjEZayYI=";
1880     };
1881     meta = {
1882       description = "A tiny Perl extension to generate cryptographically-secure random bytes";
1883       license = with lib.licenses; [ artistic1 gpl1Plus ];
1884       maintainers = [ maintainers.sgo ];
1885     };
1886   };
1888   CacheCache = buildPerlPackage {
1889     pname = "Cache-Cache";
1890     version = "1.08";
1891     src = fetchurl {
1892       url = "mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz";
1893       hash = "sha256-0sf9Xbpd0BC32JI1FokLtsz2tfGIzLafNcsP1sAx0eg=";
1894     };
1895     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
1896     doCheck = false; # randomly fails
1897     meta = {
1898       description = "The Cache Interface";
1899       license = with lib.licenses; [ artistic1 gpl1Plus ];
1900     };
1901   };
1903   CacheFastMmap = buildPerlPackage {
1904     pname = "Cache-FastMmap";
1905     version = "1.54";
1906     src = fetchurl {
1907       url = "mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.54.tar.gz";
1908       hash = "sha256-NULiALmAJ3rkVqvjbgyp+bjyvya7FVivJOFAgUrWeVI=";
1909     };
1910     buildInputs = [ TestDeep ];
1911     meta = {
1912       description = "Uses an mmap'ed file to act as a shared memory interprocess cache";
1913       license = with lib.licenses; [ artistic1 gpl1Plus ];
1914     };
1915   };
1917   CacheKyotoTycoon = buildPerlModule {
1918     pname = "Cache-KyotoTycoon";
1919     version = "0.16";
1920     src = fetchurl {
1921       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
1922       hash = "sha256-zLBII1iUxItpegDleMtFC05evBQYpVSnz6hjJwezlHw=";
1923     };
1924     propagatedBuildInputs = [ Furl URI ];
1925     buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
1926     meta = {
1927       description = "KyotoTycoon client library";
1928       homepage = "https://github.com/tokuhirom/Cache-KyotoTycoon";
1929       license = with lib.licenses; [ artistic1 gpl1Plus ];
1930     };
1931   };
1933   CacheMemcached = buildPerlPackage {
1934     pname = "Cache-Memcached";
1935     version = "1.30";
1936     src = fetchurl {
1937       url =
1938       "mirror://cpan/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz";
1939       hash = "sha256-MbPFHsDqrwMALizI49fVy+YZGc/a2mHACOuYU6ysQqk=";
1940     };
1941     propagatedBuildInputs = [ StringCRC32 ];
1942     meta = {
1943       description = "Client library for memcached (memory cache daemon)";
1944       license = with lib.licenses; [ artistic1 gpl1Plus ];
1945     };
1946   };
1948   CacheMemcachedFast = buildPerlPackage {
1949     pname = "Cache-Memcached-Fast";
1950     version = "0.26";
1951     src = fetchurl {
1952       url = "mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.26.tar.gz";
1953       hash = "sha256-Xo5G2SLMpuTzhRMsLLLHHu9/S171j702o5n5Fp3qoJo=";
1954     };
1955     meta = {
1956       description = "Perl client for memcached, in C language";
1957       license = with lib.licenses; [ artistic1 gpl1Plus ];
1958     };
1959   };
1961   CacheMemory = buildPerlModule {
1962     pname = "Cache";
1963     version = "2.11";
1964     src = fetchurl {
1965       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz";
1966       hash = "sha256-4dLYlneYEWarxbtuXsxkcfAB8T61bVvpVE2AR9wIpZI=";
1967     };
1968     propagatedBuildInputs = [ DBFile FileNFSLock HeapFibonacci IOString TimeDate ];
1969     doCheck = false; # can time out
1970     meta = {
1971       description = "Memory based implementation of the Cache interface";
1972       license = with lib.licenses; [ artistic1 gpl1Plus ];
1973     };
1974   };
1976   CacheSimpleTimedExpiry = buildPerlPackage {
1977     pname = "Cache-Simple-TimedExpiry";
1978     version = "0.27";
1979     src = fetchurl {
1980       url = "mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz";
1981       hash = "sha256-Tni35N0jG1VxpIzQ7htjlT9eNHkMnQIOFZWnx9Crvkk=";
1982     };
1983     meta = {
1984       description = "A lightweight cache with timed expiration";
1985       license = with lib.licenses; [ artistic1 gpl1Plus ];
1986     };
1987   };
1989   Cairo = buildPerlPackage {
1990     pname = "Cairo";
1991     version = "1.108";
1992     src = fetchurl {
1993       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.108.tar.gz";
1994       hash = "sha256-YELLfcUWdasjQ3BZxjhHE8X7vOhExMYAF9LgYZSPBdo=";
1995     };
1996     buildInputs = [ pkgs.cairo ];
1997     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
1998     meta = {
1999       description = "Perl interface to the cairo 2d vector graphics library";
2000       homepage = "http://gtk2-perl.sourceforge.net";
2001       license = with lib.licenses; [ lgpl21Only ];
2002     };
2003   };
2005   CairoGObject = buildPerlPackage {
2006     pname = "Cairo-GObject";
2007     version = "1.005";
2008     src = fetchurl {
2009       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz";
2010       hash = "sha256-jYlkRNceHQvKPSTjHl2CvQ2VQqrtkdH7fqs2e85nXFA=";
2011     };
2012     buildInputs = [ pkgs.cairo ];
2013     propagatedBuildInputs = [ Cairo Glib ];
2014     meta = {
2015       description = "Integrate Cairo into the Glib type system";
2016       homepage = "http://gtk2-perl.sourceforge.net";
2017       license = with lib.licenses; [ lgpl21Only ];
2018     };
2019   };
2021   CallContext = buildPerlPackage {
2022     pname = "Call-Context";
2023     version = "0.03";
2024     src = fetchurl {
2025       url = "mirror://cpan/authors/id/F/FE/FELIPE/Call-Context-0.03.tar.gz";
2026       hash = "sha256-Dua/RrxydVrbemsI550S4gfeX3gJcHs8NTtYyy8LWiY=";
2027     };
2028     meta = {
2029       description = "Sanity-check calling context";
2030       license = with lib.licenses; [ artistic1 gpl1Plus ];
2031       maintainers = [ maintainers.sgo ];
2032     };
2033   };
2035   cam_pdf = buildPerlModule {
2036     pname = "CAM-PDF";
2037     version = "1.60";
2038     src = fetchurl {
2039       url = "mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-1.60.tar.gz";
2040       hash = "sha256-52r8fzimJJJKd8XJiMNsnjiL+ncW51zTl/744bQuu4k=";
2041     };
2042     propagatedBuildInputs = [ CryptRC4 TextPDF ];
2043     meta = {
2044       description = "PDF manipulation library";
2045       license = with lib.licenses; [ artistic1 gpl1Plus ];
2046     };
2047   };
2049   capitalization = buildPerlPackage {
2050     pname = "capitalization";
2051     version = "0.03";
2052     src = fetchurl {
2053       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz";
2054       hash = "sha256-8TUW1XKUH2ihwj8uDkn1vwmyL5B+uSkrcrr/5ie77jw=";
2055     };
2056     propagatedBuildInputs = [ DevelSymdump ];
2057     meta = {
2058       description = "No capitalization on method names";
2059       license = with lib.licenses; [ artistic1 gpl1Plus ];
2060     };
2061   };
2063   CanaryStability = buildPerlPackage {
2064     pname = "Canary-Stability";
2065     version = "2013";
2066     src = fetchurl {
2067       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz";
2068       hash = "sha256-pckcYs+V/Lho9g6rXIMpCPaQUiEBP+orzj/1cEbXtuo=";
2069     };
2070     meta = {
2071       description = "Canary to check perl compatibility for schmorp's modules";
2072       license = with lib.licenses; [ gpl1Plus ];
2073     };
2074   };
2076   CaptchaReCAPTCHA = buildPerlPackage {
2077     pname = "Captcha-reCaptcha";
2078     version = "0.99";
2079     src = fetchurl {
2080       url = "mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz";
2081       hash = "sha256-uJI1dmARZu3j9/Ly/1X/bjw7znDmnzZaUe076MykQ5I=";
2082     };
2083     propagatedBuildInputs = [ HTMLTiny LWP ];
2084     meta = {
2085       description = "A Perl implementation of the reCAPTCHA API";
2086       license = with lib.licenses; [ artistic1 gpl1Plus ];
2087     };
2088   };
2090   CaptureTiny = buildPerlPackage {
2091     pname = "Capture-Tiny";
2092     version = "0.48";
2093     src = fetchurl {
2094       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz";
2095       hash = "sha256-bCMRPoe605MwjJCiBwE+UF9lknRzZjjYx5usnGfMPhk=";
2096     };
2097     meta = {
2098       description = "Capture STDOUT and STDERR from Perl, XS or external programs";
2099       homepage = "https://github.com/dagolden/Capture-Tiny";
2100       license = with lib.licenses; [ asl20 ];
2101     };
2102   };
2104   CarpAlways = buildPerlPackage {
2105     pname = "Carp-Always";
2106     version = "0.16";
2107     src = fetchurl {
2108       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-0.16.tar.gz";
2109       hash = "sha256-mKoRSSFxwBb7CCdYGrH6XtAbHpnGNXSJ3fOoJzFYZvE=";
2110     };
2111     buildInputs = [ TestBase ];
2112     meta = {
2113       description = "Warns and dies noisily with stack backtraces";
2114       license = with lib.licenses; [ artistic1 gpl1Plus ];
2115     };
2116   };
2118   CarpAssert = buildPerlPackage {
2119     pname = "Carp-Assert";
2120     version = "0.21";
2121     src = fetchurl {
2122       url = "mirror://cpan/authors/id/N/NE/NEILB/Carp-Assert-0.21.tar.gz";
2123       hash = "sha256-kk+OK048s9iyYka1+cB82qS4gAzvNF+ggR1ykw1zpU4=";
2124     };
2125     meta = {
2126       description = "Executable comments";
2127       license = with lib.licenses; [ artistic1 gpl1Plus ];
2128     };
2129   };
2131   CarpAssertMore = buildPerlPackage {
2132     pname = "Carp-Assert-More";
2133     version = "1.24";
2134     src = fetchurl {
2135       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.24.tar.gz";
2136       hash = "sha256-ulzBZichfdu/tbGk9rGEv500LvuBSNkdo0SfCwN1sis=";
2137     };
2138     propagatedBuildInputs = [ CarpAssert ];
2139     buildInputs = [ TestException ];
2140     meta = {
2141       description = "Convenience assertions for common situations";
2142       license = with lib.licenses; [ artistic2 ];
2143     };
2144   };
2146   CarpClan = buildPerlPackage {
2147     pname = "Carp-Clan";
2148     version = "6.08";
2149     src = fetchurl {
2150       url = "mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz";
2151       hash = "sha256-x1+S40QizFplqwXRVYQrcBRSQ06a77ZJ1uIonEfvZwg=";
2152     };
2153     meta = {
2154       description = "Report errors from perspective of caller of a \"clan\" of modules";
2155       homepage = "https://github.com/karenetheridge/Carp-Clan";
2156       license = with lib.licenses; [ artistic1 gpl1Plus ];
2157     };
2158   };
2160   Carton = buildPerlPackage {
2161     pname = "Carton";
2162     version = "1.0.34";
2163     src = fetchurl {
2164       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Carton-v1.0.34.tar.gz";
2165       hash = "sha256-d9QrknMrz8GKWdNB5WzkdiBbHE04Dqs6ByJPV0XCPkU=";
2166     };
2167     propagatedBuildInputs = [ MenloLegacy PathTiny TryTiny ];
2168     meta = {
2169       description = "Perl module dependency manager (aka Bundler for Perl)";
2170       homepage = "https://github.com/perl-carton/carton";
2171       license = with lib.licenses; [ artistic1 gpl1Plus ];
2172       mainProgram = "carton";
2173     };
2174   };
2176   CatalystActionRenderView = buildPerlPackage {
2177     pname = "Catalyst-Action-RenderView";
2178     version = "0.16";
2179     src = fetchurl {
2180       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz";
2181       hash = "sha256-hWUgOVCgV9Q+zWTpWTcV1WXC+9iwLJH0PFOyERrNOUg=";
2182     };
2183     propagatedBuildInputs = [ CatalystRuntime DataVisitor ];
2184     buildInputs = [ HTTPRequestAsCGI ];
2185     meta = {
2186       description = "Sensible default end action";
2187       license = with lib.licenses; [ artistic1 gpl1Plus ];
2188     };
2189   };
2191   CatalystActionREST = buildPerlPackage {
2192     pname = "Catalyst-Action-REST";
2193     version = "1.21";
2194     src = fetchurl {
2195       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz";
2196       hash = "sha256-zPgbulIA06CtaQH5I68XOj1EFmGK6gimk4uq/970yyA=";
2197     };
2198     buildInputs = [ TestRequires ];
2199     propagatedBuildInputs = [ CatalystRuntime URIFind ];
2200     meta = {
2201       description = "Automated REST Method Dispatching";
2202       license = with lib.licenses; [ artistic1 gpl1Plus ];
2203     };
2204   };
2206   CatalystAuthenticationCredentialHTTP = buildPerlModule {
2207     pname = "Catalyst-Authentication-Credential-HTTP";
2208     version = "1.018";
2209     src = fetchurl {
2210       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz";
2211       hash = "sha256-b6GBbe5kSw216gzBXF5xHcLO0gg2JavOcJZSHx1lpSk=";
2212     };
2213     buildInputs = [ ModuleBuildTiny TestException TestMockObject TestNeeds ];
2214     propagatedBuildInputs = [ CatalystPluginAuthentication ClassAccessor DataUUID StringEscape ];
2215     meta = {
2216       description = "HTTP Basic and Digest authentication for Catalyst";
2217       homepage = "https://github.com/perl-catalyst/Catalyst-Authentication-Credential-HTTP";
2218       license = with lib.licenses; [ artistic1 gpl1Plus ];
2219     };
2220   };
2222   CatalystAuthenticationStoreHtpasswd = buildPerlModule {
2223     pname = "Catalyst-Authentication-Store-Htpasswd";
2224     version = "1.006";
2225     src = fetchurl {
2226       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz";
2227       hash = "sha256-x/2FYnXo3hjAAWHXNJTsZr0N3QoZ27dMQtVXHJ7ggE8=";
2228     };
2229     buildInputs = [ ModuleBuildTiny TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2230     propagatedBuildInputs = [ AuthenHtpasswd CatalystPluginAuthentication ];
2231     meta = {
2232       description = "Authen::Htpasswd based user storage/authentication";
2233       license = with lib.licenses; [ artistic1 gpl1Plus ];
2234     };
2235   };
2237   CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
2238     pname = "Catalyst-Authentication-Store-DBIx-Class";
2239     version = "0.1506";
2240     src = fetchurl {
2241       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz";
2242       hash = "sha256-fFefJZUoXmTD3LVUAzSqmgAkQ+HUyMg6tEk7kMxRskQ=";
2243     };
2244     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication ];
2245     buildInputs = [ TestWarn ];
2246     meta = {
2247       description = "Extensible and flexible object <-> relational mapper";
2248       license = with lib.licenses; [ artistic1 gpl1Plus ];
2249     };
2250   };
2252   CatalystAuthenticationStoreLDAP = buildPerlPackage {
2253     pname = "Catalyst-Authentication-Store-LDAP";
2254     version = "1.016";
2255     src = fetchurl {
2256       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-LDAP-1.016.tar.gz";
2257       hash = "sha256-CFeBKmF83Y1FcdDZonm1hmEy9dhFBv0kK8Bh3HdKozI=";
2258     };
2259     propagatedBuildInputs = [ perlldap CatalystPluginAuthentication ClassAccessor ];
2260     buildInputs = [ TestMockObject TestException NetLDAPServerTest ];
2261     doCheck = !stdenv.isDarwin; # t/02-realms_api.t and t/50.auth.case.sensitivity.t
2262     meta = {
2263       description = "Authenticate Users against LDAP Directories";
2264       license = with lib.licenses; [ artistic1 gpl1Plus ];
2265     };
2266   };
2268   CatalystComponentInstancePerContext = buildPerlPackage {
2269     pname = "Catalyst-Component-InstancePerContext";
2270     version = "0.001001";
2271     src = fetchurl {
2272       url = "mirror://cpan/authors/id/G/GR/GRODITI/Catalyst-Component-InstancePerContext-0.001001.tar.gz";
2273       hash = "sha256-f2P5MOHmE/FZVcnm1zhzZ1xQwKO8KmGgNHMzYe0m0nE=";
2274     };
2275     propagatedBuildInputs = [ CatalystRuntime ];
2276     meta = {
2277       description = "Moose role to create only one instance of component per context";
2278       license = with lib.licenses; [ artistic1 gpl1Plus ];
2279     };
2280   };
2282   CatalystControllerHTMLFormFu = buildPerlPackage {
2283     pname = "Catalyst-Controller-HTML-FormFu";
2284     version = "2.04";
2285     src = fetchurl {
2286       url = "mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.04.tar.gz";
2287       hash = "sha256-8T+5s7OwCzXwarwxYURhyNc0b74H+1accejVhuXrXdw=";
2288     };
2289     buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT CodeTidyAllPluginPerlAlignMooseAttributes PodCoverageTrustPod PodTidy TemplateToolkit TestCPANMeta TestDifferences TestEOL TestKwalitee TestLongString TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage TestWWWMechanize TestWWWMechanizeCatalyst ];
2290     propagatedBuildInputs = [ CatalystComponentInstancePerContext HTMLFormFuMultiForm RegexpAssemble ];
2291     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
2292     meta = {
2293       description = "HTML Form Creation, Rendering and Validation Framework";
2294       homepage = "https://github.com/FormFu/HTML-FormFu";
2295       license = with lib.licenses; [ artistic1 gpl1Plus ];
2296     };
2297   };
2299   CatalystControllerPOD = buildPerlModule {
2300     pname = "Catalyst-Controller-POD";
2301     version = "1.0.0";
2302     src = fetchurl {
2303       url = "mirror://cpan/authors/id/P/PE/PERLER/Catalyst-Controller-POD-1.0.0.tar.gz";
2304       hash = "sha256-7ipLs+14uqFGQzVAjyhDRba6DvZXate/vXtlbHiKOfk=";
2305     };
2306     buildInputs = [ ModuleInstall TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
2307     propagatedBuildInputs = [ CatalystPluginStaticSimple ClassAccessor FileSlurp JSONXS ListMoreUtils PodPOMViewTOC XMLSimple ];
2308     meta = {
2309       description = "Serves PODs right from your Catalyst application";
2310       homepage = "https://search.cpan.org/dist/Catalyst-Controller-POD";
2311       license = with lib.licenses; [ bsd3 ];
2312     };
2313   };
2315   CatalystDevel = buildPerlPackage {
2316     pname = "Catalyst-Devel";
2317     version = "1.42";
2318     src = fetchurl {
2319       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Devel-1.42.tar.gz";
2320       hash = "sha256-fsbwtsq1uMCX5Hdp/HOk1MAVpYxB/bQPwk3z7nfEir0=";
2321     };
2322     buildInputs = [ FileShareDirInstall TestFatal ];
2323     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
2324     meta = {
2325       description = "Catalyst Development Tools";
2326       homepage = "http://dev.catalyst.perl.org";
2327       license = with lib.licenses; [ artistic1 gpl1Plus ];
2328     };
2329   };
2331   CatalystDispatchTypeRegex = buildPerlModule {
2332     pname = "Catalyst-DispatchType-Regex";
2333     version = "5.90035";
2334     src = fetchurl {
2335       url = "mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90035.tar.gz";
2336       hash = "sha256-AC3Pnv7HxYiSoYP5CAFTnQzxPsOvzPjTrRkhfCsNWBo=";
2337     };
2338     propagatedBuildInputs = [ CatalystRuntime ];
2339     meta = {
2340       description = "Regex DispatchType";
2341       license = with lib.licenses; [ artistic1 gpl1Plus ];
2342     };
2343   };
2345   CatalystManual = buildPerlPackage {
2346     pname = "Catalyst-Manual";
2347     version = "5.9011";
2348     src = fetchurl {
2349       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Manual-5.9011.tar.gz";
2350       hash = "sha256-s54zllkDwAWD4BgOPdUopUkg9SB83wUmBcoTgoz6wTw=";
2351     };
2352     meta = {
2353       description = "The Catalyst developer's manual";
2354       license = with lib.licenses; [ artistic1 gpl1Plus ];
2355     };
2356   };
2358   CatalystModelDBICSchema = buildPerlPackage {
2359     pname = "Catalyst-Model-DBIC-Schema";
2360     version = "0.65";
2361     src = fetchurl {
2362       url = "mirror://cpan/authors/id/G/GB/GBJK/Catalyst-Model-DBIC-Schema-0.65.tar.gz";
2363       hash = "sha256-JqkR7173/8gbbOZcMVb3H7NQg8RWrSfm2C0twCST7uo=";
2364     };
2365     buildInputs = [ DBDSQLite TestException TestRequires ];
2366     propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystXComponentTraits DBIxClassSchemaLoader MooseXMarkAsMethods MooseXNonMoose MooseXTypesLoadableClass TieIxHash ];
2367     meta = {
2368       description = "DBIx::Class::Schema Model Class";
2369       license = with lib.licenses; [ artistic1 gpl1Plus ];
2370     };
2371   };
2373   CatalystRuntime = buildPerlPackage {
2374     pname = "Catalyst-Runtime";
2375     version = "5.90128";
2376     src = fetchurl {
2377       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Runtime-5.90128.tar.gz";
2378       hash = "sha256-pt87Da9fZsW0NxDDvyLjSL6LBTdf8dloYIfm9pRiYPk=";
2379     };
2380     buildInputs = [ TestFatal TypeTiny ];
2381     propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT DataDump HTTPBody ModulePluggable MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass PerlIOutf8_strict PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix TaskWeaken TextSimpleTable TreeSimpleVisitorFactory URIws ];
2382     meta = {
2383       description = "The Catalyst Framework Runtime";
2384       homepage = "http://dev.catalyst.perl.org";
2385       license = with lib.licenses; [ artistic1 gpl1Plus ];
2386       mainProgram = "catalyst.pl";
2387     };
2388   };
2390   CatalystPluginAccessLog = buildPerlPackage {
2391     pname = "Catalyst-Plugin-AccessLog";
2392     version = "1.10";
2393     src = fetchurl {
2394       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.10.tar.gz";
2395       hash = "sha256-hz245OcqmU4+F661PSuDfm1SS0uLDzU58mITXIjMISA=";
2396     };
2397     propagatedBuildInputs = [ CatalystRuntime DateTime ];
2398     meta = {
2399       description = "Request logging from within Catalyst";
2400       homepage = "https://metacpan.org/release/Catalyst-Plugin-AccessLog";
2401       license = with lib.licenses; [ artistic1 gpl1Plus ];
2402     };
2403   };
2405   CatalystPluginAuthentication = buildPerlPackage {
2406     pname = "Catalyst-Plugin-Authentication";
2407     version = "0.10023";
2408     src = fetchurl {
2409       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz";
2410       hash = "sha256-NgOaq9rLB+Zoek16i/rHj+nQ+7BM2o1tlm1sHjJZ0Gw=";
2411     };
2412     buildInputs = [ TestException ];
2413     propagatedBuildInputs = [ CatalystPluginSession ];
2414     meta = {
2415       description = "Infrastructure plugin for the Catalyst authentication framework";
2416       license = with lib.licenses; [ artistic1 gpl1Plus ];
2417     };
2418   };
2420   CatalystPluginAuthorizationACL = buildPerlPackage {
2421     pname = "Catalyst-Plugin-Authorization-ACL";
2422     version = "0.16";
2423     src = fetchurl {
2424       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-Authorization-ACL-0.16.tar.gz";
2425       hash = "sha256-KjfmU0gu/SyTuGxqg4lB4FbF+U3YbA8LiT1RkzMSg3w=";
2426     };
2427     propagatedBuildInputs = [ CatalystRuntime ClassThrowable ];
2428     buildInputs = [ CatalystPluginAuthentication CatalystPluginAuthorizationRoles CatalystPluginSession CatalystPluginSessionStateCookie TestWWWMechanizeCatalyst ];
2429     meta = {
2430       description = "ACL support for Catalyst applications";
2431       license = with lib.licenses; [ artistic1 gpl1Plus ];
2432     };
2433   };
2435   CatalystPluginAuthorizationRoles = buildPerlPackage {
2436     pname = "Catalyst-Plugin-Authorization-Roles";
2437     version = "0.09";
2438     src = fetchurl {
2439       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz";
2440       hash = "sha256-7kBE5eKg2UxOxRL61V7gyN4UTh47h4Ugf5YCXPmkA1E=";
2441     };
2442     buildInputs = [ TestException ];
2443     propagatedBuildInputs = [ CatalystPluginAuthentication SetObject UNIVERSALisa ];
2444     meta = {
2445       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
2446       license = with lib.licenses; [ artistic1 gpl1Plus ];
2447     };
2448   };
2450   CatalystPluginCache = buildPerlPackage {
2451     pname = "Catalyst-Plugin-Cache";
2452     version = "0.12";
2453     src = fetchurl {
2454       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz";
2455       hash = "sha256-KV/tRJyTJLBleP1GjjOR4E+/ZK0kN2oARAjRvG9UQ+A=";
2456     };
2457     buildInputs = [ ClassAccessor TestDeep TestException ];
2458     propagatedBuildInputs = [ CatalystRuntime ];
2459     meta = {
2460       description = "Flexible caching support for Catalyst";
2461       license = with lib.licenses; [ artistic1 gpl1Plus ];
2462     };
2463   };
2465   CatalystPluginCacheHTTP = buildPerlPackage {
2466     pname = "Catalyst-Plugin-Cache-HTTP";
2467     version = "0.001000";
2468     src = fetchurl {
2469       url = "mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz";
2470       hash = "sha256-aq2nDrKfYd90xTj5KaEHD92TIMW278lNJkwzghe8sWw=";
2471     };
2472     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2473     propagatedBuildInputs = [ ClassAccessor HTTPMessage MROCompat ];
2474     meta = {
2475       description = "HTTP/1.1 cache validators for Catalyst";
2476       license = with lib.licenses; [ artistic1 gpl1Plus ];
2477     };
2478   };
2480   CatalystPluginCaptcha = buildPerlPackage {
2481     pname = "Catalyst-Plugin-Captcha";
2482     version = "0.04";
2483     src = fetchurl {
2484       url = "mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz";
2485       hash = "sha256-Sj1ccgBiTT567ULQWnBnSSdGg+t7rSYN6Sx1W/aQnlI=";
2486     };
2487     propagatedBuildInputs = [ CatalystPluginSession GDSecurityImage ];
2488     meta = {
2489       description = "Create and validate Captcha for Catalyst";
2490       license = with lib.licenses; [ artistic1 gpl1Plus ];
2491     };
2492   };
2494   CatalystPluginConfigLoader = buildPerlPackage {
2495     pname = "Catalyst-Plugin-ConfigLoader";
2496     version = "0.35";
2497     src = fetchurl {
2498       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-ConfigLoader-0.35.tar.gz";
2499       hash = "sha256-nippim8tBG4NxeV1EpKc1CPIB9Sja6Pynp5a3NcaGXE=";
2500     };
2501     propagatedBuildInputs = [ CatalystRuntime ConfigAny DataVisitor ];
2502     meta = {
2503       description = "Load config files of various types";
2504       license = with lib.licenses; [ artistic1 gpl1Plus ];
2505     };
2506   };
2508   CatalystPluginFormValidator = buildPerlPackage {
2509     pname = "Catalyst-Plugin-FormValidator";
2510     version = "0.094";
2511     src = fetchurl {
2512       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-0.094.tar.gz";
2513       hash = "sha256-WDTxG/XJ9LXTNtZcfOZjm3bOe/56KHXrBI1+ocgs4Fo=";
2514     };
2515     propagatedBuildInputs = [ CatalystRuntime DataFormValidator ];
2516     meta = {
2517       description = "Data::FormValidator";
2518       license = with lib.licenses; [ artistic1 gpl1Plus ];
2519     };
2520   };
2522   CatalystPluginFormValidatorSimple = buildPerlPackage {
2523     pname = "Catalyst-Plugin-FormValidator-Simple";
2524     version = "0.15";
2525     src = fetchurl {
2526       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-Simple-0.15.tar.gz";
2527       hash = "sha256-SGxqDo9BD9AXJ59IBKueNbpGMh0zoKlyH+Hgijkd56A=";
2528     };
2529     propagatedBuildInputs = [ CatalystPluginFormValidator FormValidatorSimple ];
2530     meta = {
2531       description = "Validation with simple chains of constraints ";
2532       license = with lib.licenses; [ artistic1 gpl1Plus ];
2533     };
2534   };
2536   CatalystPluginLogHandler = buildPerlModule {
2537     pname = "Catalyst-Plugin-Log-Handler";
2538     version = "0.08";
2539     src = fetchurl {
2540       url = "mirror://cpan/authors/id/P/PE/PEPE/Catalyst-Plugin-Log-Handler-0.08.tar.gz";
2541       hash = "sha256-DbPDpXtO49eJulEpiQ4oWJE/7wDYGFvcnF1/3jHgQ+8=";
2542     };
2543     propagatedBuildInputs = [ ClassAccessor LogHandler MROCompat ];
2544     meta = {
2545       description = "Log messages to several outputs";
2546       license = with lib.licenses; [ artistic1 gpl1Plus ];
2547     };
2548   };
2550   CatalystPluginPrometheusTiny = buildPerlPackage {
2551     pname = "Catalyst-Plugin-PrometheusTiny";
2552     version = "0.006";
2553     src = fetchurl {
2554       url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz";
2555       hash = "sha256-Kzm5l7q/+rNTquMsol8smbdljlBEew23H7gKFsS2osE=";
2556     };
2557     buildInputs = [ HTTPMessage Plack SubOverride TestDeep ];
2558     propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
2559     meta = {
2560       description = "A tiny Prometheus client";
2561       homepage = "https://github.com/robn/Prometheus-Tiny";
2562       license = with lib.licenses; [ artistic1 gpl1Plus ];
2563     };
2564   };
2566   CatalystPluginSession = buildPerlPackage {
2567     pname = "Catalyst-Plugin-Session";
2568     version = "0.41";
2569     src = fetchurl {
2570       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.41.tar.gz";
2571       hash = "sha256-hWEKF8ofQOuZ3b615TRi8ebVaOiv2Z1Pl1uwf1IKhSg=";
2572     };
2573     buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ];
2574     propagatedBuildInputs = [ CatalystRuntime ObjectSignature ];
2575     meta = {
2576       description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
2577       license = with lib.licenses; [ artistic1 gpl1Plus ];
2578     };
2579   };
2581   CatalystPluginSessionDynamicExpiry = buildPerlPackage {
2582     pname = "Catalyst-Plugin-Session-DynamicExpiry";
2583     version = "0.04";
2584     src = fetchurl {
2585       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-DynamicExpiry-0.04.tar.gz";
2586       hash = "sha256-dwfFZzTNsVEvcz3EAPrfb0xTyyF7WCB4V4JNrWeAoHk=";
2587     };
2588     propagatedBuildInputs = [ CatalystPluginSession ];
2589     meta = {
2590       description = "Per-session custom expiry times";
2591       license = with lib.licenses; [ artistic1 gpl1Plus ];
2592     };
2593   };
2595   CatalystPluginSessionStateCookie = buildPerlPackage {
2596     pname = "Catalyst-Plugin-Session-State-Cookie";
2597     version = "0.18";
2598     src = fetchurl {
2599       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-Session-State-Cookie-0.18.tar.gz";
2600       hash = "sha256-6bHHsrlsGU+Hpfd+FElxcHfHD/xnpL/CnwJsnuLge+o=";
2601     };
2602     propagatedBuildInputs = [ CatalystPluginSession ];
2603     meta = {
2604       description = "Maintain session IDs using cookies";
2605       license = with lib.licenses; [ artistic1 gpl1Plus ];
2606     };
2607   };
2609   CatalystPluginSessionStoreFastMmap = buildPerlPackage {
2610     pname = "Catalyst-Plugin-Session-Store-FastMmap";
2611     version = "0.16";
2612     src = fetchurl {
2613       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz";
2614       hash = "sha256-uut/17+QW+dGMciHYP2KKYDO6pVieZM5lYFkPvY3cnQ=";
2615     };
2616     propagatedBuildInputs = [ CacheFastMmap CatalystPluginSession ];
2617     meta = {
2618       description = "FastMmap session storage backend";
2619       license = with lib.licenses; [ artistic1 gpl1Plus ];
2620     };
2621   };
2623   CatalystPluginSessionStoreFile = buildPerlPackage {
2624     pname = "Catalyst-Plugin-Session-Store-File";
2625     version = "0.18";
2626     src = fetchurl {
2627       url = "mirror://cpan/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-File-0.18.tar.gz";
2628       hash = "sha256-VHOOPOdvi+i2aUcJLSiXPHPXnR7hm12SsFdVL4/wm08=";
2629     };
2630     propagatedBuildInputs = [ CacheCache CatalystPluginSession ClassDataInheritable ];
2631     meta = {
2632       description = "File storage backend for session data";
2633       license = with lib.licenses; [ artistic1 gpl1Plus ];
2634     };
2635   };
2637   CatalystPluginSmartURI = buildPerlPackage {
2638     pname = "Catalyst-Plugin-SmartURI";
2639     version = "0.041";
2640     src = fetchurl {
2641       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.041.tar.gz";
2642       hash = "sha256-y4ghhphUUSA9kj19+QIKoELajcGUltgj4WU1twUfX1c=";
2643     };
2644     propagatedBuildInputs = [ CatalystRuntime ClassC3Componentised ];
2645     buildInputs = [ CatalystActionREST TestWarnings TimeOut URISmartURI ];
2646     meta = {
2647       description = "Configurable URIs for Catalyst";
2648       license = with lib.licenses; [ artistic1 gpl1Plus ];
2649     };
2650   };
2652   CatalystPluginStackTrace = buildPerlPackage {
2653     pname = "Catalyst-Plugin-StackTrace";
2654     version = "0.12";
2655     src = fetchurl {
2656       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz";
2657       hash = "sha256-Mp2s0LoJ0Qp2CHqxdvldtro9smotD+M+7i9eRs7XU6w=";
2658     };
2659     propagatedBuildInputs = [ CatalystRuntime ];
2660     meta = {
2661       description = "Display a stack trace on the debug screen";
2662       license = with lib.licenses; [ artistic1 gpl1Plus ];
2663     };
2664   };
2666   CatalystPluginStaticSimple = buildPerlPackage {
2667     pname = "Catalyst-Plugin-Static-Simple";
2668     version = "0.36";
2669     src = fetchurl {
2670       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.36.tar.gz";
2671       hash = "sha256-Nrczj5a+9PJoX3pFVbFRl5Oud4O9PW0iyX87cY8wlFQ=";
2672     };
2673     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
2674     propagatedBuildInputs = [ CatalystRuntime MIMETypes MooseXTypes ];
2675     meta = {
2676       description = "Make serving static pages painless";
2677       license = with lib.licenses; [ artistic1 gpl1Plus ];
2678     };
2679   };
2681   CatalystPluginStatusMessage = buildPerlPackage {
2682     pname = "Catalyst-Plugin-StatusMessage";
2683     version = "1.002000";
2684     src = fetchurl {
2685       url = "mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Plugin-StatusMessage-1.002000.tar.gz";
2686       hash = "sha256-ZJyJSrFvn0itqPnMWZp+y7iJGrN2H/b9UQUgxt5AfB8=";
2687     };
2688     propagatedBuildInputs = [ CatalystRuntime strictures ];
2689     meta = {
2690       description = "Handle passing of status (success and error) messages between screens of a web application";
2691       license = with lib.licenses; [ artistic1 gpl1Plus ];
2692     };
2693   };
2695   CatalystViewCSV = buildPerlPackage {
2696     pname = "Catalyst-View-CSV";
2697     version = "1.7";
2698     src = fetchurl {
2699       url = "mirror://cpan/authors/id/M/MC/MCB/Catalyst-View-CSV-1.7.tar.gz";
2700       hash = "sha256-5BMmtgmYkfJEtDKSHtEAlqxhnzK4xPi0FjMxO9VGYts=";
2701     };
2702     buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass TestException ];
2703     propagatedBuildInputs = [ CatalystRuntime TextCSV ];
2704     meta = {
2705       description = "CSV view class";
2706       license = with lib.licenses; [ artistic1 gpl1Plus ];
2707     };
2708   };
2710   CatalystViewDownload = buildPerlPackage {
2711     pname = "Catalyst-View-Download";
2712     version = "0.09";
2713     src = fetchurl {
2714       url = "mirror://cpan/authors/id/G/GA/GAUDEON/Catalyst-View-Download-0.09.tar.gz";
2715       hash = "sha256-es+PXyRex/bzU/SHKdE3sSrxrPos8fvWXHA5HpM3+OE=";
2716     };
2717     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst TextCSV XMLSimple ];
2718     meta = {
2719       description = "A view module to help in the convenience of downloading data into many supportable formats";
2720       license = with lib.licenses; [ artistic1 gpl1Plus ];
2721     };
2722   };
2724   CatalystViewJSON = buildPerlPackage {
2725     pname = "Catalyst-View-JSON";
2726     version = "0.37";
2727     src = fetchurl {
2728       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-JSON-0.37.tar.gz";
2729       hash = "sha256-xdo/bop3scmYVd431YgCwLGU4pp9hsYO04Mc/dWfnew=";
2730     };
2731     propagatedBuildInputs = [ CatalystRuntime ];
2732     meta = {
2733       description = "JSON (JavaScript Object Notation) encoder/decoder";
2734       license = with lib.licenses; [ artistic1 gpl1Plus ];
2735     };
2736   };
2738   CatalystViewTT = buildPerlPackage {
2739     pname = "Catalyst-View-TT";
2740     version = "0.45";
2741     src = fetchurl {
2742       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-TT-0.45.tar.gz";
2743       hash = "sha256-KN8SU3w9Xg5aSJ/GZL2+rgEyfZvegkW/QJjfgt+870s=";
2744     };
2745     propagatedBuildInputs = [ CatalystRuntime ClassAccessor TemplateTimer ];
2746     meta = {
2747       description = "Template View Class";
2748       license = with lib.licenses; [ artistic1 gpl1Plus ];
2749     };
2750   };
2752   CatalystXComponentTraits = buildPerlPackage {
2753     pname = "CatalystX-Component-Traits";
2754     version = "0.19";
2755     src = fetchurl {
2756       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CatalystX-Component-Traits-0.19.tar.gz";
2757       hash = "sha256-CElE6cnQ37ENSrNFPhwSX97jkSm0bRfAI0w8U1FkBEc=";
2758     };
2759     propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable ];
2760     meta = {
2761       description = "Automatic Trait Loading and Resolution for Catalyst Components";
2762       license = with lib.licenses; [ artistic1 gpl1Plus ];
2763     };
2764   };
2766   CatalystXRoleApplicator = buildPerlPackage {
2767     pname = "CatalystX-RoleApplicator";
2768     version = "0.005";
2769     src = fetchurl {
2770       url = "mirror://cpan/authors/id/H/HD/HDP/CatalystX-RoleApplicator-0.005.tar.gz";
2771       hash = "sha256-4o5HZ3aJva31VE4cQaKsV1WZNm+EDXO70LA8ZPtVim8=";
2772     };
2773     propagatedBuildInputs = [ CatalystRuntime MooseXRelatedClassRoles ];
2774     meta = {
2775       description = "Apply roles to your Catalyst application-related classes";
2776       license = with lib.licenses; [ artistic1 gpl1Plus ];
2777     };
2778   };
2780   CatalystTraitForRequestProxyBase = buildPerlPackage {
2781     pname = "Catalyst-TraitFor-Request-ProxyBase";
2782     version = "0.000005";
2783     src = fetchurl {
2784       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz";
2785       hash = "sha256-p78Pqn4Syl32Jdn1/HEPEb/Ra6U4WDfkjUKz0obJcQo=";
2786     };
2787     buildInputs = [ CatalystRuntime CatalystXRoleApplicator HTTPMessage ];
2788     propagatedBuildInputs = [ Moose URI namespaceautoclean ];
2789     meta = {
2790       description = "Replace request base with value passed by HTTP proxy";
2791       license = with lib.licenses; [ artistic1 gpl1Plus ];
2792     };
2793   };
2795   CatalystXScriptServerStarman = buildPerlPackage {
2796     pname = "CatalystX-Script-Server-Starman";
2797     version = "0.03";
2798     src = fetchurl {
2799       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.03.tar.gz";
2800       hash = "sha256-5jpH80y0P3+87GdYyaVCiAGOOIAjZTYYkLKjTfCKWyI=";
2801     };
2802     patches = [
2803       # See Nixpkgs issues #16074 and #17624
2804       ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
2805     ];
2806     buildInputs = [ TestWWWMechanizeCatalyst ];
2807     propagatedBuildInputs = [ CatalystRuntime MooseXTypes PodParser Starman ];
2808     meta = {
2809       description = "Replace the development server with Starman";
2810       license = with lib.licenses; [ artistic1 gpl1Plus ];
2811     };
2812   };
2814   CDB_File = buildPerlPackage {
2815     pname = "CDB_File";
2816     version = "1.05";
2817     src = fetchurl {
2818       url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-1.05.tar.gz";
2819       hash = "sha256-hWSEnVY5AV3iNiTlc8riU265CUMrZNkAmKHgtFKp60s=";
2820     };
2821     buildInputs = [ TestFatal TestWarnings ];
2822     propagatedBuildInputs = [ BCOW ];
2823     meta = {
2824       description = "Perl extension for access to cdb databases";
2825       homepage = "https://github.com/toddr/CDB_File";
2826       license = with lib.licenses; [ artistic1 gpl1Plus ];
2827     };
2828   };
2830   Catmandu = buildPerlModule {
2831     pname = "Catmandu";
2832     version = "1.2013";
2833     src = fetchurl {
2834       url = "mirror://cpan/authors/id/N/NI/NICS/Catmandu-1.2013.tar.gz";
2835       hash = "sha256-OHIYl8hKwsKNVYHBHTtGevkwwfN34L0uwzCPAiXGBGo=";
2836     };
2837     propagatedBuildInputs = [ AnyURIEscape AppCmd CGIExpand ConfigOnion CpanelJSONXS DataCompare DataUtil IOHandleUtil LWP ListMoreUtils LogAny MIMETypes ModuleInfo MooXAliases ParserMGC PathIteratorRule PathTiny StringCamelCase TextCSV TextHogan Throwable TryTinyByClass URITemplate UUIDTiny YAMLLibYAML namespaceclean ];
2838     buildInputs = [ LogAnyAdapterLog4perl LogLog4perl TestDeep TestException TestLWPUserAgent TestPod ];
2839     meta = {
2840       description = "A data toolkit";
2841       homepage = "https://github.com/LibreCat/Catmandu";
2842       license = with lib.licenses; [ artistic1 gpl1Plus ];
2843       mainProgram = "catmandu";
2844     };
2845   };
2847   CDDB_get = buildPerlPackage {
2848     pname = "CDDB_get";
2849     version = "2.28";
2850     src = fetchurl {
2851       url = "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-2.28.tar.gz";
2852       hash = "sha256-vcy6H6jkwc8xicXlo1KaZpOmSKpSgrWXU4x6rdzm2ck=";
2853     };
2854     meta = {
2855       description = "Get the CDDB info for an audio cd";
2856       license = with lib.licenses; [ artistic1 ];
2857       maintainers = [ maintainers.endgame ];
2858       mainProgram = "cddb.pl";
2859     };
2860   };
2862   CDDBFile = buildPerlPackage {
2863     pname = "CDDB-File";
2864     version = "1.05";
2865     src = fetchurl {
2866       url = "mirror://cpan/authors/id/T/TM/TMTM/CDDB-File-1.05.tar.gz";
2867       hash = "sha256-6+ZCnEFcFOc8bK/g1OLc3o4WnYFScfHhUjwmThrsx8k=";
2868     };
2869     meta = {
2870       description = "Parse a CDDB/freedb data file";
2871       license = with lib.licenses; [ artistic1 ];
2872     };
2873   };
2876   CGI = buildPerlPackage {
2877     pname = "CGI";
2878     version = "4.51";
2879     src = fetchurl {
2880       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-4.51.tar.gz";
2881       hash = "sha256-C9IV5wEvn1Lmp9P+aV7jDvlZ15bo5TRy+g7YxT+6YAo=";
2882     };
2883     buildInputs = [ TestDeep TestNoWarnings TestWarn ];
2884     propagatedBuildInputs = [ HTMLParser ];
2885     meta = {
2886       description = "Handle Common Gateway Interface requests and responses";
2887       homepage = "https://metacpan.org/module/CGI";
2888       license = with lib.licenses; [ artistic2 ];
2889     };
2890   };
2892   CGICompile = buildPerlModule {
2893     pname = "CGI-Compile";
2894     version = "0.25";
2895     src = fetchurl {
2896       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CGI-Compile-0.25.tar.gz";
2897       hash = "sha256-9Et07t+9Hrjw+WiPndrhVCLl+kiueL4hsK/LnjJJDqU=";
2898     };
2899     propagatedBuildInputs = [ Filepushd SubName ];
2900     buildInputs = [ CGI CaptureTiny ModuleBuildTiny SubIdentify Switch TestNoWarnings TestRequires TryTiny ];
2901     meta = {
2902       description = "Compile .cgi scripts to a code reference like ModPerl::Registry";
2903       homepage = "https://github.com/miyagawa/CGI-Compile";
2904       license = with lib.licenses; [ artistic1 gpl1Plus ];
2905     };
2906   };
2908   CGICookieXS = buildPerlPackage {
2909     pname = "CGI-Cookie-XS";
2910     version = "0.18";
2911     src = fetchurl {
2912       url = "mirror://cpan/authors/id/A/AG/AGENT/CGI-Cookie-XS-0.18.tar.gz";
2913       hash = "sha256-RpnLSr2XIBSvO+ubCmlbQluH2ibLK0vbJgIHCqrdPcY=";
2914     };
2915     meta = {
2916       description = "HTTP Cookie parser in pure C";
2917       license = with lib.licenses; [ artistic1 gpl1Plus ];
2918     };
2919   };
2921   CGIEmulatePSGI = buildPerlPackage {
2922     pname = "CGI-Emulate-PSGI";
2923     version = "0.23";
2924     src = fetchurl {
2925       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz";
2926       hash = "sha256-3VtsNT8I+6EA2uCZBChPf3P4Mo0x9qZ7LBNvrXKNFYs=";
2927     };
2928     buildInputs = [ TestRequires ];
2929     propagatedBuildInputs = [ CGI ];
2930     meta = {
2931       description = "PSGI adapter for CGI";
2932       homepage = "https://github.com/tokuhirom/p5-cgi-emulate-psgi";
2933       license = with lib.licenses; [ artistic1 gpl1Plus ];
2934     };
2935   };
2937   CGIExpand = buildPerlPackage {
2938     pname = "CGI-Expand";
2939     version = "2.05";
2940     src = fetchurl {
2941       url = "mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz";
2942       hash = "sha256-boLRGOPEwMLa/NpYde3l6N2//+C336pkjkUeA5pFpKk=";
2943     };
2944     buildInputs = [ TestException ];
2945     meta = {
2946       description = "Convert flat hash to nested data using TT2's dot convention";
2947       license = with lib.licenses; [ artistic1 gpl1Plus ];
2948     };
2949   };
2951   CGIFast = buildPerlPackage {
2952     pname = "CGI-Fast";
2953     version = "2.15";
2954     src = fetchurl {
2955       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.15.tar.gz";
2956       hash = "sha256-5TQt89xZPt+3JMev6FCxoO51P01zP1GT4DewRjPf7s4=";
2957     };
2958     propagatedBuildInputs = [ CGI FCGI ];
2959     doCheck = false;
2960     meta = {
2961       description = "CGI Interface for Fast CGI";
2962       homepage = "https://metacpan.org/module/CGI::Fast";
2963       license = with lib.licenses; [ artistic1 gpl1Plus ];
2964     };
2965   };
2967   CGIFormBuilder = buildPerlPackage {
2968     pname = "CGI-FormBuilder";
2969     version = "3.10";
2970     src = fetchurl {
2971       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz";
2972       hash = "sha256-rsmb4MDwZ6fnJpxTeOWubI1905s2i08SwNhGOxPucZg=";
2973     };
2975     propagatedBuildInputs = [ CGI ];
2976     meta = {
2977       description = "Easily generate and process stateful forms";
2978       license = with lib.licenses; [ artistic1 gpl1Plus ];
2979     };
2980   };
2982   CGIMinimal = buildPerlModule {
2983     pname = "CGI-Minimal";
2984     version = "1.30";
2985     src = fetchurl {
2986       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/CGI-Minimal-1.30.tar.gz";
2987       hash = "sha256-uU1QghsCYR2m7lQjGTFFB4xNuygvKxYqSw1YCUmXvEc=";
2988     };
2989     meta = {
2990       description = "A lightweight CGI form processing package";
2991       homepage = "https://github.com/JerilynFranz/perl-CGI-Minimal";
2992       license = with lib.licenses; [ mit ];
2993     };
2994   };
2996   CGIPSGI = buildPerlPackage {
2997     pname = "CGI-PSGI";
2998     version = "0.15";
2999     src = fetchurl {
3000       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz";
3001       hash = "sha256-xQ3LEL+EhqmEO67QMq2J2Hn/L0HJkzQt6tYvlHpZjZE=";
3002     };
3003     propagatedBuildInputs = [ CGI ];
3004     meta = {
3005       description = "Adapt CGI.pm to the PSGI protocol";
3006       license = with lib.licenses; [ artistic1 gpl1Plus ];
3007     };
3008   };
3010   CGISession = buildPerlModule {
3011     pname = "CGI-Session";
3012     version = "4.48";
3013     src = fetchurl {
3014       url = "mirror://cpan/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz";
3015       hash = "sha256-RnVkYcJM52ZrgQjduW26thJpnfMBLIDvEQFmGf4VVPc=";
3016     };
3017     propagatedBuildInputs = [ CGI ];
3018     meta = {
3019       description = "Persistent session data in CGI applications";
3020       license = with lib.licenses; [ artistic1 ];
3021     };
3022   };
3024   CGISimple = buildPerlModule {
3025     pname = "CGI-Simple";
3026     version = "1.25";
3027     src = fetchurl {
3028       url = "mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.25.tar.gz";
3029       hash = "sha256-5ebPNuoG8OZ7vc3Zz7aY80yZNR6usy3U+mNviZQ+9H4=";
3030     };
3031     propagatedBuildInputs = [ IOStringy ];
3032     buildInputs = [ TestException TestNoWarnings ];
3033     meta = {
3034       description = "A Simple totally OO CGI interface that is CGI.pm compliant";
3035       license = with lib.licenses; [ artistic1 gpl1Plus ];
3036     };
3037   };
3039   CGIStruct = buildPerlPackage {
3040     pname = "CGI-Struct";
3041     version = "1.21";
3042     src = fetchurl {
3043       url = "mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz";
3044       hash = "sha256-0T2Np/3NbZBgVOR2D8KKcYrskb088GeliSf7fLHAnWw=";
3045     };
3046     buildInputs = [ TestDeep ];
3047     meta = {
3048       description = "Build structures from CGI data";
3049       license = with lib.licenses; [ bsd2 ];
3050     };
3051   };
3053   CHI = buildPerlPackage {
3054     pname = "CHI";
3055     version = "0.60";
3056     src = fetchurl {
3057       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/CHI-0.60.tar.gz";
3058       hash = "sha256-x/Gis1cKj+3khOkz+Juhcp4KvQWTV5HRRsUi3RIO6FE=";
3059     };
3060     preConfigure = ''
3061       # fix error 'Unescaped left brace in regex is illegal here in regex'
3062       substituteInPlace lib/CHI/t/Driver/Subcache/l1_cache.pm --replace 'qr/CHI stats: {' 'qr/CHI stats: \{'
3063     '';
3064     buildInputs = [ TestClass TestDeep TestException TestWarn TimeDate ];
3065     propagatedBuildInputs = [ CarpAssert ClassLoad DataUUID DigestJHash HashMoreUtils JSONMaybeXS ListMoreUtils LogAny Moo MooXTypesMooseLikeNumeric StringRewritePrefix TaskWeaken TimeDuration TimeDurationParse ];
3066     meta = {
3067       description = "Unified cache handling interface";
3068       license = with lib.licenses; [ artistic1 gpl1Plus ];
3069     };
3070   };
3072   Chart = buildPerlPackage {
3073     pname = "Chart";
3074     version = "2.4.10";
3075     src = fetchurl {
3076       url = "mirror://cpan/authors/id/C/CH/CHARTGRP/Chart-2.4.10.tar.gz";
3077       hash = "sha256-hL2ZoaDOckd7FeNYgeYSA5i7P1U67rXo1ysIhSDk9r8=";
3078     };
3079     propagatedBuildInputs = [ GD ];
3080     meta = {
3081       description = "A series of charting modules";
3082       license = with lib.licenses; [ artistic1 gpl1Plus ];
3083     };
3084   };
3086   CiscoIPPhone = buildPerlPackage {
3087     pname = "Cisco-IPPhone";
3088     version = "0.05";
3089     src = fetchurl {
3090       url = "mirror://cpan/authors/id/M/MR/MRPALMER/Cisco-IPPhone-0.05.tar.gz";
3091       hash = "sha256-sDyiY/j0Gm7FRcU5MhOjFG02vUUzWt6Zr1HdQqtu4W0=";
3092     };
3093     meta = {
3094       description = "Package for creating Cisco IPPhone XML objects";
3095       license = with lib.licenses; [ artistic1 ];
3096     };
3097   };
3099   CLASS = buildPerlPackage {
3100     pname = "CLASS";
3101     version = "1.00";
3102     src = fetchurl {
3103       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/CLASS-1.00.tar.gz";
3104       hash = "sha256-xRhWIIFXAbP+whMUzNjFaT5r/VGUMVJ9ozcKgWQiBnE=";
3105     };
3106     meta = {
3107       description = "Alias for __PACKAGE__";
3108       homepage = "https://metacpan.org/pod/CLASS";
3109       license = with lib.licenses; [ artistic1 gpl1Plus ];
3110       maintainers = [ maintainers.sgo ];
3111     };
3112   };
3114   ClassAccessor = buildPerlPackage {
3115     pname = "Class-Accessor";
3116     version = "0.51";
3117     src = fetchurl {
3118       url = "mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz";
3119       hash = "sha256-vxKj5d5aLG6KRHs2T09aBQv3RiTFbjFQIq55kv8vQRw=";
3120     };
3121     meta = {
3122       description = "Automated accessor generation";
3123       license = with lib.licenses; [ artistic1 gpl1Plus ];
3124     };
3125   };
3127   ClassAccessorChained = buildPerlModule {
3128     pname = "Class-Accessor-Chained";
3129     version = "0.01";
3130     src = fetchurl {
3131       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz";
3132       hash = "sha256-pb9J04BPg60lobFvMn0U1MvuInATIQSyhwUDHbzMNNI=";
3133     };
3134     propagatedBuildInputs = [ ClassAccessor ];
3135     meta = {
3136       description = "Make chained accessors";
3137       license = with lib.licenses; [ artistic1 gpl1Plus ];
3138     };
3139   };
3141   ClassAccessorGrouped = buildPerlPackage {
3142     pname = "Class-Accessor-Grouped";
3143     version = "0.10014";
3144     src = fetchurl {
3145       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-Accessor-Grouped-0.10014.tar.gz";
3146       hash = "sha256-NdWwPvwJ9n86MVXJYkEmw+FiyOPKmP+CbbNYUzpExLs=";
3147     };
3148     buildInputs = [ TestException ];
3149     propagatedBuildInputs = [ ModuleRuntime ];
3150     meta = {
3151       description = "Lets you build groups of accessors";
3152       homepage = "https://metacpan.org/release/Class-Accessor-Grouped";
3153       license = with lib.licenses; [ artistic1 gpl1Plus ];
3154     };
3155   };
3157   ClassAccessorLite = buildPerlPackage {
3158     pname = "Class-Accessor-Lite";
3159     version = "0.08";
3160     src = fetchurl {
3161       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz";
3162       hash = "sha256-dbO47I7+aHZ3tj8KEO75ZuAfYHNcVmVs51y7RMq6M1o=";
3163     };
3164     meta = {
3165       description = "A minimalistic variant of Class::Accessor";
3166       license = with lib.licenses; [ artistic1 gpl1Plus ];
3167     };
3168   };
3170   ClassAutouse = buildPerlPackage {
3171     pname = "Class-Autouse";
3172     version = "2.01";
3173     src = fetchurl {
3174       url = "mirror://cpan/authors/id/A/AD/ADAMK/Class-Autouse-2.01.tar.gz";
3175       hash = "sha256-wFsyNsBXGdgZwg2w/ettCVR0fkPXpzgpTu1/vPNuzxs=";
3176     };
3177     meta = {
3178       description = "Run-time load a class the first time you call a method in it";
3179       license = with lib.licenses; [ artistic1 gpl1Plus ];
3180     };
3181   };
3183   ClassBase = buildPerlPackage {
3184     pname = "Class-Base";
3185     version = "0.09";
3186     src = fetchurl {
3187       url = "mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz";
3188       hash = "sha256-4aW93lJQWAJmSpEIpRXJ6OUCy3IppJ3pT0CBsbKu7YQ=";
3189     };
3190     propagatedBuildInputs = [ Clone ];
3191     meta = {
3192       description = "Useful base class for deriving other modules";
3193       license = with lib.licenses; [ artistic1 gpl1Plus ];
3194     };
3195   };
3197   ClassC3 = buildPerlPackage {
3198     pname = "Class-C3";
3199     version = "0.35";
3200     src = fetchurl {
3201       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.35.tar.gz";
3202       hash = "sha256-hAU88aaPzIwSBWwvEgrfBPf2jjvjT0QI6V0Cb+5n4z4=";
3203     };
3204     propagatedBuildInputs = [ AlgorithmC3 ];
3205     meta = {
3206       description = "A pragma to use the C3 method resolution order algorithm";
3207       homepage = "https://metacpan.org/release/Class-C3";
3208       license = with lib.licenses; [ artistic1 gpl1Plus ];
3209     };
3210   };
3212   ClassC3AdoptNEXT = buildPerlModule {
3213     pname = "Class-C3-Adopt-NEXT";
3214     version = "0.14";
3215     src = fetchurl {
3216       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz";
3217       hash = "sha256-hWdiJarbduhmamq+LgZZ1A60WBrWOFsXDupOHWvzS/c=";
3218     };
3219     buildInputs = [ ModuleBuildTiny TestException ];
3220     propagatedBuildInputs = [ MROCompat ];
3221     meta = {
3222       description = "Make NEXT suck less";
3223       homepage = "https://github.com/karenetheridge/Class-C3-Adopt-NEXT";
3224       license = with lib.licenses; [ artistic1 gpl1Plus ];
3225     };
3226   };
3228   ClassC3Componentised = buildPerlPackage {
3229     pname = "Class-C3-Componentised";
3230     version = "1.001002";
3231     src = fetchurl {
3232       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz";
3233       hash = "sha256-MFGxRtwe/q6hqaLp5rF3MICZW4mKtYPxVWWNX8gLlpM=";
3234     };
3235     buildInputs = [ TestException ];
3236     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
3237     meta = {
3238       description = "Load mix-ins or components to your C3-based class";
3239       license = with lib.licenses; [ artistic1 gpl1Plus ];
3240     };
3241   };
3243   ClassClassgenclassgen = buildPerlPackage {
3244     pname = "Class-Classgen-classgen";
3245     version = "3.03";
3246     src = fetchurl {
3247       url = "mirror://cpan/authors/id/M/MS/MSCHLUE/Class-Classgen-classgen-3.03.tar.gz";
3248       hash = "sha256-m2XUG5kVOJkugWsyzE+ptKSguz6cEOfuvv+CZY27yPY=";
3249     };
3250     meta = {
3251       description = "Simplifies creation, manipulation and usage of complex objects.";
3252       license = with lib.licenses; [ artistic1 gpl1Plus ];
3253       mainProgram = "classgen";
3254     };
3255   };
3257   ClassContainer = buildPerlModule {
3258     pname = "Class-Container";
3259     version = "0.13";
3260     src = fetchurl {
3261       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz";
3262       hash = "sha256-9dSVsd+4JtXAxF0DtNDmtgR8uwbNv2vhX9TckCrutws=";
3263     };
3264     propagatedBuildInputs = [ ParamsValidate ];
3265     meta = {
3266       description = "Glues object frameworks together transparently";
3267       license = with lib.licenses; [ artistic1 gpl1Plus ];
3268     };
3269   };
3271   ClassDataAccessor = buildPerlPackage {
3272     pname = "Class-Data-Accessor";
3273     version = "0.04004";
3274     src = fetchurl {
3275       url = "mirror://cpan/authors/id/C/CL/CLACO/Class-Data-Accessor-0.04004.tar.gz";
3276       hash = "sha256-wSLW4t9hNs6b6h5tK3dsueaeAAhezplTAYFMevOo6BQ=";
3277     };
3278     meta = {
3279       description = "Inheritable, overridable class and instance data accessor creation";
3280       license = with lib.licenses; [ artistic1 gpl1Plus ];
3281     };
3282   };
3284   ClassDataInheritable = buildPerlPackage {
3285     pname = "Class-Data-Inheritable";
3286     version = "0.08";
3287     src = fetchurl {
3288       url = "mirror://cpan/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz";
3289       hash = "sha256-mWf+zuoVIn5ELsgYcjFj621zuJR+MfFquAb24jka8Uo=";
3290     };
3291     meta = {
3292       description = "Inheritable, overridable class data";
3293       license = with lib.licenses; [ artistic1 gpl1Plus ];
3294     };
3295   };
3297   ClassEHierarchy = buildPerlPackage {
3298     pname = "Class-EHierarchy";
3299     version = "2.01";
3300     src = fetchurl {
3301       url = "mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/Class-EHierarchy-2.01.tar.gz";
3302       hash = "sha256-Y3q3a+s4MqmwcbmZobFb8F0pffamYsyxqABPKYcwg4I=";
3303     };
3304     meta = {
3305       description = "Base class for hierarchally ordered objects";
3306       license = with lib.licenses; [ artistic1 gpl1Plus ];
3307       maintainers = teams.deshaw.members;
3308     };
3309   };
3311   ClassFactory = buildPerlPackage {
3312     pname = "Class-Factory";
3313     version = "1.06";
3314     src = fetchurl {
3315       url = "mirror://cpan/authors/id/P/PH/PHRED/Class-Factory-1.06.tar.gz";
3316       hash = "sha256-w3otJp65NfNqI+ETSArglG+nwSoSeBOWoSJsjkNfMPU=";
3317     };
3318     meta = {
3319       description = "Base class for dynamic factory classes";
3320       license = with lib.licenses; [ artistic1 gpl1Plus ];
3321     };
3322   };
3324   ClassFactoryUtil = buildPerlModule {
3325     pname = "Class-Factory-Util";
3326     version = "1.7";
3327     src = fetchurl {
3328       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz";
3329       hash = "sha256-bFFrRFtE+HNj+zoUhDHTHp7LXm8h+2SByJskBrZpLiY=";
3330     };
3331     meta = {
3332       description = "Provide utility methods for factory classes";
3333       license = with lib.licenses; [ artistic1 gpl1Plus ];
3334     };
3335   };
3337   ClassGomor = buildPerlModule {
3338     pname = "Class-Gomor";
3339     version = "1.03";
3340     src = fetchurl {
3341       url = "mirror://cpan/authors/id/G/GO/GOMOR/Class-Gomor-1.03.tar.gz";
3342       hash = "sha256-R9s86pzp/6mL+cdFV/0yz3AHkatTcCDJWKwwtKn/IAs=";
3343     };
3344     meta = {
3345       description = "Another class and object builder";
3346       license = with lib.licenses; [ artistic1 ];
3347     };
3348   };
3350   ClassInspector = buildPerlPackage {
3351     pname = "Class-Inspector";
3352     version = "1.36";
3353     src = fetchurl {
3354       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz";
3355       hash = "sha256-zCldI6RyaHwkSJ1YIm6tI7n9wliOUi8LXwdHdBcAaU4=";
3356     };
3357     meta = {
3358       description = "Get information about a class and its structure";
3359       homepage = "https://metacpan.org/pod/Class::Inspector";
3360       license = with lib.licenses; [ artistic1 gpl1Plus ];
3361     };
3362   };
3364   ClassISA = buildPerlPackage {
3365     pname = "Class-ISA";
3366     version = "0.36";
3367     src = fetchurl {
3368       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-ISA-0.36.tar.gz";
3369       hash = "sha256-iBbzTpo46EmhDfdWAw3M+f4GGhlsEaw/qv1xE8kpuWQ=";
3370     };
3371     meta = {
3372       description = "Report the search path for a class's ISA tree";
3373       license = with lib.licenses; [ artistic1 gpl1Plus ];
3374     };
3375   };
3377   ClassIterator = buildPerlPackage {
3378     pname = "Class-Iterator";
3379     version = "0.3";
3380     src = fetchurl {
3381       url = "mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz";
3382       hash = "sha256-2xuofKkQfxYf6cHp5+JnwAJt78Jv4+c7ytirj/wY750=";
3383     };
3384     meta = {
3385       description = "Iterator class";
3386       license = with lib.licenses; [ artistic1 gpl1Plus ];
3387     };
3388   };
3390   ClassLoader = buildPerlPackage rec {
3391     pname = "Class-Loader";
3392     version = "2.03";
3393     src = fetchurl {
3394       url = "mirror://cpan/authors/id/V/VI/VIPUL/Class-Loader-2.03.tar.gz";
3395       hash = "sha256-T+8gdurWBCNFT/H06ChZqam5lCtfuO7gyYucY8nyuOc=";
3396     };
3397     meta = {
3398       description = "Load modules and create objects on demand";
3399       license = with lib.licenses; [ artistic1 gpl1Plus ];
3400     };
3401   };
3403   ClassMakeMethods = buildPerlPackage {
3404     pname = "Class-MakeMethods";
3405     version = "1.01";
3406     src = fetchurl {
3407       url = "mirror://cpan/authors/id/E/EV/EVO/Class-MakeMethods-1.01.tar.gz";
3408       hash = "sha256-rKx0LnnQ7Ip75Nj7gTqF6kTUfRnAFwzdswZEYCtYLGY=";
3409     };
3410     preConfigure = ''
3411       # fix error 'Unescaped left brace in regex is illegal here in regex'
3412       substituteInPlace tests/xemulator/class_methodmaker/Test.pm --replace 's/(TEST\s{)/$1/g' 's/(TEST\s\{)/$1/g'
3413     '';
3414     meta = {
3415       description = "Generate common types of methods";
3416       license = with lib.licenses; [ artistic1 gpl1Plus ];
3417     };
3418   };
3420   ClassMethodMaker = buildPerlPackage {
3421     pname = "Class-MethodMaker";
3422     version = "2.24";
3423     src = fetchurl {
3424       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.24.tar.gz";
3425       hash = "sha256-Xu9YzLJ+vQG83lsUvMVTtTR6Bpnlw+khx3gMNSaJAyg=";
3426     };
3427     # Remove unnecessary, non-autoconf, configure script.
3428     prePatch = "rm configure";
3429     meta = {
3430       description = "A module for creating generic methods";
3431       license = with lib.licenses; [ artistic1 gpl1Plus ];
3432     };
3433   };
3435   ClassMethodModifiers = buildPerlPackage {
3436     pname = "Class-Method-Modifiers";
3437     version = "2.13";
3438     src = fetchurl {
3439       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.13.tar.gz";
3440       hash = "sha256-q1gH9xAYqELea3pIJtbB8kuNWwn8zlAFozCc9upA/WM=";
3441     };
3442     buildInputs = [ TestFatal TestNeeds ];
3443     meta = {
3444       description = "Provides Moose-like method modifiers";
3445       homepage = "https://github.com/moose/Class-Method-Modifiers";
3446       license = with lib.licenses; [ artistic1 gpl1Plus ];
3447     };
3448   };
3450   ClassMix = buildPerlModule {
3451     pname = "Class-Mix";
3452     version = "0.006";
3453     src = fetchurl {
3454       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz";
3455       hash = "sha256-h0f2Q4k5FPjESXnxcW0MHsikE5R5ZVVEeUToYPH/fAs=";
3456     };
3457     propagatedBuildInputs = [ ParamsClassify ];
3458     meta = {
3459       description = "Dynamic class mixing";
3460       license = with lib.licenses; [ artistic1 gpl1Plus ];
3461     };
3462   };
3464   ClassReturnValue = buildPerlPackage {
3465     pname = "Class-ReturnValue";
3466     version = "0.55";
3467     src = fetchurl {
3468       url = "mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz";
3469       hash = "sha256-7Tg2iF149zTM16mFUOxCKmFt98MTEMG3sfZFn1+w5L0=";
3470     };
3471     propagatedBuildInputs = [ DevelStackTrace ];
3472     meta = {
3473       description = "(deprecated) polymorphic return values";
3474       homepage = "https://github.com/rjbs/Return-Value";
3475       license = with lib.licenses; [ artistic1 gpl1Plus ];
3476     };
3477   };
3479   ClassSingleton = buildPerlPackage {
3480     pname = "Class-Singleton";
3481     version = "1.6";
3482     src = fetchurl {
3483       url = "mirror://cpan/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz";
3484       hash = "sha256-J7oT8NlRKSkWa72MnvldkNYw/IDwyaG3RYiRBV6SgqQ=";
3485     };
3486     meta = {
3487       description = "Implementation of a 'Singleton' class";
3488       license = with lib.licenses; [ artistic1 gpl1Plus ];
3489     };
3490   };
3492   ClassThrowable = buildPerlPackage {
3493     pname = "Class-Throwable";
3494     version = "0.13";
3495     src = fetchurl {
3496       url = "mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.13.tar.gz";
3497       hash = "sha256-3JoR4Nq1bcIg3qjJT+PEfbXn3Xwe0E3IF4qlu3v7vM4=";
3498     };
3499     meta = {
3500       description = "A minimal lightweight exception class";
3501       license = with lib.licenses; [ artistic1 gpl1Plus ];
3502     };
3503   };
3505   ClassTiny = buildPerlPackage {
3506     pname = "Class-Tiny";
3507     version = "1.008";
3508     src = fetchurl {
3509       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz";
3510       hash = "sha256-7gWKY5Evofy5pySY9WykIaIFbcf59LZ4N0RtZCGBVhU=";
3511     };
3512     meta = {
3513       description = "Minimalist class construction";
3514       homepage = "https://github.com/dagolden/Class-Tiny";
3515       license = with lib.licenses; [ asl20 ];
3516     };
3517   };
3519   ClassLoad = buildPerlPackage {
3520     pname = "Class-Load";
3521     version = "0.25";
3522     src = fetchurl {
3523       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.25.tar.gz";
3524       hash = "sha256-Kkj6d5tSl+VhVjgOizJjfGxY3stPSn88c1BSPhEnX48=";
3525     };
3526     buildInputs = [ TestFatal TestNeeds ];
3527     propagatedBuildInputs = [ DataOptList PackageStash ];
3528     meta = {
3529       description = "A working (require \"Class::Name\") and more";
3530       homepage = "https://github.com/moose/Class-Load";
3531       license = with lib.licenses; [ artistic1 gpl1Plus ];
3532     };
3533   };
3535   ClassLoadXS = buildPerlPackage {
3536     pname = "Class-Load-XS";
3537     version = "0.10";
3538     src = fetchurl {
3539       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz";
3540       hash = "sha256-W8Is9Tbr/SVkxb2vQvDYpM7j0ZMPyLRLfUpCA4YirdE=";
3541     };
3542     buildInputs = [ TestFatal TestNeeds ];
3543     propagatedBuildInputs = [ ClassLoad ];
3544     meta = {
3545       description = "XS implementation of parts of Class::Load";
3546       homepage = "https://github.com/moose/Class-Load-XS";
3547       license = with lib.licenses; [ artistic2 ];
3548     };
3549   };
3551   ClassObservable = buildPerlPackage {
3552     pname = "Class-Observable";
3553     version = "1.04";
3554     src = fetchurl {
3555       url = "mirror://cpan/authors/id/C/CW/CWINTERS/Class-Observable-1.04.tar.gz";
3556       hash = "sha256-PvGHM6DwPBE/O8+KxQR24Jyh/mI09KqsqiTfypUWgJQ=";
3557     };
3558     propagatedBuildInputs = [ ClassISA ];
3559     meta = {
3560       description = "Allow other classes and objects to respond to events in yours";
3561       license = with lib.licenses; [ artistic1 gpl1Plus ];
3562     };
3563   };
3565   ClassStd = buildPerlModule {
3566     pname = "Class-Std";
3567     version = "0.013";
3568     src = fetchurl {
3569       url = "mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz";
3570       hash = "sha256-vNbYL2yK8P4Gn87X3RZaR5WwtukjUcfU5aGrmhT8NcY=";
3571     };
3572     meta = {
3573       description = "Support for creating standard 'inside-out' classes";
3574       license = with lib.licenses; [ artistic1 gpl1Plus ];
3575     };
3576   };
3578   ClassStdFast = buildPerlModule {
3579     pname = "Class-Std-Fast";
3580     version = "0.0.8";
3581     src = fetchurl {
3582       url = "mirror://cpan/authors/id/A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz";
3583       hash = "sha256-G9Q3Y8ajcxgwl6MOeH9dZxOw2ydRHFLVMyZrWdLPp4A=";
3584     };
3585     propagatedBuildInputs = [ ClassStd ];
3586     checkInputs = [ TestPod TestPodCoverage ];
3587     meta = {
3588       description = "Faster but less secure than Class::Std";
3589       license = with lib.licenses; [ artistic1 gpl1Plus ];
3590     };
3591   };
3593   ClassUnload = buildPerlPackage {
3594     pname = "Class-Unload";
3595     version = "0.11";
3596     src = fetchurl {
3597       url = "mirror://cpan/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz";
3598       hash = "sha256-UuKXR6fk0uGiicDh3oEHY08QyEJs18nTHsrIOD5KCl8=";
3599     };
3600     propagatedBuildInputs = [ ClassInspector ];
3601     buildInputs = [ TestRequires ];
3602     meta = {
3603       description = "Unload a class";
3604       license = with lib.licenses; [ artistic1 gpl1Plus ];
3605     };
3606   };
3608   ClassVirtual = buildPerlPackage {
3609     pname = "Class-Virtual";
3610     version = "0.08";
3611     src = fetchurl {
3612       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Class-Virtual-0.08.tar.gz";
3613       hash = "sha256-xkmbQtO05cZIil6C+8KGmObJhgFlBy3d+mdJNVqc+7I=";
3614     };
3615     propagatedBuildInputs = [ CarpAssert ClassDataInheritable ClassISA ];
3616     meta = {
3617       description = "Base class for virtual base classes";
3618       homepage = "https://metacpan.org/release/Class-Virtual";
3619       license = with lib.licenses; [ artistic1 gpl1Plus ];
3620     };
3621   };
3623   ClassXSAccessor = buildPerlPackage {
3624     pname = "Class-XSAccessor";
3625     version = "1.19";
3626     src = fetchurl {
3627       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz";
3628       hash = "sha256-mcVrOV8SOa8ZkB8v7rEl2ey041Gg2A2qlSkhGkcApvI=";
3629     };
3630     meta = {
3631       description = "Generate fast XS accessors without runtime compilation";
3632       license = with lib.licenses; [ artistic1 gpl1Plus ];
3633     };
3634   };
3636   CLDRNumber = buildPerlModule {
3637     pname = "CLDR-Number";
3638     version = "0.19";
3639     src = fetchurl {
3640       url = "mirror://cpan/authors/id/P/PA/PATCH/CLDR-Number-0.19.tar.gz";
3641       hash = "sha256-xnFkiOZf53n/eag/DyA2rZRGPv49DzSca5kRKXW9hfw=";
3642     };
3643     buildInputs = [ SoftwareLicense TestDifferences TestException TestWarn ];
3644     propagatedBuildInputs =
3645       [ ClassMethodModifiers MathRound Moo namespaceclean ];
3646     meta = {
3647       description = "Localized number formatters using the Unicode CLDR";
3648       homepage = "https://github.com/patch/cldr-number-pm5";
3649       license = with lib.licenses; [ artistic1 gpl1Plus ];
3650     };
3651   };
3653   CLIHelpers = buildPerlPackage {
3654     pname = "CLI-Helpers";
3655     version = "1.8";
3656     src = fetchurl {
3657       url = "mirror://cpan/authors/id/B/BL/BLHOTSKY/CLI-Helpers-1.8.tar.gz";
3658       hash = "sha256-In25W2MzgnAkVUzDLvcI0wwaf/uW39RCX4/g46/18cE=";
3659     };
3660     buildInputs = [ PodCoverageTrustPod TestPerlCritic ];
3661     propagatedBuildInputs = [ CaptureTiny RefUtil SubExporter TermReadKey YAML ];
3662     meta = {
3663       description = "Subroutines for making simple command line scripts";
3664       homepage = "https://github.com/reyjrar/CLI-Helpers";
3665       license = with lib.licenses; [ bsd3 ];
3666     };
3667   };
3669   Clipboard = buildPerlModule {
3670     pname = "Clipboard";
3671     version = "0.26";
3672     src = fetchurl {
3673       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Clipboard-0.26.tar.gz";
3674       hash = "sha256-iGrkPchTj5v8Tgf9vPCbf71u5Zwx82RhjIWd4UlTxYo=";
3675     };
3676     propagatedBuildInputs = [ CGI ];
3677     # Disable test on darwin because MacPasteboard fails when not logged in interactively.
3678     # Mac OS error -4960 (coreFoundationUnknownErr): The unknown error at lib/Clipboard/MacPasteboard.pm line 3.
3679     # Mac-Pasteboard-0.009.readme: 'NOTE that Mac OS X appears to restrict pasteboard access to processes that are logged in interactively.
3680     #     Ssh sessions and cron jobs can not create the requisite pasteboard handles, giving coreFoundationUnknownErr (-4960)'
3681     doCheck = !stdenv.isDarwin;
3682     meta = {
3683       description = "Copy and paste with any OS";
3684       homepage = "https://metacpan.org/release/Clipboard";
3685       license = with lib.licenses; [ artistic1 gpl1Plus ];
3686     };
3687   };
3690   Clone = buildPerlPackage {
3691     pname = "Clone";
3692     version = "0.45";
3693     src = fetchurl {
3694       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Clone-0.45.tar.gz";
3695       hash = "sha256-y7buNIr6lUMuSHiJO0Z1JUnnDcaP5tnkMNHS6ZB5qeY=";
3696     };
3697     buildInputs = [ BCOW ];
3698     meta = {
3699       description = "Recursively copy Perl datatypes";
3700       license = with lib.licenses; [ artistic1 gpl1Plus ];
3701     };
3702   };
3704   CloneChoose = buildPerlPackage {
3705     pname = "Clone-Choose";
3706     version = "0.010";
3707     src = fetchurl {
3708       url = "mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz";
3709       hash = "sha256-ViNIH1jO6O25bNICqtDfViLUJ+X3SLJThR39YuUSNjI=";
3710     };
3711     buildInputs = [ Clone ClonePP TestWithoutModule ];
3712     meta = {
3713       description = "Choose appropriate clone utility";
3714       homepage = "https://metacpan.org/release/Clone-Choose";
3715       license = with lib.licenses; [ artistic1 gpl1Plus ];
3716     };
3717   };
3719   ClonePP = buildPerlPackage {
3720     pname = "Clone-PP";
3721     version = "1.08";
3722     src = fetchurl {
3723       url = "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.08.tar.gz";
3724       hash = "sha256-VyAwlKXYV0tqAJUejyOZtmb050+VEdnJ+1tFPV0R9Xg=";
3725     };
3726     meta = {
3727       description = "Recursively copy Perl datatypes";
3728       license = with lib.licenses; [ artistic1 gpl1Plus ];
3729     };
3730   };
3732   CodeTidyAll = buildPerlPackage {
3733     pname = "Code-TidyAll";
3734     version = "0.78";
3735     src = fetchurl {
3736       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.78.tar.gz";
3737       hash = "sha256-Ml67QdhZAG7jK2Qmu+hlhnjqywPAESCqYoZZ9uY3ubY=";
3738     };
3739     propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ];
3740     buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ];
3741     meta = {
3742       description = "Engine for tidyall, your all-in-one code tidier and validator";
3743       homepage = "https://metacpan.org/release/Code-TidyAll";
3744       license = with lib.licenses; [ artistic1 gpl1Plus ];
3745       mainProgram = "tidyall";
3746     };
3747   };
3749   CodeTidyAllPluginPerlAlignMooseAttributes = buildPerlPackage {
3750     pname = "Code-TidyAll-Plugin-Perl-AlignMooseAttributes";
3751     version = "0.01";
3752     src = fetchurl {
3753       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/Code-TidyAll-Plugin-Perl-AlignMooseAttributes-0.01.tar.gz";
3754       hash = "sha256-jR3inlbwczFoXqONGDr87f8hCOccSp2zb0GeUN0sHOU=";
3755     };
3756     propagatedBuildInputs = [ CodeTidyAll TextAligner ];
3757     meta = {
3758       description = "TidyAll plugin to sort and align Moose-style attributes";
3759       license = with lib.licenses; [ artistic1 gpl1Plus ];
3760     };
3761   };
3763   ColorLibrary = buildPerlPackage {
3764     pname = "Color-Library";
3765     version = "0.021";
3766     src = fetchurl {
3767       url = "mirror://cpan/authors/id/R/RO/ROKR/Color-Library-0.021.tar.gz";
3768       hash = "sha256-WMv34zPTpKQCl6vENBKzIdpEnGgWAg5PpmJasHn8kKU=";
3769     };
3770     buildInputs = [ TestMost TestWarn TestException TestDeep TestDifferences ModulePluggable ];
3771     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable ];
3772     meta = {
3773       description = "An easy-to-use and comprehensive named-color library";
3774       license = with lib.licenses; [ artistic1 gpl1Plus ];
3775     };
3776   };
3778   CommandRunner = buildPerlModule {
3779     pname = "Command-Runner";
3780     version = "0.200";
3781     src = fetchurl {
3782       url = "mirror://cpan/authors/id/S/SK/SKAJI/Command-Runner-0.200.tar.gz";
3783       hash = "sha256-WtJtBhEb/s1TyPW7XeqUvyAl9seOlfbYAS5M+oninyY=";
3784     };
3785     buildInputs = [ ModuleBuildTiny ];
3786     propagatedBuildInputs = [ CaptureTiny Filepushd StringShellQuote Win32ShellQuote ];
3787     meta = {
3788       description = "Run external commands and Perl code refs";
3789       homepage = "https://github.com/skaji/Command-Runner";
3790       license = with lib.licenses; [ artistic1 gpl1Plus ];
3791       maintainers = [ maintainers.zakame ];
3792     };
3793   };
3795   commonsense = buildPerlPackage {
3796     pname = "common-sense";
3797     version = "3.75";
3798     src = fetchurl {
3799       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.75.tar.gz";
3800       hash = "sha256-qGocTKTzAG10eQZEJaCfpbZonlcmH8uZT+Z9Bhy6Dn4=";
3801     };
3802     meta = {
3803       description = "Implements some sane defaults for Perl programs";
3804       license = with lib.licenses; [ artistic1 gpl1Plus ];
3805     };
3806   };
3808   CompressBzip2 = buildPerlPackage {
3809     pname = "Compress-Bzip2";
3810     version = "2.28";
3811     src = fetchurl {
3812       url = "mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.28.tar.gz";
3813       hash = "sha256-hZ+DXD9cmYgQ2LKm+eKC/5nWy2bM+lXK5+Ztr7A1EW4=";
3814     };
3815     meta = {
3816       description = "Interface to Bzip2 compression library";
3817       license = with lib.licenses; [ artistic1 gpl1Plus ];
3818     };
3819   };
3821   CompressLZF = buildPerlPackage rec {
3822     pname = "Compress-LZF";
3823     version = "3.8";
3824     src = fetchurl {
3825       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
3826       hash = "sha256-XR9d9IzhO03uHMnyeOzb+Bd4d7C5iBWk6zyRw0ZnFvI=";
3827     };
3828     meta = {
3829       description = "Extremely light-weight Lempel-Ziv-Free compression";
3830       license = with lib.licenses; [ artistic1 gpl1Plus ];
3831     };
3832   };
3834   CompressRawBzip2 = buildPerlPackage {
3835     pname = "Compress-Raw-Bzip2";
3836     version = "2.101";
3837     src = fetchurl {
3838       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.101.tar.gz";
3839       hash = "sha256-DJsTT9OIKQ4w6Q/J9jkAlmEn+Y52sFTs1IHrO1UAuNg=";
3840     };
3842     # Don't build a private copy of bzip2.
3843     BUILD_BZIP2 = false;
3844     BZIP2_LIB = "${pkgs.bzip2.out}/lib";
3845     BZIP2_INCLUDE = "${pkgs.bzip2.dev}/include";
3847     meta = {
3848       description = "Low-Level Interface to bzip2 compression library";
3849       homepage = "https://github.com/pmqs/Compress-Raw-Bzip2";
3850       license = with lib.licenses; [ artistic1 gpl1Plus ];
3851     };
3852   };
3854   CompressRawLzma = buildPerlPackage {
3855     pname = "Compress-Raw-Lzma";
3856     version = "2.101";
3857     src = fetchurl {
3858       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Lzma-2.101.tar.gz";
3859       hash = "sha256-uyZ/0xmB7aEfREA4+KD8pLlKUa5hsttxJGq/ak0yKjY=";
3860     };
3861     preConfigure = ''
3862       cat > config.in <<EOF
3863         INCLUDE      = ${pkgs.xz.dev}/include
3864         LIB          = ${pkgs.xz.out}/lib
3865       EOF
3866     '';
3867     meta = {
3868       description = "Low-Level Interface to lzma compression library";
3869       homepage = "https://github.com/pmqs/Compress-Raw-Lzma";
3870       license = with lib.licenses; [ artistic1 gpl1Plus ];
3871     };
3872   };
3874   CompressRawZlib = buildPerlPackage {
3875     pname = "Compress-Raw-Zlib";
3876     version = "2.103";
3878     src = fetchurl {
3879       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.103.tar.gz";
3880       hash = "sha256-1p0mIMoCTcG0JPf0Io/hFpsrd0FrswMQ6JDTvn2kff8=";
3881     };
3883     preConfigure = ''
3884       cat > config.in <<EOF
3885         BUILD_ZLIB   = False
3886         INCLUDE      = ${pkgs.zlib.dev}/include
3887         LIB          = ${pkgs.zlib.out}/lib
3888         OLD_ZLIB     = False
3889         GZIP_OS_CODE = AUTO_DETECT
3890       EOF
3891     '';
3893     doCheck = !stdenv.isDarwin;
3895     meta = {
3896       description = "Low-Level Interface to zlib or zlib-ng compression library";
3897       homepage = "https://github.com/pmqs/Compress-Raw-Zlib";
3898       license = with lib.licenses; [ artistic1 gpl1Plus ];
3899     };
3900   };
3902   CompressUnLZMA = buildPerlPackage {
3903     pname = "Compress-unLZMA";
3904     version = "0.05";
3905     src = fetchurl {
3906       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Compress-unLZMA-0.05.tar.gz";
3907       hash = "sha256-TegBoo2S1ekJR0Zc60jU45/WQJOF6cIw5MBIKdllF7g=";
3908     };
3909     meta = {
3910       description = "Interface to LZMA decompression library";
3911       license = with lib.licenses; [ artistic1 gpl1Plus lgpl21Plus ];
3912     };
3913   };
3915   ConfigAny = buildPerlPackage {
3916     pname = "Config-Any";
3917     version = "0.32";
3918     src = fetchurl {
3919       url = "mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.32.tar.gz";
3920       hash = "sha256-aNoqXPJfrt1NJM89DVcJlcGZ1blQEIot541A3s7TYVA=";
3921     };
3922     propagatedBuildInputs = [ ModulePluggable ];
3923     meta = {
3924       description = "Load configuration from different file formats, transparently";
3925       license = with lib.licenses; [ artistic1 gpl1Plus ];
3926     };
3927   };
3929   ConfigAutoConf = buildPerlPackage {
3930     pname = "Config-AutoConf";
3931     version = "0.319";
3932     src = fetchurl {
3933       url = "mirror://cpan/authors/id/R/RE/REHSACK/Config-AutoConf-0.319.tar.gz";
3934       hash = "sha256-ME9mzCZTJkwP4SfSFmnobT0YzXLyV02PUTG+7DGgoz4=";
3935     };
3936     propagatedBuildInputs = [ CaptureTiny ];
3937     meta = {
3938       description = "A module to implement some of AutoConf macros in pure perl";
3939       homepage = "https://metacpan.org/release/Config-AutoConf";
3940       license = with lib.licenses; [ artistic1 gpl1Plus ];
3941     };
3942   };
3944   ConfigGeneral = buildPerlPackage {
3945     pname = "Config-General";
3946     version = "2.63";
3947     src = fetchurl {
3948       url = "mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz";
3949       hash = "sha256-Cpv5d7iqvnY0PogJXSKWyKQiQQ/SoFoZAfKyDi4fb60=";
3950     };
3951     meta = {
3952       description = "Generic Config Module";
3953       license = with lib.licenses; [ artistic2 ];
3954     };
3955   };
3957   ConfigGitLike = buildPerlPackage {
3958     pname = "Config-GitLike";
3959     version = "1.18";
3960     src = fetchurl {
3961       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.18.tar.gz";
3962       hash = "sha256-9650QPOtq1uf+apXIW2E/UpoEAm5WE4y2kL4u3HjMsU=";
3963     };
3964     buildInputs = [ TestException ];
3965     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
3966     meta = {
3967       description = "Git-compatible config file parsing";
3968       license = with lib.licenses; [ artistic1 gpl1Plus ];
3969     };
3970   };
3972   ConfigGrammar = buildPerlPackage {
3973     pname = "Config-Grammar";
3974     version = "1.13";
3975     src = fetchurl {
3976       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.13.tar.gz";
3977       hash = "sha256-qLOjosnIxDuS3EAb8nCdZRTxW0Z/1PcsSNNWM1dx1uM=";
3978     };
3979     meta = {
3980       description = "A grammar-based, user-friendly config parser";
3981       homepage = "https://github.com/schweikert/Config-Grammar";
3982       license = with lib.licenses; [ artistic1 gpl1Plus ];
3983     };
3984   };
3986   ConfigINI = buildPerlPackage {
3987     pname = "Config-INI";
3988     version = "0.025";
3989     src = fetchurl {
3990       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.025.tar.gz";
3991       hash = "sha256-Yov3bVuR+J3eItSBPsAzAm6/cbdyu2HM2pCdoAyGlzI=";
3992     };
3993     propagatedBuildInputs = [ MixinLinewise ];
3994     meta = {
3995       description = "Simple .ini-file format";
3996       homepage = "https://github.com/rjbs/Config-INI";
3997       license = with lib.licenses; [ artistic1 gpl1Plus ];
3998     };
3999   };
4001   ConfigIdentity = buildPerlPackage {
4002     pname = "Config-Identity";
4003     version = "0.0019";
4004     src = fetchurl {
4005       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz";
4006       hash = "sha256-KVIL2zdlnmQUkbDGlmFCmhqJtqLkdcL5tOvyfkXoEqg=";
4007     };
4008     propagatedBuildInputs = [ FileHomeDir IPCRun ];
4009     buildInputs = [ TestDeep ];
4010     meta = {
4011       description = "Load (and optionally decrypt via GnuPG) user/pass identity information ";
4012       homepage = "https://github.com/dagolden/Config-Identity";
4013       license = with lib.licenses; [ artistic1 gpl1Plus ];
4014     };
4015   };
4017   ConfigIniFiles = buildPerlPackage {
4018     pname = "Config-IniFiles";
4019     version = "3.000003";
4020     src = fetchurl {
4021       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Config-IniFiles-3.000003.tar.gz";
4022       hash = "sha256-PEV7ZdmOX/QL25z4FLDVmD6wxT+4aWvaO6A1rSrNaAI=";
4023     };
4024     propagatedBuildInputs = [ IOStringy ];
4025     meta = {
4026       description = "A module for reading .ini-style configuration files";
4027       homepage = "https://metacpan.org/release/Config-IniFiles";
4028       license = with lib.licenses; [ artistic1 gpl1Plus ];
4029       maintainers = teams.deshaw.members;
4030     };
4031   };
4033   ConfigMerge = buildPerlPackage {
4034     pname = "Config-Merge";
4035     version = "1.04";
4036     src = fetchurl {
4037       url = "mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz";
4038       hash = "sha256-qTJHe0OuX7BKFvBxqJHae9IIbBDGgFkvKIj6nZlyzM8=";
4039     };
4040     buildInputs = [ YAML ];
4041     propagatedBuildInputs = [ ConfigAny ];
4042     meta = {
4043       description = "Load a configuration directory tree containing YAML, JSON, XML, Perl, INI or Config::General files";
4044       license = with lib.licenses; [ artistic1 gpl1Plus ];
4045     };
4046   };
4048   ConfigOnion = buildPerlPackage {
4049     pname = "Config-Onion";
4050     version = "1.007";
4051     src = fetchurl {
4052       url = "mirror://cpan/authors/id/D/DS/DSHEROH/Config-Onion-1.007.tar.gz";
4053       hash = "sha256-Mn/d9o4TiyRp5aK643xzP4fKhMr2Hhz6qUm+PZUNqK8=";
4054     };
4055     propagatedBuildInputs = [ ConfigAny HashMergeSimple Moo ];
4056     buildInputs = [ TestException YAML ];
4057     meta = {
4058       description = "Layered configuration, because configs are like ogres";
4059       license = with lib.licenses; [ artistic1 gpl1Plus ];
4060     };
4061   };
4063   ConfigMVP = buildPerlPackage {
4064     pname = "Config-MVP";
4065     version = "2.200011";
4066     src = fetchurl {
4067       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200011.tar.gz";
4068       hash = "sha256-I8lWZvxDxK2uvMCTsbVgke/CpqotdTZqIW0Y7alq1xY=";
4069     };
4070     buildInputs = [ TestFatal ];
4071     propagatedBuildInputs = [ ModulePluggable MooseXOneArgNew RoleHasMessage RoleIdentifiable Throwable TieIxHash ];
4072     meta = {
4073       description = "Multivalue-property package-oriented configuration";
4074       homepage = "https://github.com/rjbs/Config-MVP";
4075       license = with lib.licenses; [ artistic1 gpl1Plus ];
4076     };
4077   };
4079   ConfigMVPReaderINI = buildPerlPackage {
4080     pname = "Config-MVP-Reader-INI";
4081     version = "2.101463";
4082     src = fetchurl {
4083       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101463.tar.gz";
4084       hash = "sha256-aakWvzcR68nn1MqqcPPGlekYuTpZI5WHczA+DaC21EU=";
4085     };
4086     propagatedBuildInputs = [ ConfigINI ConfigMVP ];
4087     meta = {
4088       description = "An MVP config reader for .ini files";
4089       homepage = "https://github.com/rjbs/Config-MVP-Reader-INI";
4090       license = with lib.licenses; [ artistic1 gpl1Plus ];
4091     };
4092   };
4094   ConfigProperties = buildPerlPackage {
4095     pname = "Config-Properties";
4096     version = "1.80";
4097     src = fetchurl {
4098       url = "mirror://cpan/authors/id/S/SA/SALVA/Config-Properties-1.80.tar.gz";
4099       hash = "sha256-XQQ5W+fhTpcKA+qVL7dimuME2XwDH5DMHCm9Cmpi/EA=";
4100     };
4101     meta = {
4102       description = "Read and write property files";
4103       license = with lib.licenses; [ artistic1 gpl1Plus ];
4104     };
4105   };
4107   ConfigSimple = buildPerlPackage {
4108     pname = "Config-Simple";
4109     version = "4.58";
4110     src = fetchurl {
4111       url = "mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz";
4112       hash = "sha256-3ZmVcG8Pk4ShXM/+EWw7biL0K6LljY8k7QPEoOOG7bQ=";
4113     };
4114     meta = {
4115       description = "Simple configuration file class";
4116       license = with lib.licenses; [ artistic1 gpl1Plus ];
4117     };
4118   };
4120   ConfigStd = buildPerlModule {
4121     pname = "Config-Std";
4122     version = "0.903";
4123     src = fetchurl {
4124       url = "mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz";
4125       hash = "sha256-t3Cf9mO9J50mSrnC9R6elYhHmjNnqMTPwYZZwqEUgP4=";
4126     };
4127     propagatedBuildInputs = [ ClassStd ];
4128     meta = {
4129       description = "Load and save configuration files in a standard format";
4130       license = with lib.licenses; [ artistic1 gpl1Plus ];
4131     };
4132   };
4134   ConfigTiny = buildPerlPackage {
4135     pname = "Config-Tiny";
4136     version = "2.24";
4137     src = fetchurl {
4138       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-2.24.tgz";
4139       hash = "sha256-EGSUjkvFfobjGNvIeRxTyludlblYzEdDZ8MneYETUjI=";
4140     };
4141     buildInputs = [ TestPod ];
4142     meta = {
4143       description = "Read/Write .ini style files with as little code as possible";
4144       license = with lib.licenses; [ artistic1 gpl1Plus ];
4145     };
4146   };
4148   ConfigVersioned = buildPerlPackage {
4149     pname = "Config-Versioned";
4150     version = "1.01";
4151     src = fetchurl {
4152       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz";
4153       hash = "sha256-vJpK43OL2J+GoHvKZzYnyjySupaXN81tvHq3rRfNI0g=";
4154     };
4155     propagatedBuildInputs = [ ConfigStd GitPurePerl ];
4156     doCheck = false;
4157     meta = {
4158       description = "Simple, versioned access to configuration data";
4159       license = with lib.licenses; [ artistic1 gpl1Plus ];
4160       mainProgram = "cfgver";
4161     };
4162   };
4164   Connector = buildPerlPackage {
4165     pname = "Connector";
4166     version = "1.35";
4167     src = fetchurl {
4168       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.35.tar.gz";
4169       hash = "sha256-Qdl2bubNdaGcFsdeuQ3GT9/dXbp22NIJdo37FeVm3Eo=";
4170     };
4171     buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
4172     propagatedBuildInputs = [ LogLog4perl Moose ];
4173     prePatch = ''
4174       # Attempts to use network.
4175       rm t/01-proxy-http.t
4176       rm t/01-proxy-proc-safeexec.t
4177     '';
4178     meta = {
4179       description = "A generic connection to a hierarchical-structured data set";
4180       homepage = "https://github.com/whiterabbitsecurity/connector";
4181       license = with lib.licenses; [ artistic1 gpl1Plus ];
4182     };
4183   };
4185   ConstFast = buildPerlModule {
4186     pname = "Const-Fast";
4187     version = "0.014";
4188     src = fetchurl {
4189       url = "mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz";
4190       hash = "sha256-+AWVOgjFeEahak2F17dmOYr698NsFGX8sd6gnl+jlNs=";
4191     };
4192     propagatedBuildInputs = [ SubExporterProgressive ];
4193     buildInputs = [ ModuleBuildTiny TestFatal ];
4194     meta = {
4195       description = "Facility for creating read-only scalars, arrays, and hashes";
4196       license = with lib.licenses; [ artistic1 gpl1Plus ];
4197     };
4198   };
4200   ConvertASCIIArmour = buildPerlPackage {
4201     pname = "Convert-ASCII-Armour";
4202     version = "1.4";
4203     src = fetchurl {
4204       url = "mirror://cpan/authors/id/V/VI/VIPUL/Convert-ASCII-Armour-1.4.tar.gz";
4205       hash = "sha256-l+istusqKpGvfWzw0t/2+kKq+Tn8fW0cYFek8N9SyQQ=";
4206     };
4207     meta = {
4208       description = "Convert binary octets into ASCII armoured messages";
4209       license = with lib.licenses; [ artistic1 gpl1Plus ];
4210       maintainers = [ maintainers.sgo ];
4211     };
4212   };
4214   ConvertASN1 = buildPerlPackage {
4215     pname = "Convert-ASN1";
4216     version = "0.33";
4217     src = fetchurl {
4218       url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Convert-ASN1-0.33.tar.gz";
4219       hash = "sha256-H98ARSDHnjokTPlohhYpNRbBF5PXRsdh82dJbrPQYHY=";
4220     };
4221     meta = {
4222       description = "ASN.1 Encode/Decode library";
4223       license = with lib.licenses; [ artistic1 gpl1Plus ];
4224     };
4225   };
4227   ConvertBase32 = buildPerlPackage {
4228     pname = "Convert-Base32";
4229     version = "0.06";
4230     src = fetchurl {
4231       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/Convert-Base32-0.06.tar.gz";
4232       hash = "sha256-S6gsFnxB9FWqgoRzhyfkyUouvLHEznl/b9oHJFpkIRU=";
4233     };
4234     buildInputs = [ TestException ];
4235     meta = {
4236       description = "Encoding and decoding of base32 strings";
4237       license = with lib.licenses; [ artistic1 gpl1Plus ];
4238       maintainers = [ maintainers.sgo ];
4239     };
4240   };
4242   ConvertBencode = buildPerlPackage rec {
4243     pname = "Convert-Bencode";
4244     version = "1.03";
4245     src = fetchurl {
4246       url = "mirror://cpan/authors/id/O/OR/ORCLEV/Convert-Bencode-1.03.tar.gz";
4247       hash = "sha256-Jp89+GVpJZbeIU/kK5Lc+H1qa8It237Sq8f0i4LkXmw=";
4248     };
4249     meta = {
4250       description = "Functions for converting to/from bencoded strings";
4251       license = with lib.licenses; [ artistic1 gpl1Plus ];
4252     };
4253   };
4255   ConvertColor = buildPerlModule {
4256     pname = "Convert-Color";
4257     version = "0.11";
4258     src = fetchurl {
4259       url = "mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.11.tar.gz";
4260       hash = "sha256-tBIXxykxA0ukQX16nh4pmfBFgNTmsxxwmT/tzMJEDTg=";
4261     };
4262     buildInputs = [ TestNumberDelta ];
4263     propagatedBuildInputs = [ ListUtilsBy ModulePluggable ];
4264     meta = {
4265       description = "Color space conversions and named lookups";
4266       license = with lib.licenses; [ artistic1 gpl1Plus ];
4267     };
4268   };
4270   ConvertUU = buildPerlPackage rec {
4271     pname = "Convert-UU";
4272     version = "0.5201";
4273     src = fetchurl {
4274       url = "mirror://cpan/authors/id/A/AN/ANDK/Convert-UU-0.5201.tar.gz";
4275       hash = "sha256-kjKc4cMrWVLEjhIj2wGMjFjOr+8Dv6D9SBfNicNVo70=";
4276     };
4277     meta = {
4278       description = "Perl module for uuencode and uudecode";
4279       license = with lib.licenses; [ artistic1 gpl1Plus ];
4280     };
4281   };
4283   constantboolean = buildPerlModule {
4284     pname = "constant-boolean";
4285     version = "0.02";
4286     src = fetchurl {
4287       url = "mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz";
4288       hash = "sha256-zSxZ1YBhzhpJdaMTFg33GG9i7qJlW4XVIOXiTp7rD+k=";
4289     };
4290     propagatedBuildInputs = [ SymbolUtil ];
4291     meta = {
4292       description = "Define TRUE and FALSE constants";
4293       license = with lib.licenses; [ artistic1 gpl1Plus ];
4294     };
4295   };
4297   curry = buildPerlPackage {
4298     pname = "curry";
4299     version = "1.001000";
4300     src = fetchurl {
4301       url = "mirror://cpan/authors/id/M/MS/MSTROUT/curry-1.001000.tar.gz";
4302       hash = "sha256-ixhgeSAgZPs9zCXPcpCqP11VHZjRuG1YRHBqdgwfVtQ=";
4303     };
4304     meta = {
4305       description = "Create automatic curried method call closures for any class or object";
4306       license = with lib.licenses; [ artistic1 gpl1Plus ];
4307     };
4308   };
4310   constant-defer = buildPerlPackage {
4311     pname = "constant-defer";
4312     version = "6";
4313     src = fetchurl {
4314       url = "mirror://cpan/authors/id/K/KR/KRYDE/constant-defer-6.tar.gz";
4315       hash = "sha256-eyEmMZjKImhu//OumHokC+Qj3SFgr96yn+cW0DKYb/o=";
4316     };
4317     meta = {
4318       description = "Constant subs with deferred value calculation";
4319       license = with lib.licenses; [ gpl3Plus ];
4320     };
4321   };
4323   ContextPreserve = buildPerlPackage {
4324     pname = "Context-Preserve";
4325     version = "0.03";
4326     src = fetchurl {
4327       url = "mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz";
4328       hash = "sha256-CZFKTCx725nKtoDBg8v0kuyY1uI/vMSH/MSuEFZ9/R8=";
4329     };
4330     buildInputs = [ TestException TestSimple13 ];
4331     meta = {
4332       description = "Run code after a subroutine call, preserving the context the subroutine would have seen if it were the last statement in the caller";
4333       license = with lib.licenses; [ artistic1 gpl1Plus ];
4334     };
4335   };
4337   CookieBaker = buildPerlModule {
4338     pname = "Cookie-Baker";
4339     version = "0.11";
4340     src = fetchurl {
4341       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz";
4342       hash = "sha256-WSdfR04HwKo2EePmhLiU59uRMzPYIUQgvmPxLsGM16s=";
4343     };
4344     buildInputs = [ ModuleBuildTiny TestTime ];
4345     propagatedBuildInputs = [ URI ];
4346     meta = {
4347       description = "Cookie string generator / parser";
4348       homepage = "https://github.com/kazeburo/Cookie-Baker";
4349       license = with lib.licenses; [ artistic1 gpl1Plus ];
4350     };
4351   };
4353   CookieXS = buildPerlPackage {
4354     pname = "Cookie-XS";
4355     version = "0.11";
4356     src = fetchurl {
4357       url = "mirror://cpan/authors/id/A/AG/AGENT/Cookie-XS-0.11.tar.gz";
4358       hash = "sha256-o7lxB4CiJC5w750G5R+Rt/PqCq5o9Tx25CxYLCzLJpg=";
4359     };
4360     propagatedBuildInputs = [ CGICookieXS ];
4361     meta = {
4362       description = "HTTP Cookie parser in C (Please use CGI::Cookie::XS instead)";
4363       license = with lib.licenses; [ artistic1 gpl1Plus ];
4364     };
4365   };
4367   Coro = buildPerlPackage {
4368     pname = "Coro";
4369     version = "6.57";
4370     src = fetchurl {
4371       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.57.tar.gz";
4372       hash = "sha256-GSjkgDNUDhHr9VBpht0QGveNJCHSEPllmSI7FdUXFMY=";
4373     };
4374     propagatedBuildInputs = [ AnyEvent Guard commonsense ];
4375     buildInputs = [ CanaryStability ];
4376     meta = {
4377       description = "The only real threads in perl";
4378       license = with lib.licenses; [ artistic1 gpl1Plus ];
4379     };
4380   };
4382   CoroEV = buildPerlPackage rec {
4383     pname = "CoroEV";
4384     version = "6.55";
4385     src = fetchurl {
4386       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-${version}.tar.gz";
4387       hash = "sha256-Q9ecAnFw/NpMoO6Sc0YFvJXhImhvUHG5TZB2TIGuijA=";
4388     };
4389     buildInputs = [ CanaryStability ];
4390     propagatedBuildInputs = [ AnyEvent Coro EV Guard commonsense ];
4391     preConfigure = ''
4392       cd EV
4393     '';
4394     meta = {
4395       description = "Do events the coro-way, with EV";
4396       license = with lib.licenses; [ artistic1 gpl1Plus ];
4397     };
4398   };
4400   Corona = buildPerlPackage {
4401     pname = "Corona";
4402     version = "0.1004";
4403     src = fetchurl {
4404       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz";
4405       hash = "sha256-//XRnoPeem0mWfNGgpgmsWUrtmZlS4eDsRmlNFS9rzw=";
4406     };
4407     propagatedBuildInputs = [ NetServerCoro Plack ];
4408     buildInputs = [ TestSharedFork TestTCP ];
4409     meta = {
4410       description = "Coro based PSGI web server";
4411       license = with lib.licenses; [ artistic1 gpl1Plus ];
4412       mainProgram = "corona";
4413     };
4414   };
4416   CPAN = buildPerlPackage {
4417     pname = "CPAN";
4418     version = "2.29";
4419     src = fetchurl {
4420       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.29.tar.gz";
4421       hash = "sha256-H1VnLv1QWpuqz6GSTRFTYhIKpr+O+rehfHywkLF8zEE=";
4422     };
4423     propagatedBuildInputs = [ ArchiveZip CPANChecksums CPANPerlReleases CompressBzip2 Expect FileHomeDir FileWhich LWP LogLog4perl ModuleSignature TermReadKey TextGlob YAML YAMLLibYAML YAMLSyck IOSocketSSL ];
4424     meta = {
4425       description = "Query, download and build perl modules from CPAN sites";
4426       license = with lib.licenses; [ artistic1 gpl1Plus ];
4427       mainProgram = "cpan";
4428     };
4429   };
4431   CPANMini = buildPerlPackage {
4432     pname = "CPAN-Mini";
4433     version = "1.111016";
4434     src = fetchurl {
4435       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Mini-1.111016.tar.gz";
4436       hash = "sha256-Wil6/D42etgIEUZNTrfk3Tyv+LpJnN0rVY9ieUQ6dlc=";
4437     };
4438     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
4439     propagatedBuildInputs = [ FileHomeDir LWPProtocolHttps ];
4440     postInstall = lib.optionalString stdenv.isDarwin ''
4441       shortenPerlShebang $out/bin/minicpan
4442     '';
4444     meta = {
4445       description = "Create a minimal mirror of CPAN";
4446       homepage = "https://github.com/rjbs/CPAN-Mini";
4447       license = with lib.licenses; [ artistic1 gpl1Plus ];
4448       maintainers = [ maintainers.sgo ];
4449       mainProgram = "minicpan";
4450     };
4451   };
4453   CpanelJSONXS = buildPerlPackage {
4454     pname = "Cpanel-JSON-XS";
4455     version = "4.31";
4456     src = fetchurl {
4457       url = "mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.31.tar.gz";
4458       hash = "sha256-AqZ6zuPeJKcow5ZIaADiojVZGlQ9B5REmtOI/j1c/yk=";
4459     };
4460     meta = {
4461       description = "CPanel fork of JSON::XS, fast and correct serializing";
4462       license = with lib.licenses; [ artistic1 gpl1Plus ];
4463       mainProgram = "cpanel_json_xs";
4464     };
4465   };
4467   CPAN02PackagesSearch = buildPerlModule {
4468     pname = "CPAN-02Packages-Search";
4469     version = "0.001";
4470     src = fetchurl {
4471       url = "mirror://cpan/authors/id/S/SK/SKAJI/CPAN-02Packages-Search-0.001.tar.gz";
4472       hash = "sha256-Z1wVLOaOcz9MQPVuzcGhkVxv/1X2IrBEFCqlrOjFrwk=";
4473     };
4474     buildInputs = [ ModuleBuildTiny ];
4475     propagatedBuildInputs = [ TieHandleOffset ];
4476     meta = {
4477       description = "Search packages in 02packages.details.txt";
4478       homepage = "https://github.com/skaji/CPAN-02Packages-Search";
4479       license = with lib.licenses; [ artistic1 gpl1Plus ];
4480       maintainers = [ maintainers.zakame ];
4481     };
4482   };
4484   CPANChanges = buildPerlPackage {
4485     pname = "CPAN-Changes";
4486     version = "0.400002";
4487     src = fetchurl {
4488       url = "mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz";
4489       hash = "sha256-Ae7eqQ0HRoy1jkpQv6O7HU7tqQc1lq3REY/DWRU6vo0=";
4490     };
4491     meta = {
4492       description = "Read and write Changes files";
4493       license = with lib.licenses; [ artistic1 gpl1Plus ];
4494       mainProgram = "tidy_changelog";
4495     };
4496   };
4498   CPANChecksums = buildPerlPackage {
4499     pname = "CPAN-Checksums";
4500     version = "2.14";
4501     src = fetchurl {
4502       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.14.tar.gz";
4503       hash = "sha256-QIBxbF2n4DtQTjzA6h/V757WkV9vtzdWTp4T01Wonjk=";
4504     };
4505     propagatedBuildInputs = [ CompressBzip2 DataCompare ModuleSignature ];
4506     meta = {
4507       description = "Write a CHECKSUMS file for a directory as on CPAN";
4508       license = with lib.licenses; [ artistic1 gpl1Plus ];
4509     };
4510   };
4512   CPANCommonIndex = buildPerlPackage {
4513     pname = "CPAN-Common-Index";
4514     version = "0.010";
4515     src = fetchurl {
4516       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz";
4517       hash = "sha256-xD3bsi/UKwYRj+Y1f1NwD7139TG6PEJ/qvvzA8v06vA=";
4518     };
4519     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
4520     propagatedBuildInputs = [ CPANDistnameInfo ClassTiny TieHandleOffset URI ];
4521     meta = {
4522       description = "Common library for searching CPAN modules, authors and distributions";
4523       homepage = "https://github.com/Perl-Toolchain-Gang/CPAN-Common-Index";
4524       license = with lib.licenses; [ asl20 ];
4525     };
4526   };
4528   CPANDistnameInfo = buildPerlPackage {
4529     pname = "CPAN-DistnameInfo";
4530     version = "0.12";
4531     src = fetchurl {
4532       url = "mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz";
4533       hash = "sha256-LyT76ffurLwmnTX8YWGDIvwXvkme4M2QGPNwk0qfJDU=";
4534     };
4535     meta = {
4536       description = "Extract distribution name and version from a distribution filename";
4537       license = with lib.licenses; [ artistic1 gpl1Plus ];
4538     };
4539   };
4541   CPANMetaCheck = buildPerlPackage {
4542     pname = "CPAN-Meta-Check";
4543     version = "0.014";
4544     src = fetchurl {
4545       url = "mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz";
4546       hash = "sha256-KKBXK/wcBnjZzn2kjPUhCXraIw+W6z0GP8uuHP5qNR8=";
4547     };
4548     buildInputs = [ TestDeep ];
4549     meta = {
4550       description = "Verify requirements in a CPAN::Meta object";
4551       license = with lib.licenses; [ artistic1 gpl1Plus ];
4552     };
4553   };
4555   CPANPerlReleases = buildPerlPackage {
4556     pname = "CPAN-Perl-Releases";
4557     version = "5.20201120";
4558     src = fetchurl {
4559       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-5.20201120.tar.gz";
4560       hash = "sha256-c2ByY+fKTXwrKu7EUR06vAtYz5CHFSS373iaUoyoUuM=";
4561     };
4562     meta = {
4563       description = "Mapping Perl releases on CPAN to the location of the tarballs";
4564       homepage = "https://github.com/bingos/cpan-perl-releases";
4565       license = with lib.licenses; [ artistic1 gpl1Plus ];
4566     };
4567   };
4569   CPANPLUS = buildPerlPackage {
4570     pname = "CPANPLUS";
4571     version = "0.9908";
4572     src = fetchurl {
4573       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9908.tar.gz";
4574       hash = "sha256-WPastH15HtjjCm68wlCJIYusrZbkbajmIakrd4xWndQ=";
4575     };
4576     propagatedBuildInputs = [ ArchiveExtract ModulePluggable ObjectAccessor PackageConstants TermUI ];
4577     meta = {
4578       description = "Ameliorated interface to the CPAN";
4579       homepage = "https://github.com/jib/cpanplus-devel";
4580       license = with lib.licenses; [ artistic1 gpl1Plus ];
4581       mainProgram = "cpanp";
4582     };
4583   };
4585   CPANUploader = buildPerlPackage {
4586     pname = "CPAN-Uploader";
4587     version = "0.103015";
4588     src = fetchurl {
4589       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103015.tar.gz";
4590       hash = "sha256-jgh+/jYl3suBaymR/4195K1xkPmGPQSQlnAU9nGfu8U=";
4591     };
4592     propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive LWPProtocolHttps TermReadKey ];
4593     meta = {
4594       description = "Upload things to the CPAN";
4595       homepage = "https://github.com/rjbs/CPAN-Uploader";
4596       license = with lib.licenses; [ artistic1 gpl1Plus ];
4597       mainProgram = "cpan-upload";
4598     };
4599   };
4601   CryptArgon2 = buildPerlModule {
4602     pname = "Crypt-Argon2";
4603     version = "0.010";
4604     src = fetchurl {
4605       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Argon2-0.010.tar.gz";
4606       hash = "sha256-PqHABvEO9m/UF+UCpWnfFcTMHHdrCE41Y5dRxBzmZxo=";
4607     };
4608     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
4609     meta = {
4610       description = "Perl interface to the Argon2 key derivation functions";
4611       license = with lib.licenses; [ cc0 ];
4612     };
4613   };
4615   CryptBlowfish = buildPerlPackage {
4616     pname = "Crypt-Blowfish";
4617     version = "2.14";
4618     src = fetchurl {
4619       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz";
4620       hash = "sha256-RrNDH/tr9bnLNZ95Vl1IQH5lKtKwT99cpipp5xl6Z7E=";
4621     };
4622     meta = {
4623       description = "Perl Blowfish encryption module";
4624       license = with lib.licenses; [ bsdOriginalShortened ];
4625     };
4626   };
4628   CryptCAST5_PP = buildPerlPackage {
4629     pname = "Crypt-CAST5_PP";
4630     version = "1.04";
4631     src = fetchurl {
4632       url = "mirror://cpan/authors/id/B/BO/BOBMATH/Crypt-CAST5_PP-1.04.tar.gz";
4633       hash = "sha256-y6mKgEA/uJihTJKPI39EgWtISGQYQM4lFzY8LAcbUyc=";
4634     };
4635     meta = {
4636       description = "CAST5 block cipher in pure Perl";
4637       license = with lib.licenses; [ artistic1 gpl1Plus ];
4638       maintainers = [ maintainers.sgo ];
4639     };
4640   };
4642   CryptCBC = buildPerlPackage {
4643     pname = "Crypt-CBC";
4644     version = "2.33";
4645     src = fetchurl {
4646       url = "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-2.33.tar.gz";
4647       hash = "sha256-anDeIbbMfysQAGfo4Yjblm6agAG122+pdufLWylK5kU=";
4648     };
4649     meta = {
4650       description = "Encrypt Data with Cipher Block Chaining Mode";
4651       license = with lib.licenses; [ artistic1 gpl1Plus ];
4652     };
4653   };
4655   CryptCurve25519 = buildPerlPackage {
4656     pname = "Crypt-Curve25519";
4657     version = "0.06";
4658     src = fetchurl {
4659       url = "mirror://cpan/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz";
4660       hash = "sha256-n0hwPbTuyiluqCwtZuShOfInC437C+38T/lEVLt7IMc=";
4661     };
4662     patches = [
4663       (fetchpatch {
4664         url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-perl/Crypt-Curve25519/files/Crypt-Curve25519-0.60.0-fmul-fixedvar.patch?id=cec727ad614986ca1e6b9468eea7f1a5a9183382";
4665         hash = "sha256-Dq431QnMuI9V34BKy7SNaQMXD4lykDuo3wab278sAFA=";
4666       })
4667     ];
4668     meta = {
4669       description = "Generate shared secret using elliptic-curve Diffie-Hellman function";
4670       homepage = "https://metacpan.org/release/Crypt-Curve25519";
4671       license = with lib.licenses; [ artistic1 gpl1Plus ];
4672     };
4673   };
4675   CryptDES = buildPerlPackage {
4676     pname = "Crypt-DES";
4677     version = "2.07";
4678     src = fetchurl {
4679       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-2.07.tar.gz";
4680       hash = "sha256-LbHrtYN7TLIAUcDuW3M7RFPjE33wqSMGA0yGdiHt1+c=";
4681     };
4682     meta = {
4683       description = "Perl DES encryption module";
4684       license = with lib.licenses; [ bsdOriginalShortened ];
4685     };
4686   };
4688   CryptDES_EDE3 = buildPerlPackage {
4689     pname = "Crypt-DES_EDE3";
4690     version = "0.01";
4691     src = fetchurl {
4692       url = "mirror://cpan/authors/id/B/BT/BTROTT/Crypt-DES_EDE3-0.01.tar.gz";
4693       hash = "sha256-nLLgS2JenMCDPNSZ92/RJVZYPs7KeCqXWKVeP5aXSNY=";
4694     };
4695     propagatedBuildInputs = [ CryptDES ];
4696     meta = {
4697       description = "Triple-DES EDE encryption/decryption";
4698       license = with lib.licenses; [ artistic1 gpl1Plus ];
4699       maintainers = [ maintainers.sgo ];
4700     };
4701   };
4703   CryptDH = buildPerlPackage {
4704     pname = "Crypt-DH";
4705     version = "0.07";
4706     src = fetchurl {
4707       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Crypt-DH-0.07.tar.gz";
4708       hash = "sha256-yIzzQjsB5nguiYbX/lMEQ2q4SwklxEmMb9+hfvmjf18=";
4709     };
4710     propagatedBuildInputs = [ MathBigIntGMP ];
4711     meta = {
4712       description = "Diffie-Hellman key exchange system";
4713       license = with lib.licenses; [ artistic1 gpl1Plus ];
4714     };
4715   };
4717   CryptDHGMP = buildPerlPackage {
4718     pname = "Crypt-DH-GMP";
4719     version = "0.00012";
4720     src = fetchurl {
4721       url = "mirror://cpan/authors/id/D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz";
4722       hash = "sha256-UeekeuWUz1X2bAdi9mkhVIbn2LNGC9rf55NQzPJtrzg=";
4723     };
4724     buildInputs = [ pkgs.gmp DevelChecklib TestRequires ];
4725     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
4726     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
4727     meta = {
4728       description = "Crypt::DH Using GMP Directly";
4729       license = with lib.licenses; [ artistic1 gpl1Plus ];
4730     };
4731   };
4733   CryptDSA = buildPerlPackage {
4734     pname = "Crypt-DSA";
4735     version = "1.17";
4736     src = fetchurl {
4737       url = "mirror://cpan/authors/id/A/AD/ADAMK/Crypt-DSA-1.17.tar.gz";
4738       hash = "sha256-0bhYX2v3RvduXcXaNkHTJe1la8Ll80S1RRS1XDEAmgM=";
4739     };
4740     propagatedBuildInputs = [ DataBuffer DigestSHA1 FileWhich ];
4741     meta = {
4742       description = "DSA Signatures and Key Generation";
4743       license = with lib.licenses; [ artistic1 gpl1Plus ];
4744       maintainers = [ maintainers.sgo ];
4745     };
4746   };
4748   CryptECB = buildPerlPackage {
4749     pname = "Crypt-ECB";
4750     version = "2.22";
4751     src = fetchurl {
4752       url = "mirror://cpan/authors/id/A/AP/APPEL/Crypt-ECB-2.22.tar.gz";
4753       hash = "sha256-9a9i6QjNMaNLK4ExNaBxgBb9AD/6ACH/vdhMUBWCZ6o=";
4754     };
4755     meta = {
4756       description = "Use block ciphers using ECB mode";
4757       license = with lib.licenses; [ artistic1 gpl1Plus ];
4758     };
4759   };
4761   CryptEksblowfish = buildPerlModule {
4762     pname = "Crypt-Eksblowfish";
4763     version = "0.009";
4764     src = fetchurl {
4765       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz";
4766       hash = "sha256-PMcSbVhBEHI3qb4txcf7wWfPPEtM40Z4qESLhQdXAUw=";
4767     };
4768     propagatedBuildInputs = [ ClassMix ];
4769     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
4770     meta = {
4771       description = "The Eksblowfish block cipher";
4772       license = with lib.licenses; [ artistic1 gpl1Plus ];
4773     };
4774   };
4776   CryptFormat = buildPerlPackage {
4777     pname = "Crypt-Format";
4778     version = "0.10";
4779     src = fetchurl {
4780       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Format-0.10.tar.gz";
4781       hash = "sha256-id3AEKbJHVvnoYdKUo7tbto58sQBwY5j2A3fv3En4t0=";
4782     };
4783     buildInputs = [ TestException TestFailWarnings ];
4784     meta = {
4785       description = "Conversion utilities for encryption applications";
4786       license = with lib.licenses; [ artistic1 gpl1Plus ];
4787       maintainers = [ maintainers.sgo ];
4788     };
4789   };
4791   CryptIDEA = buildPerlPackage {
4792     pname = "Crypt-IDEA";
4793     version = "1.10";
4794     src = fetchurl {
4795       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz";
4796       hash = "sha256-M714wRkkoPwf8+7d6UB4y79rbKnt4EbSsvVh6emnIBk=";
4797     };
4798     meta = {
4799       description = "Perl interface to IDEA block cipher";
4800       license = with lib.licenses; [ bsdOriginalShortened ];
4801     };
4802   };
4804   CryptJWT = buildPerlPackage {
4805     pname = "Crypt-JWT";
4806     version = "0.029";
4807     src = fetchurl {
4808       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.029.tar.gz";
4809       hash = "sha256-D8z/KQZaAJju8VHe6zPBLA1o4WoctOdGWybrvUwYzS8=";
4810     };
4811     propagatedBuildInputs = [ CryptX JSON ];
4812     meta = {
4813       description = "JSON Web Token";
4814       license = with lib.licenses; [ artistic1 gpl1Plus ];
4815     };
4816   };
4818   CryptPassphrase = buildPerlPackage {
4819     pname = "Crypt-Passphrase";
4820     version = "0.003";
4821     src = fetchurl {
4822       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-0.003.tar.gz";
4823       hash = "sha256-aFqgkPgXmobWiWISzPjM/eennM6FcZm7FOInehDSQK0=";
4824     };
4825     meta = {
4826       description = "A module for managing passwords in a cryptographically agile manner";
4827       license = with lib.licenses; [ artistic1 gpl1Plus ];
4828     };
4829   };
4831   CryptPassphraseArgon2 = buildPerlPackage {
4832     pname = "Crypt-Passphrase-Argon2";
4833     version = "0.003";
4834     src = fetchurl {
4835       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Argon2-0.003.tar.gz";
4836       hash = "sha256-cCkLtb3GfBcBKN8+UWexfQS7eTkzqubAWnWGfao/OTg=";
4837     };
4838     propagatedBuildInputs = with perlPackages; [ CryptArgon2 CryptPassphrase ];
4839     meta = {
4840       description = "An Argon2 encoder for Crypt::Passphrase";
4841       license = with lib.licenses; [ artistic1 gpl1Plus ];
4842     };
4843   };
4845   CryptPassphraseBcrypt = buildPerlPackage {
4846     pname = "Crypt-Passphrase-Bcrypt";
4847     version = "0.001";
4848     src = fetchurl {
4849       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Bcrypt-0.001.tar.gz";
4850       hash = "sha256-M44nA4RH/eAjznyaC1dPR+4zeQRKDAgxrJRx8UMNxMU=";
4851     };
4852     propagatedBuildInputs = [ CryptEksblowfish CryptPassphrase ];
4853     meta = {
4854       description = "A bcrypt encoder for Crypt::Passphrase";
4855       homepage = "https://github.com/Leont/crypt-passphrase-bcrypt";
4856       license = with lib.licenses; [ artistic1 gpl1Plus ];
4857     };
4858   };
4860   CryptPasswdMD5 = buildPerlModule {
4861     pname = "Crypt-PasswdMD5";
4862     version = "1.40";
4863     src = fetchurl {
4864       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz";
4865       hash = "sha256-t31q7qJTAa975nn3RS6JTKiK+XEL/9bgHWZaFBw5GUg=";
4866     };
4867     meta = {
4868       description = "Provide interoperable MD5-based crypt() functions";
4869       license = with lib.licenses; [ artistic1 gpl1Plus ];
4870     };
4871   };
4873   CryptPKCS10 = buildPerlModule {
4874     pname = "Crypt-PKCS10";
4875     version = "2.001";
4876     src = fetchurl {
4877       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-2.001.tar.gz";
4878       hash = "sha256-95RbdqLY9Njs9iey646k9B0AHmqRXv6C5x1rl/6j/6k=";
4879     };
4880     buildInputs = [ pkgs.unzip ModuleBuildTiny ];
4881     propagatedBuildInputs = [ ConvertASN1 ];
4882     meta = {
4883       description = "Parse PKCS #10 certificate requests";
4884       homepage = "https://github.com/openxpki/Crypt-PKCS10";
4885       license = with lib.licenses; [ gpl1Only ];
4886     };
4887   };
4889   CryptRandomSeed = buildPerlPackage {
4890     pname = "Crypt-Random-Seed";
4891     version = "0.03";
4892     src = fetchurl {
4893       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-Seed-0.03.tar.gz";
4894       hash = "sha256-WT2lS1IsCcwmu8wOTknByOaIpv0zsHJq+AHXIqXI0PE=";
4895     };
4896     propagatedBuildInputs = [ CryptRandomTESHA2 ];
4897     meta = {
4898       description = "Provide strong randomness for seeding";
4899       homepage = "https://github.com/danaj/Crypt-Random-Seed";
4900       license = with lib.licenses; [ artistic1 gpl1Plus ];
4901       maintainers = [ maintainers.sgo ];
4902     };
4903   };
4905   CryptRandom = buildPerlPackage rec {
4906     pname = "Crypt-Random";
4907     version = "1.52";
4908     src = fetchurl {
4909       url = "mirror://cpan/authors/id/V/VI/VIPUL/Crypt-Random-1.52.tar.gz";
4910       hash = "sha256-qTwG3kCeby6y6YaOptTmU9mfL3kAssGDHh9lrODE74Q=";
4911     };
4912     propagatedBuildInputs = [ ClassLoader MathPari StatisticsChiSquare ];
4913     meta = {
4914       description = "Interface to /dev/random and /dev/urandom";
4915       license = with lib.licenses; [ artistic1 gpl1Plus ];
4916       mainProgram = "makerandom";
4917     };
4918   };
4920   CryptRandomSource = buildPerlModule {
4921     pname = "Crypt-Random-Source";
4922     version = "0.14";
4923     src = fetchurl {
4924       url = "mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz";
4925       hash = "sha256-7E7OJp+a0ZWMbimOzuLlpDReNX86T/ssdIEWr4du7eY=";
4926     };
4927     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
4928     propagatedBuildInputs = [ CaptureTiny ModuleFind Moo SubExporter TypeTiny namespaceclean ];
4929     meta = {
4930       description = "Get weak or strong random data from pluggable sources";
4931       homepage = "https://github.com/karenetheridge/Crypt-Random-Source";
4932       license = with lib.licenses; [ artistic1 gpl1Plus ];
4933     };
4934   };
4936   CryptRandomTESHA2 = buildPerlPackage {
4937     pname = "Crypt-Random-TESHA2";
4938     version = "0.01";
4939     src = fetchurl {
4940       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-TESHA2-0.01.tar.gz";
4941       hash = "sha256-oJErQsUr4XPaUo1VJ+QNlnMkvASseNn8LdyR/xb+ljM=";
4942     };
4943     meta = {
4944       description = "Random numbers using timer/schedule entropy, aka userspace voodoo entropy";
4945       homepage = "https://github.com/danaj/Crypt-Random-TESHA2";
4946       license = with lib.licenses; [ artistic1 gpl1Plus ];
4947     };
4948   };
4950   CryptRC4 = buildPerlPackage {
4951     pname = "Crypt-RC4";
4952     version = "2.02";
4953     src = fetchurl {
4954       url = "mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-2.02.tar.gz";
4955       hash = "sha256-XsRCXGvCIgeIljC+c1DZlobmKkTGE2lgEQIDzVlK4Oo=";
4956     };
4957     meta = {
4958       description = "Perl implementation of the RC4 encryption algorithm";
4959       license = with lib.licenses; [ artistic1 gpl1Plus ];
4960     };
4961   };
4963   CryptRandPasswd = buildPerlPackage {
4964     pname = "Crypt-RandPasswd";
4965     version = "0.06";
4966     src = fetchurl {
4967       url = "mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.06.tar.gz";
4968       hash = "sha256-sb2QR42cx19MffpNvub9DApAoaUpKI33JpeHMwgpSDE=";
4969     };
4970     meta = {
4971       description = "Random password generator based on FIPS-181";
4972       license = with lib.licenses; [ artistic1 gpl1Plus ];
4973     };
4974   };
4976   CryptRIPEMD160 = buildPerlPackage {
4977     pname = "Crypt-RIPEMD160";
4978     version = "0.08";
4979     src = fetchurl {
4980       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-RIPEMD160-0.08.tar.gz";
4981       hash = "sha256-NNHIdgf2yd76s3QbdtMbzPu21NIBr4Dg9gg8N4EwsjI=";
4982     };
4983     meta = {
4984       description = "Perl extension for the RIPEMD-160 Hash function";
4985       homepage = "https://wiki.github.com/toddr/Crypt-RIPEMD160";
4986       license = with lib.licenses; [ artistic1 gpl1Plus ];
4987       maintainers = [ maintainers.sgo ];
4988     };
4989   };
4991   CryptMySQL = buildPerlModule {
4992     pname = "Crypt-MySQL";
4993     version = "0.04";
4994     src = fetchurl {
4995       url = "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz";
4996       hash = "sha256-k+vfqu/P6atoPwEhyF8kR12Bl/C87EYBghnkERQ03eM=";
4997     };
4998     propagatedBuildInputs = [ DigestSHA1 ];
4999     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
5000     meta = {
5001       description = "Emulate MySQL PASSWORD() function";
5002       license = with lib.licenses; [ artistic1 gpl1Plus ];
5003     };
5004   };
5006   CryptRijndael = buildPerlPackage {
5007     pname = "Crypt-Rijndael";
5008     version = "1.15";
5009     src = fetchurl {
5010       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-1.15.tar.gz";
5011       hash = "sha256-oJibVZkNeQXRtb9STNi0aq3A3neEFNTKjUBqoqpZQWM=";
5012     };
5013     meta = {
5014       description = "Crypt::CBC compliant Rijndael encryption module";
5015       license = with lib.licenses; [ gpl3Only ];
5016     };
5017   };
5019   CryptUnixCryptXS = buildPerlPackage {
5020     pname = "Crypt-UnixCrypt_XS";
5021     version = "0.11";
5022     src = fetchurl {
5023       url = "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz";
5024       hash = "sha256-Yus0EsLJG9TcK4pNnuJtW94usRkycDtu6sR3Pk0fT6o=";
5025     };
5026     meta = {
5027       description = "Perl xs interface for a portable traditional crypt function";
5028       license = with lib.licenses; [ artistic1 gpl1Plus ];
5029     };
5030   };
5032   CryptURandom = buildPerlPackage {
5033     pname = "Crypt-URandom";
5034     version = "0.36";
5035     src = fetchurl {
5036       url = "mirror://cpan/authors/id/D/DD/DDICK/Crypt-URandom-0.36.tar.gz";
5037       hash = "sha256-gf7JkhrcXTyRy+CtjLK7ibBFxPsN6cs8Q/F+WOR3+KE=";
5038     };
5039     meta = {
5040       description = "Provide non blocking randomness";
5041       license = with lib.licenses; [ artistic1 gpl1Plus ];
5042       maintainers = [ maintainers.sgo ];
5043     };
5044   };
5046   CryptScryptKDF = buildPerlModule {
5047     pname = "Crypt-ScryptKDF";
5048     version = "0.010";
5049     src = fetchurl {
5050       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-ScryptKDF-0.010.tar.gz";
5051       hash = "sha256-fRbulczj61TBdGc6cpn0wIb7o6yF+EfQ4TT+7V93YBc=";
5052     };
5053     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5054     perlPreHook = "export LD=$CC";
5055     meta = {
5056       description = "Scrypt password based key derivation function";
5057       homepage = "https://github.com/DCIT/perl-Crypt-ScryptKDF";
5058       license = with lib.licenses; [ artistic1 gpl1Plus ];
5059       maintainers = [ maintainers.sgo ];
5060     };
5061   };
5063   CryptSmbHash = buildPerlPackage {
5064     pname = "Crypt-SmbHash";
5065     version = "0.12";
5066     src = fetchurl {
5067       url = "mirror://cpan/authors/id/B/BJ/BJKUIT/Crypt-SmbHash-0.12.tar.gz";
5068       hash = "sha256-aMSsfqv6lX3PiUwsI7zsCW+H6M8G3t/Lv3AuVTHbsTc=";
5069     };
5070     meta = {
5071       description = "Perl-only implementation of lanman and nt md4 hash functions, for use in Samba style smbpasswd entries";
5072       license = with lib.licenses; [ gpl2Plus ];
5073     };
5074   };
5076   CryptSodium = buildPerlPackage {
5077     pname = "Crypt-Sodium";
5078     version = "0.11";
5079     src = fetchurl {
5080       url = "mirror://cpan/authors/id/M/MG/MGREGORO/Crypt-Sodium-0.11.tar.gz";
5081       hash = "sha256-kHxzoQVs6gV9qYGa6kipKreG5qqq858c3ZZHsj8RbHg=";
5082     };
5083     NIX_CFLAGS_COMPILE = "-I${pkgs.libsodium.dev}/include";
5084     NIX_CFLAGS_LINK = "-L${pkgs.libsodium.out}/lib -lsodium";
5085     meta = {
5086       description = "Perl bindings for libsodium (NaCL)";
5087       homepage = "https://metacpan.org/release/Crypt-Sodium";
5088       license = with lib.licenses; [ artistic1 gpl1Plus ];
5089       maintainers = [ maintainers.sgo ];
5090     };
5091   };
5093   CryptTwofish = buildPerlPackage {
5094     pname = "Crypt-Twofish";
5095     version = "2.18";
5096     src = fetchurl {
5097       url = "mirror://cpan/authors/id/A/AM/AMS/Crypt-Twofish-2.18.tar.gz";
5098       hash = "sha256-WIFVXWGHlyojgqoNTbLXTJcLBndMYhtspSNzkjbS1QE=";
5099     };
5100     meta = {
5101       description = "The Twofish Encryption Algorithm";
5102       license = with lib.licenses; [ artistic1 gpl1Plus ];
5103       maintainers = [ maintainers.sgo ];
5104     };
5105   };
5107   CryptOpenPGP = buildPerlPackage {
5108     pname = "Crypt-OpenPGP";
5109     version = "1.12";
5110     src = fetchurl {
5111       url = "mirror://cpan/authors/id/S/SR/SROMANOV/Crypt-OpenPGP-1.12.tar.gz";
5112       hash = "sha256-6Kf/Kpk7dqaa1t/9vlV1W+Vni4Tm7ElNzZq5Zvdm9Q4=";
5113     };
5114     patches = [
5115       # See https://github.com/NixOS/nixpkgs/pull/93599
5116       ../development/perl-modules/crypt-openpgp-remove-impure-keygen-tests.patch
5117     ];
5118     buildInputs = [ TestException ];
5119     propagatedBuildInputs = [ AltCryptRSABigInt CryptCAST5_PP CryptDES_EDE3 CryptDSA CryptIDEA CryptRIPEMD160 CryptRijndael CryptTwofish FileHomeDir LWP ];
5121     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
5122     postInstall = lib.optionalString stdenv.isDarwin ''
5123       shortenPerlShebang $out/bin/pgplet
5124     '';
5125     doCheck = false; /* test fails with 'No random source available!' */
5127     meta = {
5128       description = "Pure-Perl OpenPGP implementation";
5129       homepage = "https://github.com/btrott/Crypt-OpenPGP";
5130       license = with lib.licenses; [ artistic1 gpl1Plus ];
5131       maintainers = [ maintainers.sgo ];
5132       mainProgram = "pgplet";
5133     };
5134   };
5136   CryptOpenSSLAES = buildPerlPackage {
5137     pname = "Crypt-OpenSSL-AES";
5138     version = "0.02";
5139     src = fetchurl {
5140       url = "mirror://cpan/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz";
5141       hash = "sha256-tm+rUU7fl/wy9Y2iV1gnBKIQwrNeKX1cMbf6L/0I6Qg=";
5142     };
5143     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5144     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5145     meta = {
5146       description = "Perl wrapper around OpenSSL's AES library";
5147       license = with lib.licenses; [ artistic1 gpl1Plus ];
5148     };
5149   };
5151   CryptOpenSSLBignum = buildPerlPackage {
5152     pname = "Crypt-OpenSSL-Bignum";
5153     version = "0.09";
5154     src = fetchurl {
5155       url = "mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz";
5156       hash = "sha256-I05y+4OW1FUn5v1F5DdZxcPzogjPjynmoiFhqZb9Qtw=";
5157     };
5158     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5159     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5160     meta = {
5161       description = "OpenSSL's multiprecision integer arithmetic";
5162       license = with lib.licenses; [ artistic1 gpl1Plus ];
5163     };
5164   };
5166   CryptOpenSSLGuess = buildPerlPackage {
5167     pname = "Crypt-OpenSSL-Guess";
5168     version = "0.15";
5169     src = fetchurl {
5170       url = "mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.15.tar.gz";
5171       hash = "sha256-HFAzOBgZ/bTJCH3SkbkOxw54ENMdV+remziOzP1wOG0=";
5172     };
5173     meta = {
5174       description = "Guess OpenSSL include path";
5175       homepage = "https://github.com/akiym/Crypt-OpenSSL-Guess";
5176       license = with lib.licenses; [ artistic1 gpl1Plus ];
5177     };
5178   };
5180   CryptOpenSSLRandom = buildPerlPackage {
5181     pname = "Crypt-OpenSSL-Random";
5182     version = "0.15";
5183     src = fetchurl {
5184       url = "mirror://cpan/authors/id/R/RU/RURBAN/Crypt-OpenSSL-Random-0.15.tar.gz";
5185       hash = "sha256-8IdvqhujER45uGqnMMYDIR7/KQXkYMcqV7YejPR1zvQ=";
5186     };
5187     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5188     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5189     buildInputs = [ CryptOpenSSLGuess ];
5190     meta = {
5191       description = "OpenSSL/LibreSSL pseudo-random number generator access";
5192       license = with lib.licenses; [ artistic1 gpl1Plus ];
5193       broken = stdenv.isDarwin && stdenv.isAarch64; # errors with: 74366 Abort trap: 6
5194     };
5195   };
5197   CryptOpenSSLRSA = buildPerlPackage {
5198     pname = "Crypt-OpenSSL-RSA";
5199     version = "0.31";
5200     src = fetchurl {
5201       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.31.tar.gz";
5202       hash = "sha256-QXNAOtTPdnMhkgmfgz+/vzzYEE4CRrOEQYeuOE0sVDY=";
5203     };
5204     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5205     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl_1_1.dev}/include";
5206     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl_1_1}/lib -lcrypto";
5207     buildInputs = [ CryptOpenSSLGuess ];
5208     meta = {
5209       description = "RSA encoding and decoding, using the openSSL libraries";
5210       license = with lib.licenses; [ artistic1 gpl1Plus ];
5211     };
5212   };
5214   CryptOpenSSLX509 = buildPerlPackage rec {
5215     pname = "Crypt-OpenSSL-X509";
5216     version = "1.914";
5217     src = fetchurl {
5218       url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.914.tar.gz";
5219       hash = "sha256-ScV1JX5kCK1aiQEeW1gA1Zj5zK/fQucQBO2Byy9E7no=";
5220     };
5221     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5222     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5223     buildInputs = [ CryptOpenSSLGuess ];
5224     propagatedBuildInputs = [ ConvertASN1 ];
5225     meta = {
5226       description = "Perl extension to OpenSSL's X509 API";
5227       homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
5228       license = with lib.licenses; [ artistic1 gpl1Plus ];
5229       maintainers = [ maintainers.sgo ];
5230     };
5231   };
5233   CryptPBKDF2 = buildPerlPackage {
5234     pname = "Crypt-PBKDF2";
5235     version = "0.161520";
5236     src = fetchurl {
5237       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Crypt-PBKDF2-0.161520.tar.gz";
5238       hash = "sha256-l9+nmjCaCG4YSk5hBH+KEP+z2wUQJefSIqJfGRMLpBc=";
5239     };
5240     buildInputs = [ TestFatal ];
5241     propagatedBuildInputs = [ DigestHMAC DigestSHA3 Moo TypeTiny namespaceautoclean strictures ];
5242     meta = {
5243       description = "The PBKDF2 password hash algorithm";
5244       homepage = "https://metacpan.org/release/Crypt-PBKDF2";
5245       license = with lib.licenses; [ artistic1 gpl1Plus ];
5246       maintainers = [ maintainers.sgo ];
5247     };
5248   };
5250   CryptPerl = buildPerlPackage {
5251     pname = "Crypt-Perl";
5252     version = "0.34";
5253     src = fetchurl {
5254       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Perl-0.34.tar.gz";
5255       hash = "sha256-DhyyI98AQfbZsBDxHm+XqXq1WhGKJzk460/oXUA/GxE=";
5256     };
5257     checkInputs = [ pkgs.openssl MathBigIntGMP ];
5258     buildInputs = [ CallContext FileSlurp FileWhich TestClass TestDeep TestException TestFailWarnings TestNoWarnings ];
5259     propagatedBuildInputs = [ BytesRandomSecureTiny ClassAccessor ConvertASN1 CryptFormat MathProvablePrime SymbolGet TryTiny ];
5260     meta = {
5261       description = "Cryptography in pure Perl";
5262       license = with lib.licenses; [ artistic1 gpl1Plus ];
5263       maintainers = [ maintainers.sgo ];
5264     };
5265   };
5267   CryptEd25519 = buildPerlPackage {
5268     pname = "Crypt-Ed25519";
5269     version = "1.04";
5270     src = fetchurl {
5271       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Crypt-Ed25519-1.04.tar.gz";
5272       hash = "sha256-WFBKYedGQB6HiEEE/MmNAxM51T9IfElV//tesdAykMs=";
5273     };
5275     nativeBuildInputs = [ CanaryStability ];
5276     buildInputs = [ CanaryStability ];
5278     meta = {
5279       description = "Minimal Ed25519 bindings";
5280       license = with lib.licenses; [ artistic2 ];
5281       maintainers = [ maintainers.thoughtpolice ];
5282     };
5283   };
5285   CryptSSLeay = buildPerlPackage {
5286     pname = "Crypt-SSLeay";
5287     version = "0.73_06";
5288     src = fetchurl {
5289       url = "mirror://cpan/authors/id/N/NA/NANIS/Crypt-SSLeay-0.73_06.tar.gz";
5290       hash = "sha256-+OzKRch+uRMlmSsT8FlPgI5vG8TDuafxQbmoODhNJSw=";
5291     };
5293     makeMakerFlags = [ "--libpath=${lib.getLib pkgs.openssl}/lib" "--incpath=${pkgs.openssl.dev}/include" ];
5294     buildInputs = [ PathClass ];
5295     propagatedBuildInputs = [ BytesRandomSecure LWPProtocolHttps ];
5296     meta = {
5297       description = "OpenSSL support for LWP";
5298       license = with lib.licenses; [ artistic2 ];
5299     };
5300   };
5302   CSSDOM = buildPerlPackage {
5303     pname = "CSS-DOM";
5304     version = "0.17";
5305     src = fetchurl {
5306       url = "mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz";
5307       hash = "sha256-Zbl46/PDmF5V7jK7baHp+upJSoXTAFxjuux+lphZ8CY=";
5308     };
5309     propagatedBuildInputs = [ Clone ];
5310     meta = {
5311       description = "Document Object Model for Cascading Style Sheets";
5312       license = with lib.licenses; [ artistic1 gpl1Plus ];
5313     };
5314   };
5316   CSSMinifier = buildPerlPackage {
5317     pname = "CSS-Minifier";
5318     version = "0.01";
5319     src = fetchurl {
5320       url = "mirror://cpan/authors/id/P/PM/PMICHAUX/CSS-Minifier-0.01.tar.gz";
5321       hash = "sha256-0Kk0m46LfoOrcM+IVM+7Qv8pwfbHyCmPIlfdIaoMf+8=";
5322     };
5323     meta = {
5324       description = "Perl extension for minifying CSS";
5325       license = with lib.licenses; [ artistic1 ];
5326       maintainers = teams.determinatesystems.members;
5327     };
5328   };
5330   CSSMinifierXS = buildPerlModule {
5331     pname = "CSS-Minifier-XS";
5332     version = "0.09";
5333     src = fetchurl {
5334       url = "mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz";
5335       hash = "sha256-iKaZf6DfazlNHjRr0OV81WWFfiF9gHtlLxdrAGvm2tc=";
5336     };
5337     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
5338     meta = {
5339       description = "XS based CSS minifier";
5340       homepage = "https://metacpan.org/release/CSS-Minifier-XS";
5341       license = with lib.licenses; [ artistic1 gpl1Plus ];
5342     };
5343   };
5345   CSSSquish = buildPerlPackage {
5346     pname = "CSS-Squish";
5347     version = "0.10";
5348     src = fetchurl {
5349       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz";
5350       hash = "sha256-ZfwNaazR+jPZpMOwnM4PvXN9dHsfzE6dh+vZEFDLy04=";
5351     };
5352     buildInputs = [ TestLongString ];
5353     propagatedBuildInputs = [ URI ];
5354     meta = {
5355       description = "Compact many CSS files into one big file";
5356       license = with lib.licenses; [ artistic1 gpl1Plus ];
5357     };
5358   };
5360   Curses = buildPerlPackage {
5361     pname = "Curses";
5362     version = "1.37";
5363     src = fetchurl {
5364       url = "mirror://cpan/authors/id/G/GI/GIRAFFED/Curses-1.37.tar.gz";
5365       hash = "sha256-dHB6460Zs1u+/aKx1r0x9XtAzayKuHIXHIcUyIlU2yA=";
5366     };
5367     propagatedBuildInputs = [ pkgs.ncurses ];
5368     NIX_CFLAGS_LINK = "-lncurses";
5369     meta = {
5370       description = "Perl bindings to ncurses";
5371       license = with lib.licenses; [ artistic1 ];
5372     };
5373   };
5375   CursesUI = buildPerlPackage {
5376     pname = "Curses-UI";
5377     version = "0.9609";
5378     src = fetchurl {
5379       url = "mirror://cpan/authors/id/M/MD/MDXI/Curses-UI-0.9609.tar.gz";
5380       hash = "sha256-CrgnpRO24UQDGE+wZajqHS69oSLSF4y/RceB8xEkDq8=";
5381     };
5382     propagatedBuildInputs = [ Curses TermReadKey ];
5383     meta = {
5384       description = "A curses based OO user interface framework";
5385       license = with lib.licenses; [ artistic1 gpl1Plus ];
5386     };
5387   };
5389   CursesUIGrid = buildPerlPackage {
5390     pname = "Curses-UI-Grid";
5391     version = "0.15";
5392     src = fetchurl {
5393       url = "mirror://cpan/authors/id/A/AD/ADRIANWIT/Curses-UI-Grid-0.15.tar.gz";
5394       hash = "sha256-CCDKSp+5SbqPr5evV0AYuu/7aU6YDFCHu2UiqnC52+w=";
5395     };
5396     propagatedBuildInputs = [ CursesUI TestPod TestPodCoverage ];
5397     meta = {
5398       description = "Create and manipulate data in grid model";
5399       license = with lib.licenses; [ artistic1 gpl1Plus ];
5400     };
5401   };
5403   CryptX = buildPerlPackage {
5404     pname = "CryptX";
5405     version = "0.076";
5406     src = fetchurl {
5407       url = "mirror://cpan/authors/id/M/MI/MIK/CryptX-0.076.tar.gz";
5408       hash = "sha256-u4SsASQ4x87NtRpab/+08f7jsOrgAi6WzrwuFnUiYhw=";
5409     };
5410     meta = {
5411       description = "Cryptographic toolkit";
5412       license = with lib.licenses; [ artistic1 gpl1Plus ];
5413     };
5414   };
5416   CryptX509 = buildPerlPackage {
5417     pname = "Crypt-X509";
5418     version = "0.53";
5419     src = fetchurl {
5420       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-X509-0.53.tar.gz";
5421       hash = "sha256-0v9hT5RX3IerJ3uBvO01MsPtMJtzuaYarvvpSIyeZg8=";
5422     };
5423     propagatedBuildInputs = [ ConvertASN1 ];
5424     meta = {
5425       description = "Parse a X.509 certificate";
5426       license = with lib.licenses; [ artistic1 gpl1Plus ];
5427     };
5428   };
5430   CwdGuard = buildPerlModule {
5431     pname = "Cwd-Guard";
5432     version = "0.05";
5433     src = fetchurl {
5434       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cwd-Guard-0.05.tar.gz";
5435       hash = "sha256-evx8orlQLkQCQZOK2Xo+fr1VAYDr1hQuHbOUGGsmjnc=";
5436     };
5437     buildInputs = [ TestRequires ];
5438     meta = {
5439       description = "Temporary changing working directory (chdir)";
5440       license = with lib.licenses; [ artistic1 gpl1Plus ];
5441     };
5442   };
5444   DataClone = buildPerlPackage {
5445     pname = "Data-Clone";
5446     version = "0.004";
5447     src = fetchurl {
5448       url = "mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz";
5449       hash = "sha256-L+XheYgqa5Jt/vChCLSiyHof+waJK88vuI5Mj0uEODw=";
5450     };
5451     buildInputs = [ TestRequires ];
5452     meta = {
5453       description = "Polymorphic data cloning";
5454       license = with lib.licenses; [ artistic1 gpl1Plus ];
5455     };
5456   };
5458   DataCompare = buildPerlPackage {
5459     pname = "Data-Compare";
5460     version = "1.27";
5461     src = fetchurl {
5462       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz";
5463       hash = "sha256-gYog8fOPdOZSU8+Lz2/tf5SlqN1mL3UzDcr0sRfO6L0=";
5464     };
5465     propagatedBuildInputs = [ Clone FileFindRule ];
5466     meta = {
5467       description = "Compare perl data structures";
5468       license = with lib.licenses; [ artistic1 gpl1Plus ];
5469     };
5470   };
5472   DataDump = buildPerlPackage {
5473     pname = "Data-Dump";
5474     version = "1.23";
5475     src = fetchurl {
5476       url = "mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.23.tar.gz";
5477       hash = "sha256-r1OwXvE4e0yrRCfmeJF5KD5PDajPA26NtRbds0RRK2U=";
5478     };
5479     meta = {
5480       description = "Pretty printing of data structures";
5481       license = with lib.licenses; [ artistic1 gpl1Plus ];
5482     };
5483   };
5485   DataDumperAutoEncode = buildPerlModule {
5486     pname = "Data-Dumper-AutoEncode";
5487     version = "1.00";
5488     src = fetchurl {
5489       url = "mirror://cpan/authors/id/B/BA/BAYASHI/Data-Dumper-AutoEncode-1.00.tar.gz";
5490       hash = "sha256-LZoCYq1EPTIdxInvbfp7Pu0RonCKddOX03G7JYXl7KE=";
5491     };
5492     buildInputs = [ ModuleBuildPluggable ModuleBuildPluggableCPANfile ];
5493     propagatedBuildInputs = [ IOInteractiveTiny ];
5494     meta = {
5495       description = "Dump with recursive encoding";
5496       license = with lib.licenses; [ artistic2 ];
5497       mainProgram = "edumper";
5498     };
5499   };
5501   DataDumperConcise = buildPerlPackage {
5502     pname = "Data-Dumper-Concise";
5503     version = "2.023";
5504     src = fetchurl {
5505       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz";
5506       hash = "sha256-psIvETyvMRN1kN7xtwKKfnGO+s4yKCctBnLCXgNdWFM=";
5507     };
5508     meta = {
5509       description = "Less indentation and newlines plus sub deparsing";
5510       license = with lib.licenses; [ artistic1 gpl1Plus ];
5511     };
5512   };
5514   DataEntropy = buildPerlModule {
5515     pname = "Data-Entropy";
5516     version = "0.007";
5517     src = fetchurl {
5518       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz";
5519       hash = "sha256-JhHEoaMDhZTXnqTtFNnhWpr493EF9RZneV/k+KU0J+Q=";
5520     };
5521     propagatedBuildInputs = [ CryptRijndael DataFloat HTTPLite ParamsClassify ];
5522     meta = {
5523       description = "Entropy (randomness) management";
5524       license = with lib.licenses; [ artistic1 gpl1Plus ];
5525     };
5526   };
5528   DataFloat = buildPerlModule {
5529     pname = "Data-Float";
5530     version = "0.013";
5531     src = fetchurl {
5532       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz";
5533       hash = "sha256-4rFSPYWJMLi729GW8II19eZ4uEkZuodxLiYxO5wnUYo=";
5534     };
5535     meta = {
5536       description = "Details of the floating point data type";
5537       license = with lib.licenses; [ artistic1 gpl1Plus ];
5538     };
5539   };
5541   DataFormValidator = buildPerlPackage {
5542     pname = "Data-FormValidator";
5543     version = "4.88";
5544     src = fetchurl {
5545       url = "mirror://cpan/authors/id/D/DF/DFARRELL/Data-FormValidator-4.88.tar.gz";
5546       hash = "sha256-waU5+RySy82KjYNZfsmnZD/NjM9alOFTgsN2UokXAGY=";
5547     };
5548     propagatedBuildInputs = [ DateCalc EmailValid FileMMagic ImageSize MIMETypes RegexpCommon ];
5549     buildInputs = [ CGI ];
5550     meta = {
5551       description = "Validates user input (usually from an HTML form) based on input profile";
5552       license = with lib.licenses; [ artistic1 gpl1Plus ];
5553     };
5554   };
5556   DataGUID = buildPerlPackage {
5557     pname = "Data-GUID";
5558     version = "0.049";
5559     src = fetchurl {
5560       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.049.tar.gz";
5561       hash = "sha256-uK9DfUn9BCWiPr/z5ZidrmTe6vDgRqpfQTZlzTFpp3s=";
5562     };
5563     propagatedBuildInputs = [ DataUUID SubExporter ];
5564     meta = {
5565       description = "Globally unique identifiers";
5566       homepage = "https://github.com/rjbs/Data-GUID";
5567       license = with lib.licenses; [ artistic1 gpl1Plus ];
5568     };
5569   };
5571   DataHexDump = buildPerlPackage {
5572     pname = "Data-HexDump";
5573     version = "0.02";
5574     src = fetchurl {
5575       url = "mirror://cpan/authors/id/F/FT/FTASSIN/Data-HexDump-0.02.tar.gz";
5576       hash = "sha256-Gp2EPn9mfBxvd8Z69dd+dGL/I7QZN8sXRU0DU1zZvnA=";
5577     };
5578     meta = {
5579       description = "Hexadecial Dumper";
5580       homepage = "https://github.com/neilb/Data-HexDump";
5581       license = with lib.licenses; [ artistic1 gpl1Plus ];
5582       maintainers = with maintainers; [ AndersonTorres ];
5583       mainProgram = "hexdump";
5584     };
5585   };
5587   DataHexdumper = buildPerlPackage {
5588     pname = "Data-Hexdumper";
5589     version = "3.0001";
5590     src = fetchurl {
5591       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Hexdumper-3.0001.tar.gz";
5592       hash = "sha256-+SQ8vor/7VBF/k31BXJqenKJRx4wxRrAZbPtbODRpgQ=";
5593     };
5594     meta = {
5595       description = "Make binary data human-readable";
5596       license = with lib.licenses; [ artistic1 gpl2Only ];
5597     };
5598   };
5600   DataHierarchy = buildPerlPackage {
5601     pname = "Data-Hierarchy";
5602     version = "0.34";
5603     src = fetchurl {
5604       url = "mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz";
5605       hash = "sha256-s6jmK1Pin3HdWYmu75n7+vH0tuJyoGgAOBNg1Z6f2e0=";
5606     };
5607     buildInputs = [ TestException ];
5608     meta = {
5609       description = "Handle data in a hierarchical structure";
5610       license = with lib.licenses; [ artistic1 gpl1Plus ];
5611     };
5612   };
5614   DataICal = buildPerlPackage {
5615     pname = "Data-ICal";
5616     version = "0.24";
5617     src = fetchurl {
5618       url = "mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.24.tar.gz";
5619       hash = "sha256-czHHyEiGxTM3wNuCNhXg5xNKjxPv0oTlwgcm1bzVLf8=";
5620     };
5621     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
5622     propagatedBuildInputs = [ ClassReturnValue TextvFileasData ];
5623     meta = {
5624       description = "Generates iCalendar (RFC 2445) calendar files";
5625       license = with lib.licenses; [ artistic1 gpl1Plus ];
5626     };
5627   };
5629   DataIEEE754 = buildPerlPackage {
5630     pname = "Data-IEEE754";
5631     version = "0.02";
5632     src = fetchurl {
5633       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Data-IEEE754-0.02.tar.gz";
5634       hash = "sha256-xvSrE0ZygjQTtQ8HR5saGwUfTO5C3Tzn6xWD1mkbZx0=";
5635     };
5636     buildInputs = [ TestBits ];
5637     meta = {
5638       description = "Pack and unpack big-endian IEEE754 floats and doubles";
5639       homepage = "https://metacpan.org/release/Data-IEEE754";
5640       license = with lib.licenses; [ artistic2 ];
5641     };
5642   };
5644   DataInteger = buildPerlModule {
5645     pname = "Data-Integer";
5646     version = "0.006";
5647     src = fetchurl {
5648       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz";
5649       hash = "sha256-Y7d+3jtjnONRUlA0hjYpr5iavL/0qwOxT8Tq1GH/o1Q=";
5650     };
5651     meta = {
5652       description = "Details of the native integer data type";
5653       license = with lib.licenses; [ artistic1 gpl1Plus ];
5654     };
5655   };
5657   DataMessagePack = buildPerlModule {
5658     pname = "Data-MessagePack";
5659     version = "1.01";
5660     src = fetchurl {
5661       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-MessagePack-1.01.tar.gz";
5662       hash = "sha256-j6DtAQHQTmYYIae3jo1izj4ZspknW7/tF44rqJEmY+o=";
5663     };
5664     buildInputs = [ ModuleBuildXSUtil TestRequires ];
5665     meta = {
5666       description = "A grep-like program for searching source code";
5667       homepage = "https://github.com/msgpack/msgpack-perl";
5668       license = with lib.licenses; [ artistic1 gpl1Plus ];
5669       maintainers = [ maintainers.sgo ];
5670       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataMessagePack.x86_64-darwin
5671     };
5672   };
5674   DataOptList = buildPerlPackage {
5675     pname = "Data-OptList";
5676     version = "0.110";
5677     src = fetchurl {
5678       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz";
5679       hash = "sha256-NmEXyylmRz8lWfL0V1/2rmnoTGmg8woHc+G1GkV+9cM=";
5680     };
5681     propagatedBuildInputs = [ ParamsUtil SubInstall ];
5682     meta = {
5683       description = "Parse and validate simple name/value option pairs";
5684       homepage = "https://github.com/rjbs/Data-OptList";
5685       license = with lib.licenses; [ artistic1 gpl1Plus ];
5686     };
5687   };
5689   DataPage = buildPerlPackage {
5690     pname = "Data-Page";
5691     version = "2.03";
5692     src = fetchurl {
5693       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Page-2.03.tar.gz";
5694       hash = "sha256-LvpSFn0ferNZAs8yrgJ3amI3BdeRnUEYmBKHsETOPYs=";
5695     };
5696     propagatedBuildInputs = [ ClassAccessorChained ];
5697     buildInputs = [ TestException ];
5698     meta = {
5699       description = "Help when paging through sets of results";
5700       license = with lib.licenses; [ artistic1 gpl1Plus ];
5701     };
5702   };
5704   DataPagePageset = buildPerlModule {
5705     pname = "Data-Page-Pageset";
5706     version = "1.02";
5707     src = fetchurl {
5708       url = "mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
5709       hash = "sha256-zqwbtVQ+I9qyUZUTxibj/+ZaF3uOHtnlagMNRVHUUZA=";
5710     };
5711     buildInputs = [ ClassAccessor DataPage TestException ];
5712     meta = {
5713       description = "Change long page list to be shorter and well navigate";
5714       license = with lib.licenses; [ artistic1 gpl1Plus ];
5715     };
5716   };
5718   DataPassword = buildPerlPackage {
5719     pname = "Data-Password";
5720     version = "1.12";
5721     src = fetchurl {
5722       url = "mirror://cpan/authors/id/R/RA/RAZINF/Data-Password-1.12.tar.gz";
5723       hash = "sha256-gwzegXQf84Q4VBLhb6ulV0WlSnzAGd0j1+1PBdVRqWE=";
5724     };
5725     meta = {
5726       description = "Perl extension for assessing password quality";
5727       license = with lib.licenses; [ artistic1 gpl1Plus ];
5728     };
5729   };
5731   DataPerl = buildPerlPackage {
5732     pname = "Data-Perl";
5733     version = "0.002011";
5734     src = fetchurl {
5735       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Data-Perl-0.002011.tar.gz";
5736       hash = "sha256-jTTb4xTPotmb2arlRrvelMOLsFt0sHyJveFnOm9sVfQ=";
5737     };
5738     buildInputs = [ TestDeep TestFatal TestOutput ];
5739     propagatedBuildInputs = [ ClassMethodModifiers ListMoreUtils ModuleRuntime RoleTiny strictures ];
5740     meta = {
5741       description = "Base classes wrapping fundamental Perl data types";
5742       homepage = "https://github.com/tobyink/Data-Perl";
5743       license = with lib.licenses; [ artistic1 gpl1Plus ];
5744     };
5745   };
5747   DataPrinter = buildPerlPackage {
5748     pname = "Data-Printer";
5749     version = "0.40";
5750     src = fetchurl {
5751       url = "mirror://cpan/authors/id/G/GA/GARU/Data-Printer-0.40.tar.gz";
5752       hash = "sha256-YGkwEH2CdcyuLyVFQ6N270gWE3rVZimAIcypcj+CUlo=";
5753     };
5754     propagatedBuildInputs = [ ClonePP FileHomeDir PackageStash SortNaturally ];
5755     meta = {
5756       description = "Colored & full-featured pretty print of Perl data structures and objects";
5757       license = with lib.licenses; [ artistic1 gpl1Plus ];
5758     };
5759   };
5761   DataRandom = buildPerlPackage {
5762     pname = "Data-Random";
5763     version = "0.13";
5764     src = fetchurl {
5765       url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
5766       hash = "sha256-61kBhKjbKKfknqsJ4l+GUMM/H2aLakcoKd50pTJWv8A=";
5767     };
5768     buildInputs = [ FileShareDirInstall TestMockTime ];
5769     meta = {
5770       description = "Perl module to generate random data";
5771       license = with lib.licenses; [ artistic1 gpl1Plus ];
5772     };
5773   };
5775   DataSection = buildPerlPackage {
5776     pname = "Data-Section";
5777     version = "0.200007";
5778     src = fetchurl {
5779       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.200007.tar.gz";
5780       hash = "sha256-zZN+W3DjSquIX/QU4qbRnkeDt8KPw82lFFsjBRTrtN4=";
5781     };
5782     propagatedBuildInputs = [ MROCompat SubExporter ];
5783     buildInputs = [ TestFailWarnings ];
5784     meta = {
5785       description = "Read multiple hunks of data out of your DATA section";
5786       homepage = "https://github.com/rjbs/Data-Section";
5787       license = with lib.licenses; [ artistic1 gpl1Plus ];
5788     };
5789   };
5791   DataSectionSimple = buildPerlPackage {
5792     pname = "Data-Section-Simple";
5793     version = "0.07";
5794     src = fetchurl {
5795       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Data-Section-Simple-0.07.tar.gz";
5796       hash = "sha256-CzA1/9uQmqH33ta2CPqdiUQhyCwJfVHnFxFw1nV5qcs=";
5797     };
5798     buildInputs = [ TestRequires ];
5799     meta = {
5800       description = "Read data from __DATA__";
5801       homepage = "https://github.com/miyagawa/Data-Section-Simple";
5802       license = with lib.licenses; [ artistic1 gpl1Plus ];
5803     };
5804   };
5806   DataSerializer = buildPerlModule {
5807     pname = "Data-Serializer";
5808     version = "0.65";
5809     src = fetchurl {
5810       url = "mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.65.tar.gz";
5811       hash = "sha256-EhVaUgADPYCl8HVzd19JPxcAcs97KK48otFStZGXHxE=";
5812     };
5813     meta = {
5814       description = "Modules that serialize data structures";
5815       homepage = "https://metacpan.org/release/Data-Serializer";
5816       license = with lib.licenses; [ artistic1 gpl1Plus ];
5817     };
5818   };
5820   DataSExpression = buildPerlPackage {
5821     pname = "Data-SExpression";
5822     version = "0.41";
5823     src = fetchurl {
5824       url = "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-0.41.tar.gz";
5825       hash = "sha256-gWJCakKFoJQ4X9+vbQnO0QbVr1dVP5U6yx1Whn3QFJs=";
5826     };
5827     buildInputs = [ TestDeep ];
5828     propagatedBuildInputs = [ ClassAccessor ];
5829     meta = {
5830       description = "Parse Lisp S-Expressions into perl data structures";
5831       license = with lib.licenses; [ artistic1 gpl1Plus ];
5832     };
5833   };
5835   DataSpreadPagination = buildPerlPackage {
5836     pname = "Data-SpreadPagination";
5837     version = "0.1.2";
5838     src = fetchurl {
5839       url = "mirror://cpan/authors/id/K/KN/KNEW/Data-SpreadPagination-0.1.2.tar.gz";
5840       hash = "sha256-dOv9hHEyw4zJ6DXhToLEPxgJqVy8mLuE0ffOLk70h+M=";
5841     };
5842     propagatedBuildInputs = [ DataPage MathRound ];
5843     meta = {
5844       description = "Page numbering and spread pagination";
5845       license = with lib.licenses; [ artistic1 gpl1Plus ];
5846     };
5847   };
5849   DataStag = buildPerlPackage {
5850     pname = "Data-Stag";
5851     version = "0.14";
5852     src = fetchurl {
5853       url = "mirror://cpan/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz";
5854       hash = "sha256-SrEiUI0vuG0XGhX0AG5c+JbV+s+mUhnAskOomQYljlk=";
5855     };
5856     propagatedBuildInputs = [ IOString ];
5857     meta = {
5858       description = "Structured Tags";
5859       license = with lib.licenses; [ artistic1 gpl1Plus ];
5860     };
5861   };
5863   DataStreamBulk = buildPerlPackage {
5864     pname = "Data-Stream-Bulk";
5865     version = "0.11";
5866     src = fetchurl {
5867       url = "mirror://cpan/authors/id/D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz";
5868       hash = "sha256-BuCEMqa5dwVgbJJXCbmRKa2SZRbkd9WORGHks9nzCRc=";
5869     };
5870     buildInputs = [ TestRequires ];
5871     propagatedBuildInputs = [ Moose PathClass namespaceclean ];
5872     meta = {
5873       description = "N at a time iteration API";
5874       homepage = "https://metacpan.org/release/Data-Stream-Bulk";
5875       license = with lib.licenses; [ artistic1 gpl1Plus ];
5876     };
5877   };
5879   DataStructureUtil = buildPerlPackage {
5880     pname = "Data-Structure-Util";
5881     version = "0.16";
5882     src = fetchurl {
5883       url = "mirror://cpan/authors/id/A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz";
5884       hash = "sha256-nNQqE+ZcsV86diluuaE02iIBaOx0fFaNMxpQrnot28Y=";
5885     };
5886     buildInputs = [ TestPod ];
5887     meta = {
5888       description = "Change nature of data within a structure";
5889       license = with lib.licenses; [ artistic1 gpl1Plus ];
5890     };
5891   };
5893   DataTaxi = buildPerlPackage {
5894     pname = "Data-Taxi";
5895     version = "0.96";
5896     src = fetchurl {
5897       url = "mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz";
5898       hash = "sha256-q8s2EPygbZodmRaraYB0OmHYWvVfn9N2vqZxKommnHg=";
5899     };
5900     buildInputs = [ DebugShowStuff ];
5901     meta = {
5902       description = "Taint-aware, XML-ish data serialization";
5903       license = with lib.licenses; [ artistic1 gpl1Plus ];
5904     };
5905   };
5907   DataULID = buildPerlPackage {
5908     pname = "Data-ULID";
5909     version = "1.0.0";
5910     src = fetchurl {
5911       url = "mirror://cpan/authors/id/B/BA/BALDUR/Data-ULID-1.0.0.tar.gz";
5912       hash = "sha256-TXV0dYk9utUWXwplxEbTi0fzkBnTb3fanSnJjL8nIG8=";
5913     };
5914     propagatedBuildInputs = [ DateTime EncodeBase32GMP MathRandomSecure ];
5915     meta = {
5916       description = "Universally Unique Lexicographically Sortable Identifier";
5917       homepage = "https://metacpan.org/release/Data-ULID";
5918       license = with lib.licenses; [ artistic1 gpl1Plus ];
5919       maintainers = with maintainers; [ sgo ];
5920     };
5921   };
5923   DataUniqid = buildPerlPackage {
5924     pname = "Data-Uniqid";
5925     version = "0.12";
5926     src = fetchurl {
5927       url = "mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz";
5928       hash = "sha256-tpGbpJuf6Yv98+isyue5t/eNyeceu9C3/vekXZkyTMs=";
5929     };
5930     meta = {
5931       description = "Perl extension for simple genrating of unique id's";
5932       license = with lib.licenses; [ artistic1 gpl1Plus ];
5933     };
5934   };
5936   DataUtil = buildPerlModule {
5937     pname = "Data-Util";
5938     version = "0.66";
5939     src = fetchurl {
5940       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-Util-0.66.tar.gz";
5941       hash = "sha256-w10520UglupaaVtUZo2Z1YuVTHL8nvgi4+CmJ/EVxvQ=";
5942     };
5943     buildInputs = [ HashUtilFieldHashCompat ModuleBuildXSUtil ScopeGuard TestException ];
5944     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
5945     meta = {
5946       description = "A selection of utilities for data and data types";
5947       homepage = "https://github.com/gfx/Perl-Data-Util";
5948       license = with lib.licenses; [ artistic1 gpl1Plus ];
5949       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataUtil.x86_64-darwin
5950     };
5951   };
5953   DataURIEncode = buildPerlPackage {
5954     pname = "Data-URIEncode";
5955     version = "0.11";
5956     src = fetchurl {
5957       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Data-URIEncode-0.11.tar.gz";
5958       hash = "sha256-Ucnvv4QjhTYW6qJIQeTRmWstsANpAGF/sdvHbHWh82A=";
5959     };
5960     meta = {
5961       description = "Allow complex data structures to be encoded using flat URIs";
5962       license = with lib.licenses; [ artistic1 gpl1Plus ];
5963     };
5964   };
5966   DataUUID = buildPerlPackage {
5967     pname = "Data-UUID";
5968     version = "1.226";
5969     src = fetchurl {
5970       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.226.tar.gz";
5971       hash = "sha256-CT1X/6DUEalLr6+uSVaX2yb1ydAncZj+P3zyviKZZFM=";
5972     };
5973     meta = {
5974       description = "Globally/Universally Unique Identifiers (GUIDs/UUIDs)";
5975       license = with lib.licenses; [ bsd0 ];
5976     };
5977   };
5979   DataUUIDMT = buildPerlPackage {
5980     pname = "Data-UUID-MT";
5981     version = "1.001";
5982     src = fetchurl {
5983       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz";
5984       hash = "sha256-MExLmBKDEfhLf1KccBi6hJx102Q6qA6jgrSwgFfEZy0=";
5985     };
5986     buildInputs = [ ListAllUtils ];
5987     propagatedBuildInputs = [ MathRandomMTAuto ];
5988     meta = {
5989       description = "Fast random UUID generator using the Mersenne Twister algorithm";
5990       homepage = "https://metacpan.org/release/Data-UUID-MT";
5991       license = with lib.licenses; [ asl20 ];
5992     };
5993   };
5995   DataValidateDomain = buildPerlPackage {
5996     pname = "Data-Validate-Domain";
5997     version = "0.14";
5998     src = fetchurl {
5999       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-Domain-0.14.tar.gz";
6000       hash = "sha256-RHDyU7jScgpN0/o65VCZVBfCJp875/8DDgGvoEo6lCE=";
6001     };
6002     buildInputs = [ Test2Suite ];
6003     propagatedBuildInputs = [ NetDomainTLD ];
6004     meta = {
6005       description = "Domain and host name validation";
6006       homepage = "https://metacpan.org/release/Data-Validate-Domain";
6007       license = with lib.licenses; [ artistic1 gpl1Plus ];
6008     };
6009   };
6011   DataValidateIP = buildPerlPackage {
6012     pname = "Data-Validate-IP";
6013     version = "0.27";
6014     src = fetchurl {
6015       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-0.27.tar.gz";
6016       hash = "sha256-4aqSI13LnG/ZtsjNoYTRr3NTfMd/T4Og+IIHqL+/t9Y=";
6017     };
6018     buildInputs = [ TestRequires ];
6019     propagatedBuildInputs = [ NetAddrIP ];
6020     meta = {
6021       description = "IPv4 and IPv6 validation methods";
6022       homepage = "https://metacpan.org/release/Data-Validate-IP";
6023       license = with lib.licenses; [ artistic1 gpl1Plus ];
6024     };
6025   };
6027   DataValidateURI = buildPerlPackage {
6028     pname = "Data-Validate-URI";
6029     version = "0.07";
6030     src = fetchurl {
6031       url = "mirror://cpan/authors/id/S/SO/SONNEN/Data-Validate-URI-0.07.tar.gz";
6032       hash = "sha256-8GQY0qRgORPRts5SsWfdE+eH4TvyvjJaBl331Aj3nGA=";
6033     };
6034     propagatedBuildInputs = [ DataValidateDomain DataValidateIP ];
6035     meta = {
6036       description = "Common URL validation methods";
6037       license = with lib.licenses; [ artistic1 gpl1Plus ];
6038     };
6039   };
6041   DataVisitor = buildPerlPackage {
6042     pname = "Data-Visitor";
6043     version = "0.31";
6044     src = fetchurl {
6045       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Visitor-0.31.tar.gz";
6046       hash = "sha256-K7FpMou80tzO3Lk4Yn6HIOf0w/jjGCMCD7TCBQXTTG4=";
6047     };
6048     buildInputs = [ TestNeeds ];
6049     propagatedBuildInputs = [ Moose TieToObject namespaceclean ];
6050     meta = {
6051       description = "Visitor style traversal of Perl data structures";
6052       license = with lib.licenses; [ artistic1 gpl1Plus ];
6053     };
6054   };
6056   DateCalc = buildPerlPackage {
6057     pname = "Date-Calc";
6058     version = "6.4";
6059     src = fetchurl {
6060       url = "mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz";
6061       hash = "sha256-fOE3sueXt8CQHzrfGgWhk0M1bNHwRnaqHFap9iT4Wa0=";
6062     };
6063     propagatedBuildInputs = [ BitVector ];
6064     doCheck = false; # some of the checks rely on the year being <2015
6065     meta = {
6066       description = "Gregorian calendar date calculations";
6067       license = with lib.licenses; [ artistic1 gpl1Plus ];
6068     };
6069   };
6071   DateExtract = buildPerlPackage {
6072     pname = "Date-Extract";
6073     version = "0.06";
6074     src = fetchurl {
6075       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Date-Extract-0.06.tar.gz";
6076       hash = "sha256-vHZY1cUMNSXsDvy1Ujal3i1dT8BvwUf6OSnI8JU82is=";
6077     };
6078     buildInputs = [ TestMockTime ];
6079     propagatedBuildInputs = [ DateTimeFormatNatural ];
6080     meta = {
6081       description = "Extract probable dates from strings";
6082       license = with lib.licenses; [ artistic1 gpl1Plus ];
6083     };
6084   };
6086   DateManip = buildPerlPackage {
6087     pname = "Date-Manip";
6088     version = "6.83";
6089     src = fetchurl {
6090       url = "mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.83.tar.gz";
6091       hash = "sha256-9JGy4dh2wiKllWOxu9iTwQNCB+0DNzBL85YxHZ6Rmfo=";
6092     };
6093     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
6094     patchPhase = ''
6095       sed -i "s#/bin/date#${pkgs.coreutils}/bin/date#" lib/Date/Manip/TZ.pm
6096     '';
6097     doCheck = !stdenv.isi686; # build freezes during tests on i686
6098     buildInputs = [ TestInter ];
6099     meta = {
6100       description = "Date manipulation routines";
6101       homepage = "https://github.com/SBECK-github/Date-Manip";
6102       license = with lib.licenses; [ artistic1 gpl1Plus ];
6103     };
6104   };
6106   DateSimple = buildPerlPackage {
6107     pname = "Date-Simple";
6108     version = "3.03";
6109     src = fetchurl {
6110       url = "mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz";
6111       hash = "sha256-KaGSYxTOFoGjEtYVXClZDHcd2s+Rt0hYc85EnvIJ3QQ=";
6112     };
6113     meta = {
6114       description = "A simple date object";
6115       license = with lib.licenses; [ artistic1 gpl2Plus ];
6116     };
6117   };
6119   DateTime = buildPerlPackage {
6120     pname = "DateTime";
6121     version = "1.54";
6122     src = fetchurl {
6123       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.54.tar.gz";
6124       hash = "sha256-sS7abZAHE/Inlk3E3A4u+4bSlOi8Lxa+npW2WflTsuc=";
6125     };
6126     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
6127     propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ];
6128     meta = {
6129       description = "A date and time object for Perl";
6130       homepage = "https://metacpan.org/release/DateTime";
6131       license = with lib.licenses; [ artistic2 ];
6132     };
6133   };
6135   DateTimeCalendarJulian = buildPerlPackage {
6136     pname = "DateTime-Calendar-Julian";
6137     version = "0.102";
6138     src = fetchurl {
6139       url = "mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz";
6140       hash = "sha256-RouCo0qopmY/sFWAnu2KcAx6PM8mfgKWl1cboypsJUk=";
6141     };
6142     propagatedBuildInputs = [ DateTime ];
6143     meta = {
6144       description = "DateTime object in the Julian calendar";
6145       license = with lib.licenses; [ artistic1 gpl1Plus ];
6146     };
6147   };
6149   DateTimeEventICal = buildPerlPackage {
6150     pname = "DateTime-Event-ICal";
6151     version = "0.13";
6152     src = fetchurl {
6153       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz";
6154       hash = "sha256-U9pDhO9c8w7ofcATH0tu7iEhzA66NHFioyi5vPr0deo=";
6155     };
6156     propagatedBuildInputs = [ DateTimeEventRecurrence ];
6157     meta = {
6158       description = "DateTime rfc2445 recurrences";
6159       license = with lib.licenses; [ artistic1 gpl1Plus ];
6160     };
6161   };
6163   DateTimeEventRecurrence = buildPerlPackage {
6164     pname = "DateTime-Event-Recurrence";
6165     version = "0.19";
6166     src = fetchurl {
6167       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz";
6168       hash = "sha256-+UCHiaRhEHdmyhojK7PsHnAu7HyoFnQB6m7D9LbQtaU=";
6169     };
6170     propagatedBuildInputs = [ DateTimeSet ];
6171     meta = {
6172       description = "DateTime::Set extension for create basic recurrence sets";
6173       license = with lib.licenses; [ artistic1 gpl1Plus ];
6174     };
6175   };
6177   DateTimeFormatBuilder = buildPerlPackage {
6178     pname = "DateTime-Format-Builder";
6179     version = "0.83";
6180     src = fetchurl {
6181       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz";
6182       hash = "sha256-Yf+yPYWzyheGstoyiembV+BiX+DknbAqbcDLYsaJ4vI=";
6183     };
6184     propagatedBuildInputs = [ DateTimeFormatStrptime ParamsValidate ];
6185     meta = {
6186       description = "Create DateTime parser classes and objects";
6187       homepage = "https://metacpan.org/release/DateTime-Format-Builder";
6188       license = with lib.licenses; [ artistic2 ];
6189     };
6190   };
6192   DateTimeFormatDateParse = buildPerlModule {
6193     pname = "DateTime-Format-DateParse";
6194     version = "0.05";
6195     src = fetchurl {
6196       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz";
6197       hash = "sha256-9uykyL5mzpmS7hUJMvj88HgJ/T0WZMryALil/Tp+Xrw=";
6198     };
6199     propagatedBuildInputs = [ DateTime TimeDate ];
6200     meta = {
6201       description = "Parses Date::Parse compatible formats";
6202       license = with lib.licenses; [ artistic1 gpl1Plus ];
6203     };
6204   };
6206   DateTimeFormatFlexible = buildPerlPackage {
6207     pname = "DateTime-Format-Flexible";
6208     version = "0.32";
6209     src = fetchurl {
6210       url = "mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.32.tar.gz";
6211       hash = "sha256-UKe5/rKHuxSycyOlPCMkSGGBo6tss/THZi1CvpAa2O4=";
6212     };
6213     propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
6214     buildInputs = [ TestException TestMockTime TestNoWarnings ];
6215     meta = {
6216       description = "Flexibly parse strings and turn them into DateTime objects";
6217       license = with lib.licenses; [ artistic1 gpl1Plus ];
6218     };
6219   };
6221   DateTimeFormatHTTP = buildPerlModule {
6222     pname = "DateTime-Format-HTTP";
6223     version = "0.42";
6224     src = fetchurl {
6225       url = "mirror://cpan/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.42.tar.gz";
6226       hash = "sha256-0E52nfRZaN/S0b3GR6Mlxod2FAaXYnhubxN/H17D2EA=";
6227     };
6228     propagatedBuildInputs = [ DateTime HTTPDate ];
6229     meta = {
6230       description = "Date conversion routines";
6231       license = with lib.licenses; [ artistic1 gpl1Plus ];
6232     };
6233   };
6235   DateTimeFormatICal = buildPerlModule {
6236     pname = "DateTime-Format-ICal";
6237     version = "0.09";
6238     src = fetchurl {
6239       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz";
6240       hash = "sha256-iwn2U59enA3w5hNQMWme1O+e74Fl/ICu/uzIF++ZfDM=";
6241     };
6242     propagatedBuildInputs = [ DateTimeEventICal ];
6243     meta = {
6244       description = "Parse and format iCal datetime and duration strings";
6245       license = with lib.licenses; [ artistic1 gpl1Plus ];
6246     };
6247   };
6249   DateTimeFormatISO8601 = buildPerlPackage {
6250     pname = "DateTime-Format-ISO8601";
6251     version = "0.15";
6252     src = fetchurl {
6253       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ISO8601-0.15.tar.gz";
6254       hash = "sha256-FJdow2i5134fJdM5bH8D4kKRAB/RTCxdq2p2JbKm2qk=";
6255     };
6256     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6257     buildInputs = [ Test2Suite ];
6258     meta = {
6259       description = "Parses ISO8601 formats";
6260       homepage = "https://metacpan.org/release/DateTime-HiRes";
6261       license = with lib.licenses; [ artistic1 gpl1Plus ];
6262     };
6263   };
6265   DateTimeFormatMail = buildPerlPackage {
6266     pname = "DateTime-Format-Mail";
6267     version = "0.403";
6268     src = fetchurl {
6269       url = "mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz";
6270       hash = "sha256-jfjjXER3OI/1x86LPotq5O0wIJx6UFHUFze9FNdV/LA=";
6271     };
6272     propagatedBuildInputs = [ DateTime ParamsValidate ];
6273     meta = {
6274       description = "Convert between DateTime and RFC2822/822 formats";
6275       license = with lib.licenses; [ artistic1 gpl1Plus ];
6276     };
6277   };
6279   DateTimeFormatNatural = buildPerlModule {
6280     pname = "DateTime-Format-Natural";
6281     version = "1.11";
6282     src = fetchurl {
6283       url = "mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.11.tar.gz";
6284       hash = "sha256-c4+w+xTkL/rhQqMi9J9HHIzBImlM++bTNYA2MgP0RVI=";
6285     };
6286     buildInputs = [ ModuleUtil TestMockTime ];
6287     propagatedBuildInputs = [ Clone DateTime ListMoreUtils ParamsValidate boolean ];
6288     meta = {
6289       description = "Parse informal natural language date/time strings";
6290       license = with lib.licenses; [ artistic1 gpl1Plus ];
6291       mainProgram = "dateparse";
6292     };
6293   };
6295   DateTimeFormatMySQL = buildPerlModule {
6296     pname = "DateTime-Format-MySQL";
6297     version = "0.06";
6298     src = fetchurl {
6299       url = "mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-0.06.tar.gz";
6300       hash = "sha256-mBjUFi7JzsYTm6l7OeBInSF1gaHUP7txPzvv/oD5jx0=";
6301     };
6302     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6303     meta = {
6304       description = "Parse and format MySQL dates and times";
6305       license = with lib.licenses; [ artistic1 gpl1Plus ];
6306     };
6307   };
6309   DateTimeFormatPg = buildPerlModule {
6310     pname = "DateTime-Format-Pg";
6311     version = "0.16013";
6312     src = fetchurl {
6313       url = "mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16013.tar.gz";
6314       hash = "sha256-f4YupeUb1Fvrxsb5cISXuYlkky5aOevK/jQCNRzgUZs=";
6315     };
6316     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6317     buildInputs = [ ModuleBuildTiny ];
6318     meta = {
6319       description = "Parse and format PostgreSQL dates and times";
6320       homepage = "https://github.com/lestrrat-p5/DateTime-Format-Pg";
6321       license = with lib.licenses; [ artistic1 gpl1Plus ];
6322     };
6323   };
6325   DateTimeFormatStrptime = buildPerlPackage {
6326     pname = "DateTime-Format-Strptime";
6327     version = "1.77";
6328     src = fetchurl {
6329       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.77.tar.gz";
6330       hash = "sha256-L6Q8g47PU1byIakaQcgduiLnhgxUdLSmFyMlmJgXPko=";
6331     };
6332     buildInputs = [ TestFatal TestWarnings ];
6333     propagatedBuildInputs = [ DateTime ];
6334     meta = {
6335       description = "Parse and format strp and strf time patterns";
6336       homepage = "https://metacpan.org/release/DateTime-Format-Strptime";
6337       license = with lib.licenses; [ artistic2 ];
6338     };
6339   };
6341   DateTimeFormatSQLite = buildPerlPackage {
6342     pname = "DateTime-Format-SQLite";
6343     version = "0.11";
6344     src = fetchurl {
6345       url = "mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz";
6346       hash = "sha256-zB9OCuHTmw1MPd3M/XQjx3xnpwlQxLXsq/jKVTqylLQ=";
6347     };
6348     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6349     meta = {
6350       description = "Parse and format SQLite dates and times";
6351       license = with lib.licenses; [ artistic1 gpl1Plus ];
6352     };
6353   };
6355   DateTimeFormatW3CDTF = buildPerlPackage {
6356     pname = "DateTime-Format-W3CDTF";
6357     version = "0.07";
6358     src = fetchurl {
6359       url = "mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.07.tar.gz";
6360       hash = "sha256-aaArZhu/HaoUpIE8tnhuqmbb3ydD8LP0WOMCNMOiYmg=";
6361     };
6362     propagatedBuildInputs = [ DateTime ];
6363     meta = {
6364       description = "Parse and format W3CDTF datetime strings";
6365       homepage = "https://metacpan.org/release/DateTime-Format-W3CDTF";
6366       license = with lib.licenses; [ artistic1 gpl1Plus ];
6367     };
6368   };
6370   DateTimeLocale = buildPerlPackage {
6371     pname = "DateTime-Locale";
6372     version = "1.28";
6373     src = fetchurl {
6374       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.28.tar.gz";
6375       hash = "sha256-bGBNjFycJzm3jgU4pAIoO4Kx30GeYL7yCwSEPkWEut4=";
6376     };
6377     buildInputs = [ CPANMetaCheck FileShareDirInstall IPCSystemSimple PathTiny Test2PluginNoWarnings Test2Suite TestFileShareDir ];
6378     propagatedBuildInputs = [ FileShareDir ParamsValidationCompiler Specio namespaceautoclean ];
6379     meta = {
6380       description = "Localization support for DateTime.pm";
6381       homepage = "https://metacpan.org/release/DateTime-Locale";
6382       license = with lib.licenses; [ artistic1 gpl1Plus ];
6383     };
6384   };
6386   DateTimeFormatRFC3339 = buildPerlPackage rec {
6387     pname = "DateTime-Format-RFC3339";
6388     version = "1.2.0";
6389     src = fetchurl {
6390       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/DateTime-Format-RFC3339-v${version}.tar.gz";
6391       hash = "sha256-E27hIkwxxuAXaSqfXlb9tPcKlfRq7DrYVdN4PeNaDfc=";
6392     };
6393     propagatedBuildInputs = [ DateTime ];
6394     meta = {
6395       description = "Parse and format RFC3339 datetime strings";
6396       homepage = "https://search.cpan.org/dist/DateTime-Format-RFC3339";
6397       license = with lib.licenses; [ cc0 ];
6398     };
6399   };
6401   DateTimeSet = buildPerlModule {
6402     pname = "DateTime-Set";
6403     version = "0.3900";
6404     src = fetchurl {
6405       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz";
6406       hash = "sha256-lPQcOSSq/eTvf6a1jgWV1AONisX/1iuhEbE8X028CUY=";
6407     };
6408     propagatedBuildInputs = [ DateTime ParamsValidate SetInfinite ];
6409     meta = {
6410       description = "DateTime set objects";
6411       license = with lib.licenses; [ artistic1 gpl1Plus ];
6412     };
6413   };
6415   DateTimeTimeZone = buildPerlPackage {
6416     pname = "DateTime-TimeZone";
6417     version = "2.44";
6418     src = fetchurl {
6419       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.44.tar.gz";
6420       hash = "sha256-Vz3UBZot/Tgz1qfSvwhHeKxllaAJsR3qY2DX0CLORSY=";
6421     };
6422     buildInputs = [ TestFatal TestRequires ];
6423     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
6424     meta = {
6425       description = "Time zone object base class and factory";
6426       homepage = "https://metacpan.org/release/DateTime-TimeZone";
6427       license = with lib.licenses; [ artistic1 gpl1Plus ];
6428     };
6429   };
6431   DateTimeXEasy = buildPerlPackage {
6432     pname = "DateTimeX-Easy";
6433     version = "0.089";
6434     src = fetchurl {
6435       url = "mirror://cpan/authors/id/R/RO/ROKR/DateTimeX-Easy-0.089.tar.gz";
6436       hash = "sha256-F+bSAuesYElSMEjpe7jxlePHkghXDaFQT0MTWE5Ienk=";
6437     };
6438     buildInputs = [ TestMost ];
6439     propagatedBuildInputs = [ DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
6440     doCheck = false;
6441     meta = {
6442       description = "Parse a date/time string using the best method available";
6443       license = with lib.licenses; [ artistic1 gpl1Plus ];
6444     };
6445   };
6447   DebugShowStuff = buildPerlModule {
6448     pname = "Debug-ShowStuff";
6449     version = "1.16";
6450     src = fetchurl {
6451       url = "mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz";
6452       hash = "sha256-pN1dLNfbjqbkhhsZPgJLQYeisO0rmdWHBi37EaXNLLc=";
6453     };
6454     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
6455     meta = {
6456       description = "A collection of handy debugging routines for displaying the values of variables with a minimum of coding";
6457       license = with lib.licenses; [ artistic1 gpl1Plus ];
6458     };
6459   };
6461   Deliantra = buildPerlPackage rec {
6462     pname = "Deliantra";
6463     version = "2.01";
6464     src = fetchurl {
6465       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
6466       hash = "sha256-JxbZsfBWJ9YJQs4GNLnBolEJsWSBgoXUW2Ca6FluKxc=";
6467     };
6468     propagatedBuildInputs = [ AnyEvent CompressLZF JSONXS commonsense ];
6469     meta = {
6470       description = "Deliantra suppport module to read/write archetypes, maps etc";
6471       license = with lib.licenses; [ artistic1 gpl1Plus ];
6472     };
6473   };
6475   DevelCaller = buildPerlPackage {
6476     pname = "Devel-Caller";
6477     version = "2.06";
6478     src = fetchurl {
6479       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.06.tar.gz";
6480       hash = "sha256-anOuaikoNCVbkNqUCSBUJTBfz+mUsUjcttLW72KNt98=";
6481     };
6482     propagatedBuildInputs = [ PadWalker ];
6483     meta = {
6484       description = "Meatier versions of caller";
6485       license = with lib.licenses; [ artistic1 gpl1Plus ];
6486     };
6487   };
6489   DevelCheckBin = buildPerlPackage {
6490     pname = "Devel-CheckBin";
6491     version = "0.04";
6492     src = fetchurl {
6493       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz";
6494       hash = "sha256-FX89tZwp7R1JEzpGnO53LIha1O5k6GkqkbPr/b4v4+Q=";
6495     };
6496     meta = {
6497       description = "Check that a command is available";
6498       homepage = "https://github.com/tokuhirom/Devel-CheckBin";
6499       license = with lib.licenses; [ artistic1 gpl1Plus ];
6500     };
6501   };
6503   DevelCheckCompiler = buildPerlModule {
6504     pname = "Devel-CheckCompiler";
6505     version = "0.07";
6506     src = fetchurl {
6507       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz";
6508       hash = "sha256-dot2l7S41NNyx1B7ZendJqpCI/cQAYO7tNOvRtQ4abU=";
6509     };
6510     buildInputs = [ ModuleBuildTiny ];
6511     meta = {
6512       description = "Check the compiler's availability";
6513       homepage = "https://github.com/tokuhirom/Devel-CheckCompiler";
6514       license = with lib.licenses; [ artistic1 gpl1Plus ];
6515     };
6516   };
6518   DevelChecklib = buildPerlPackage {
6519     pname = "Devel-CheckLib";
6520     version = "1.14";
6521     src = fetchurl {
6522       url = "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz";
6523       hash = "sha256-8hxeKZrTzg/cDLD0E3jcqFpw6NbJp1mfDlapVyAOwpQ=";
6524     };
6525     buildInputs = [ CaptureTiny MockConfig ];
6526     meta = {
6527       description = "Check that a library is available";
6528       license = with lib.licenses; [ artistic1 gpl1Plus ];
6529     };
6530   };
6532   DevelCheckOS = buildPerlPackage {
6533     pname = "Devel-CheckOS";
6534     version = "1.85";
6535     src = fetchurl {
6536       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-CheckOS-1.85.tar.gz";
6537       hash = "sha256-b0Op2h3G+v2qybYbg80C2IO/Yq7xUck5hr75inrmWMo=";
6538     };
6539     propagatedBuildInputs = [ FileFindRule ];
6540     meta = {
6541       description = "Check what OS we're running on";
6542       license = with lib.licenses; [ gpl2Only artistic1 ];
6543     };
6544   };
6546   DevelLeak = buildPerlPackage rec {
6547     pname = "Devel-Leak";
6548     version = "0.03";
6549     src = fetchurl {
6550       url = "mirror://cpan/authors/id/N/NI/NI-S/Devel-Leak-0.03.tar.gz";
6551       hash = "sha256-b0LDTxHitOPqLg5rlBaoimha3UR5EMr02R3SwXgXclI=";
6552     };
6553     meta = {
6554       description = "Utility for looking for perl objects that are not reclaimed";
6555       homepage = "https://metacpan.org/release/Devel-Leak";
6556       license = with lib.licenses; [ artistic1 gpl1Plus ]; # According to Debian
6557     };
6558   };
6560   DevelPatchPerl = buildPerlPackage {
6561     pname = "Devel-PatchPerl";
6562     version = "2.08";
6563     src = fetchurl {
6564       url = "mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-2.08.tar.gz";
6565       hash = "sha256-acbpcBYmD0COnX5Ej5QrNqbUnfWvBzQPHWXX4jAWdBk=";
6566     };
6567     propagatedBuildInputs = [ Filepushd ModulePluggable ];
6568     meta = {
6569       description = "Patch perl source a la Devel::PPPort's buildperl.pl";
6570       homepage = "https://github.com/bingos/devel-patchperl";
6571       license = with lib.licenses; [ artistic1 gpl1Plus ];
6572       mainProgram = "patchperl";
6573     };
6574   };
6576   DevelRefcount = buildPerlModule {
6577     pname = "Devel-Refcount";
6578     version = "0.10";
6579     src = fetchurl {
6580       url = "mirror://cpan/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz";
6581       hash = "sha256-tlTUaWPRqIFCa6FZlPKPUuuDmw0TW/I5tNG/OLHKyko=";
6582     };
6583     buildInputs = [ TestFatal ];
6584     meta = {
6585       description = "Obtain the REFCNT value of a referent";
6586       license = with lib.licenses; [ artistic1 gpl1Plus ];
6587     };
6588   };
6590   DevelPPPort = buildPerlPackage {
6591     pname = "Devel-PPPort";
6592     version = "3.62";
6593     src = fetchurl {
6594       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.62.tar.gz";
6595       hash = "sha256-8Z0ExG8uWQpBHCMAeew2KEsucaDAv3oExXARMHqtgZs=";
6596     };
6597     meta = {
6598       description = "Perl/Pollution/Portability";
6599       license = with lib.licenses; [ artistic1 gpl1Plus ];
6600     };
6601   };
6603   DevelTrace = buildPerlPackage {
6604     pname = "Devel-Trace";
6605     version = "0.12";
6606     src = fetchurl {
6607       url = "mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz";
6608       hash = "sha256-9QHK93b/fphvduAlRNbOI0yJdwFzKD8x333MV4AKOGg=";
6609     };
6610     meta = {
6611       description = "Print out each line before it is executed (like sh -x)";
6612       license = with lib.licenses; [ publicDomain ];
6613     };
6614   };
6616   DeviceMAC = buildPerlPackage {
6617     pname = "Device-MAC";
6618     version = "1.00";
6619     src = fetchurl {
6620       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-MAC-1.00.tar.gz";
6621       hash = "sha256-xCGCqahImjFMv+bhyEUvMrO2Jqpsif7h2JJebftk+tU=";
6622     };
6623     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
6624     propagatedBuildInputs = [ DeviceOUI Moose ];
6625     meta = {
6626       description = "Handle hardware MAC Addresses (EUI-48 and EUI-64)";
6627       license = with lib.licenses; [ artistic1 gpl1Plus ];
6628       maintainers = [ maintainers.sgo ];
6629     };
6630   };
6632   DeviceOUI = buildPerlPackage {
6633     pname = "Device-OUI";
6634     version = "1.04";
6635     src = fetchurl {
6636       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-OUI-1.04.tar.gz";
6637       hash = "sha256-SzZ+YbH63ed/tvtynzzVrNHUbnEhjZb0Bry6ONQ7S+8=";
6638     };
6639     buildInputs = [ TestException ];
6640     patches = [ ../development/perl-modules/Device-OUI-1.04-hash.patch ];
6641     propagatedBuildInputs = [ ClassAccessorGrouped LWP SubExporter ];
6642     meta = {
6643       description = "Resolve an Organizationally Unique Identifier";
6644       license = with lib.licenses; [ artistic1 gpl1Plus ];
6645       maintainers = [ maintainers.sgo ];
6646     };
6647   };
6649   DBDCSV = buildPerlPackage {
6650     pname = "DBD-CSV";
6651     version = "0.56";
6652     src = fetchurl {
6653       url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.56.tgz";
6654       hash = "sha256-WmLB0Jvmu+IDmZTxCNhPQtJKh9KkAcXolNtayiF7MJs=";
6655     };
6656     propagatedBuildInputs = [ DBI SQLStatement TextCSV_XS ];
6657     meta = {
6658       description = "DBI driver for CSV files";
6659       license = with lib.licenses; [ artistic1 gpl1Plus ];
6660     };
6661   };
6663   DBDMock = buildPerlModule {
6664     pname = "DBD-Mock";
6665     version = "1.58";
6666     src = fetchurl {
6667       url = "mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.58.tar.gz";
6668       hash = "sha256-ux6/ASQQE5blu4PerQ8U8S3V8XXLE3ilnaUpXGLJxzw=";
6669     };
6670     propagatedBuildInputs = [ DBI ];
6671     buildInputs = [ ModuleBuildTiny TestException ];
6672     meta = {
6673       description = "Mock database driver for testing";
6674       license = with lib.licenses; [ artistic1 gpl1Plus ];
6675     };
6676   };
6678   DBDSQLite = buildPerlPackage {
6679     pname = "DBD-SQLite";
6680     version = "1.70";
6682     src = fetchurl {
6683       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.70.tar.gz";
6684       hash = "sha256-QP2N31OeDnc6ek5tN2eUwzAUWfmrAFCXi9z5cRPa/j4=";
6685     };
6687     propagatedBuildInputs = [ DBI ];
6688     buildInputs = [ pkgs.sqlite ];
6690     patches = [
6691       # Support building against our own sqlite.
6692       ../development/perl-modules/DBD-SQLite/external-sqlite.patch
6694       # Pull upstream fix for test failures against sqlite-3.37.
6695       (fetchpatch {
6696         name = "sqlite-3.37-compat.patch";
6697         url = "https://github.com/DBD-SQLite/DBD-SQLite/commit/ba4f472e7372dbf453444c7764d1c342e7af12b8.patch";
6698         hash = "sha256-nn4JvaIGlr2lUnUC+0ABe9AFrRrC5bfdTQiefo0Pjwo=";
6699       })
6700     ];
6702     makeMakerFlags = [ "SQLITE_INC=${pkgs.sqlite.dev}/include" "SQLITE_LIB=${pkgs.sqlite.out}/lib" ];
6704     postInstall = ''
6705       # Get rid of a pointless copy of the SQLite sources.
6706       rm -rf $out/${perl.libPrefix}/*/*/auto/share
6707     '';
6709     preCheck = "rm t/65_db_config.t"; # do not run failing tests
6711     meta = {
6712       description = "Self Contained SQLite RDBMS in a DBI Driver";
6713       license = with lib.licenses; [ artistic1 gpl1Plus ];
6714       platforms = lib.platforms.unix;
6715     };
6716   };
6718   DBDMariaDB = buildPerlPackage {
6719     pname = "DBD-MariaDB";
6720     version = "1.22";
6721     src = fetchurl {
6722       url = "mirror://cpan/authors/id/P/PA/PALI/DBD-MariaDB-1.22.tar.gz";
6723       hash = "sha256-C2j9VCuWU/FbIFhXgZhjSNcehafjhD8JGZdwR6F5scY=";
6724     };
6725     buildInputs = [ pkgs.mariadb-connector-c DevelChecklib TestDeep TestDistManifest TestPod ];
6726     propagatedBuildInputs = [ DBI ];
6727     meta = {
6728       description = "MariaDB and MySQL driver for the Perl5 Database Interface (DBI)";
6729       homepage = "https://github.com/gooddata/DBD-MariaDB";
6730       license = with lib.licenses; [ artistic1 gpl1Plus ];
6731       maintainers = [ maintainers.sgo ];
6732     };
6733   };
6735   DBDmysql = buildPerlPackage {
6736     pname = "DBD-mysql";
6737     version = "4.050";
6739     src = fetchurl {
6740       url = "mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz";
6741       hash = "sha256-T0hUH/FaCnQF92rcEPgWJ8M5lvv1bJXCbAlERMCSjXg=";
6742     };
6744     buildInputs = [ pkgs.libmysqlclient DevelChecklib TestDeep TestDistManifest TestPod ];
6745     propagatedBuildInputs = [ DBI ];
6747     doCheck = false;
6749   #  makeMakerFlags = "MYSQL_HOME=${mysql}";
6750     meta = {
6751       description = "MySQL driver for the Perl5 Database Interface (DBI)";
6752       license = with lib.licenses; [ artistic1 gpl1Plus ];
6753     };
6754   };
6756   DBDOracle = buildPerlPackage {
6757     pname = "DBD-Oracle";
6758     version = "1.80";
6760     src = fetchurl {
6761       url = "mirror://cpan/authors/id/M/MJ/MJEVANS/DBD-Oracle-1.80.tar.gz";
6762       hash = "sha256-8F4lKCNuPRNWXAuRI54HdZTb8GV6xZSY9Uov7psZ6uc=";
6763     };
6765     ORACLE_HOME = "${pkgs.oracle-instantclient.lib}/lib";
6767     buildInputs = [ pkgs.oracle-instantclient TestNoWarnings ];
6768     propagatedBuildInputs = [ DBI ];
6770     postBuild = lib.optionalString stdenv.isDarwin ''
6771       install_name_tool -add_rpath "${pkgs.oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
6772     '';
6773     meta = {
6774       description = "Oracle database driver for the DBI module";
6775       license = with lib.licenses; [ artistic1 gpl1Plus ];
6776     };
6777   };
6779   DBDPg = buildPerlPackage {
6780     pname = "DBD-Pg";
6781     version = "3.14.2";
6783     src = fetchurl {
6784       url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.14.2.tar.gz";
6785       hash = "sha256-yXPphFiWCnjsVAMqcbOEDxeEGN1+adBj5GKg8Q7Gjk0=";
6786     };
6788     buildInputs = [ pkgs.postgresql ];
6789     propagatedBuildInputs = [ DBI ];
6791     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
6793     # tests freeze in a sandbox
6794     doCheck = false;
6796     meta = {
6797       description = "DBI PostgreSQL interface";
6798       homepage = "https://search.cpan.org/dist/DBD-Pg";
6799       license = with lib.licenses; [ artistic1 gpl1Plus ];
6800       platforms = lib.platforms.unix;
6801     };
6802   };
6804   DBDsybase = buildPerlPackage {
6805     pname = "DBD-Sybase";
6806     version = "1.16";
6808     src = fetchurl {
6809       url = "mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz";
6810       hash = "sha256-Z/Qn6Lf/rirMPMiYRGPYeKu7Iom8F9t5opTlbIMR1sw=";
6811     };
6813     SYBASE = pkgs.freetds;
6815     buildInputs = [ pkgs.freetds ];
6816     propagatedBuildInputs = [ DBI ];
6818     doCheck = false;
6820     meta = {
6821       description = "DBI driver for Sybase datasources";
6822       license = with lib.licenses; [ artistic1 gpl1Only ];
6823       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DBDsybase.x86_64-darwin
6824     };
6825   };
6827   DBFile = buildPerlPackage {
6828     pname = "DB_File";
6829     version = "1.855";
6831     src = fetchurl {
6832       url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.855.tar.gz";
6833       hash = "sha256-2f/iolvmzf7no01kI1zciZ6Zuos/uN6Knn9K8g5MqWA=";
6834     };
6836     preConfigure = ''
6837       cat > config.in <<EOF
6838       PREFIX = size_t
6839       HASH = u_int32_t
6840       LIB = ${pkgs.db.out}/lib
6841       INCLUDE = ${pkgs.db.dev}/include
6842       EOF
6843     '';
6844     meta = {
6845       description = "Perl5 access to Berkeley DB version 1.x";
6846       license = with lib.licenses; [ artistic1 gpl1Plus ];
6847     };
6848   };
6850   DBI = buildPerlPackage {
6851     pname = "DBI";
6852     version = "1.643";
6853     src = fetchurl {
6854       url = "mirror://cpan/authors/id/T/TI/TIMB/DBI-1.643.tar.gz";
6855       hash = "sha256-iiuZPbVgosNzwXTul2pRAn3XgOx2auF2IMIDk9LoNvo=";
6856     };
6857     postInstall = lib.optionalString (perl ? crossVersion) ''
6858       mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI
6859       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm <<EOF
6860       package DBI;
6861       BEGIN {
6862       our \$VERSION = "$version";
6863       }
6864       1;
6865       EOF
6867       autodir=$(echo $out/${perl.libPrefix}/${perl.version}/*/auto/DBI)
6868       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI/DBD.pm <<EOF
6869       package DBI::DBD;
6870       use Exporter ();
6871       use vars qw (@ISA @EXPORT);
6872       @ISA = qw(Exporter);
6873       @EXPORT = qw(dbd_postamble);
6874       sub dbd_postamble {
6875           return '
6876       # --- This section was generated by DBI::DBD::dbd_postamble()
6877       DBI_INSTARCH_DIR=$autodir
6878       DBI_DRIVER_XST=$autodir/Driver.xst
6880       # The main dependency (technically correct but probably not used)
6881       \$(BASEEXT).c: \$(BASEEXT).xsi
6883       # This dependency is needed since MakeMaker uses the .xs.o rule
6884       \$(BASEEXT)\$(OBJ_EXT): \$(BASEEXT).xsi
6886       \$(BASEEXT).xsi: \$(DBI_DRIVER_XST) $autodir/Driver_xst.h
6887       ''\t\$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
6889       # ---
6890       ';
6891       }
6892       1;
6893       EOF
6894     '';
6895     meta = {
6896       description = "Database independent interface for Perl";
6897       homepage = "https://dbi.perl.org";
6898       license = with lib.licenses; [ artistic1 gpl1Plus ];
6899     };
6900   };
6902   DBICxTestDatabase = buildPerlPackage {
6903     pname = "DBICx-TestDatabase";
6904     version = "0.05";
6905     src = fetchurl {
6906       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/DBICx-TestDatabase-0.05.tar.gz";
6907       hash = "sha256-jjvCUwsBIWGIw6plrNvS9ZxOYx864IXfxDmr2J+PCs8=";
6908     };
6909     buildInputs = [ DBIxClass TestSimple13 ];
6910     propagatedBuildInputs = [ DBDSQLite SQLTranslator ];
6911     meta = {
6912       description = "Create a temporary database from a DBIx::Class::Schema";
6913       homepage = "https://metacpan.org/pod/DBICx::TestDatabase";
6914       license = with lib.licenses; [ artistic1 gpl1Plus ];
6915       maintainers = [ maintainers.sgo ];
6916     };
6917   };
6919   DBIxClass = buildPerlPackage {
6920     pname = "DBIx-Class";
6921     version = "0.082843";
6922     src = fetchurl {
6923       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082843.tar.gz";
6924       hash = "sha256-NB4Lbssp2MSRdKbAnXxtvzhym6QBXuf9cDYKT/7h8lE=";
6925     };
6926     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
6927     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstractClassic ScopeGuard SubName namespaceclean ];
6928     meta = {
6929       description = "Extensible and flexible object <-> relational mapper";
6930       homepage = "https://metacpan.org/pod/DBIx::Class";
6931       license = with lib.licenses; [ artistic1 gpl1Plus ];
6932       mainProgram = "dbicadmin";
6933     };
6934   };
6936   DBIxClassCandy = buildPerlPackage {
6937     pname = "DBIx-Class-Candy";
6938     version = "0.005003";
6939     src = fetchurl {
6940       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.005003.tar.gz";
6941       hash = "sha256-uKIpp7FfVZCV1FYc+CIEYBKFQbp/w1Re01hpkj1GVlw=";
6942     };
6943     buildInputs = [ TestDeep TestFatal ];
6944     propagatedBuildInputs = [ DBIxClass LinguaENInflect SubExporter ];
6945     meta = {
6946       description = "Sugar for your favorite ORM, DBIx::Class";
6947       homepage = "https://github.com/frioux/DBIx-Class-Candy";
6948       license = with lib.licenses; [ artistic1 gpl1Plus ];
6949     };
6950   };
6952   DBIxClassCursorCached = buildPerlPackage {
6953     pname = "DBIx-Class-Cursor-Cached";
6954     version = "1.001004";
6955     src = fetchurl {
6956       url = "mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz";
6957       hash = "sha256-NwhSMqEjClqodUOZ+1mw+PzV9Zeh4uNIxSJ0YaGSYiU=";
6958     };
6959     buildInputs = [ CacheCache DBDSQLite ];
6960     propagatedBuildInputs = [ CarpClan DBIxClass ];
6961     meta = {
6962       description = "Cursor class with built-in caching support";
6963       license = with lib.licenses; [ artistic1 gpl1Plus ];
6964     };
6965   };
6967   DBIxClassDynamicDefault = buildPerlPackage {
6968     pname = "DBIx-Class-DynamicDefault";
6969     version = "0.04";
6970     src = fetchurl {
6971       url = "mirror://cpan/authors/id/M/MS/MSTROUT/DBIx-Class-DynamicDefault-0.04.tar.gz";
6972       hash = "sha256-Io9RqyJGQlhLTcY9tt4mZ8W/riqJSpN2shChBIBqWvs=";
6973     };
6974     buildInputs = [ DBICxTestDatabase ];
6975     propagatedBuildInputs = [ DBIxClass ];
6976     meta = {
6977       description = "Automatically set and update fields";
6978       homepage = "https://metacpan.org/pod/DBIx::Class::DynamicDefault";
6979       license = with lib.licenses; [ artistic1 gpl1Plus ];
6980       maintainers = [ maintainers.sgo ];
6981     };
6982   };
6984   DBIxClassHTMLWidget = buildPerlPackage {
6985     pname = "DBIx-Class-HTMLWidget";
6986     version = "0.16";
6987     src = fetchurl {
6988       url = "mirror://cpan/authors/id/A/AN/ANDREMAR/DBIx-Class-HTMLWidget-0.16.tar.gz";
6989       hash = "sha256-QUJ1YyFu31qTllCQrg4chaldN6gdcg8CwTYM+n208Bc=";
6990     };
6991     propagatedBuildInputs = [ DBIxClass HTMLWidget ];
6992     meta = {
6993       description = "Like FromForm but with DBIx::Class and HTML::Widget";
6994       license = with lib.licenses; [ artistic1 gpl1Plus ];
6995     };
6996   };
6998   DBIxClassHelpers = buildPerlPackage {
6999     pname = "DBIx-Class-Helpers";
7000     version = "2.036000";
7001     src = fetchurl {
7002       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.036000.tar.gz";
7003       hash = "sha256-t7i0iRqYPANO8LRfQRJASgpAVQxOIX2ut6IsoWhh79s=";
7004     };
7005     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
7006     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
7007     meta = {
7008       description = "Simplify the common case stuff for DBIx::Class";
7009       homepage = "https://github.com/frioux/DBIx-Class-Helpers";
7010       license = with lib.licenses; [ artistic1 gpl1Plus ];
7011     };
7012   };
7014   DBIxClassInflateColumnSerializer = buildPerlPackage {
7015     pname = "DBIx-Class-InflateColumn-Serializer";
7016     version = "0.09";
7017     src = fetchurl {
7018       url = "mirror://cpan/authors/id/M/MR/MRUIZ/DBIx-Class-InflateColumn-Serializer-0.09.tar.gz";
7019       hash = "sha256-YmK0hx22psRaDL583o8biQsiwpGt1OzEDKruq1o6b1A=";
7020     };
7021     buildInputs = [ DBDSQLite TestException ];
7022     propagatedBuildInputs = [ DBIxClass JSONMaybeXS YAML ];
7023     meta = {
7024       description = "Inflators to serialize data structures for DBIx::Class";
7025       homepage = "https://metacpan.org/release/DBIx-Class-InflateColumn-Serializer";
7026       license = with lib.licenses; [ artistic1 gpl1Plus ];
7027       maintainers = [ maintainers.sgo ];
7028     };
7029   };
7031   DBIxClassIntrospectableM2M = buildPerlPackage {
7032     pname = "DBIx-Class-IntrospectableM2M";
7033     version = "0.001002";
7034     src = fetchurl {
7035       url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-IntrospectableM2M-0.001002.tar.gz";
7036       hash = "sha256-xrqvtCQWk/2zSynr2QaZOt02S/Mar6RGLz4GIgTMh/A=";
7037     };
7038     propagatedBuildInputs = [ DBIxClass ];
7039     meta = {
7040       description = "Introspect many-to-many relationships";
7041       license = with lib.licenses; [ artistic1 gpl1Plus ];
7042     };
7043   };
7045   DBIxClassSchemaLoader = buildPerlPackage {
7046     pname = "DBIx-Class-Schema-Loader";
7047     version = "0.07049";
7048     src = fetchurl {
7049       url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-Schema-Loader-0.07049.tar.gz";
7050       hash = "sha256-6GnN3hN4z+vM8imwzeWNJ0bcYIC3X1bQcqpfH852p2Q=";
7051     };
7052     buildInputs = [ DBDSQLite TestDeep TestDifferences TestException TestWarn ];
7053     propagatedBuildInputs = [ CarpClan ClassUnload DBIxClass DataDump StringToIdentifierEN curry ];
7054     meta = {
7055       description = "Create a DBIx::Class::Schema based on a database";
7056       license = with lib.licenses; [ artistic1 gpl1Plus ];
7057       mainProgram = "dbicdump";
7058     };
7059   };
7061   DBIxConnector = buildPerlModule {
7062     pname = "DBIx-Connector";
7063     version = "0.56";
7064     src = fetchurl {
7065       url = "mirror://cpan/authors/id/D/DW/DWHEELER/DBIx-Connector-0.56.tar.gz";
7066       hash = "sha256-V8CNLBlRSGy5XPuD9Rj0YqPb8g01Pz7uT0avRPoZw1k=";
7067     };
7068     buildInputs = [ TestMockModule ];
7069     propagatedBuildInputs = [ DBI ];
7070     meta = {
7071       description = "Fast, safe DBI connection and transaction management";
7072       license = with lib.licenses; [ artistic1 gpl1Plus ];
7073     };
7074   };
7076   DBIxDBSchema = buildPerlPackage {
7077     pname = "DBIx-DBSchema";
7078     version = "0.45";
7079     src = fetchurl {
7080       url = "mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.45.tar.gz";
7081       hash = "sha256-eiqXj7bZ/qo+SxCcccljsmoAii0TDFh27PJMWnIzih0=";
7082     };
7083     propagatedBuildInputs = [ DBI ];
7084     meta = {
7085       description = "Database-independent schema objects";
7086       license = with lib.licenses; [ artistic1 gpl1Plus ];
7087     };
7088   };
7090   DBIxSearchBuilder = buildPerlPackage {
7091     pname = "DBIx-SearchBuilder";
7092     version = "1.71";
7093     src = fetchurl {
7094       url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.71.tar.gz";
7095       hash = "sha256-5C/dpvbmSSe7h3dIPlZtaDA6iwkY0YjKD+VRo6PUQr0=";
7096     };
7097     buildInputs = [ DBDSQLite ];
7098     propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBIxDBSchema Want capitalization ];
7099     meta = {
7100       description = "Encapsulate SQL queries and rows in simple perl objects";
7101       license = with lib.licenses; [ artistic1 gpl1Plus ];
7102     };
7103   };
7105   DBIxSimple = buildPerlPackage {
7106     pname = "DBIx-Simple";
7107     version = "1.37";
7108     src = fetchurl {
7109       url = "mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz";
7110       hash = "sha256-RtMRqizgiQdAHFYRllhCbbsETFpA3nPZp7eb9QOQyuM=";
7111     };
7112     propagatedBuildInputs = [ DBI ];
7113     meta = {
7114       description = "Very complete easy-to-use OO interface to DBI";
7115       license = with lib.licenses; [ artistic1 gpl1Plus ];
7116     };
7117   };
7119   DBMDeep = buildPerlPackage {
7120     pname = "DBM-Deep";
7121     version = "2.0016";
7122     src = fetchurl {
7123       url = "https://cpan.metacpan.org/authors/id/S/SP/SPROUT/DBM-Deep-2.0016.tar.gz";
7124       hash = "sha256-kCp8eqBIjY0KDops89oOlrQJOuRx5rdy8MbViY5HDk0=";
7125     };
7126     buildInputs = [ TestDeep TestException TestPod TestPodCoverage TestWarn ];
7127     meta = {
7128       description = "A pure perl multi-level hash/array DBM that supports transactions";
7129       homepage = "https://github.com/robkinyon/dbm-deep";
7130       license = with lib.licenses; [ artistic1 gpl1Plus ];
7131     };
7132   };
7134   DataBinary = buildPerlPackage {
7135     pname = "Data-Binary";
7136     version = "0.01";
7137     src = fetchurl {
7138       url = "mirror://cpan/authors/id/S/SN/SNKWATT/Data-Binary-0.01.tar.gz";
7139       hash = "sha256-SCGi3hCscQj03LKEpxuHaYGwyx6mxe1q+xd78ufLjXM=";
7140     };
7141     meta = {
7142       description = "Simple detection of binary versus text in strings";
7143       license = with lib.licenses; [ artistic2 ];
7144     };
7145   };
7147   DataBuffer = buildPerlPackage {
7148     pname = "Data-Buffer";
7149     version = "0.04";
7150     src = fetchurl {
7151       url = "mirror://cpan/authors/id/B/BT/BTROTT/Data-Buffer-0.04.tar.gz";
7152       hash = "sha256-Kz0Jt7zzifwRYgeyg77iUONI1EycY0YL7mfvq03SG7Q=";
7153     };
7154     meta = {
7155       description = "Read/write buffer class";
7156       license = with lib.licenses; [ artistic1 gpl1Plus ];
7157       maintainers = [ maintainers.sgo ];
7158     };
7159   };
7161   DBIxIntrospector = buildPerlPackage {
7162     pname = "DBIx-Introspector";
7163     version = "0.001005";
7164     src = fetchurl {
7165       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Introspector-0.001005.tar.gz";
7166       hash = "sha256-lqlNLMaQwfqP00ET47CEvypGmjI6l4AoWu+S3cOB5jo=";
7167     };
7169     propagatedBuildInputs = [ DBI Moo ];
7170     buildInputs = [ DBDSQLite TestFatal TestRoo ];
7171     meta = {
7172       description = "Detect what database you are connected to";
7173       license = with lib.licenses; [ artistic1 gpl1Plus ];
7174     };
7175   };
7177   DevelCamelcadedb = buildPerlPackage {
7178     pname = "Devel-Camelcadedb";
7179     version = "2021.2";
7180     src = fetchurl {
7181       url = "mirror://cpan/authors/id/H/HU/HURRICUP/Devel-Camelcadedb-v2021.2.tar.gz";
7182       hash = "sha256-iKHZ6V05j/5NQRSGHiHDb3wiMVs9A+f3ZMy84BirPkc=";
7183     };
7184     propagatedBuildInputs = [ HashStoredIterator JSONXS PadWalker ];
7185     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
7186     meta = {
7187       description = "Perl side of the Perl debugger for IntelliJ IDEA and other JetBrains IDEs";
7188       license = with lib.licenses; [ mit ];
7189     };
7190   };
7192   DevelCycle = buildPerlPackage {
7193     pname = "Devel-Cycle";
7194     version = "1.12";
7195     src = fetchurl {
7196       url = "mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz";
7197       hash = "sha256-/TNlxNiYsrK927eKRtUHoYzKhJCikBmVR9q38ec5C8I=";
7198     };
7199     meta = {
7200       description = "Find memory cycles in objects";
7201       license = with lib.licenses; [ artistic1 gpl1Plus ];
7202     };
7203   };
7205   DevelDeclare = buildPerlPackage {
7206     pname = "Devel-Declare";
7207     version = "0.006022";
7208     src = fetchurl {
7209       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-Declare-0.006022.tar.gz";
7210       hash = "sha256-cvKco1ZGpZO+mDEf/dtyAzrh6KnYJUxiqiSL1iYOWW4=";
7211     };
7212     buildInputs = [ ExtUtilsDepends TestRequires ];
7213     propagatedBuildInputs = [ BHooksEndOfScope BHooksOPCheck SubName ];
7214     meta = {
7215       description = "(DEPRECATED) Adding keywords to perl, in perl";
7216       license = with lib.licenses; [ artistic1 gpl1Plus ];
7217     };
7218   };
7220   DevelFindPerl = buildPerlPackage {
7221     pname = "Devel-FindPerl";
7222     version = "0.015";
7223     src = fetchurl {
7224       url = "mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.015.tar.gz";
7225       hash = "sha256-UnW33CJv5/Fstp/G+Z9eKahSxqTTt4arGIajE4Z0Pfw=";
7226     };
7227     meta = {
7228       description = "Find the path to your perl";
7229       license = with lib.licenses; [ artistic1 gpl1Plus ];
7230     };
7231   };
7233   DevelGlobalDestruction = buildPerlPackage {
7234     pname = "Devel-GlobalDestruction";
7235     version = "0.14";
7236     src = fetchurl {
7237       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz";
7238       hash = "sha256-NLil8pmRMRRo/mkTytq6df1dKws+47tB/ltT76uRVKs=";
7239     };
7240     propagatedBuildInputs = [ SubExporterProgressive ];
7241     meta = {
7242       description = "Provides function returning the equivalent of \${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls";
7243       homepage = "https://metacpan.org/release/Devel-GlobalDestruction";
7244       license = with lib.licenses; [ artistic1 gpl1Plus ];
7245     };
7246   };
7248   DevelGlobalPhase = buildPerlPackage {
7249     pname = "Devel-GlobalPhase";
7250     version = "0.003003";
7251     src = fetchurl {
7252       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz";
7253       hash = "sha256-jaMCL3ynHf2/SqYGmJRNcgCsMUn0c32KnJG/Q4f/MvU=";
7254     };
7255     meta = {
7256       description = "Detect perl's global phase on older perls";
7257       license = with lib.licenses; [ artistic1 gpl1Plus ];
7258     };
7259   };
7261   DevelHide = buildPerlPackage {
7262     pname = "Devel-Hide";
7263     version = "0.0013";
7264     src = fetchurl {
7265       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-Hide-0.0013.tar.gz";
7266       hash = "sha256-b8O7z08CU6blFoKWyQmTjBPIhpI6eZWslp5Hrfzwfss=";
7267     };
7268     meta = {
7269       description = "Forces the unavailability of specified Perl modules (for testing)";
7270       license = with lib.licenses; [ artistic1 gpl1Plus ];
7271     };
7272   };
7274   DevelNYTProf = buildPerlPackage {
7275     pname = "Devel-NYTProf";
7276     version = "6.10";
7277     src = fetchurl {
7278       url = "mirror://cpan/authors/id/J/JK/JKEENAN/Devel-NYTProf-6.10.tar.gz";
7279       hash = "sha256-JKxBdPHwEyIGP6ThGbJH03HTJg3cpud4xsGg4/kF9Y4=";
7280     };
7281     propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
7282     buildInputs = [ CaptureTiny TestDifferences ];
7283     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
7284     postInstall = lib.optionalString stdenv.isDarwin ''
7285       shortenPerlShebang $out/bin/*
7286     '';
7287     meta = {
7288       description = "Powerful fast feature-rich Perl source code profiler";
7289       homepage = "https://code.google.com/p/perl-devel-nytprof";
7290       license = with lib.licenses; [ artistic1 gpl1Plus ];
7291     };
7292   };
7294   DevelOverloadInfo = buildPerlPackage {
7295     pname = "Devel-OverloadInfo";
7296     version = "0.005";
7297     src = fetchurl {
7298       url = "mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.005.tar.gz";
7299       hash = "sha256-i/3i/6R8mUb4rcjPxEXC+XuNHN1ngRG+6fRE6C96puc=";
7300     };
7301     propagatedBuildInputs = [ MROCompat PackageStash SubIdentify ];
7302     buildInputs = [ TestFatal ];
7303     meta = {
7304       description = "Introspect overloaded operators";
7305       license = with lib.licenses; [ artistic1 gpl1Plus ];
7306     };
7307   };
7309   DevelPartialDump = buildPerlPackage {
7310     pname = "Devel-PartialDump";
7311     version = "0.20";
7312     src = fetchurl {
7313       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz";
7314       hash = "sha256-rvD/PqWalpGWfCiFEY/2ZxVghJVwicQ4j0nbZG/T2Qc=";
7315     };
7316     propagatedBuildInputs = [ ClassTiny SubExporter namespaceclean ];
7317     buildInputs = [ TestSimple13 TestWarnings ];
7318     meta = {
7319       description = "Partial dumping of data structures, optimized for argument printing";
7320       license = with lib.licenses; [ artistic1 gpl1Plus ];
7321     };
7322   };
7324   DevelStackTrace = buildPerlPackage {
7325     pname = "Devel-StackTrace";
7326     version = "2.04";
7327     src = fetchurl {
7328       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz";
7329       hash = "sha256-zTwD7VR9PULGH6WBTJgpYTk5LnlxwJLgmkMfLJ9daFU=";
7330     };
7331     meta = {
7332       description = "An object representing a stack trace";
7333       homepage = "https://metacpan.org/release/Devel-StackTrace";
7334       license = with lib.licenses; [ artistic2 ];
7335     };
7336   };
7338   DevelSize = buildPerlPackage {
7339     pname = "Devel-Size";
7340     version = "0.83";
7341     src = fetchurl {
7342       url = "mirror://cpan/authors/id/N/NW/NWCLARK/Devel-Size-0.83.tar.gz";
7343       hash = "sha256-dXpn4KpZrhA+pcoJLL7MAlZE69wyZzFoj/q2+II+9LM=";
7344     };
7345     meta = {
7346       description = "Perl extension for finding the memory usage of Perl variables";
7347       license = with lib.licenses; [ artistic1 gpl1Plus ];
7348     };
7349   };
7351   DevelStackTraceAsHTML = buildPerlPackage {
7352     pname = "Devel-StackTrace-AsHTML";
7353     version = "0.15";
7354     src = fetchurl {
7355       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz";
7356       hash = "sha256-YoPb4hl+LyAAnMS0SZl3Qhac3ZUb/ETLxuYsKpYtMUc=";
7357     };
7358     propagatedBuildInputs = [ DevelStackTrace ];
7359     meta = {
7360       description = "Displays stack trace in HTML";
7361       homepage = "https://github.com/miyagawa/Devel-StackTrace-AsHTML";
7362       license = with lib.licenses; [ artistic1 gpl1Plus ];
7363     };
7364   };
7366   DevelSymdump = buildPerlPackage {
7367     pname = "Devel-Symdump";
7368     version = "2.18";
7369     src = fetchurl {
7370       url = "mirror://cpan/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz";
7371       hash = "sha256-gm+BoQf1WSolFnZu1DvrR+EMyD7cnqSAkLAqNgQHdsA=";
7372     };
7373     meta = {
7374       description = "Dump symbol names or the symbol table";
7375       license = with lib.licenses; [ artistic1 gpl1Plus ];
7376     };
7377   };
7379   DigestCRC = buildPerlPackage {
7380     pname = "Digest-CRC";
7381     version = "0.22.2";
7382     src = fetchurl {
7383       url = "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-0.22.2.tar.gz";
7384       hash = "sha256-EStQ9/vG9rr11FhO6X9ULO1snsA6MUf3kCyEuLJneMs=";
7385     };
7386     meta = {
7387       description = "Module that calculates CRC sums of all sorts";
7388       license = with lib.licenses; [ publicDomain ];
7389     };
7390   };
7392   DigestHMAC = buildPerlPackage {
7393     pname = "Digest-HMAC";
7394     version = "1.03";
7395     src = fetchurl {
7396       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz";
7397       hash = "sha256-O8csbT/xRNc677kOmnjTNhLVjPHNFjHs+4mFupbaSlk=";
7398     };
7399     meta = {
7400       description = "Keyed-Hashing for Message Authentication";
7401       homepage = "https://metacpan.org/release/Digest-HMAC";
7402       license = with lib.licenses; [ artistic1 gpl1Plus ];
7403     };
7404   };
7406   DigestJHash = buildPerlPackage {
7407     pname = "Digest-JHash";
7408     version = "0.10";
7409     src = fetchurl {
7410       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Digest-JHash-0.10.tar.gz";
7411       hash = "sha256-x0bPCoYaAECQJjzVTXco0MdZWgz5DLv9hAmzlu47AGM=";
7412     };
7413     meta = {
7414       description = "Perl extension for 32 bit Jenkins Hashing Algorithm";
7415       license = with lib.licenses; [ artistic2 ];
7416     };
7417   };
7419   DigestMD2 = buildPerlPackage {
7420     pname = "Digest-MD2";
7421     version = "2.04";
7422     src = fetchurl {
7423       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-MD2-2.04.tar.gz";
7424       hash = "sha256-0Kq/SDTCCsQRvqQnxKMItZpfyqMnZ571KUwdaKtx7tM=";
7425     };
7426     meta = {
7427       description = "Perl interface to the MD2 Algorithm";
7428       license = with lib.licenses; [ artistic1 gpl1Plus ];
7429       maintainers = [ maintainers.sgo ];
7430     };
7431   };
7433   DigestMD4 = buildPerlPackage {
7434     pname = "Digest-MD4";
7435     version = "1.9";
7436     src = fetchurl {
7437       url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz";
7438       hash = "sha256-ZlEQu6MkcPOY8xHNZGL9iXXXyDZ1/2dLwvbHtysMqqY=";
7439     };
7440     meta = {
7441       description = "Perl interface to the MD4 Algorithm";
7442       license = with lib.licenses; [ artistic1 gpl1Plus ];
7443     };
7444   };
7446   DigestMD5File = buildPerlPackage {
7447     pname = "Digest-MD5-File";
7448     version = "0.08";
7449     src = fetchurl {
7450       url = "mirror://cpan/authors/id/D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz";
7451       hash = "sha256-rbQ6VOMmJ7T35XyWQObrBtC7edjqVM0L157TVoj7Ehg=";
7452     };
7453     propagatedBuildInputs = [ LWP ];
7454     meta = {
7455       description = "Perl extension for getting MD5 sums for files and urls";
7456       license = with lib.licenses; [ artistic1 gpl1Plus ];
7457     };
7458   };
7460   DigestPerlMD5 = buildPerlPackage {
7461     pname = "Digest-Perl-MD5";
7462     version = "1.9";
7463     src = fetchurl {
7464       url = "mirror://cpan/authors/id/D/DE/DELTA/Digest-Perl-MD5-1.9.tar.gz";
7465       hash = "sha256-cQDLoXEPRfsOkH2LGnvYyu81xkrNMdfyJa/1r/7s2bE=";
7466     };
7467     meta = {
7468       description = "Perl Implementation of Rivest's MD5 algorithm";
7469       license = with lib.licenses; [ artistic1 gpl1Plus ];
7470     };
7471   };
7473   DigestSHA1 = buildPerlPackage {
7474     pname = "Digest-SHA1";
7475     version = "2.13";
7476     src = fetchurl {
7477       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz";
7478       hash = "sha256-aMHawhh0IfDrer9xRSoG8ZAYG4/Eso7e31uQKW+5Q8w=";
7479     };
7480     meta = {
7481       description = "Perl interface to the SHA-1 algorithm";
7482       license = with lib.licenses; [ artistic1 gpl1Plus ];
7483     };
7484   };
7486   DigestSHA3 = buildPerlPackage {
7487     pname = "Digest-SHA3";
7488     version = "1.04";
7489     src = fetchurl {
7490       url = "mirror://cpan/authors/id/M/MS/MSHELOR/Digest-SHA3-1.04.tar.gz";
7491       hash = "sha256-Smi2fFA09A+7E0SzBM1myqpeMg61IwBSAcwk921HDBQ=";
7492     };
7493     meta = {
7494       description = "Perl extension for SHA-3";
7495       homepage = "https://metacpan.org/release/Digest-SHA3";
7496       license = with lib.licenses; [ artistic1 gpl1Plus ];
7497       maintainers = [ maintainers.sgo ];
7498       mainProgram = "sha3sum";
7499     };
7500   };
7502   DigestSRI = buildPerlPackage {
7503     pname = "Digest-SRI";
7504     version = "0.02";
7505     src = fetchurl {
7506       url = "mirror://cpan/authors/id/H/HA/HAUKEX/Digest-SRI-0.02.tar.gz";
7507       hash = "sha256-VITN/m68OYwkZfeBx3w++1OKOULNSyDWiBjG//kHT8c=";
7508     };
7509     meta = {
7510       description = "Calculate and verify Subresource Integrity hashes (SRI)";
7511       homepage = "https://github.com/haukex/Digest-SRI";
7512       license = with lib.licenses; [ gpl3Plus ];
7513     };
7514   };
7516   DirManifest = buildPerlModule {
7517     pname = "Dir-Manifest";
7518     version = "0.6.1";
7519     src = fetchurl {
7520       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Dir-Manifest-0.6.1.tar.gz";
7521       hash = "sha256-hP9yJoc9XoZW7Hc0TAg4wVOp8BW0a2Dh/oeYuykn5QU=";
7522     };
7523     propagatedBuildInputs = [ Moo PathTiny ];
7524     meta = {
7525       description = "Treat a directory and a manifest file as a hash/dictionary of keys to texts or blobs";
7526       homepage = "https://metacpan.org/release/Dir-Manifest";
7527       license = with lib.licenses; [ mit ];
7528     };
7529   };
7531   DirSelf = buildPerlPackage {
7532     pname = "Dir-Self";
7533     version = "0.11";
7534     src = fetchurl {
7535       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dir-Self-0.11.tar.gz";
7536       hash = "sha256-4lGlGrx9m6PnCPc8KqII4J1HoMUo1iVHEPp4zI1ohbU=";
7537     };
7538     meta = {
7539       description = "A __DIR__ constant for the directory your source file is in";
7540       homepage = "https://github.com/mauke/Dir-Self";
7541       license = with lib.licenses; [ artistic1 gpl1Plus ];
7542     };
7543   };
7545   DispatchClass = buildPerlPackage {
7546     pname = "Dispatch-Class";
7547     version = "0.02";
7548     src = fetchurl {
7549       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dispatch-Class-0.02.tar.gz";
7550       hash = "sha256-1020Oxr56L1G/8Fb/k3x5dgQxCzoWC6TdRDcKiyhZYI=";
7551     };
7552     propagatedBuildInputs = [ ExporterTiny ];
7553     meta = {
7554       description = "Dispatch on the type (class) of an argument";
7555       license = with lib.licenses; [ artistic1 gpl1Plus ];
7556     };
7557   };
7559   DistCheckConflicts = buildPerlPackage {
7560     pname = "Dist-CheckConflicts";
7561     version = "0.11";
7562     src = fetchurl {
7563       url = "mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz";
7564       hash = "sha256-6oRLlobJTWZtnURDIddkSQss3i+YXEFltMLHdmXK7cQ=";
7565     };
7566     buildInputs = [ TestFatal ];
7567     propagatedBuildInputs = [ ModuleRuntime ];
7568     meta = {
7569       description = "Declare version conflicts for your dist";
7570       homepage = "https://metacpan.org/release/Dist-CheckConflicts";
7571       license = with lib.licenses; [ artistic1 gpl1Plus ];
7572     };
7573   };
7575   DistZilla = buildPerlPackage {
7576     pname = "Dist-Zilla";
7577     version = "6.017";
7578     src = fetchurl {
7579       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.017.tar.gz";
7580       hash = "sha256-XI0wzjOsi16Tfm+D/Pp3nnIlyhSZUe5cm8LDrzwrb+4=";
7581     };
7582     buildInputs = [ CPANMetaCheck TestDeep TestFailWarnings TestFatal TestFileShareDir ];
7583     propagatedBuildInputs = [ AppCmd CPANUploader ConfigMVPReaderINI DateTime FileCopyRecursive FileFindRule FileShareDirInstall Filepushd LogDispatchouli MooseXLazyRequire MooseXSetOnce MooseXTypesPerl PathTiny PerlPrereqScanner SoftwareLicense TermEncoding TermUI YAMLTiny ];
7584     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
7585     postInstall = lib.optionalString stdenv.isDarwin ''
7586       shortenPerlShebang $out/bin/dzil
7587     '';
7588     doCheck = false;
7589     meta = {
7590       description = "Distribution builder; installer not included!";
7591       homepage = "https://dzil.org";
7592       license = with lib.licenses; [ artistic1 gpl1Plus ];
7593       mainProgram = "dzil";
7594     };
7595   };
7597   DistZillaPluginBundleTestingMania = buildPerlModule {
7598     pname = "Dist-Zilla-PluginBundle-TestingMania";
7599     version = "0.25";
7600     src = fetchurl {
7601       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz";
7602       hash = "sha256-XguywA8UD9ZNy9EvpdPJ4kS5NWgor0ZRmLYjBGnUWRw=";
7603     };
7604     buildInputs = [ MooseAutobox TestCPANMeta TestPerlCritic TestVersion ];
7605     propagatedBuildInputs = [ DistZillaPluginMojibakeTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestNoTabs DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion PodCoverageTrustPod ];
7606     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
7607     meta = {
7608       description = "Test your dist with every testing plugin conceivable";
7609       homepage = "https://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania";
7610       license = with lib.licenses; [ artistic1 gpl1Plus ];
7611     };
7612   };
7614   DistZillaPluginCheckChangeLog = buildPerlPackage {
7615     pname = "Dist-Zilla-Plugin-CheckChangeLog";
7616     version = "0.05";
7617     src = fetchurl {
7618       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz";
7619       hash = "sha256-sLNNbXC1bxlE0DxfDcO49vJEdMgW0HtlehFsaSwuBSo=";
7620     };
7621     propagatedBuildInputs = [ DistZilla ];
7622     buildInputs = [ PathClass PodCoverage PodCoverageTrustPod PodMarkdown TestDeep TestException TestPod TestPodCoverage ];
7623     meta = {
7624       description = "Dist::Zilla with Changes check";
7625       license = with lib.licenses; [ artistic1 gpl1Plus ];
7626     };
7627   };
7629   DistZillaPluginMojibakeTests = buildPerlPackage {
7630     pname = "Dist-Zilla-Plugin-MojibakeTests";
7631     version = "0.8";
7632     src = fetchurl {
7633       url = "mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz";
7634       hash = "sha256-8f/1R+okqPekg0Bqcu1sQFjXRtna6WNyVQLdugJas4A=";
7635     };
7636     propagatedBuildInputs = [ DistZilla ];
7637     buildInputs = [ TestMojibake ];
7638     meta = {
7639       description = "Author tests for source encoding";
7640       homepage = "https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests";
7641       license = with lib.licenses; [ artistic1 gpl1Plus ];
7642     };
7643   };
7645   DistZillaPluginPodWeaver = buildPerlPackage {
7646     pname = "Dist-Zilla-Plugin-PodWeaver";
7647     version = "4.008";
7648     src = fetchurl {
7649       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.008.tar.gz";
7650       hash = "sha256-H9njgz8qEsTQSQ9FXgb2gZ87+Bt1I46kSOKToo2IwTk=";
7651     };
7652     propagatedBuildInputs = [ DistZilla PodElementalPerlMunger PodWeaver ];
7653     meta = {
7654       description = "Weave your Pod together from configuration and Dist::Zilla";
7655       homepage = "https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver";
7656       license = with lib.licenses; [ artistic1 gpl1Plus ];
7657     };
7658   };
7660   DistZillaPluginReadmeAnyFromPod = buildPerlPackage {
7661     pname = "Dist-Zilla-Plugin-ReadmeAnyFromPod";
7662     version = "0.163250";
7663     src = fetchurl {
7664       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz";
7665       hash = "sha256-1E8nmZIveLKnlh7YkSPhG913q/6FuiBA2CuArXLtE7w=";
7666     };
7667     buildInputs = [ TestDeep TestDifferences TestException TestFatal TestMost TestRequires TestSharedFork TestWarn ];
7668     propagatedBuildInputs = [ DistZillaRoleFileWatcher MooseXHasSugar PodMarkdownGithub ];
7669     meta = {
7670       description = "Automatically convert POD to a README in any format for Dist::Zilla";
7671       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod";
7672       license = with lib.licenses; [ artistic1 gpl1Plus ];
7673     };
7674   };
7676   DistZillaPluginReadmeMarkdownFromPod = buildPerlPackage {
7677     pname = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
7678     version = "0.141140";
7679     src = fetchurl {
7680       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz";
7681       hash = "sha256-nKrXs2bqWRGa1zzdmdzdU/h3pRW9AWT8KLM5wBc5qAE=";
7682     };
7683     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
7684     propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod ];
7685     meta = {
7686       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
7687       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
7688       license = with lib.licenses; [ artistic1 gpl1Plus ];
7689     };
7690   };
7692   DistZillaPluginTestCPANChanges = buildPerlPackage {
7693     pname = "Dist-Zilla-Plugin-Test-CPAN-Changes";
7694     version = "0.012";
7695     src = fetchurl {
7696       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.012.tar.gz";
7697       hash = "sha256-IVs6XDxYyLqw6icTBEG72uxzfuzADwZwk39gi9v2SAY=";
7698     };
7699     buildInputs = [ CPANChanges TestDeep ];
7700     propagatedBuildInputs = [ DistZilla ];
7701     meta = {
7702       description = "Release tests for your changelog";
7703       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes";
7704       license = with lib.licenses; [ artistic1 gpl1Plus ];
7705     };
7706   };
7708   DistZillaPluginTestCPANMetaJSON = buildPerlModule {
7709     pname = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON";
7710     version = "0.004";
7711     src = fetchurl {
7712       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz";
7713       hash = "sha256-Clc+HVZAN05u5NVtT7lKPGfU511Ss93q5wz6ZFDhryI=";
7714     };
7715     buildInputs = [ MooseAutobox TestCPANMetaJSON TestDeep ];
7716     propagatedBuildInputs = [ DistZilla ];
7717     meta = {
7718       description = "Validate your CPAN META.json files";
7719       homepage = "https://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON";
7720       license = with lib.licenses; [ artistic2 ];
7721     };
7722   };
7724   DistZillaPluginTestCompile = buildPerlModule {
7725     pname = "Dist-Zilla-Plugin-Test-Compile";
7726     version = "2.058";
7727     src = fetchurl {
7728       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.058.tar.gz";
7729       hash = "sha256-0M+T5SXxAuyg9/OWcSTS5Z0KIS9zjOVMHd2R3aJo2Io=";
7730     };
7731     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestDeep TestMinimumVersion TestWarnings ];
7732     propagatedBuildInputs = [ DistZilla ];
7733     meta = {
7734       description = "Assert that your Perl files compile OK";
7735       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile";
7736       license = with lib.licenses; [ artistic1 gpl1Plus ];
7737     };
7738   };
7740   DistZillaPluginTestDistManifest = buildPerlModule {
7741     pname = "Dist-Zilla-Plugin-Test-DistManifest";
7742     version = "2.000005";
7743     src = fetchurl {
7744       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000005.tar.gz";
7745       hash = "sha256-Twrye7OHRdLex9lBvPdJ5tf76vjnvPinmhMQqWObD2U=";
7746     };
7747     buildInputs = [ TestDeep TestDistManifest TestOutput ];
7748     propagatedBuildInputs = [ DistZilla ];
7749     meta = {
7750       description = "Author test that validates a package MANIFEST";
7751       homepage = "https://github.com/jawnsy/Test-DistManifest";
7752       license = with lib.licenses; [ artistic1 gpl1Plus ];
7753     };
7754   };
7756   DistZillaPluginTestEOL = buildPerlModule {
7757     pname = "Dist-Zilla-Plugin-Test-EOL";
7758     version = "0.19";
7759     src = fetchurl {
7760       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz";
7761       hash = "sha256-orlZx6AszDLt1D7lhgmHVhPv1Ty8u9YDmeF/FUZ6Qzg=";
7762     };
7763     buildInputs = [ ModuleBuildTiny TestDeep TestEOL TestWarnings ];
7764     propagatedBuildInputs = [ DistZilla ];
7765     meta = {
7766       description = "Check the correct line endings in your project";
7767       homepage = "https://github.com/karenetheridge/Test-EOL";
7768       license = with lib.licenses; [ artistic1 gpl1Plus ];
7769     };
7770   };
7772   DistZillaPluginTestKwalitee = buildPerlModule {
7773     pname = "Dist-Zilla-Plugin-Test-Kwalitee";
7774     version = "2.12";
7775     src = fetchurl {
7776       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz";
7777       hash = "sha256-vdvPzHXo6y0tnIYRVS8AzcGwUfDwB5hiO4aS/1Awry8=";
7778     };
7779     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestKwalitee ];
7780     propagatedBuildInputs = [ DistZilla ];
7781     meta = {
7782       description = "Test the Kwalitee of a distribution before you release it";
7783       license = with lib.licenses; [ artistic1 gpl1Plus ];
7784     };
7785   };
7787   DistZillaPluginTestMinimumVersion = buildPerlModule {
7788     pname = "Dist-Zilla-Plugin-Test-MinimumVersion";
7789     version = "2.000010";
7790     src = fetchurl {
7791       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-MinimumVersion-2.000010.tar.gz";
7792       hash = "sha256-uLcfS2S2ifS2R6OofWqqrkWmiJLTXja6qXb2BXNjcPs=";
7793     };
7794     buildInputs = [ ModuleBuildTiny TestDeep TestMinimumVersion TestOutput ];
7795     propagatedBuildInputs = [ DistZilla ];
7796     meta = {
7797       description = "Release tests for minimum required versions";
7798       license = with lib.licenses; [ artistic1 gpl1Plus ];
7799     };
7800   };
7802   DistZillaPluginTestNoTabs = buildPerlModule {
7803     pname = "Dist-Zilla-Plugin-Test-NoTabs";
7804     version = "0.15";
7805     src = fetchurl {
7806       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz";
7807       hash = "sha256-G2EMQpFpKbtwFDw2t55XF1JbDp3njj1GCal4ZCtk0KQ=";
7808     };
7809     propagatedBuildInputs = [ DistZilla ];
7810     buildInputs = [ ModuleBuildTiny TestDeep TestNoTabs TestRequires ];
7811     meta = {
7812       description = "Check the presence of tabs in your project";
7813       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-NoTabs";
7814       license = with lib.licenses; [ artistic1 gpl1Plus ];
7815     };
7816   };
7818   DistZillaPluginTestPerlCritic = buildPerlModule {
7819     pname = "Dist-Zilla-Plugin-Test-Perl-Critic";
7820     version = "3.001";
7821     src = fetchurl {
7822       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz";
7823       hash = "sha256-klC1nV3Brkxok7p4O9PwUTGxT/npGvtFVTFPVSaKOCU=";
7824     };
7825     buildInputs = [ ModuleBuildTiny TestDeep TestPerlCritic ];
7826     propagatedBuildInputs = [ DistZilla ];
7827     meta = {
7828       description = "Tests to check your code against best practices";
7829       license = with lib.licenses; [ artistic1 gpl1Plus ];
7830     };
7831   };
7833   DistZillaPluginTestPodLinkCheck = buildPerlPackage {
7834     pname = "Dist-Zilla-Plugin-Test-Pod-LinkCheck";
7835     version = "1.004";
7836     src = fetchurl {
7837       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004.tar.gz";
7838       hash = "sha256-Ml0jbaCUA4jSqobsXBMmUWtK1Fre+Oek+Du5HV7hVJA=";
7839     };
7840     # buildInputs = [ TestPodLinkCheck ];
7841     propagatedBuildInputs = [ DistZilla ];
7842     buildInputs = [ TestPodLinkCheck ];
7843     meta = {
7844       description = "Add release tests for POD links";
7845       homepage = "https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck";
7846       license = with lib.licenses; [ artistic1 gpl1Plus ];
7847     };
7848   };
7850   DistZillaPluginTestPortability = buildPerlModule {
7851     pname = "Dist-Zilla-Plugin-Test-Portability";
7852     version = "2.001000";
7853     src = fetchurl {
7854       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001000.tar.gz";
7855       hash = "sha256-4I/1vZ4kz5UDBVMwFIkTgI2Ro9/jIKK9+LD8Y4cZsXk=";
7856     };
7857     buildInputs = [ ModuleBuildTiny TestDeep TestPortabilityFiles TestWarnings ];
7858     propagatedBuildInputs = [ DistZilla ];
7859     meta = {
7860       description = "Author tests for portability";
7861       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Portability";
7862       license = with lib.licenses; [ artistic1 gpl1Plus ];
7863     };
7864   };
7866   DistZillaPluginTestSynopsis = buildPerlPackage {
7867     pname = "Dist-Zilla-Plugin-Test-Synopsis";
7868     version = "2.000007";
7869     src = fetchurl {
7870       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz";
7871       hash = "sha256-59XiUwzYpbtarfPhZpplOqqW4yyte9a5yrprQlzqtWM=";
7872     };
7873     buildInputs = [ TestDeep TestOutput TestSynopsis ];
7874     propagatedBuildInputs = [ DistZilla ];
7875     meta = {
7876       description = "Release tests for synopses";
7877       license = with lib.licenses; [ artistic1 gpl1Plus ];
7878     };
7879   };
7881   DistZillaPluginTestUnusedVars = buildPerlModule {
7882     pname = "Dist-Zilla-Plugin-Test-UnusedVars";
7883     version = "2.000007";
7884     src = fetchurl {
7885       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000007.tar.gz";
7886       hash = "sha256-6gGZo6AEMhPdwTJQi57ZsTHvcXc1uPk9eCkRkdBLQ8I=";
7887     };
7888     buildInputs = [ TestDeep TestOutput TestVars ];
7889     propagatedBuildInputs = [ DistZilla ];
7890     meta = {
7891       description = "Release tests for unused variables";
7892       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars";
7893       license = with lib.licenses; [ artistic1 gpl1Plus ];
7894     };
7895   };
7897   DistZillaPluginTestVersion = buildPerlPackage {
7898     pname = "Dist-Zilla-Plugin-Test-Version";
7899     version = "1.09";
7900     src = fetchurl {
7901       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz";
7902       hash = "sha256-ckBQhzG8G/bfrXcB7GVFChjvkkWlIasm69ass5qevhc=";
7903     };
7904     buildInputs = [ Filechdir TestDeep TestEOL TestNoTabs TestScript TestVersion ];
7905     propagatedBuildInputs = [ DistZilla ];
7906     meta = {
7907       description = "Release Test::Version tests";
7908       license = with lib.licenses; [ artistic2 ];
7909     };
7910   };
7912   DistZillaRoleFileWatcher = buildPerlModule {
7913     pname = "Dist-Zilla-Role-FileWatcher";
7914     version = "0.006";
7915     src = fetchurl {
7916       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz";
7917       hash = "sha256-/jpEuVhtrxJ3/Lu69yFrAs4j77vWlPDfEbf3U0S+TpY=";
7918     };
7919     propagatedBuildInputs = [ DistZilla SafeIsa ];
7920     buildInputs = [ ModuleBuildTiny TestDeep TestFatal ];
7921     meta = {
7922       description = "Receive notification when something changes a file's contents";
7923       homepage = "https://github.com/karenetheridge/Dist-Zilla-Role-FileWatcher";
7924       license = with lib.licenses; [ artistic1 gpl1Plus ];
7925     };
7926   };
7928   Dotenv = buildPerlPackage {
7929     pname = "Dotenv";
7930     version = "0.002";
7931     src = fetchurl {
7932       url = "mirror://cpan/authors/id/B/BO/BOOK/Dotenv-0.002.tar.gz";
7933       hash = "sha256-BMenzEURYX16cMTKQQ0QcH3EliSM2tICQK4kIiMhJFQ=";
7934     };
7935     buildInputs = [ TestCPANMeta TestPod TestPodCoverage ];
7936     propagatedBuildInputs = [ PathTiny ];
7937     meta = {
7938       description = "Support for dotenv in Perl";
7939       license = with lib.licenses; [ artistic1 gpl1Plus ];
7940     };
7941   };
7943   Dumbbench = buildPerlPackage {
7944     pname = "Dumbbench";
7945     version = "0.111";
7946     src = fetchurl {
7947       url = "mirror://cpan/authors/id/B/BD/BDFOY/Dumbbench-0.111.tar.gz";
7948       hash = "sha256-0x08p9ZyvZKBg8y/KdMnXqWU99Mkrl9J22GClnxassc=";
7949     };
7950     propagatedBuildInputs = [ CaptureTiny ClassXSAccessor DevelCheckOS NumberWithError StatisticsCaseResampling ];
7951     meta = {
7952       description = "More reliable benchmarking with the least amount of thinking";
7953       homepage = "https://github.com/briandfoy/dumbbench";
7954       license = with lib.licenses; [ artistic1 gpl1Plus ];
7955       mainProgram = "dumbbench";
7956     };
7957   };
7959   EmailAbstract = buildPerlPackage {
7960     pname = "Email-Abstract";
7961     version = "3.008";
7962     src = fetchurl {
7963       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.008.tar.gz";
7964       hash = "sha256-/HFprLbEPffwBefvatCO6MputnlrXRYEWTyZczfMgkA=";
7965     };
7966     propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
7967     meta = {
7968       description = "Unified interface to mail representations";
7969       homepage = "https://github.com/rjbs/Email-Abstract";
7970       license = with lib.licenses; [ artistic1 gpl1Plus ];
7971     };
7972   };
7974   EmailAddress = buildPerlPackage {
7975     pname = "Email-Address";
7976     version = "1.912";
7977     src = fetchurl {
7978       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.912.tar.gz";
7979       hash = "sha256-D6N4UpjML2eA5j46X7HKgU3Lw2DOtZ7Y+oTrT/oG+e8=";
7980     };
7981     meta = {
7982       description = "RFC 2822 Address Parsing and Creation";
7983       homepage = "https://github.com/rjbs/Email-Address";
7984       license = with lib.licenses; [ artistic1 gpl1Plus ];
7985     };
7986   };
7988   EmailAddressList = buildPerlPackage {
7989     pname = "Email-Address-List";
7990     version = "0.06";
7991     src = fetchurl {
7992       url = "mirror://cpan/authors/id/B/BP/BPS/Email-Address-List-0.06.tar.gz";
7993       hash = "sha256-MFuUx3gBHO5w2fIVFNkumF+p3Mu4TGR5jwwfCyTrhw4=";
7994     };
7995     buildInputs = [ JSON ];
7996     propagatedBuildInputs = [ EmailAddress ];
7997     meta = {
7998       description = "RFC close address list parsing";
7999       license = with lib.licenses; [ artistic1 gpl1Plus ];
8000     };
8001   };
8003   EmailAddressXS = buildPerlPackage {
8004     pname = "Email-Address-XS";
8005     version = "1.04";
8006     src = fetchurl {
8007       url = "mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.04.tar.gz";
8008       hash = "sha256-mV9tBKe0h91eG1XjtSythMh3UJN8lv624k6PHxDNWT4=";
8009     };
8010     meta = {
8011       description = "Parse and format RFC 5322 email addresses and groups";
8012       license = with lib.licenses; [ artistic1 gpl1Plus ];
8013     };
8014   };
8016   EmailDateFormat = buildPerlPackage {
8017     pname = "Email-Date-Format";
8018     version = "1.005";
8019     src = fetchurl {
8020       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.005.tar.gz";
8021       hash = "sha256-V5xhfjA7nYdEEce2G0a1nTb4FXGGJQdK5oMue7nbUQQ=";
8022     };
8023     meta = {
8024       description = "Produce RFC 2822 date strings";
8025       homepage = "https://github.com/rjbs/Email-Date-Format";
8026       license = with lib.licenses; [ artistic1 gpl1Plus ];
8027     };
8028   };
8030   EmailReply = buildPerlPackage {
8031     pname = "Email-Reply";
8032     version = "1.204";
8033     src = fetchurl {
8034       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz";
8035       hash = "sha256-uk/YCsUBfW0TLgNYx4aw7NHHrcvu5cGfs9opZHkaVvA=";
8036     };
8037     propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
8038     meta = {
8039       description = "Reply to an email message";
8040       homepage = "https://github.com/Perl-Email-Project/Email-Reply";
8041       license = with lib.licenses; [ artistic1 gpl1Plus ];
8042     };
8043   };
8045   EmailMessageID = buildPerlPackage {
8046     pname = "Email-MessageID";
8047     version = "1.406";
8048     src = fetchurl {
8049       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.406.tar.gz";
8050       hash = "sha256-7EJd2/OV4OGsfG+VtJM8VcV6yfHnUUADx8kE7GzTQrg=";
8051     };
8052     meta = {
8053       description = "Generate world unique message-ids";
8054       homepage = "https://github.com/rjbs/Email-MessageID";
8055       license = with lib.licenses; [ artistic1 gpl1Plus ];
8056     };
8057   };
8059   EmailMIME = buildPerlPackage {
8060     pname = "Email-MIME";
8061     version = "1.949";
8062     src = fetchurl {
8063       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-1.949.tar.gz";
8064       hash = "sha256-Owrfa7QTz+Uddfi6eayoDer8mNwReap7LXp5r/Wmq5w=";
8065     };
8066     propagatedBuildInputs = [ EmailAddressXS EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ModuleRuntime ];
8067     meta = {
8068       description = "Easy MIME message handling";
8069       homepage = "https://github.com/rjbs/Email-MIME";
8070       license = with lib.licenses; [ artistic1 gpl1Plus ];
8071     };
8072   };
8074   EmailMIMEAttachmentStripper = buildPerlPackage {
8075     pname = "Email-MIME-Attachment-Stripper";
8076     version = "1.317";
8077     buildInputs = [ CaptureTiny ];
8078     propagatedBuildInputs = [ EmailAbstract EmailMIME ];
8080     src = fetchurl {
8081       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz";
8082       hash = "sha256-3LmLCdw+j3V+w4gqQjRUgQi7LRLjz635WibO84Gp54k=";
8083     };
8084     meta = {
8085       description = "Strip the attachments from an email";
8086       homepage = "https://github.com/rjbs/Email-MIME-Attachment-Stripper";
8087       license = with lib.licenses; [ artistic1 gpl1Plus ];
8088     };
8089   };
8091   EmailMIMEContentType = buildPerlPackage {
8092     pname = "Email-MIME-ContentType";
8093     version = "1.024";
8094     src = fetchurl {
8095       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.024.tar.gz";
8096       hash = "sha256-QtFkrH/03C6oSOcQ/iH6hVCaO8u5HtLTVuSrqVHtiDU=";
8097     };
8098     propagatedBuildInputs = [ TextUnidecode ];
8099     meta = {
8100       description = "Parse and build a MIME Content-Type or Content-Disposition Header";
8101       homepage = "https://github.com/rjbs/Email-MIME-ContentType";
8102       license = with lib.licenses; [ artistic1 gpl1Plus ];
8103     };
8104   };
8106   EmailMIMEEncodings = buildPerlPackage {
8107     pname = "Email-MIME-Encodings";
8108     version = "1.315";
8109     src = fetchurl {
8110       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.315.tar.gz";
8111       hash = "sha256-THEEVQezHshT3WAVK0DjO6N0F3nA9JuxQ7UM+NJDq1w=";
8112     };
8113     buildInputs = [ CaptureTiny ];
8114     meta = {
8115       description = "A unified interface to MIME encoding and decoding";
8116       homepage = "https://github.com/rjbs/Email-MIME-Encodings";
8117       license = with lib.licenses; [ artistic1 gpl1Plus ];
8118     };
8119   };
8121   EmailSend = buildPerlPackage {
8122     pname = "Email-Send";
8123     version = "2.201";
8124     src = fetchurl {
8125       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Send-2.201.tar.gz";
8126       hash = "sha256-S77JM1WNfMm4FSutht0xPeJ3ohqJtOqD2E5hWH6V28Y=";
8127     };
8128     propagatedBuildInputs = [ EmailAbstract EmailAddress ReturnValue ];
8129     buildInputs = [ MIMETools MailTools ];
8130     meta = {
8131       description = "Simply Sending Email";
8132       homepage = "https://github.com/rjbs/Email-Send";
8133       license = with lib.licenses; [ artistic1 gpl1Plus ];
8134     };
8135   };
8137   EmailOutlookMessage = buildPerlModule {
8138     pname = "Email-Outlook-Message";
8139     version = "0.920";
8140     src = fetchurl {
8141       url = "mirror://cpan/authors/id/M/MV/MVZ/Email-Outlook-Message-0.920.tar.gz";
8142       hash = "sha256-kiIClZ94m6tztu4mQAes+49UORNJb8y2cWGC5Nrlw4A=";
8143     };
8144     propagatedBuildInputs = [ EmailMIME EmailSender IOAll IOString OLEStorage_Lite ];
8145     preCheck = "rm t/internals.t t/plain_jpeg_attached.t"; # these tests expect EmailMIME version 1.946 and fail with 1.949 (the output difference in benign)
8146     meta = {
8147       homepage = "https://www.matijs.net/software/msgconv/";
8148       description = "A .MSG to mbox converter";
8149       license = with lib.licenses; [ artistic1 gpl1Plus ];
8150       maintainers = with maintainers; [ peterhoeg ];
8151       mainProgram = "msgconvert";
8152     };
8153   };
8155   EmailSender = buildPerlPackage {
8156     pname = "Email-Sender";
8157     version = "1.300035";
8158     src = fetchurl {
8159       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-1.300035.tar.gz";
8160       hash = "sha256-FEvYbPdo6nkQfKDpkpGoGM4738/qebtfbaE3nMfV2nk=";
8161     };
8162     buildInputs = [ CaptureTiny ];
8163     propagatedBuildInputs = [ EmailAbstract EmailAddress MooXTypesMooseLike SubExporter Throwable TryTiny ];
8164     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
8165     postPatch = ''
8166       patchShebangs --build util
8167     '';
8168     preCheck = lib.optionalString stdenv.isDarwin ''
8169       shortenPerlShebang util/sendmail
8170     '';
8171     meta = {
8172       description = "A library for sending email";
8173       homepage = "https://github.com/rjbs/Email-Sender";
8174       license = with lib.licenses; [ artistic1 gpl1Plus ];
8175     };
8176   };
8178   EmailSimple = buildPerlPackage {
8179     pname = "Email-Simple";
8180     version = "2.216";
8181     src = fetchurl {
8182       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.216.tar.gz";
8183       hash = "sha256-2F9jzRCI0RMREDZ2qM9Jj/9WSiAbU43lLNdTteXKi9Q=";
8184     };
8185     propagatedBuildInputs = [ EmailDateFormat ];
8186     meta = {
8187       description = "Simple parsing of RFC2822 message format and headers";
8188       homepage = "https://github.com/rjbs/Email-Simple";
8189       license = with lib.licenses; [ artistic1 gpl1Plus ];
8190     };
8191   };
8193   EmailStuffer = buildPerlPackage {
8194     pname = "Email-Stuffer";
8195     version = "0.018";
8196     src = fetchurl {
8197       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Stuffer-0.018.tar.gz";
8198       hash = "sha256-0ACijvCWNpmx6ytORptYq3w6DPpKdDGeDnRhVuG9igs=";
8199     };
8200     buildInputs = [ Moo TestFatal ];
8201     propagatedBuildInputs = [ EmailMIME EmailSender ModuleRuntime ParamsUtil ];
8202     meta = {
8203       description = "A more casual approach to creating and sending Email:: emails";
8204       homepage = "https://github.com/rjbs/Email-Stuffer";
8205       license = with lib.licenses; [ artistic1 gpl1Plus ];
8206       maintainers = with maintainers; [ sgo ];
8207     };
8208   };
8210   EmailValid = buildPerlPackage {
8211     pname = "Email-Valid";
8212     version = "1.202";
8213     src = fetchurl {
8214       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.202.tar.gz";
8215       hash = "sha256-0CEIm2YqYOagyKvbcr2cXkaEjSSNmKmMHqKt3xqsE6I=";
8216     };
8217     propagatedBuildInputs = [ IOCaptureOutput MailTools NetDNS NetDomainTLD ];
8218     doCheck = false;
8219     meta = {
8220       description = "Check validity of Internet email addresses";
8221       license = with lib.licenses; [ artistic1 gpl1Plus ];
8222     };
8223   };
8225   EmailValidLoose = buildPerlPackage {
8226     pname = "Email-Valid-Loose";
8227     version = "0.05";
8228     src = fetchurl {
8229       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Email-Valid-Loose-0.05.tar.gz";
8230       hash = "sha256-5xjnbt3uJAJRyZnhOcjL5vLMgBktpa+HXL0S+oq5Olk=";
8231     };
8232     propagatedBuildInputs = [ EmailValid ];
8233     meta = {
8234       description = "Email::Valid which allows dot before at mark";
8235       license = with lib.licenses; [ artistic1 gpl1Plus ];
8236     };
8237   };
8239   Encode = buildPerlPackage {
8240     pname = "Encode";
8241     version = "3.19";
8242     src = fetchurl {
8243       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-3.19.tar.gz";
8244       hash = "sha256-kWP4SO72nk1MyIODl/CGH9nqft4AERfb2WlPjZUFLvU=";
8245     };
8246     meta = {
8247       description = "Character encodings in Perl";
8248       license = with lib.licenses; [ artistic1 gpl1Plus ];
8249       mainProgram = "piconv";
8250     };
8251   };
8253   EncodeBase32GMP = buildPerlPackage {
8254     pname = "Encode-Base32-GMP";
8255     version = "0.02";
8256     src = fetchurl {
8257       url = "mirror://cpan/authors/id/J/JW/JWANG/Encode-Base32-GMP-0.02.tar.gz";
8258       hash = "sha256-RUIG+n2C5V4DJ0aYcyNBtgcVDwDo4q7FjzUyagMIMtw=";
8259     };
8260     buildInputs = [ TestBase ];
8261     propagatedBuildInputs = [ MathGMPz ];
8262     meta = {
8263       description = "High speed Base32 encoding using GMP with BigInt and MD5 support";
8264       homepage = "https://metacpan.org/release/Encode-Base32-GMP";
8265       license = with lib.licenses; [ mit ];
8266       maintainers = with maintainers; [ sgo ];
8267     };
8268   };
8270   EncodeDetect = buildPerlModule {
8271     pname = "Encode-Detect";
8272     version = "1.01";
8273     src = fetchurl {
8274       url = "mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz";
8275       hash = "sha256-g02JOqfbbOPxWK+9DkMtbtFaJ24JQNsKdL4T/ZxLu/E=";
8276     };
8277     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
8278     meta = {
8279       description = "An Encode::Encoding subclass that detects the encoding of data";
8280       license = with lib.licenses; [ mpl11 gpl2Plus lgpl2Plus ]; # taken from fedora
8281     };
8282   };
8285   EncodeEUCJPASCII = buildPerlPackage {
8286     pname = "Encode-EUCJPASCII";
8287     version = "0.03";
8288     src = fetchurl {
8289       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz";
8290       hash = "sha256-+ZjTTVX9nILPkQeGoESNHt+mC/aOLCMGckymfGKd6GE=";
8291     };
8292     outputs = [ "out" ];
8293     meta = {
8294       description = "EucJP-ascii - An eucJP-open mapping";
8295       license = with lib.licenses; [ artistic1 gpl1Plus ];
8296     };
8297   };
8299   EncodeHanExtra = buildPerlPackage {
8300     pname = "Encode-HanExtra";
8301     version = "0.23";
8302     src = fetchurl {
8303       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz";
8304       hash = "sha256-H9SwbK2nCFgAOvFT+UyGOzuV8uPQO6GNBFGoHVHbRDo=";
8305     };
8306     meta = {
8307       description = "Extra sets of Chinese encodings";
8308       license = with lib.licenses; [ mit ];
8309     };
8310   };
8312   EncodeIMAPUTF7 = buildPerlPackage {
8313     pname = "Encode-IMAPUTF7";
8314     version = "1.05";
8315     src = fetchurl {
8316       url = "mirror://cpan/authors/id/P/PM/PMAKHOLM/Encode-IMAPUTF7-1.05.tar.gz";
8317       hash = "sha256-RwMF3cN0g8/o08FtE3cKKAEfYAv1V6y4w+B3OZl8N+E=";
8318     };
8319     checkInputs = [ TestNoWarnings ];
8320     meta = {
8321       description = "IMAP modified UTF-7 encoding";
8322       license = with lib.licenses; [ artistic1 gpl1Plus ];
8323     };
8324   };
8326   EncodeJIS2K = buildPerlPackage {
8327     pname = "Encode-JIS2K";
8328     version = "0.03";
8329     src = fetchurl {
8330       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz";
8331       hash = "sha256-HshNcts53rTa1vypWs/MIQM/RaJNNHwg+aGmlolsNcw=";
8332     };
8333     outputs = [ "out" ];
8334     meta = {
8335       description = "JIS X 0212 (aka JIS 2000) Encodings";
8336       license = with lib.licenses; [ artistic1 gpl1Plus ];
8337     };
8338   };
8340   EncodeLocale = buildPerlPackage {
8341     pname = "Encode-Locale";
8342     version = "1.05";
8343     src = fetchurl {
8344       url = "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz";
8345       hash = "sha256-F2+gJ3H1QqTvsdvCpMko6PQ5G/QHhHO9YEDY8RrbDsE=";
8346     };
8347     preCheck = if stdenv.isCygwin then ''
8348       sed -i"" -e "s@plan tests => 13@plan tests => 10@" t/env.t
8349       sed -i"" -e "s@ok(env(\"\\\x@#ok(env(\"\\\x@" t/env.t
8350       sed -i"" -e "s@ok(\$ENV{\"\\\x@#ok(\$ENV{\"\\\x@" t/env.t
8351     '' else null;
8352     meta = {
8353       description = "Determine the locale encoding";
8354       license = with lib.licenses; [ artistic1 gpl1Plus ];
8355     };
8356   };
8358   EncodeNewlines = buildPerlPackage {
8359     pname = "Encode-Newlines";
8360     version = "0.05";
8361     src = fetchurl {
8362       url = "mirror://cpan/authors/id/N/NE/NEILB/Encode-Newlines-0.05.tar.gz";
8363       hash = "sha256-NLMfysjI/cghubNDSoLXEzIT73TM/yVf4UioavloN74=";
8364     };
8365     meta = {
8366       description = "Normalize line ending sequences";
8367       homepage = "https://github.com/neilb/Encode-Newlines";
8368       license = with lib.licenses; [ artistic1 gpl1Plus ];
8369     };
8370   };
8372   EncodePunycode = buildPerlPackage {
8373     pname = "Encode-Punycode";
8374     version = "1.002";
8375     src = fetchurl {
8376       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Encode-Punycode-1.002.tar.gz";
8377       hash = "sha256-yjrO7NuAtdRaoQ4c3o/sTpC0+MkYnHUE3YZY8HH3cZQ=";
8378     };
8379     buildInputs = [ TestNoWarnings ];
8380     propagatedBuildInputs = [ NetIDNEncode ];
8381     meta = {
8382       description = "Encode plugin for Punycode (RFC 3492)";
8383       homepage = "https://search.cpan.org/dist/Encode-Punycode";
8384       license = with lib.licenses; [ artistic1 gpl1Plus ];
8385     };
8386   };
8388   enum = buildPerlPackage {
8389     pname = "enum";
8390     version = "1.11";
8391     src = fetchurl {
8392       url = "mirror://cpan/authors/id/N/NE/NEILB/enum-1.11.tar.gz";
8393       hash = "sha256-0vNrUBXx419kAVmGe2C/XVzWa1bNXkLTP1Mb5o5e7jU=";
8394     };
8395     meta = {
8396       description = "C style enumerated types and bitmask flags in Perl";
8397       homepage = "https://github.com/neilb/enum";
8398       license = with lib.licenses; [ artistic1 gpl1Plus ];
8399     };
8400   };
8402   Env = buildPerlPackage {
8403     pname = "Env";
8404     version = "1.04";
8405     src = fetchurl {
8406       url = "mirror://cpan/authors/id/F/FL/FLORA/Env-1.04.tar.gz";
8407       hash = "sha256-2Uo9QS3yRq/cMaIZnL2K6RUWej9GhPe3AUzhIAJR67A=";
8408     };
8409     meta = {
8410       description = "Perl module that imports environment variables as scalars or arrays";
8411       homepage = "https://search.cpan.org/dist/Env";
8412       license = with lib.licenses; [ artistic1 gpl1Plus ];
8413     };
8414   };
8416   EnvPath = buildPerlPackage {
8417     pname = "Env-Path";
8418     version = "0.19";
8419     src = fetchurl {
8420       url = "mirror://cpan/authors/id/D/DS/DSB/Env-Path-0.19.tar.gz";
8421       hash = "sha256-JEvwk3mIMqfYQdnuW0sOa0iZlu72NUHlBQkao0qQFeI=";
8422     };
8423     meta = {
8424       description = "Advanced operations on path variables";
8425       license = with lib.licenses; [ artistic1 gpl1Plus ];
8426       mainProgram = "envpath";
8427     };
8428   };
8430   EnvSanctify = buildPerlPackage {
8431     pname = "Env-Sanctify";
8432     version = "1.12";
8433     src = fetchurl {
8434       url = "mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz";
8435       hash = "sha256-IOO1ZhwmVHSmnyiZR46ye5RkklWGu2tvtmYSnlgoMl8=";
8436     };
8437     meta = {
8438       description = "Lexically scoped sanctification of %ENV";
8439       homepage = "https://github.com/bingos/env-sanctify";
8440       license = with lib.licenses; [ artistic1 gpl1Plus ];
8441     };
8442   };
8444   Error = buildPerlModule {
8445     pname = "Error";
8446     version = "0.17029";
8447     src = fetchurl {
8448       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17029.tar.gz";
8449       hash = "sha256-GiP3kTAyrtbUtoMhNzo4mcpmWQ9HJzkaCR7BnJW/etw=";
8450     };
8451     meta = {
8452       description = "Error/exception handling in an OO-ish way";
8453       license = with lib.licenses; [ artistic1 gpl1Plus ];
8454     };
8455   };
8457   EV = buildPerlPackage {
8458     pname = "EV";
8459     version = "4.33";
8460     src = fetchurl {
8461       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.33.tar.gz";
8462       hash = "sha256-Su6DkbiBE7Qhh/kf1JJF/cjpsZOhWsIC9RnKriqo6jU=";
8463     };
8464     buildInputs = [ CanaryStability ];
8465     propagatedBuildInputs = [ commonsense ];
8466     meta = {
8467       description = "Perl interface to libev, a high performance full-featured event loop";
8468       license = with lib.licenses; [ gpl1Plus ];
8469     };
8470   };
8472   EvalClosure = buildPerlPackage {
8473     pname = "Eval-Closure";
8474     version = "0.14";
8475     src = fetchurl {
8476       url = "mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz";
8477       hash = "sha256-6glE8vXsmNiVvvbVA+bko3b+pjg6a8ZMdnDUb/IhjK0=";
8478     };
8479     buildInputs = [ TestFatal TestRequires ];
8480     meta = {
8481       description = "Safely and cleanly create closures via string eval";
8482       homepage = "https://metacpan.org/release/Eval-Closure";
8483       license = with lib.licenses; [ artistic1 gpl1Plus ];
8484     };
8485   };
8487   ExcelWriterXLSX = buildPerlPackage {
8488     pname = "Excel-Writer-XLSX";
8489     version = "1.09";
8490     src = fetchurl {
8491       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Excel-Writer-XLSX-1.09.tar.gz";
8492       hash = "sha256-1nnGrBnpPDKrd1lMeT5BuUjHuzhztgDnCtY30JPcoYc=";
8493     };
8494     propagatedBuildInputs = [ ArchiveZip ];
8495     meta = {
8496       description = "Create a new file in the Excel 2007+ XLSX format";
8497       homepage = "https://jmcnamara.github.com/excel-writer-xlsx";
8498       license = with lib.licenses; [ artistic1 gpl1Plus ];
8499       mainProgram = "extract_vba";
8500     };
8501   };
8503   ExceptionBase = buildPerlModule {
8504     pname = "Exception-Base";
8505     version = "0.2501";
8506     src = fetchurl {
8507       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2501.tar.gz";
8508       hash = "sha256-VyPdePSsC00mKgXqRq9mPqANgJay6cCkNRXCEHYOHnU=";
8509     };
8510     buildInputs = [ TestUnitLite ];
8511     meta = {
8512       description = "Lightweight exceptions";
8513       license = with lib.licenses; [ artistic1 gpl1Plus ];
8514     };
8515   };
8517   ExceptionClass = buildPerlPackage {
8518     pname = "Exception-Class";
8519     version = "1.44";
8520     src = fetchurl {
8521       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Exception-Class-1.44.tar.gz";
8522       hash = "sha256-M/P7+LE407BOpOwLqD+w32uomIBrz07zk9TK/Boj7g0=";
8523     };
8524     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
8525     meta = {
8526       description = "An Exception Object Class";
8527       license = with lib.licenses; [ artistic1 gpl1Plus ];
8528     };
8529   };
8531   ExceptionDied = buildPerlModule {
8532     pname = "Exception-Died";
8533     version = "0.06";
8534     src = fetchurl {
8535       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz";
8536       hash = "sha256-NcRAvCr9TVfiQaDbG05o2dUpXfLbjXidObX0UQWXirU=";
8537     };
8538     buildInputs = [ TestAssert TestUnitLite ];
8539     propagatedBuildInputs = [ ExceptionBase constantboolean ];
8540     meta = {
8541       description = "Convert simple die into real exception object";
8542       license = with lib.licenses; [ artistic1 gpl1Plus ];
8543     };
8544   };
8546   ExceptionWarning = buildPerlModule {
8547     pname = "Exception-Warning";
8548     version = "0.0401";
8549     src = fetchurl {
8550       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz";
8551       hash = "sha256-ezacps61se3ytdX4cOl0x8k+kwNnw5o5AL/2CZce06g=";
8552     };
8553     buildInputs = [ TestAssert TestUnitLite ];
8554     propagatedBuildInputs = [ ExceptionBase ];
8555     meta = {
8556       description = "Convert simple warn into real exception object";
8557       license = with lib.licenses; [ artistic1 gpl1Plus ];
8558     };
8559   };
8561   ExporterDeclare = buildPerlModule {
8562     pname = "Exporter-Declare";
8563     version = "0.114";
8564     src = fetchurl {
8565       url = "mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz";
8566       hash = "sha256-S9cNbKdvb2un5MYY1KyTuFk6WPEjPMvhixD18gTx1OQ=";
8567     };
8568     buildInputs = [ FennecLite TestException ];
8569     propagatedBuildInputs = [ MetaBuilder aliased ];
8570     meta = {
8571       description = "Exporting done right";
8572       homepage = "http://open-exodus.net/projects/Exporter-Declare";
8573       license = with lib.licenses; [ artistic1 gpl1Plus ];
8574     };
8575   };
8577   ExporterLite = buildPerlPackage {
8578     pname = "Exporter-Lite";
8579     version = "0.08";
8580     src = fetchurl {
8581       url = "mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz";
8582       hash = "sha256-wFs5Ca9MuG82SV6UpZnSPrq0K+ehjv0NFB/BWGMJ2sI=";
8583     };
8584     meta = {
8585       description = "Lightweight exporting of functions and variables";
8586       license = with lib.licenses; [ artistic1 gpl1Plus ];
8587     };
8588   };
8590   ExporterTiny = buildPerlPackage {
8591     pname = "Exporter-Tiny";
8592     version = "1.002002";
8593     src = fetchurl {
8594       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.002002.tar.gz";
8595       hash = "sha256-APC5VxaxgVcTLGwRje2LoxOSVj0Z5JBDPpplOC5wcQE=";
8596     };
8597     meta = {
8598       description = "An exporter with the features of Sub::Exporter but only core dependencies";
8599       homepage = "https://metacpan.org/release/Exporter-Tiny";
8600       license = with lib.licenses; [ artistic1 gpl1Plus ];
8601     };
8602   };
8604   Expect = buildPerlPackage {
8605     pname = "Expect";
8606     version = "1.35";
8607     src = fetchurl {
8608       url = "mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz";
8609       hash = "sha256-CdknYUId7NSVhTEDN5FlqZ779FLHIPMCd2As8jZ5/QY=";
8610     };
8611     propagatedBuildInputs = [ IOTty ];
8612     meta = {
8613       description = "Automate interactions with command line programs that expose a text terminal interface";
8614       license = with lib.licenses; [ artistic1 gpl1Plus ];
8615     };
8616   };
8618   ExpectSimple = buildPerlPackage {
8619     pname = "Expect-Simple";
8620     version = "0.04";
8621     src = fetchurl {
8622       url = "mirror://cpan/authors/id/D/DJ/DJERIUS/Expect-Simple-0.04.tar.gz";
8623       hash = "sha256-r4O5IYXmQmlZE/8Tjv6Bl1LoCFd1mZber8qrJwCtXbU=";
8624     };
8625     propagatedBuildInputs = [ Expect ];
8626     meta = {
8627       description = "Wrapper around the Expect module";
8628       license = with lib.licenses; [ artistic1 gpl1Plus ];
8629     };
8630   };
8632   ExtUtilsCChecker = buildPerlModule {
8633     pname = "ExtUtils-CChecker";
8634     version = "0.11";
8635     src = fetchurl {
8636       url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.11.tar.gz";
8637       hash = "sha256-EXc2Z343/GEfW3Y3TX+VLhlw64Dh9q1RUNUW565TG/U=";
8638     };
8639     buildInputs = [ TestFatal ];
8640     meta = {
8641       description = "Configure-time utilities for using C headers,";
8642       license = with lib.licenses; [ artistic1 gpl1Plus ];
8643     };
8644   };
8646   ExtUtilsConfig = buildPerlPackage {
8647     pname = "ExtUtils-Config";
8648     version = "0.008";
8649     src = fetchurl {
8650       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz";
8651       hash = "sha256-rlEE9jRlDc6KebftE/tZ1no5whOmd2z9qj7nSeYvGow=";
8652     };
8653     meta = {
8654       description = "A wrapper for perl's configuration";
8655       license = with lib.licenses; [ artistic1 gpl1Plus ];
8656     };
8657   };
8659   ExtUtilsConstant = buildPerlPackage {
8660     pname = "ExtUtils-Constant";
8661     version = "0.25";
8662     src = fetchurl {
8663       url = "mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz";
8664       hash = "sha256-aTPQ6WO2IoHvdWEGjmrsrIxKwrR2srugmrC5D7rJ11c=";
8665     };
8666     meta = {
8667       description = "Generate XS code to import C header constants";
8668       license = with lib.licenses; [ artistic1 gpl1Plus ];
8669     };
8670   };
8672   ExtUtilsCppGuess = buildPerlPackage {
8673     pname = "ExtUtils-CppGuess";
8674     version = "0.21";
8675     src = fetchurl {
8676       url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.21.tar.gz";
8677       hash = "sha256-/2KReDIaHlkbg/gJcSWT6uRAikE6pEhlS85ZsVbyQVM=";
8678     };
8679     doCheck = !stdenv.isDarwin;
8680     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
8681     propagatedBuildInputs = [ CaptureTiny ];
8682     buildInputs = [ ModuleBuild ];
8683     meta = {
8684       description = "Guess C++ compiler and flags";
8685       license = with lib.licenses; [ artistic1 gpl1Plus ];
8686     };
8687   };
8689   ExtUtilsDepends = buildPerlPackage {
8690     pname = "ExtUtils-Depends";
8691     version = "0.8000";
8692     src = fetchurl {
8693       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8000.tar.gz";
8694       hash = "sha256-eA/3ISjATCoi5oARh6qcWMqymEB/bp0GJwavHCULvpg=";
8695     };
8696     meta = {
8697       description = "Easily build XS extensions that depend on XS extensions";
8698       license = with lib.licenses; [ artistic1 gpl1Plus artistic1 gpl1Plus ];
8699     };
8700   };
8702   ExtUtilsF77 = buildPerlPackage rec {
8703     pname = "ExtUtils-F77";
8704     version = "1.24";
8705     src = fetchurl {
8706       url = "mirror://cpan/authors/id/K/KG/KGB/ExtUtils-F77-1.24.tar.gz";
8707       hash = "sha256-NVh4pKf5AesY0h+eIb6Mi/xqr5Zl00skG8HUPjLFtzA=";
8708     };
8709     buildInputs = [ pkgs.gfortran ];
8710     propagatedBuildInputs = [ FileWhich ];
8711     meta = {
8712       description = "A simple interface to F77 libs";
8713       license = with lib.licenses; [ artistic1 gpl1Plus ];
8714     };
8715   };
8717   ExtUtilsHelpers = buildPerlPackage {
8718     pname = "ExtUtils-Helpers";
8719     version = "0.026";
8720     src = fetchurl {
8721       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz";
8722       hash = "sha256-3pAbZ5CkVXz07JCBSeA1eDsSW/EV65ZA/rG8HCTDNBY=";
8723     };
8724     meta = {
8725       description = "Various portability utilities for module builders";
8726       license = with lib.licenses; [ artistic1 gpl1Plus ];
8727     };
8728   };
8730   ExtUtilsInstall = buildPerlPackage {
8731     pname = "ExtUtils-Install";
8732     version = "2.18";
8733     src = fetchurl {
8734       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.18.tar.gz";
8735       hash = "sha256-5d2He6I7Z7uybHhMR8/aHUEasaiZbu5ehNozPuZ+MMU=";
8736     };
8737     meta = {
8738       description = "Install files from here to there";
8739       homepage = "https://metacpan.org/release/ExtUtils-Install";
8740       license = with lib.licenses; [ artistic1 gpl1Plus ];
8741     };
8742   };
8744   ExtUtilsInstallPaths = buildPerlPackage {
8745     pname = "ExtUtils-InstallPaths";
8746     version = "0.012";
8747     src = fetchurl {
8748       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz";
8749       hash = "sha256-hHNeMDe6sf3/o8JQhWetQSp4XJFZnbPBJZOlCh3UNO0=";
8750     };
8751     propagatedBuildInputs = [ ExtUtilsConfig ];
8752     meta = {
8753       description = "Build.PL install path logic made easy";
8754       license = with lib.licenses; [ artistic1 gpl1Plus ];
8755     };
8756   };
8758   ExtUtilsLibBuilder = buildPerlModule {
8759     pname = "ExtUtils-LibBuilder";
8760     version = "0.08";
8761     src = fetchurl {
8762       url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz";
8763       hash = "sha256-xRFx4G3lMDnwvKHZemRx7DeUH/Weij0csXDr3SVztdI=";
8764     };
8765     perlPreHook = "export LD=$CC";
8766     meta = {
8767       description = "A tool to build C libraries";
8768       license = with lib.licenses; [ artistic1 gpl1Plus ];
8769     };
8770   };
8772   ExtUtilsMakeMaker = buildPerlPackage {
8773     pname = "ExtUtils-MakeMaker";
8774     version = "7.62";
8775     src = fetchurl {
8776       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.62.tar.gz";
8777       hash = "sha256-UCKthX/Xa9P2sWrwmf4jJGOdmTLgjyHokfsxPZyuFwU=";
8778     };
8779     meta = {
8780       description = "Create a module Makefile";
8781       homepage = "https://metacpan.org/release/ExtUtils-MakeMaker";
8782       license = with lib.licenses; [ artistic1 gpl1Plus ];
8783       mainProgram = "instmodsh";
8784     };
8785   };
8787   ExtUtilsMakeMakerCPANfile = buildPerlPackage {
8788     pname = "ExtUtils-MakeMaker-CPANfile";
8789     version = "0.09";
8790     src = fetchurl {
8791       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.09.tar.gz";
8792       hash = "sha256-LAd2B9SwoQhWkHTf926BaGWQYq2jpq94swzKDUD44nU=";
8793     };
8794     propagatedBuildInputs = [ ModuleCPANfile ];
8795     meta = {
8796       description = "Cpanfile support for EUMM";
8797       license = with lib.licenses; [ artistic1 gpl1Plus ];
8798     };
8799   };
8801   ExtUtilsPkgConfig = buildPerlPackage {
8802     pname = "ExtUtils-PkgConfig";
8803     version = "1.16";
8804     src = fetchurl {
8805       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz";
8806       hash = "sha256-u+rO2ZXX2NEM/FGjpaZtpBzrK8BP7cq1DhDmMA6AHG4=";
8807     };
8808     nativeBuildInputs = [ buildPackages.pkg-config ];
8809     propagatedBuildInputs = [ pkgs.pkg-config ];
8810     postPatch = ''
8811       # no pkg-config binary when cross-compiling so the check fails
8812       substituteInPlace Makefile.PL \
8813         --replace "pkg-config" "$PKG_CONFIG"
8814     '';
8815     doCheck = false; # expects test_glib-2.0.pc in PKG_CONFIG_PATH
8816     meta = {
8817       description = "Simplistic interface to pkg-config";
8818       license = with lib.licenses; [ lgpl21Plus ];
8819     };
8820   };
8822   # From CPAN[1]:
8823   #   This module exists merely as a compatibility wrapper around
8824   #   ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to
8825   #   ExtUtils::Typemaps because the Typemap directory in lib/ could collide with
8826   #   the typemap file on case-insensitive file systems.
8827   #
8828   #   The ExtUtils::Typemaps module is part of the ExtUtils::ParseXS distribution
8829   #   and ships with the standard library of perl starting with perl version
8830   #   5.16.
8831   #
8832   # [1] https://metacpan.org/pod/release/SMUELLER/ExtUtils-Typemap-1.00/lib/ExtUtils/Typemap.pm:
8833   ExtUtilsTypemap = buildPerlPackage {
8834     pname = "ExtUtils-Typemap";
8835     version = "1.00";
8836     src = fetchurl {
8837       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz";
8838       hash = "sha256-sbAVdy27BouToPb/oC9dlIIjZeYBisXtK8U8pmkHH8c=";
8839     };
8840     meta = {
8841       description = "Read/Write/Modify Perl/XS typemap files";
8842       license = with lib.licenses; [ artistic1 gpl1Plus ];
8843     };
8844   };
8846   ExtUtilsTypemapsDefault = buildPerlModule {
8847     pname = "ExtUtils-Typemaps-Default";
8848     version = "1.05";
8849     src = fetchurl {
8850       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz";
8851       hash = "sha256-Pfr1g36/3AB4lb/KhMPC521Ymn0zZADo37MkPYGCFd4=";
8852     };
8853     meta = {
8854       description = "A set of useful typemaps";
8855       license = with lib.licenses; [ artistic1 gpl1Plus ];
8856     };
8857   };
8859   ExtUtilsXSBuilder = buildPerlPackage {
8860     pname = "ExtUtils-XSBuilder";
8861     version = "0.28";
8862     src = fetchurl {
8863       url = "mirror://cpan/authors/id/G/GR/GRICHTER/ExtUtils-XSBuilder-0.28.tar.gz";
8864       hash = "sha256-jM7ThuPVRMXsLes67QVbcuvPwuqabIB9qHxCRScv6Ao=";
8865     };
8866     propagatedBuildInputs = [ ParseRecDescent TieIxHash ];
8867     meta = {
8868       description = "Automatic Perl XS glue code generation";
8869       license = with lib.licenses; [ artistic1 gpl1Plus ];
8870     };
8871   };
8873   ExtUtilsXSpp = buildPerlModule {
8874     pname = "ExtUtils-XSpp";
8875     version = "0.18";
8876     src = fetchurl {
8877       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz";
8878       hash = "sha256-kXatZGcp470nz3q/EUvt00JL/xumEYXPx9VPOpIjqP8=";
8879     };
8880     buildInputs = [ TestBase TestDifferences ];
8881     meta = {
8882       description = "XS for C++";
8883       license = with lib.licenses; [ artistic1 gpl1Plus ];
8884       mainProgram = "xspp";
8885     };
8886   };
8888   FatalException = buildPerlModule {
8889     pname = "Fatal-Exception";
8890     version = "0.05";
8891     src = fetchurl {
8892       url = "mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz";
8893       hash = "sha256-KAldIT+zKknJwjKmhEg375Rdua1unmHkULTfTQjj7k8=";
8894     };
8895     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
8896     propagatedBuildInputs = [ ExceptionDied ];
8897     meta = {
8898       description = "Thrown when core function has a fatal error";
8899       license = with lib.licenses; [ artistic1 gpl1Plus ];
8900     };
8901   };
8903   FCGI = buildPerlPackage {
8904     pname = "FCGI";
8905     version = "0.79";
8906     src = fetchurl {
8907       url = "mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.79.tar.gz";
8908       hash = "sha256-jPpOGxT7jVrKoiztZyxq9owKjiXcKpaXoO1/Sk77NOQ=";
8909     };
8910     postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
8911       sed -i '/use IO::File/d' Makefile.PL
8912     '';
8913     meta = {
8914       description = "Fast CGI module";
8915       license = with lib.licenses; [ oml ];
8916     };
8917   };
8919   FCGIClient = buildPerlModule {
8920     pname = "FCGI-Client";
8921     version = "0.09";
8922     src = fetchurl {
8923       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.09.tar.gz";
8924       hash = "sha256-1TfLCc5aqz9Eemu0QV5GzAbv4BYRzVYom1WCvbRiIeg=";
8925     };
8926     propagatedBuildInputs = [ Moo TypeTiny ];
8927     buildInputs = [ ModuleBuildTiny ];
8928     meta = {
8929       description = "Client library for fastcgi protocol";
8930       homepage = "https://github.com/tokuhirom/p5-fcgi-client";
8931       license = with lib.licenses; [ artistic1 gpl1Plus ];
8932     };
8933   };
8935   FCGIProcManager = buildPerlPackage {
8936     pname = "FCGI-ProcManager";
8937     version = "0.28";
8938     src = fetchurl {
8939       url = "mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz";
8940       hash = "sha256-4clYwEJCehdeBR4ACPICXo7IBhPTx3UFl7+OUpsEQg4=";
8941     };
8942     meta = {
8943       description = "A perl-based FastCGI process manager";
8944       license = with lib.licenses; [ gpl2Plus ];
8945     };
8946   };
8948   FFICheckLib = buildPerlPackage {
8949     pname = "FFI-CheckLib";
8950     version = "0.27";
8951     src = fetchurl {
8952       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.27.tar.gz";
8953       hash = "sha256-jUQnR8JPzYVgEH7Z3rmCZYOPF7yFDLcjf4ttSCGZLXQ=";
8954     };
8955     buildInputs = [ Test2Suite ];
8956     meta = {
8957       description = "Check that a library is available for FFI";
8958       homepage = "https://metacpan.org/pod/FFI::CheckLib";
8959       license = with lib.licenses; [ artistic1 gpl1Plus ];
8960     };
8961   };
8963   FennecLite = buildPerlModule {
8964     pname = "Fennec-Lite";
8965     version = "0.004";
8966     src = fetchurl {
8967       url = "mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz";
8968       hash = "sha256-3OKOOTJ2LC/5KqUtkEBcBuiY6By3sWTMrolmrnfx3Ks=";
8969     };
8970     meta = {
8971       description = "Minimalist Fennec, the commonly used bits";
8972       homepage = "http://open-exodus.net/projects/Fennec-Lite";
8973       license = with lib.licenses; [ artistic1 gpl1Plus ];
8974     };
8975   };
8977   FileChangeNotify = buildPerlPackage {
8978     pname = "File-ChangeNotify";
8979     version = "0.31";
8980     src = fetchurl {
8981       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz";
8982       hash = "sha256-GSvbHOdiZsamlKjpYtA5463uuCm2rB4j9QV/K1Bjkr0=";
8983     };
8984     buildInputs = [ Test2Suite TestRequires TestWithoutModule ];
8985     propagatedBuildInputs = [ ModulePluggable Moo TypeTiny namespaceautoclean ];
8986     meta = {
8987       description = "Watch for changes to files, cross-platform style";
8988       license = with lib.licenses; [artistic2 ];
8989     };
8990   };
8992   Filechdir = buildPerlPackage {
8993     pname = "File-chdir";
8994     version = "0.1010";
8995     src = fetchurl {
8996       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1010.tar.gz";
8997       hash = "sha256-78Eh9AvXoPYvjsm4vHD39UCdgc1wXjcAhZbI78RFKwE=";
8998     };
8999     meta = {
9000       description = "A more sensible way to change directories";
9001       license = with lib.licenses; [ artistic1 gpl1Plus ];
9002     };
9003   };
9005   FileBaseDir = buildPerlModule {
9006     version = "0.08";
9007     pname = "File-BaseDir";
9008     src = fetchurl {
9009       url = "mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz";
9010       hash = "sha256-wGX80+LyKudpk3vMlxuR+AKU1QCfrBQL+6g799NTBeM=";
9011     };
9012     configurePhase = ''
9013       runHook preConfigure
9014       perl Build.PL PREFIX="$out" prefix="$out"
9015     '';
9016     propagatedBuildInputs = [ IPCSystemSimple ];
9017     buildInputs = [ FileWhich ];
9018     meta = {
9019       description = "Use the Freedesktop.org base directory specification";
9020       license = with lib.licenses; [ artistic1 gpl1Plus ];
9021     };
9022   };
9024   FileBOM = buildPerlModule {
9025     pname = "File-BOM";
9026     version = "0.18";
9027     src = fetchurl {
9028       url = "mirror://cpan/authors/id/M/MA/MATTLAW/File-BOM-0.18.tar.gz";
9029       hash = "sha256-KO3EP8sRjhG8RYya6InVbTiMHZvCmZewCx3/2Fc4I6M=";
9030     };
9031     buildInputs = [ TestException ];
9032     propagatedBuildInputs = [ Readonly ];
9033     meta = {
9034       description = "Utilities for handling Byte Order Marks";
9035       license = with lib.licenses; [ artistic1 gpl1Plus ];
9036     };
9037   };
9039   FileCheckTree = buildPerlPackage {
9040     pname = "File-CheckTree";
9041     version = "4.42";
9042     src = fetchurl {
9043       url = "mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz";
9044       hash = "sha256-ZvtBf4/4peW36iVgYVbnDiBIYcWfqMODGSW03T8VX4o=";
9045     };
9046     meta = {
9047       description = "Run many filetest checks on a tree";
9048       homepage = "https://search.cpan.org/dist/File-CheckTree";
9049       license = with lib.licenses; [ artistic1 gpl1Plus ];
9050     };
9051   };
9053   Filechmod = buildPerlPackage {
9054     pname = "File-chmod";
9055     version = "0.42";
9056     src = fetchurl {
9057       url = "mirror://cpan/authors/id/X/XE/XENO/File-chmod-0.42.tar.gz";
9058       hash = "sha256-bK+v/2i8hCFRaLVe3g0ZHctX+aMgG1HWHtsoWKJAd5U=";
9059     };
9060     meta = {
9061       description = "Implements symbolic and ls chmod modes";
9062       homepage = "https://metacpan.org/dist/File-chmod";
9063       license = with lib.licenses; [ artistic1 gpl1Plus ];
9064     };
9065   };
9067   FilechmodRecursive = buildPerlPackage {
9068     pname = "File-chmod-Recursive";
9069     version = "1.0.3";
9070     src = fetchurl {
9071       url = "mirror://cpan/authors/id/M/MI/MITHUN/File-chmod-Recursive-v1.0.3.tar.gz";
9072       hash = "sha256-k0jKXFuI3q3MSDuTme98Lg/CUE+QWNtl88PFPEETmqc=";
9073     };
9074     propagatedBuildInputs = [ Filechmod ];
9075     meta = {
9076       description = "Run chmod recursively against directories";
9077       homepage = "https://github.com/mithun/perl-file-chmod-recursive";
9078       license = with lib.licenses; [ artistic1 gpl1Plus ];
9079     };
9080   };
9082   FileCopyRecursive = buildPerlPackage {
9083     pname = "File-Copy-Recursive";
9084     version = "0.45";
9085     src = fetchurl {
9086       url = "mirror://cpan/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz";
9087       hash = "sha256-05cc94qDReOAQrIIu3s5y2lQgDhq9in0oE/9ZUnfEVc=";
9088     };
9089     buildInputs = [ PathTiny TestDeep TestFatal TestFile TestWarnings ];
9090     meta = {
9091       description = "Perl extension for recursively copying files and directories";
9092       license = with lib.licenses; [ artistic1 gpl1Plus ];
9093     };
9094   };
9096   FileCopyRecursiveReduced = buildPerlPackage {
9097     pname = "File-Copy-Recursive-Reduced";
9098     version = "0.006";
9099     src = fetchurl {
9100       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-0.006.tar.gz";
9101       hash = "sha256-5hj5k6afQ1UgXFj///aYJgnyi0f2RuxuJE5BtcZwfiw=";
9102     };
9103     buildInputs = [ CaptureTiny PathTiny ];
9104     meta = {
9105       description = "Recursive copying of files and directories within Perl 5 toolchain";
9106       homepage = "http://thenceforward.net/perl/modules/File-Copy-Recursive-Reduced";
9107       license = with lib.licenses; [ artistic1 gpl1Plus ];
9108     };
9109   };
9111   FileCountLines = buildPerlPackage {
9112     pname = "File-CountLines";
9113     version = "0.0.3";
9114     src = fetchurl {
9115       url = "mirror://cpan/authors/id/M/MO/MORITZ/File-CountLines-v0.0.3.tar.gz";
9116       hash = "sha256-z9l8znyWE+TladR4dKK1cE8b6eztLwc5yHByVpQ4KmI=";
9117     };
9118     meta = {
9119       description = "Efficiently count the number of line breaks in a file";
9120       license = with lib.licenses; [ artistic1 gpl1Plus ];
9121     };
9122   };
9124   FileDesktopEntry = buildPerlPackage {
9125     version = "0.22";
9126     pname = "File-DesktopEntry";
9127     src = fetchurl {
9128       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz";
9129       hash = "sha256-FpwB49ri9il2e+wanxzb1uxtcT0VAeCyeG5N0SNWNbg=";
9130     };
9131     propagatedBuildInputs = [ FileBaseDir URI ];
9132     meta = {
9133       description = "Object to handle .desktop files";
9134       license = with lib.licenses; [ artistic1 gpl1Plus ];
9135     };
9136   };
9138   FileFindIterator = buildPerlPackage {
9139     pname = "File-Find-Iterator";
9140     version = "0.4";
9141     src = fetchurl {
9142       url = "mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz";
9143       hash = "sha256-orh6uXVqLlu2dK29OZN2Y+0gwoxxa/WhCVo8pE1Uqyw=";
9144     };
9145     propagatedBuildInputs = [ ClassIterator ];
9146     meta = {
9147       description = "Iterator interface for search files";
9148       license = with lib.licenses; [ artistic1 gpl1Plus ];
9149     };
9150   };
9152   FileFindObject = buildPerlModule {
9153     pname = "File-Find-Object";
9154     version = "0.3.5";
9155     src = fetchurl {
9156       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.5.tar.gz";
9157       hash = "sha256-3EEkq+ZNwSdOjopeW/nheiqSad66zkWBFbV0afHhapE=";
9158     };
9159     propagatedBuildInputs = [ ClassXSAccessor ];
9160     meta = {
9161       description = "An object oriented File::Find replacement";
9162       homepage = "https://metacpan.org/release/File-Find-Object";
9163       license = with lib.licenses; [ artistic2 ];
9164     };
9165   };
9167   FileFindObjectRule = buildPerlModule {
9168     pname = "File-Find-Object-Rule";
9169     version = "0.0312";
9170     src = fetchurl {
9171       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0312.tar.gz";
9172       hash = "sha256-Pgtsja32Ni5l8jEFMLG+Y37WqsETOZ0QxvkSnnNK//k=";
9173     };
9174     propagatedBuildInputs = [ FileFindObject NumberCompare TextGlob ];
9175     # restore t/sample-data which is corrupted by patching shebangs
9176     preCheck = ''
9177       tar xf $src */t/sample-data --strip-components=1
9178     '';
9179     meta = {
9180       description = "Alternative interface to File::Find::Object";
9181       homepage = "https://www.shlomifish.org/open-source/projects/File-Find-Object";
9182       license = with lib.licenses; [ artistic1 gpl1Plus ];
9183       mainProgram = "findorule";
9184     };
9185   };
9187   FileFindRule = buildPerlPackage {
9188     pname = "File-Find-Rule";
9189     version = "0.34";
9190     src = fetchurl {
9191       url = "mirror://cpan/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz";
9192       hash = "sha256-fm8WzDPrHyn/Jb7lHVE/S4qElHu/oY7bLTzECi1kyv4=";
9193     };
9194     propagatedBuildInputs = [ NumberCompare TextGlob ];
9195     meta = {
9196       description = "File::Find::Rule is a friendlier interface to File::Find";
9197       license = with lib.licenses; [ artistic1 gpl1Plus ];
9198       mainProgram = "findrule";
9199     };
9200   };
9202   FileFindRulePerl = buildPerlPackage {
9203     pname = "File-Find-Rule-Perl";
9204     version = "1.15";
9205     src = fetchurl {
9206       url = "mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.15.tar.gz";
9207       hash = "sha256-mkhDP4bgjOGOA1JuKYLeUhYuuQnRlzVGDwfu/K9GPqY=";
9208     };
9209     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
9210     meta = {
9211       description = "Common rules for searching for Perl things";
9212       homepage = "https://github.com/karenetheridge/File-Find-Rule-Perl";
9213       license = with lib.licenses; [ artistic1 gpl1Plus ];
9214     };
9215   };
9217   FileFinder = buildPerlPackage {
9218     pname = "File-Finder";
9219     version = "0.53";
9220     src = fetchurl {
9221       url = "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz";
9222       hash = "sha256-LsvBmsZ6nmNchyqAeo0+qv9bq8BU8VoZHUfN/F8XanQ=";
9223     };
9224     propagatedBuildInputs = [ TextGlob ];
9225     meta = {
9226       description = "Nice wrapper for File::Find ala find(1)";
9227       license = with lib.licenses; [ artistic1 gpl1Plus ];
9228     };
9229   };
9231   FileFnMatch = buildPerlPackage {
9232     pname = "File-FnMatch";
9233     version = "0.02";
9234     src = fetchurl {
9235       url = "mirror://cpan/authors/id/M/MJ/MJP/File-FnMatch-0.02.tar.gz";
9236       hash = "sha256-liRUuOhr6osTK/ivNXV9DGqPXVmQFb1qXWjLeuep6RY=";
9237     };
9238     meta = {
9239       description = "Simple filename and pathname matching";
9240       license = with lib.licenses; [ artistic1 gpl1Plus ];
9241       maintainers = teams.deshaw.members;
9242     };
9243   };
9245   FileGrep = buildPerlPackage {
9246     pname = "File-Grep";
9247     version = "0.02";
9248     src = fetchurl {
9249       url = "mirror://cpan/authors/id/M/MN/MNEYLON/File-Grep-0.02.tar.gz";
9250       hash = "sha256-Ri4VJ062J4UhQH6jAtnupyUs1EyrI4KHH33oM9X4VjI=";
9251     };
9252     meta = {
9253       description = "Find matches to a pattern in a series of files and related functions";
9254       license = with lib.licenses; [ artistic1 gpl1Plus ];
9255       maintainers = teams.deshaw.members;
9256     };
9257   };
9259   FileHandleUnget = buildPerlPackage {
9260     pname = "FileHandle-Unget";
9261     version = "0.1634";
9262     src = fetchurl {
9263       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/FileHandle-Unget-0.1634.tar.gz";
9264       hash = "sha256-OA80rTzl6exmHUxGi7M5IjHBYjF9QXLfN4FGtCqrF4U=";
9265     };
9266     buildInputs = [ FileSlurper TestCompile UNIVERSALrequire URI ];
9267     meta = {
9268       description = "FileHandle which supports multi-byte unget";
9269       homepage = "https://github.com/coppit/filehandle-unget";
9270       license = with lib.licenses; [ gpl2Only ];
9271       maintainers = with maintainers; [ romildo ];
9272     };
9273   };
9275   FileHomeDir = buildPerlPackage {
9276     pname = "File-HomeDir";
9277     version = "1.006";
9278     src = fetchurl {
9279       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.006.tar.gz";
9280       hash = "sha256-WTc3xi3w9tq11BIuC0R2QXlFu2Jiwz7twAlmXvFUiFI=";
9281     };
9282     propagatedBuildInputs = [ FileWhich ];
9283     preCheck = "export HOME=$TMPDIR";
9284     doCheck = !stdenv.isDarwin;
9285     meta = {
9286       description = "Find your home and other directories on any platform";
9287       homepage = "https://metacpan.org/release/File-HomeDir";
9288       license = with lib.licenses; [ artistic1 gpl1Plus ];
9289     };
9290   };
9292   FileKeePass = buildPerlPackage {
9293     pname = "File-KeePass";
9294     version = "2.03";
9295     src = fetchurl {
9296       url = "mirror://cpan/authors/id/R/RH/RHANDOM/File-KeePass-2.03.tar.gz";
9297       hash = "sha256-wwxogCelL/T1jNadbY7zVHKnzxBtTOlOtzp5a6fH/6c=";
9298     };
9299     propagatedBuildInputs = [ CryptRijndael ];
9300     meta = {
9301       description = "Interface to KeePass V1 and V2 database files";
9302       license = with lib.licenses; [ gpl2Only gpl3Only ];
9303     };
9304   };
9306   Filelchown = buildPerlModule {
9307     pname = "File-lchown";
9308     version = "0.02";
9309     src = fetchurl {
9310       url = "mirror://cpan/authors/id/P/PE/PEVANS/File-lchown-0.02.tar.gz";
9311       hash = "sha256-oC+/KFQGqKTZOZKE8DLy1VxWl1FUwuFnS9EJg3uAluw=";
9312     };
9313     buildInputs = [ ExtUtilsCChecker ];
9314     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
9315     meta = {
9316       description = "Modify attributes of symlinks without dereferencing them";
9317       license = with lib.licenses; [ artistic1 gpl1Plus ];
9318     };
9319   };
9321   FileLibMagic = buildPerlPackage {
9322     pname = "File-LibMagic";
9323     version = "1.23";
9324     src = fetchurl {
9325       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-LibMagic-1.23.tar.gz";
9326       hash = "sha256-Uuax3Hyy2HpM30OboUXguejPKMwmpIo8+Zd8g0Y5Z+4=";
9327     };
9328     buildInputs = [ pkgs.file ConfigAutoConf TestFatal ];
9329     makeMakerFlags = [ "--lib=${pkgs.file}/lib" ];
9330     preCheck = ''
9331       substituteInPlace t/oo-api.t \
9332         --replace "/usr/share/file/magic.mgc" "${pkgs.file}/share/misc/magic.mgc"
9333     '';
9334     meta = {
9335       description = "Determine MIME types of data or files using libmagic";
9336       homepage = "https://metacpan.org/release/File::LibMagic";
9337       license = with lib.licenses; [ artistic1 gpl1Plus ];
9338       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.FileLibMagic.x86_64-darwin
9339     };
9340   };
9342   FileListing = buildPerlPackage {
9343     pname = "File-Listing";
9344     version = "6.14";
9345     src = fetchurl {
9346       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-6.14.tar.gz";
9347       hash = "sha256-FbOkhx4jFko28iY4G3TUUK9B8SzJSYX1kqZp/Kx7SP8=";
9348     };
9349     propagatedBuildInputs = [ HTTPDate ];
9350     meta = {
9351       description = "Parse directory listing";
9352       license = with lib.licenses; [ artistic1 gpl1Plus ];
9353     };
9354   };
9356   FileLoadLines = buildPerlPackage {
9357     pname = "File-LoadLines";
9358     version = "1.01";
9359     src = fetchurl {
9360       url = "mirror://cpan/authors/id/J/JV/JV/File-LoadLines-1.01.tar.gz";
9361       hash = "sha256-boxuaqSffLmY+r+5ZqSZK7DGLxzT49chNaMRVoNGWdE=";
9362     };
9363     buildInputs = [ TestException ];
9364     meta = {
9365       description = "Load lines from file";
9366       license = with lib.licenses; [ artistic1 gpl1Plus ];
9367     };
9368   };
9370   FileMimeInfo = buildPerlPackage {
9371     pname = "File-MimeInfo";
9372     version = "0.30";
9373     src = fetchurl {
9374       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.30.tar.gz";
9375       hash = "sha256-4sbkv5C+O4Y7+07628sbSwKfx09OeUvYaWWsp+47qHI=";
9376     };
9377     doCheck = false; # Failed test 'desktop file is the right one'
9378     buildInputs = [ FileBaseDir FileDesktopEntry EncodeLocale ];
9379     meta = {
9380       description = "Determine file type from the file name";
9381       license = with lib.licenses; [ artistic1 gpl1Plus ];
9382     };
9383   };
9385   FileMMagic = buildPerlPackage {
9386     pname = "File-MMagic";
9387     version = "1.30";
9388     src = fetchurl {
9389       url = "mirror://cpan/authors/id/K/KN/KNOK/File-MMagic-1.30.tar.gz";
9390       hash = "sha256-zwwbHrKXBcAtl8KRNkgAnAvkLOk+wks2xpa/LU9evX4=";
9391     };
9392     meta = {
9393       description = "Guess file type from contents";
9394       license = with lib.licenses; [ asl20 ];
9395     };
9396   };
9398   FileMap = buildPerlModule {
9399     pname = "File-Map";
9400     version = "0.67";
9401     src = fetchurl {
9402       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Map-0.67.tar.gz";
9403       hash = "sha256-Enhdvt/CzN+jjbTZenhGSSWRjbNy/Rm67PL6l68i+8I=";
9404     };
9405     perlPreHook = "export LD=$CC";
9406     propagatedBuildInputs = [ PerlIOLayers SubExporterProgressive ];
9407     buildInputs = [ TestFatal TestWarnings ];
9408     meta = {
9409       description = "Memory mapping made simple and safe";
9410       license = with lib.licenses; [ artistic1 gpl1Plus ];
9411     };
9412   };
9414   FileModified = buildPerlPackage {
9415     pname = "File-Modified";
9416     version = "0.10";
9417     src = fetchurl {
9418       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Modified-0.10.tar.gz";
9419       hash = "sha256-a1CxqrbsaZigF/ZAPCc1s7weHPRhh70TTX623z/EUUQ=";
9420     };
9421     meta = {
9422       description = "Checks intelligently if files have changed";
9423       homepage = "https://github.com/neilbowers/File-Modified";
9424       license = with lib.licenses; [ artistic1 gpl1Plus ];
9425     };
9426   };
9428   FileNext = buildPerlPackage {
9429     pname = "File-Next";
9430     version = "1.18";
9431     src = fetchurl {
9432       url = "mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz";
9433       hash = "sha256-+QDLOVBetuFoqcpRoQtz8bveGRS5I6CezXLZwC5uwu8=";
9434     };
9435     meta = {
9436       description = "File-finding iterator";
9437       license = with lib.licenses; [ artistic2 ];
9438     };
9439   };
9441   FileNFSLock = buildPerlPackage {
9442     pname = "File-NFSLock";
9443     version = "1.29";
9444     src = fetchurl {
9445       url = "mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.29.tar.gz";
9446       hash = "sha256-YdQVmbSBFk7fm4vsq77y0j9iKpcn9sGDZekrV4LU+jc=";
9447     };
9448     meta = {
9449       description = "Perl module to do NFS (or not) locking";
9450       license = with lib.licenses; [ artistic1 gpl1Only ];
9451     };
9452   };
9454   FilePath = buildPerlPackage {
9455     pname = "File-Path";
9456     version = "2.18";
9457     src = fetchurl {
9458       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.18.tar.gz";
9459       hash = "sha256-mA8KF+2zU99G6c17NX+fWSnN4PgMRf16Bs9+DovWrd0=";
9460     };
9461     meta = {
9462       description = "Create or remove directory trees";
9463       license = with lib.licenses; [ artistic1 gpl1Plus ];
9464     };
9465   };
9467   FilePid = buildPerlPackage {
9468     pname = "File-Pid";
9469     version = "1.01";
9470     src = fetchurl {
9471       url = "mirror://cpan/authors/id/C/CW/CWEST/File-Pid-1.01.tar.gz";
9472       hash = "sha256-uv7uj9yW6wYwagxYu9tyCbbeRfhQ51/caxbbV24F5CI=";
9473     };
9474     patches = [(fetchpatch {
9475       name = "missing-pidfile.patch";
9476       url = "https://sources.debian.org/data/main/libf/libfile-pid-perl/1.01-2/debian/patches/missing-pidfile.patch";
9477       hash = "sha256-VBsIYyCnjcZLYQ2Uq2MKPK3kF2wiMKvnq0m727DoavM=";
9478     })];
9479     propagatedBuildInputs = [ ClassAccessor ];
9480     meta = {
9481       description = "Pid File Manipulation";
9482       license = with lib.licenses; [ artistic1 gpl1Plus ];
9483       maintainers = teams.deshaw.members;
9484     };
9485   };
9487   Filepushd = buildPerlPackage {
9488     pname = "File-pushd";
9489     version = "1.016";
9490     src = fetchurl {
9491       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.016.tar.gz";
9492       hash = "sha256-1zp/CUQpg7CYJg3z33qDKl9mB3OjE8onP6i1ZmX5fNw=";
9493     };
9494     meta = {
9495       description = "Change directory temporarily for a limited scope";
9496       homepage = "https://github.com/dagolden/File-pushd";
9497       license = with lib.licenses; [ asl20 ];
9498     };
9499   };
9501   FileReadBackwards = buildPerlPackage {
9502     pname = "File-ReadBackwards";
9503     version = "1.05";
9504     src = fetchurl {
9505       url = "mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz";
9506       hash = "sha256-grJhr4dQfMPn5miZxFcQTryNHAn7hcU/Z8H5D3DxjW4=";
9507     };
9508     meta = {
9509       description = "Read a file backwards by lines";
9510       homepage = "https://metacpan.org/pod/File::ReadBackwards";
9511       license = with lib.licenses; [ artistic1 gpl1Plus ];
9512     };
9513   };
9515   FileRemove = buildPerlModule {
9516     pname = "File-Remove";
9517     version = "1.60";
9518     src = fetchurl {
9519       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.60.tar.gz";
9520       hash = "sha256-6G4qQP/txtVpfQcVA/1roUpfm4IgrzrwIhENjnJPjKY=";
9521     };
9522     meta = {
9523       description = "Remove files and directories";
9524       license = with lib.licenses; [ artistic1 gpl1Plus ];
9525     };
9526   };
9528   FileShare = buildPerlPackage {
9529     pname = "File-Share";
9530     version = "0.25";
9531     src = fetchurl {
9532       url = "mirror://cpan/authors/id/I/IN/INGY/File-Share-0.25.tar.gz";
9533       hash = "sha256-jp0lbgrEOEIoOEtK0qV4GaFj7bOfIJiO1cExjAFAcHA=";
9534     };
9535     propagatedBuildInputs = [ FileShareDir ];
9536     meta = {
9537       description = "Extend File::ShareDir to Local Libraries";
9538       homepage = "https://github.com/ingydotnet/file-share-pm";
9539       license = with lib.licenses; [ artistic1 gpl1Plus ];
9540     };
9541   };
9543   FileShareDir = buildPerlPackage {
9544     pname = "File-ShareDir";
9545     version = "1.118";
9546     src = fetchurl {
9547       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz";
9548       hash = "sha256-O7KiC6Nd+VjcCk8jBvwF2QPYuMTePIvu/OF3OdKByVg=";
9549     };
9550     propagatedBuildInputs = [ ClassInspector ];
9551     buildInputs = [ FileShareDirInstall ];
9552     meta = {
9553       description = "Locate per-dist and per-module shared files";
9554       homepage = "https://metacpan.org/release/File-ShareDir";
9555       license = with lib.licenses; [ artistic1 gpl1Plus ];
9556     };
9557   };
9559   FileShareDirInstall = buildPerlPackage {
9560     pname = "File-ShareDir-Install";
9561     version = "0.13";
9562     src = fetchurl {
9563       url = "mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.13.tar.gz";
9564       hash = "sha256-Rb798Nlcvv58JaHa8pPYX3gNbSV2FGVG5oKKrSblgPk=";
9565     };
9566     meta = {
9567       description = "Install shared files";
9568       homepage = "https://github.com/Perl-Toolchain-Gang/File-ShareDir-Install";
9569       license = with lib.licenses; [ artistic1 gpl1Plus ];
9570     };
9571   };
9573   FilesysDf = buildPerlPackage {
9574     pname = "Filesys-Df";
9575     version = "0.92";
9576     src = fetchurl {
9577       url = "mirror://cpan/authors/id/I/IG/IGUTHRIE/Filesys-Df-0.92.tar.gz";
9578       hash = "sha256-/onLtCfg4F8c2Xwt1tOGasayG8eoVzTt4Vm9w1R5VSo=";
9579     };
9580     meta = {
9581       description = "Perl extension for filesystem disk space information.";
9582       license = with lib.licenses; [ artistic1 gpl1Plus ];
9583     };
9584   };
9586   FilesysNotifySimple = buildPerlPackage {
9587     pname = "Filesys-Notify-Simple";
9588     version = "0.14";
9589     src = fetchurl {
9590       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz";
9591       hash = "sha256-H9pxLUul4YaBWe019vjvv66dQ11jdvVgbVM7ywgFVaQ=";
9592     };
9593     buildInputs = [ TestSharedFork ];
9594     meta = {
9595       description = "Simple and dumb file system watcher";
9596       homepage = "https://github.com/miyagawa/Filesys-Notify-Simple";
9597       license = with lib.licenses; [ artistic1 gpl1Plus ];
9598     };
9599   };
9601   FilesysDiskUsage = buildPerlPackage {
9602     pname = "Filesys-DiskUsage";
9603     version = "0.13";
9604     src = fetchurl {
9605       url = "mirror://cpan/authors/id/M/MA/MANWAR/Filesys-DiskUsage-0.13.tar.gz";
9606       hash = "sha256-/T5SxvYkEnGigTSNHUPEQVTC9hoyVD20aqnhVpLRtxM=";
9607     };
9608     buildInputs = [ TestWarn ];
9609     meta = {
9610       description = "Estimate file space usage (similar to `du`)";
9611       license = with lib.licenses; [ artistic1 gpl1Plus ];
9612       mainProgram = "fdu";
9613     };
9614   };
9616   FileSlurp = buildPerlPackage {
9617     pname = "File-Slurp";
9618     version = "9999.32";
9619     src = fetchurl {
9620       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz";
9621       hash = "sha256-TDwhmSqdQr46ed10o8g9J9OAVyadZVCaL1VeoPsrxbA=";
9622     };
9623     meta = {
9624       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
9625       license = with lib.licenses; [ artistic1 gpl1Plus ];
9626     };
9627   };
9629   FileSlurper = buildPerlPackage {
9630     pname = "File-Slurper";
9631     version = "0.012";
9632     src = fetchurl {
9633       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.012.tar.gz";
9634       hash = "sha256-TvsupBaxEKG9pvgTNUnMbqNnZALjyvdSn84DEyUKpXg=";
9635     };
9636     buildInputs = [ TestWarnings ];
9637     meta = {
9638       description = "A simple, sane and efficient module to slurp a file";
9639       license = with lib.licenses; [ artistic1 gpl1Plus ];
9640     };
9641   };
9643   FileSlurpTiny = buildPerlPackage {
9644     pname = "File-Slurp-Tiny";
9645     version = "0.004";
9646     src = fetchurl {
9647       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz";
9648       hash = "sha256-RSmVvuq/DpI+Zf3GJ6cl27EsnhDADYAYwW0QumJ1fx4=";
9649     };
9650     meta = {
9651       description = "A simple, sane and efficient file slurper [DISCOURAGED]";
9652       license = with lib.licenses; [ artistic1 gpl1Plus ];
9653     };
9654   };
9656   FileTail = buildPerlPackage {
9657     pname = "File-Tail";
9658     version = "1.3";
9659     src = fetchurl {
9660       url = "mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz";
9661       hash = "sha256-JtCfgYNuQ+rkACjVKD/lYg/m/mJ4vz6462AMSOw0r8c=";
9662     };
9663     meta = {
9664       description = "Perl extension for reading from continously updated files";
9665       license = with lib.licenses; [ artistic1 gpl1Plus ];
9666       maintainers = teams.deshaw.members;
9667     };
9668   };
9670   FileTouch = buildPerlPackage {
9671     pname = "File-Touch";
9672     version = "0.11";
9673     src = fetchurl {
9674       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Touch-0.11.tar.gz";
9675       hash = "sha256-43ml/4lCDPOZBuXO/zCbjOlY+Z+cPletUrUAKjmC2Tw=";
9676     };
9677     meta = {
9678       description = "Update file access and modification times, optionally creating files if needed";
9679       homepage = "https://github.com/neilb/File-Touch";
9680       license = with lib.licenses; [ artistic1 gpl1Plus ];
9681       maintainers = teams.deshaw.members;
9682     };
9683   };
9685   FileType = buildPerlModule {
9686     pname = "File-Type";
9687     version = "0.22";
9688     src = fetchurl {
9689       url = "mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz";
9690       hash = "sha256-01zZX+9X/U39iDH2LDTilNfEuGH8kJ4Ct2Bxc51S00E=";
9691     };
9692     meta = {
9693       description = "Uses magic numbers (typically at the start of a file) to determine the MIME type of that file";
9694       license = with lib.licenses; [ artistic1 gpl1Plus ];
9695     };
9696   };
9698   FileUtil = buildPerlModule {
9699     pname = "File-Util";
9700     version = "4.201720";
9701     src = fetchurl {
9702       url = "mirror://cpan/authors/id/T/TO/TOMMY/File-Util-4.201720.tar.gz";
9703       hash = "sha256-1EkQIYUNXFy9cCx+R0SFgHmEHS+pPxwtCd3Jp4Y2CN8=";
9704     };
9705     buildInputs = [ TestNoWarnings ];
9706     meta = {
9707       description = "Easy, versatile, portable file handling";
9708       homepage = "https://github.com/tommybutler/file-util/wiki";
9709       license = with lib.licenses; [ artistic1 gpl1Plus ];
9710     };
9711   };
9713   FileUtilTempdir = buildPerlPackage {
9714     pname = "File-Util-Tempdir";
9715     version = "0.034";
9716     src = fetchurl {
9717       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/File-Util-Tempdir-0.034.tar.gz";
9718       hash = "sha256-0R3izl5vrT8GFLymR0ykScNa7TUSXVsyJ+ZpvBdv3Bw=";
9719     };
9720     buildInputs = [ Perlosnames TestException ];
9721     meta = {
9722       description = "Cross-platform way to get system-wide & user private temporary directory";
9723       homepage = "https://metacpan.org/release/File-Util-Tempdir";
9724       license = with lib.licenses; [ artistic1 gpl1Plus ];
9725       maintainers = [ maintainers.sgo ];
9726     };
9727   };
9729   FileWhich = buildPerlPackage {
9730     pname = "File-Which";
9731     version = "1.23";
9732     src = fetchurl {
9733       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Which-1.23.tar.gz";
9734       hash = "sha256-t53CJEstl7bycWf8O3eZ72GheQQPOr12zh4KOwvE4Hg=";
9735     };
9736     meta = {
9737       description = "Perl implementation of the which utility as an API";
9738       homepage = "https://metacpan.org/pod/File::Which";
9739       license = with lib.licenses; [ artistic1 gpl1Plus ];
9740     };
9741   };
9743   FileZglob = buildPerlPackage {
9744     pname = "File-Zglob";
9745     version = "0.11";
9746     src = fetchurl {
9747       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz";
9748       hash = "sha256-HLHt3iCsCU7wA3lLr+8sdiQWnPhALHNn2bdGD2wOZps=";
9749     };
9750     meta = {
9751       description = "Extended globs";
9752       license = with lib.licenses; [ artistic1 gpl1Plus ];
9753     };
9754   };
9756   Filter = buildPerlPackage {
9757     pname = "Filter";
9758     version = "1.60";
9759     src = fetchurl {
9760       url = "mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.60.tar.gz";
9761       hash = "sha256-4R7y8u6HJ7f2Zv0kmjIm92jm6t/VHZzbSbPD8aNUZPk=";
9762     };
9763     meta = {
9764       description = "Source Filters";
9765       license = with lib.licenses; [ artistic1 gpl1Plus ];
9766     };
9767   };
9769   FinanceQuote = buildPerlPackage {
9770     pname = "Finance-Quote";
9771     version = "1.49";
9772     src = fetchurl {
9773       url = "mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.49.tar.gz";
9774       hash = "sha256-ldvERDumVjILNjxWYl0E83nJQ+IC9g9AoqNRUrVLv1M=";
9775     };
9776     propagatedBuildInputs = [ CGI DateTimeFormatStrptime HTMLTableExtract JSON JSONParse LWPProtocolHttps StringUtil TextTemplate ];
9777     buildInputs = [ TestPod ];
9778     meta = {
9779       homepage = "http://finance-quote.sourceforge.net/";
9780       description = "Get stock and mutual fund quotes from various exchanges";
9781       license = with lib.licenses; [gpl2 ];
9782     };
9783   };
9785   FindLib = buildPerlPackage {
9786     pname = "Find-Lib";
9787     version = "1.04";
9788     src = fetchurl {
9789       url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
9790       hash = "sha256-HXOSHjBh4bBG/kJo4tBf/VpMV2Jmbi5HI/g6rMFG6FE=";
9791     };
9792     meta = {
9793       description = "Helper to smartly find libs to use in the filesystem tree";
9794       license = with lib.licenses; [ artistic1 gpl1Plus ];
9795     };
9796   };
9798   FontAFM = buildPerlPackage {
9799     pname = "Font-AFM";
9800     version = "1.20";
9801     src = fetchurl {
9802       url = "mirror://cpan/authors/id/G/GA/GAAS/Font-AFM-1.20.tar.gz";
9803       hash = "sha256-MmcRZtoyWWoPa6rNDBIzglpgrK8lgF15yBo/GNYIi8E=";
9804     };
9805     meta = {
9806       description = "Interface to Adobe Font Metrics files";
9807       license = with lib.licenses; [ artistic1 gpl1Plus ];
9808     };
9809   };
9811   FontTTF = buildPerlPackage {
9812     pname = "Font-TTF";
9813     version = "1.06";
9814     src = fetchurl {
9815       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz";
9816       hash = "sha256-S2l9REJZdZ6gLSxELJv/5f/hTJIUCEoB90NpOpRMwpM=";
9817     };
9818     buildInputs = [ IOString ];
9819     meta = {
9820       description = "TTF font support for Perl";
9821       license = with lib.licenses; [ artistic2 ];
9822     };
9823   };
9825   ForksSuper = buildPerlPackage {
9826     pname = "Forks-Super";
9827     version = "0.97";
9828     src = fetchurl {
9829       url = "mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.97.tar.gz";
9830       hash = "sha256-M9tDV+Es1vQPKlijq5b+tP/9JedC29SL75B9skLQKk4=";
9831     };
9832     doCheck = false;
9833     propagatedBuildInputs = [ URI ];
9834     meta = {
9835       description = "Extensions and convenience methods to manage background processes";
9836       license = with lib.licenses; [ artistic1 gpl1Plus ];
9837     };
9838   };
9840   FormValidatorSimple = buildPerlPackage {
9841     pname = "FormValidator-Simple";
9842     version = "0.29";
9843     src = fetchurl {
9844       url = "mirror://cpan/authors/id/L/LY/LYOKATO/FormValidator-Simple-0.29.tar.gz";
9845       hash = "sha256-/Dpj3FS5YtdFhgcBdq2vW+hp8JtWG7MPX9Mu9TF5JmY=";
9846     };
9847     propagatedBuildInputs = [ ClassAccessor ClassDataAccessor DateCalc DateTimeFormatStrptime EmailValidLoose ListMoreUtils TieIxHash UNIVERSALrequire YAML ];
9848     buildInputs = [ CGI ];
9849     meta = {
9850       description = "Validation with simple chains of constraints";
9851       license = with lib.licenses; [ artistic1 gpl1Plus ];
9852     };
9853   };
9855   FreezeThaw = buildPerlPackage {
9856     pname = "FreezeThaw";
9857     version = "0.5001";
9858     src = fetchurl {
9859       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz";
9860       hash = "sha256-PF4IMpEG+c7jq0RLgTMcWTX4MIShUdiFBeekZdpUD0E=";
9861     };
9862     doCheck = false;
9863     meta = {
9864       description = "Converting Perl structures to strings and back";
9865       license = with lib.licenses; [ artistic1 gpl1Plus ];
9866     };
9867   };
9869   FunctionParameters = buildPerlPackage {
9870     pname = "Function-Parameters";
9871     version = "2.001003";
9872     src = fetchurl {
9873       url = "mirror://cpan/authors/id/M/MA/MAUKE/Function-Parameters-2.001003.tar.gz";
9874       hash = "sha256-6qIsa0PAJJnsfbB1jC3SGKOyq0enFLK9+AELXuETwkI=";
9875     };
9876     buildInputs = [ DirSelf TestFatal ];
9877     meta = {
9878       description = "Define functions and methods with parameter lists (\"subroutine signatures\")";
9879       license = with lib.licenses; [ artistic1 gpl1Plus ];
9880     };
9881   };
9883   Furl = buildPerlModule {
9884     pname = "Furl";
9885     version = "3.13";
9886     src = fetchurl {
9887       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
9888       hash = "sha256-iHrPu7zcq71HQVD5v+nG5QfTUWdbhivM/XZ/6dMWqvM=";
9889     };
9890     propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
9891     buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
9892     meta = {
9893       description = "Lightning-fast URL fetcher";
9894       homepage = "https://github.com/tokuhirom/Furl";
9895       license = with lib.licenses; [ artistic1 gpl1Plus ];
9896     };
9897   };
9899   Future = buildPerlModule {
9900     pname = "Future";
9901     version = "0.48";
9902     src = fetchurl {
9903       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.48.tar.gz";
9904       hash = "sha256-D+ixXBQvKjBKMXGKIKEFA6m0TMASw69eN7i34koHUqM=";
9905     };
9906     buildInputs = [ TestFatal TestIdentity TestRefcount ];
9907     meta = {
9908       description = "Represent an operation awaiting completion";
9909       license = with lib.licenses; [ artistic1 gpl1Plus ];
9910     };
9911   };
9913   FutureAsyncAwait = buildPerlModule rec {
9914     pname = "Future-AsyncAwait";
9915     version = "0.58";
9916     src = fetchurl {
9917       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.58.tar.gz";
9918       hash = "sha256-OLtJ9jabBUrAUuaNomR/4i0Io605rgNuJ6KRELtOQi4=";
9919     };
9920     buildInputs = [ TestRefcount TestFatal ];
9921     propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
9922     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
9923     meta = {
9924       description = "Deferred subroutine syntax for futures";
9925       license = with lib.licenses; [ artistic1 gpl1Plus ];
9926       maintainers = [ maintainers.zakame ];
9927     };
9928   };
9930   FutureIO = buildPerlModule {
9931     pname = "Future-IO";
9932     version = "0.11";
9933     src = fetchurl {
9934       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-IO-0.11.tar.gz";
9935       hash = "sha256-dVM2JvgfdoxfIxyXAhBsJbV3KotplcqixYvMSsyRB8k=";
9936     };
9937     buildInputs = [ TestIdentity ];
9938     propagatedBuildInputs = [ Future StructDumb ];
9939     preCheck = "rm t/06connect.t"; # this test fails in sandbox
9940     meta = {
9941       description = "Future-returning IO methods";
9942       license = with lib.licenses; [ artistic1 gpl1Plus ];
9943       maintainers = [ maintainers.zakame ];
9944     };
9945   };
9947   GamesSolitaireVerify = buildPerlModule {
9948     pname = "Games-Solitaire-Verify";
9949     version = "0.2403";
9950     src = fetchurl {
9951       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.2403.tar.gz";
9952       hash = "sha256-5atHXIK6HLCIrSj0I8pRTUaUTWrjw+tV6WNunn8dyJM=";
9953     };
9954     buildInputs = [ DirManifest TestDifferences ];
9955     propagatedBuildInputs = [ ClassXSAccessor ExceptionClass PathTiny ];
9956     meta = {
9957       description = "Verify solutions for solitaire games";
9958       homepage = "https://metacpan.org/release/Games-Solitaire-Verify";
9959       license = with lib.licenses; [ mit ];
9960       mainProgram = "verify-solitaire-solution";
9961     };
9962   };
9964   GD = buildPerlPackage {
9965     pname = "GD";
9966     version = "2.73";
9967     src = fetchurl {
9968       url = "mirror://cpan/authors/id/R/RU/RURBAN/GD-2.73.tar.gz";
9969       hash = "sha256-SRyecyOFIuKYfmZyWiCTX0Joo4ZCAuy69GWaFpG6Mis=";
9970     };
9972     buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork ];
9974     # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
9975     hardeningDisable = [ "format" ];
9977     makeMakerFlags = [ "--lib_png_path=${pkgs.libpng.out}" "--lib_jpeg_path=${pkgs.libjpeg.out}" "--lib_zlib_path=${pkgs.zlib.out}" "--lib_ft_path=${pkgs.freetype.out}" "--lib_fontconfig_path=${pkgs.fontconfig.lib}" "--lib_xpm_path=${pkgs.xorg.libXpm.out}" ];
9979     meta = {
9980       description = "Perl interface to the gd2 graphics library";
9981       license = with lib.licenses; [ artistic1 gpl1Plus ];
9982       mainProgram = "bdf2gdfont.pl";
9983     };
9984   };
9986   GDGraph = buildPerlPackage {
9987     pname = "GDGraph";
9988     version = "1.54";
9989     src = fetchurl {
9990       url = "mirror://cpan/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz";
9991       hash = "sha256-uW9cELZWwX0Wq2Whd3yQgpewKNO2gV9tVLIzfwBr+k8=";
9992     };
9993     propagatedBuildInputs = [ GDText ];
9994     buildInputs = [ CaptureTiny TestException ];
9995     meta = {
9996       description = "Graph Plotting Module for Perl 5";
9997       license = with lib.licenses; [ artistic1 gpl1Plus ];
9998     };
9999   };
10001   GDSecurityImage = buildPerlPackage {
10002     pname = "GD-SecurityImage";
10003     version = "1.75";
10004     src = fetchurl {
10005       url = "mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.75.tar.gz";
10006       hash = "sha256-Pd4k2ay6lRzd5bVp0eQsrZRs/bUSgORGnzNv1f4MjqY=";
10007     };
10008     propagatedBuildInputs = [ GD ];
10009     meta = {
10010       description = "Security image (captcha) generator";
10011       license = with lib.licenses; [ artistic1 gpl1Plus ];
10012     };
10013   };
10015   GDText = buildPerlPackage {
10016     pname = "GDTextUtil";
10017     version = "0.86";
10018     src = fetchurl {
10019       url = "mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
10020       hash = "sha256-iG7L+Fz+lPQTXuVonEhHqa54PsuZ5nWeEsc08t1hFrw=";
10021     };
10022     propagatedBuildInputs = [ GD ];
10023     meta = {
10024       description = "Text utilities for use with GD";
10025       license = with lib.licenses; [ artistic1 gpl1Plus ];
10026     };
10027   };
10029   GeoIP = buildPerlPackage {
10030     pname = "Geo-IP";
10031     version = "1.51";
10032     src = fetchurl {
10033       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-1.51.tar.gz";
10034       hash = "sha256-FjAgMV1cVEGDaseeCKd7Qo8nf9CQvqT6gNpwd7JDaro=";
10035     };
10036     makeMakerFlags = [ "LIBS=-L${pkgs.geoip}/lib" "INC=-I${pkgs.geoip}/include" ];
10037     doCheck = false; # seems to access the network
10038     meta = {
10039       description = "Look up location and network information by IP Address";
10040       license = with lib.licenses; [ artistic1 gpl1Plus ];
10041     };
10042   };
10044   GeoIP2 = buildPerlPackage {
10045     pname = "GeoIP2";
10046     version = "2.006002";
10047     src = fetchurl {
10048       url = "mirror://cpan/authors/id/M/MA/MAXMIND/GeoIP2-2.006002.tar.gz";
10049       hash = "sha256-CQVCqO7pvTwS5ZxLZWJMidAf/ZQgTx8Hah20CybAmDQ=";
10050     };
10051     propagatedBuildInputs = [ JSONMaybeXS LWPProtocolHttps MaxMindDBReader ParamsValidate Throwable ];
10052     buildInputs = [ PathClass TestFatal TestNumberDelta ];
10053     meta = {
10054       description = "Perl API for MaxMind's GeoIP2 web services and databases";
10055       homepage = "https://metacpan.org/release/GeoIP2";
10056       license = with lib.licenses; [ artistic1 gpl1Plus ];
10057       mainProgram = "web-service-request";
10058     };
10059   };
10061   GetoptArgvFile = buildPerlPackage {
10062     pname = "Getopt-ArgvFile";
10063     version = "1.11";
10064     src = fetchurl {
10065       url = "mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-1.11.tar.gz";
10066       hash = "sha256-NwmqUTzm/XHRpVoC400vCQAX1TUKm9RHAFZTybCDWyI=";
10067     };
10068     meta = {
10069       description = "Interpolates script options from files into @ARGV or another array";
10070       license = with lib.licenses; [ artistic1 ];
10071       maintainers = [ maintainers.pSub ];
10072     };
10073   };
10075   GetoptLong = buildPerlPackage {
10076     pname = "Getopt-Long";
10077     version = "2.52";
10078     src = fetchurl {
10079       url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.52.tar.gz";
10080       hash = "sha256-ncenw3M1PVwF765UjnsSOqijHR9Qbrjbvsjw3Kd3Bfo=";
10081     };
10082     meta = {
10083       description = "Extended processing of command line options";
10084       license = with lib.licenses; [ artistic1 gpl2Plus ];
10085     };
10086   };
10088   GetoptLongDescriptive = buildPerlPackage {
10089     pname = "Getopt-Long-Descriptive";
10090     version = "0.105";
10091     src = fetchurl {
10092       url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.105.tar.gz";
10093       hash = "sha256-pxzbz0BDWIsmpCoT0VHCQ/bszzjo/AsY/7W1NlGrjBU=";
10094     };
10095     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
10096     propagatedBuildInputs = [ ParamsValidate SubExporter ];
10097     meta = {
10098       description = "Getopt::Long, but simpler and more powerful";
10099       homepage = "https://github.com/rjbs/Getopt-Long-Descriptive";
10100       license = with lib.licenses; [ artistic1 gpl1Plus ];
10101     };
10102   };
10104   GetoptTabular = buildPerlPackage {
10105     pname = "Getopt-Tabular";
10106     version = "0.3";
10107     src = fetchurl {
10108       url = "mirror://cpan/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz";
10109       hash = "sha256-m98GdjO1kTEngg9OgDXtxT0INy+qzla6a/oAyWiiU3c=";
10110     };
10111     meta = {
10112       description = "Table-driven argument parsing for Perl 5";
10113       license = with lib.licenses; [ artistic1 gpl1Plus ];
10114     };
10115   };
10117   Git = buildPerlPackage {
10118     pname = "Git";
10119     version = "0.42";
10120     src = fetchurl {
10121       url = "mirror://cpan/authors/id/M/MS/MSOUTH/Git-0.42.tar.gz";
10122       hash = "sha256-lGmp85jzor8rBQBWbuQdP/b65GBBKhNxhXZ6HMR4Om0=";
10123     };
10124     propagatedBuildInputs = [ Error ];
10125     meta = {
10126       description = "This is the Git.pm, plus the other files in the perl/Git directory, from github's git/git";
10127       license = with lib.licenses; [ gpl2Plus ];
10128       maintainers = teams.deshaw.members;
10129     };
10130   };
10132   GitAutofixup = buildPerlPackage rec {
10133     pname = "App-Git-Autofixup";
10134     version = "0.003001";
10135     src = fetchurl {
10136       url = "mirror://cpan/authors/id/T/TO/TORBIAK/App-Git-Autofixup-0.003001.tar.gz";
10137       hash = "sha256-F/ayRn/nnFksouFyx3vmICNlxK+hncifKhMNIT+o8eA=";
10138     };
10139     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
10140     postInstall = lib.optionalString stdenv.isDarwin ''
10141       shortenPerlShebang $out/bin/git-autofixup
10142     '';
10143     meta = {
10144       description = "Create fixup commits for topic branches";
10145       license = with lib.licenses; [ artistic2 ];
10146       maintainers = [ maintainers.DamienCassou ];
10147       mainProgram = "git-autofixup";
10148     };
10149   };
10151   GitPurePerl = buildPerlPackage {
10152     pname = "Git-PurePerl";
10153     version = "0.53";
10154     src = fetchurl {
10155       url = "mirror://cpan/authors/id/B/BR/BROQ/Git-PurePerl-0.53.tar.gz";
10156       hash = "sha256-mHx0NmzEw37ghAUPmF+iVDWcicElB/W4v8ZgfeU41ag=";
10157     };
10158     buildInputs = [ Testutf8 ];
10159     propagatedBuildInputs = [ ArchiveExtract ConfigGitLike DataStreamBulk DateTime FileFindRule IODigest MooseXStrictConstructor MooseXTypesPathClass ];
10160     doCheck = false;
10161     meta = {
10162       description = "A Pure Perl interface to Git repositories";
10163       license = with lib.licenses; [ artistic1 gpl1Plus ];
10164     };
10165   };
10167   GitRepository = buildPerlPackage {
10168     pname = "Git-Repository";
10169     version = "1.324";
10170     src = fetchurl {
10171       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.324.tar.gz";
10172       hash = "sha256-gU360QSpVGNJ+eD9SSyGE33oJ+vChAF6kaUmfBIK1PY=";
10173     };
10174     buildInputs = [ TestRequiresGit ];
10175     propagatedBuildInputs = [ GitVersionCompare SystemCommand namespaceclean ];
10176     meta = {
10177       description = "Perl interface to Git repositories";
10178       license = with lib.licenses; [ artistic1 gpl1Plus ];
10179     };
10180   };
10182   GitVersionCompare = buildPerlPackage {
10183     pname = "Git-Version-Compare";
10184     version = "1.004";
10185     src = fetchurl {
10186       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Version-Compare-1.004.tar.gz";
10187       hash = "sha256-Y+gmTtNRyyNxtHhSpyNmIUFktfP62dvWgwnH/GPQZJE=";
10188     };
10189     buildInputs = [ TestNoWarnings ];
10190     meta = {
10191       description = "Functions to compare Git versions";
10192       license = with lib.licenses; [ artistic1 gpl1Plus ];
10193     };
10194   };
10196   Glib = buildPerlPackage {
10197     pname = "Glib";
10198     version = "1.3293";
10199     src = fetchurl {
10200       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3293.tar.gz";
10201       hash = "sha256-cxagwefMXLPbchEhT0XXvcI1Q2WmgKxL06yL8G0ctQA=";
10202     };
10203     buildInputs = [ pkgs.glib ];
10204     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
10205     meta = {
10206       description = "Perl wrappers for the GLib utility and Object libraries";
10207       homepage = "http://gtk2-perl.sourceforge.net";
10208       license = with lib.licenses; [ lgpl21Only ];
10209     };
10210   };
10212   GlibObjectIntrospection = buildPerlPackage {
10213     pname = "Glib-Object-Introspection";
10214     version = "0.049";
10215     src = fetchurl {
10216       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.049.tar.gz";
10217       hash = "sha256-RkYoy53QKLEEOMI4kt5vijAgI1Wk5OsBv9E7jP41r1c=";
10218     };
10219     checkInputs = [ pkgs.cairo CairoGObject ];
10220     propagatedBuildInputs = [ pkgs.gobject-introspection Glib ];
10221     preCheck = ''
10222       # Our gobject-introspection patches make the shared library paths absolute
10223       # in the GIR files. When running tests, the library is not yet installed,
10224       # though, so we need to replace the absolute path with a local one during build.
10225       # We are using a symlink that we will delete after the execution of the tests.
10226       mkdir -p $out/lib
10227       ln -s $PWD/build/*.so $out/lib/
10228     '';
10229     postCheck = ''
10230       rm -r $out/lib
10231     '';
10232     doCheck = !stdenv.isDarwin;
10233     meta = {
10234       description = "Dynamically create Perl language bindings";
10235       homepage = "http://gtk2-perl.sourceforge.net";
10236       license = with lib.licenses; [ lgpl21Only ];
10237     };
10238   };
10240   Gnome2 = buildPerlPackage {
10241     pname = "Gnome2";
10242     version = "1.047";
10243     src = fetchurl {
10244       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-1.047.tar.gz";
10245       hash = "sha256-zMhcXcPBT5Fe0aGG0jhoHYP+89F+7RwgABSZ/1a2OQw=";
10246     };
10247     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gnome2Canvas Gnome2VFS Gtk2 ];
10248     propagatedBuildInputs = [ pkgs.gnome2.libgnomeui ];
10249     meta = {
10250       description = "(DEPRECATED) Perl interface to the 2.x series of the GNOME libraries";
10251       homepage = "http://gtk2-perl.sourceforge.net";
10252       license = with lib.licenses; [ lgpl21Plus ];
10253       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gnome2Canvas.x86_64-darwin
10254     };
10255   };
10257   Gnome2Canvas = buildPerlPackage {
10258     pname = "Gnome2-Canvas";
10259     version = "1.004";
10260     src = fetchurl {
10261       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-Canvas-1.004.tar.gz";
10262       hash = "sha256-ObezmyNdE85IhJ/QKnrNC4dIpLslXVtKLWkUjKtbgjw=";
10263     };
10264     buildInputs = [ pkgs.gnome2.libgnomecanvas ];
10265     propagatedBuildInputs = [ Gtk2 ];
10266     doCheck = !stdenv.isDarwin;
10267     meta = {
10268       description = "(DEPRECATED) A structured graphics canvas";
10269       license = with lib.licenses; [ lgpl2Plus ];
10270     };
10271   };
10273   Gnome2VFS = buildPerlPackage {
10274     pname = "Gnome2-VFS";
10275     version = "1.083";
10276     src = fetchurl {
10277       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-VFS-1.083.tar.gz";
10278       hash = "sha256-7Kl0Zp305/IbT87blsijKEIjacaLjCzZm5zpzF16eXk=";
10279     };
10280     propagatedBuildInputs = [ pkgs.gnome2.gnome_vfs Glib ];
10281     meta = {
10282       description = "(DEPRECATED) Perl interface to the 2.x series of the GNOME VFS";
10283       license = with lib.licenses; [ lgpl21Plus ];
10284     };
10285   };
10287   Gnome2Wnck = buildPerlPackage {
10288     pname = "Gnome2-Wnck";
10289     version = "0.16";
10290     src = fetchurl {
10291       url = "mirror://cpan/authors/id/T/TS/TSCH/Gnome2-Wnck-0.16.tar.gz";
10292       hash = "sha256-YEqOzoisKfEy1ZsMqsJ2V+wxNxwWBqRpiiFg6IrFhuU=";
10293     };
10294     buildInputs = [ pkgs.libwnck2 pkgs.glib pkgs.gtk2 ];
10295     propagatedBuildInputs = [ Gtk2 ];
10296     meta = {
10297       description = "(DEPRECATED) Perl interface to the Window Navigator";
10298       license = with lib.licenses; [ lgpl21Plus ];
10299     };
10300   };
10302   GnuPG = buildPerlPackage {
10303     pname = "GnuPG";
10304     version = "0.19";
10305     src = fetchurl {
10306       url = "mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz";
10307       hash = "sha256-r1Py0/Yyl+BGZ26uFKdilq/dKRDglyO2sRNwhiK3mJs=";
10308     };
10309     buildInputs = [ pkgs.gnupg1orig ];
10310     doCheck = false;
10311     meta = {
10312       description = "Perl interface to the GNU Privacy Guard";
10313       license = with lib.licenses; [ gpl2Plus ];
10314       mainProgram = "gpgmailtunl";
10315     };
10316   };
10318   GnuPGInterface = buildPerlPackage {
10319     pname = "GnuPG-Interface";
10320     version = "1.02";
10321     src = fetchurl {
10322       url = "mirror://cpan/authors/id/B/BP/BPS/GnuPG-Interface-1.02.tar.gz";
10323       hash = "sha256-wnpIw9SOGpIF42Lu6mbUawMr2EY3mR/fCxOCi8r90+Y=";
10324     };
10325     buildInputs = [ pkgs.which pkgs.gnupg1compat ];
10326     propagatedBuildInputs = [ MooXHandlesVia MooXlate ];
10327     doCheck = false;
10328     meta = {
10329       description = "Supply object methods for interacting with GnuPG";
10330       license = with lib.licenses; [ artistic1 gpl1Plus ];
10331     };
10332   };
10334   GoferTransporthttp = buildPerlPackage {
10335     pname = "GoferTransport-http";
10336     version = "1.017";
10337     src = fetchurl {
10338       url = "mirror://cpan/authors/id/T/TI/TIMB/GoferTransport-http-1.017.tar.gz";
10339       hash = "sha256-9z7/4+p6+hkHzol3yHOHq7DUQE+FpySuJjeymnMVSps=";
10340     };
10341     propagatedBuildInputs = [ DBI LWP mod_perl2 ];
10342     doCheck = false; # no make target 'test'
10343     meta = {
10344       description = "HTTP transport for DBI stateless proxy driver DBD::Gofer";
10345       license = with lib.licenses; [ artistic1 gpl1Plus ];
10346     };
10347   };
10349   GooCanvas = buildPerlPackage {
10350     pname = "Goo-Canvas";
10351     version = "0.06";
10352     src = fetchurl {
10353       url = "mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz";
10354       hash = "sha256-DFiMUH7tXmLRLtHMHkkcb/Oh9ZxPs9Q14UIUs3qzklE=";
10355     };
10356     propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 ];
10357     meta = {
10358       description = "Perl interface to the GooCanvas";
10359       license = with lib.licenses; [ artistic1 gpl1Plus ];
10360     };
10361   };
10363   GooCanvas2 = buildPerlPackage {
10364     pname = "GooCanvas2";
10365     version = "0.06";
10366     src = fetchurl {
10367       url = "mirror://cpan/authors/id/P/PE/PERLMAX/GooCanvas2-0.06.tar.gz";
10368       hash = "sha256-4kyHhz4ZBj3U1eLHCcqs+MCuiIEEQ5W7hl3CtP3WO1A=";
10369     };
10370     buildInputs = [ pkgs.gtk3 ];
10371     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
10372     meta = {
10373       description = "Perl binding for GooCanvas2 widget using Glib::Object::Introspection";
10374       license = with lib.licenses; [ artistic1 gpl1Plus ];
10375     };
10376   };
10378   GooCanvas2CairoTypes = buildPerlPackage rec {
10379     pname = "GooCanvas2-CairoTypes";
10380     version = "0.001";
10381     src = fetchurl {
10382       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-${version}.tar.gz";
10383       hash = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI=";
10384     };
10385     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
10386     meta = {
10387       description = "Bridge between GooCanvas2 and Cairo types";
10388       license = with lib.licenses; [ artistic1 gpl1Plus ];
10389     };
10390   };
10392   GoogleProtocolBuffers = buildPerlPackage {
10393     pname = "Google-ProtocolBuffers";
10394     version = "0.12";
10395     src = fetchurl {
10396       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/Google-ProtocolBuffers-0.12.tar.gz";
10397       hash = "sha256-s4RJxguaJxLd5IFIXMerA7KgrBw/1ICzhT5BEawpTXE=";
10398     };
10399     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
10400     patches =
10401       [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ];
10402     meta = {
10403       description = "Simple interface to Google Protocol Buffers";
10404       homepage = "https://github.com/csirtgadgets/google-protocolbuffers-perl";
10405       license = with lib.licenses; [ artistic1 gpl1Plus ];
10406       mainProgram = "protoc-perl";
10407     };
10408   };
10410   gotofile = buildPerlPackage {
10411     pname = "goto-file";
10412     version = "0.005";
10413     src = fetchurl {
10414       url = "mirror://cpan/authors/id/E/EX/EXODIST/goto-file-0.005.tar.gz";
10415       hash = "sha256-xs3V7kps3L2/MU2SpPmYXbzfnkJYBIyudhJcBSqjH3c=";
10416     };
10417     buildInputs = [ Test2Suite ];
10418     meta = {
10419       description = "Stop parsing the current file and move on to a different one";
10420       license = with lib.licenses; [ artistic1 gpl1Plus ];
10421     };
10422   };
10424   Graph = buildPerlPackage {
10425     pname = "Graph";
10426     version = "0.9722";
10427     src = fetchurl {
10428       url = "mirror://cpan/authors/id/E/ET/ETJ/Graph-0.9722.tar.gz";
10429       hash = "sha256-wRNjODPzob74+o65ZoC+NtAOQe9AS93X/Au5hwPijU0=";
10430     };
10431     propagatedBuildInputs = [ HeapFibonacci SetObject ];
10432     meta = {
10433       description = "GRaph data structures and algorithms";
10434       license = with lib.licenses; [ artistic1 gpl1Plus ];
10435     };
10436   };
10438   GraphicsColor = buildPerlPackage {
10439     pname = "Graphics-Color";
10440     version = "0.31";
10441     src = fetchurl {
10442       url = "mirror://cpan/authors/id/G/GP/GPHAT/Graphics-Color-0.31.tar.gz";
10443       hash = "sha256-+qj+1bLYDlFgr5duXbIkLAs1VVQs4QQldf9raUWHoz0=";
10444     };
10445     buildInputs = [ TestNumberDelta ModulePluggable ];
10446     propagatedBuildInputs = [ ColorLibrary Moose MooseXAliases MooseXClone MooseXStorage MooseXTypes ];
10447     meta = {
10448       description = "Device and library agnostic color spaces";
10449       homepage = "https://github.com/gphat/graphics-color";
10450       license = with lib.licenses; [ artistic1 gpl1Plus ];
10451     };
10452   };
10454   GraphicsTIFF = buildPerlPackage {
10455     pname = "Graphics-TIFF";
10456     version = "16";
10457     src = fetchurl {
10458       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Graphics-TIFF-9.tar.gz";
10459       hash = "sha256-Kv0JTCBGnvp8+cMmDjzuqd4Qw9r+BjOo0eJC405OOdg=";
10460     };
10461     buildInputs = [ pkgs.libtiff ExtUtilsDepends ExtUtilsPkgConfig ];
10462     propagatedBuildInputs = [ Readonly ];
10463     checkInputs = [ TestRequires TestDeep pkgs.hexdump ];
10464     meta = {
10465       description = "Perl extension for the libtiff library";
10466       license = with lib.licenses; [ artistic1 gpl1Plus ];
10467     };
10468   };
10470   GraphViz = buildPerlPackage {
10471     pname = "GraphViz";
10472     version = "2.24";
10473     src = fetchurl {
10474       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/GraphViz-2.24.tgz";
10475       hash = "sha256-2V76xM3u2xgoMQDv4+AMWcGt1STZzojByKNYNZEi9a0=";
10476     };
10478     # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
10479     buildInputs = [ pkgs.graphviz TestPod ];
10480     propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath ];
10482     meta = {
10483       description = "Perl interface to the GraphViz graphing tool";
10484       license = with lib.licenses; [artistic2 ];
10485     };
10486   };
10488   grepmail = buildPerlPackage {
10489     pname = "grepmail";
10490     version = "5.3111";
10491     src = fetchurl {
10492       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/grepmail-5.3111.tar.gz";
10493       hash = "sha256-0JhOP3ob4XrgFFdfcMFngVGlvMliIYXcWgUstjJxp2E=";
10494     };
10495     buildInputs = [ FileHomeDir FileSlurper TestCompile UNIVERSALrequire URI ];
10496     propagatedBuildInputs = [ MailMboxMessageParser TimeDate ];
10497     outputs = [ "out" ];
10498     meta = {
10499       description = "Search mailboxes for mail matching a regular expression";
10500       homepage = "https://github.com/coppit/grepmail";
10501       license = with lib.licenses; [ gpl2Only ];
10502       maintainers = with maintainers; [ romildo ];
10503     };
10504   };
10506   GrowlGNTP = buildPerlModule {
10507     pname = "Growl-GNTP";
10508     version = "0.21";
10509     src = fetchurl {
10510       url = "mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz";
10511       hash = "sha256-KHl/jkJ0BnIFhMr9EOeAp47CtWnFVaGHQ9dFU9X1CD8=";
10512     };
10513     buildInputs = [ ModuleBuildTiny ];
10514     propagatedBuildInputs = [ CryptCBC DataUUID ];
10515     meta = {
10516       description = "Perl implementation of GNTP Protocol (Client Part)";
10517       license = with lib.licenses; [ artistic1 gpl1Plus ];
10518     };
10519   };
10521   GSSAPI = buildPerlPackage {
10522     pname = "GSSAPI";
10523     version = "0.28";
10524     src = fetchurl {
10525       url = "mirror://cpan/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz";
10526       hash = "sha256-fY8se2F2L7TsctLsKBKQ8vh/nH0pgnPaRSVDKmXncNY=";
10527     };
10528     propagatedBuildInputs = [ pkgs.krb5Full.dev ];
10529     makeMakerFlags = [ "--gssapiimpl" "${pkgs.krb5Full.dev}" ];
10530     meta = {
10531       description = "Perl extension providing access to the GSSAPIv2 library";
10532       license = with lib.licenses; [ artistic1 gpl1Plus ];
10533       maintainers = teams.deshaw.members;
10534     };
10535   };
10537   Gtk2 = buildPerlPackage {
10538     pname = "Gtk2";
10539     version = "1.24993";
10540     src = fetchurl {
10541       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz";
10542       hash = "sha256-ScRDdDsu7+EadoACck9/akxI78lP8806VZ+357aTyWc=";
10543     };
10544     buildInputs = [ pkgs.gtk2 ];
10545     # https://rt.cpan.org/Public/Bug/Display.html?id=130742
10546     # doCheck = !stdenv.isDarwin;
10547     doCheck = false;
10548     propagatedBuildInputs = [ Pango ];
10549     meta = {
10550       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
10551       homepage = "http://gtk2-perl.sourceforge.net";
10552       license = with lib.licenses; [ lgpl21Plus ];
10553     };
10554   };
10556   Gtk2TrayIcon = buildPerlPackage {
10557     pname = "Gtk2-TrayIcon";
10558     version = "0.06";
10559     src = fetchurl {
10560       url = "mirror://cpan/authors/id/B/BO/BORUP/Gtk2-TrayIcon-0.06.tar.gz";
10561       hash = "sha256-y7djK3XX9BVU3+jukGPb/R2FIikQd8ZdDYLpzrXpSuI=";
10562     };
10563     propagatedBuildInputs = [ pkgs.gtk2 Gtk2 ];
10564     meta = {
10565       description = "(DEPRECATED) Perl interface to the EggTrayIcon library";
10566       license = with lib.licenses; [ gpl2Plus ];
10567       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2TrayIcon.x86_64-darwin
10568     };
10569   };
10571   Gtk2AppIndicator = buildPerlPackage {
10572     pname = "Gtk2-AppIndicator";
10573     version = "0.15";
10574     src = fetchurl {
10575       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Gtk2-AppIndicator-0.15.tar.gz";
10576       hash = "sha256-olywceIU+4m0RQqkYFAx6uibeWHhSbDW6PSRwZwUqQo=";
10577     };
10578     propagatedBuildInputs = [ pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkg-config Gtk2 ];
10579     # Tests fail due to no display:
10580     #   Gtk-WARNING **: cannot open display:  at /nix/store/HASH-perl-Gtk2-1.2498/lib/perl5/site_perl/5.22.2/x86_64-linux-thread-multi/Gtk2.pm line 126.
10581     doCheck = false;
10582     meta = {
10583       description = "Perl extension for libappindicator";
10584       license = with lib.licenses; [ artistic1 ];
10585     };
10586   };
10588   Gtk2ImageView = buildPerlPackage {
10589     pname = "Gtk2-ImageView";
10590     version = "0.05";
10591     src = fetchurl {
10592       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk2-ImageView-0.05.tar.gz";
10593       hash = "sha256-CHGGw2k6zxlkUc9ZzIt/XPmnsFq+INMty8uggilT+4A=";
10594     };
10595     buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
10596     propagatedBuildInputs = [ Gtk2 ];
10597     # Tests fail due to no display server:
10598     #   Gtk-WARNING **: cannot open display:  at /nix/store/HASH-perl-Gtk2-1.2498/lib/perl5/site_perl/5.22.2/x86_64-linux-thread-multi/Gtk2.pm line 126.
10599     #   t/animview.t ...........
10600     doCheck = false;
10601     meta = {
10602       description = "Perl bindings for the GtkImageView widget";
10603       license = with lib.licenses; [ lgpl3Plus ];
10604     };
10605   };
10607   Gtk2Unique = buildPerlPackage {
10608     pname = "Gtk2-Unique";
10609     version = "0.05";
10610     src = fetchurl {
10611       url = "mirror://cpan/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz";
10612       hash = "sha256-ro37D2hE3aos57W0RVNBlJDI6Dwk/TXEMUBqWPa+D08=";
10613     };
10614     propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 ];
10615     meta = {
10616       description = "(DEPRECATED) Use single instance applications";
10617       license = with lib.licenses; [ artistic1 gpl1Plus ];
10618       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2Unique.x86_64-darwin
10619     };
10620   };
10622   Gtk3 = buildPerlPackage rec {
10623     pname = "Gtk3";
10624     version = "0.038";
10625     src = fetchurl {
10626       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk3-${version}.tar.gz";
10627       hash = "sha256-cNxL8qp0mBx54V/SmNmY4FqS66SBHxrVyfH03jdzesw=";
10628     };
10629     propagatedBuildInputs = [ pkgs.gtk3 CairoGObject GlibObjectIntrospection ];
10630     preCheck = lib.optionalString stdenv.isDarwin "rm t/overrides.t"; # Currently failing on macOS
10631     meta = {
10632       description = "Perl interface to the 3.x series of the gtk+ toolkit";
10633       license = with lib.licenses; [ lgpl21Plus ];
10634     };
10635   };
10637   Gtk3ImageView = buildPerlPackage rec {
10638     pname = "Gtk3-ImageView";
10639     version = "10";
10640     src = fetchurl {
10641       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/Gtk3-ImageView-${version}.tar.gz";
10642       hash = "sha256-vHfnBgaeZPK7hBgZcP1KjepG+IvsDE3XwrH9U4xoN+Y=";
10643     };
10644     buildInputs = [ pkgs.gtk3 ];
10645     propagatedBuildInputs = [ Readonly Gtk3 ];
10646     checkInputs = [ TestDifferences TestDeep ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
10647     checkPhase = ''
10648       ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \
10649         make test
10650     '';
10651     meta = {
10652       description = "Image viewer widget for Gtk3";
10653       homepage = "https://github.com/carygravel/gtk3-imageview";
10654       license = with lib.licenses; [ artistic1 gpl1Plus ];
10655     };
10656   };
10658   Gtk3SimpleList = buildPerlPackage {
10659     pname = "Gtk3-SimpleList";
10660     version = "0.21";
10661     src = fetchurl {
10662       url = "mirror://cpan/authors/id/T/TV/TVIGNAUD/Gtk3-SimpleList-0.21.tar.gz";
10663       hash = "sha256-HURlEAvzvAR0opRppAb9AzVituNzYYgSEAA3KrKtqIQ=";
10664     };
10665     propagatedBuildInputs = [ Gtk3 ];
10666     meta = {
10667       description = "A simple interface to Gtk3's complex MVC list widget";
10668       homepage = "https://github.com/soig/Gtk3-SimpleList";
10669       license = with lib.licenses; [ lgpl21Plus ];
10670     };
10671   };
10673   Guard = buildPerlPackage {
10674     pname = "Guard";
10675     version = "1.023";
10676     src = fetchurl {
10677       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.023.tar.gz";
10678       hash = "sha256-NMTd+R/JPRCQ2G2hTfcG0XWxYQxnNywB4SzpVV1N0dw=";
10679     };
10680     meta = {
10681       description = "Safe cleanup blocks";
10682       license = with lib.licenses; [ artistic1 gpl1Plus ];
10683     };
10684   };
10686   HamAPRSFAP = buildPerlPackage {
10687     pname = "Ham-APRS-FAP";
10688     version = "1.21";
10689     src = fetchurl {
10690       url = "mirror://cpan/authors/id/H/HE/HESSU/Ham-APRS-FAP-1.21.tar.gz";
10691       hash = "sha256-4BtFXUb0RxDbzyG2+oQ/CTWM5g7uHEFBvHTgogTToCA=";
10692     };
10693     propagatedBuildInputs = [ DateCalc ];
10694     meta = {
10695       description = "Finnish APRS Parser (Fabulous APRS Parser)";
10696       maintainers = with maintainers; [ andrew-d ];
10697       license = with lib.licenses; [ artistic1 gpl1Plus ];
10698     };
10699   };
10701   Hailo = buildPerlPackage {
10702     pname = "Hailo";
10703     version = "0.75";
10704     src = fetchurl {
10705       url = "mirror://cpan/authors/id/A/AV/AVAR/Hailo-0.75.tar.gz";
10706       hash = "sha256-u6mcsM+j7oYy3YmQbG5voF/muzZ/IoLoiQnO/Y+RdMI=";
10707     };
10708     buildInputs = [ BotTrainingMegaHAL BotTrainingStarCraft DataSection FileSlurp PodSection TestException TestExpect TestOutput TestScript TestScriptRun ];
10709     propagatedBuildInputs = [ ClassLoad DBDSQLite DataDump DirSelf FileCountLines GetoptLongDescriptive IOInteractive IPCSystemSimple ListMoreUtils Moose MooseXGetopt MooseXStrictConstructor MooseXTypes RegexpCommon TermSk namespaceclean ];
10710     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
10711     postPatch = ''
10712       patchShebangs bin
10713     '';
10714     postInstall = lib.optionalString stdenv.isDarwin ''
10715       shortenPerlShebang $out/bin/hailo
10716     '';
10717     meta = {
10718       description = "A pluggable Markov engine analogous to MegaHAL";
10719       homepage = "https://hailo.org";
10720       license = with lib.licenses; [ artistic1 gpl1Plus ];
10721       mainProgram = "hailo";
10722     };
10723   };
10725   HashDiff = buildPerlPackage {
10726     pname = "Hash-Diff";
10727     version = "0.010";
10728     src = fetchurl {
10729       url = "mirror://cpan/authors/id/B/BO/BOLAV/Hash-Diff-0.010.tar.gz";
10730       hash = "sha256-vJpKo47JjwqYKJ41q/mhfC8qMjmiIJoymADglwqi4MU=";
10731     };
10732     propagatedBuildInputs = [ HashMerge ];
10733     buildInputs = [ TestSimple13 ];
10735     meta = {
10736       description = "Return difference between two hashes as a hash";
10737       homepage = "https://github.com/bolav/hash-diff";
10738       license = with lib.licenses; [ artistic1 gpl1Plus ];
10739     };
10740   };
10742   ham = callPackage ../development/perl-modules/ham { };
10744   HashFlatten = buildPerlPackage {
10745     pname = "Hash-Flatten";
10746     version = "1.19";
10747     src = fetchurl {
10748       url = "mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz";
10749       hash = "sha256-cMbEnYtsRgdGQXpQmO3SoP0x/YuGxUv4SS6FPB9OS5g=";
10750     };
10751     buildInputs = [ TestAssertions ];
10752     propagatedBuildInputs = [ LogTrace ];
10753     meta = {
10754       description = "Flatten/unflatten complex data hashes";
10755       license = with lib.licenses; [ gpl2Only ];
10756     };
10757   };
10759   HashMerge = buildPerlPackage {
10760     pname = "Hash-Merge";
10761     version = "0.302";
10762     src = fetchurl {
10763       url = "mirror://cpan/authors/id/H/HE/HERMES/Hash-Merge-0.302.tar.gz";
10764       hash = "sha256-rgUi92U5YIth3eFGcOeWd+DzkQNoMvcKIfMa3eJThkQ=";
10765     };
10766     propagatedBuildInputs = [ CloneChoose ];
10767     buildInputs = [ Clone ClonePP ];
10768     meta = {
10769       description = "Merges arbitrarily deep hashes into a single hash";
10770       homepage = "https://metacpan.org/release/Hash-Merge";
10771       license = with lib.licenses; [ artistic1 gpl1Plus ];
10772     };
10773   };
10775   HashMergeSimple = buildPerlPackage {
10776     pname = "Hash-Merge-Simple";
10777     version = "0.051";
10778     src = fetchurl {
10779       url = "mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz";
10780       hash = "sha256-HFYyeHPS8E1XInd/BEhj2WiRBGaZd0DVWnVAccYoe3M=";
10781     };
10782     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
10783     propagatedBuildInputs = [ Clone ];
10784     meta = {
10785       description = "Recursively merge two or more hashes, simply";
10786       license = with lib.licenses; [ artistic1 gpl1Plus ];
10787     };
10788   };
10790   HashMoreUtils = buildPerlPackage {
10791     pname = "Hash-MoreUtils";
10792     version = "0.06";
10793     src = fetchurl {
10794       url = "mirror://cpan/authors/id/R/RE/REHSACK/Hash-MoreUtils-0.06.tar.gz";
10795       hash = "sha256-25qPuGfVB1PDgIiaXlQHVlG14IybO3IctyIMCINUfeg=";
10796     };
10797     meta = {
10798       description = "Provide the stuff missing in Hash::Util";
10799       homepage = "https://metacpan.org/release/Hash-MoreUtils";
10800       license = with lib.licenses; [ artistic1 gpl1Plus ];
10801     };
10802   };
10804   HashMultiValue = buildPerlPackage {
10805     pname = "Hash-MultiValue";
10806     version = "0.16";
10807     src = fetchurl {
10808       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz";
10809       hash = "sha256-Zhgd96po4nhvr2iVyIsYuVyACo5Ob7TAf9F2QQo8c/Q=";
10810     };
10811     meta = {
10812       description = "Store multiple values per key";
10813       homepage = "https://github.com/miyagawa/Hash-MultiValue";
10814       license = with lib.licenses; [ artistic1 gpl1Plus ];
10815     };
10816   };
10818   HashSharedMem = buildPerlModule {
10819     pname = "Hash-SharedMem";
10820     version = "0.005";
10821     src = fetchurl {
10822       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
10823       hash = "sha256-Mkd2gIYC973EStqpN4lTZUVAKakm+mEfMhyb9rlAu14=";
10824     };
10825     buildInputs = [ ScalarString ];
10826     meta = {
10827       description = "Efficient shared mutable hash";
10828       license = with lib.licenses; [ artistic1 gpl1Plus ];
10829       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HashSharedMem.x86_64-darwin
10830     };
10831   };
10833   HashStoredIterator = buildPerlModule {
10834     pname = "Hash-StoredIterator";
10835     version = "0.008";
10836     src = fetchurl {
10837       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Hash-StoredIterator-0.008.tar.gz";
10838       hash = "sha256-ucvE3NgjPo0dfxSB3beaSl+dtxgMs+8CtLy+4F5l6gw=";
10839     };
10840     buildInputs = [ Test2Suite ];
10841     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
10842     meta = {
10843       description = "Functions for accessing a hashes internal iterator";
10844       license = with lib.licenses; [ artistic1 gpl1Plus ];
10845     };
10846   };
10848   HashUtilFieldHashCompat = buildPerlPackage {
10849     pname = "Hash-Util-FieldHash-Compat";
10850     version = "0.11";
10851     src = fetchurl {
10852       url = "mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz";
10853       hash = "sha256-ZC5Gp1tTe6EUILMPiwNAPJCgahVFjNgAnzOf6eXzdBs=";
10854     };
10855     meta = {
10856       description = "Use Hash::Util::FieldHash or ties, depending on availability";
10857       license = with lib.licenses; [ artistic1 gpl1Plus ];
10858     };
10859   };
10861   HeapFibonacci = buildPerlPackage {
10862     pname = "Heap";
10863     version = "0.80";
10864     src = fetchurl {
10865       url = "mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz";
10866       hash = "sha256-zNop88kxdq0P3/9N1vXkrJCzcMuksCg4a3NDv2QTm94=";
10867     };
10868     meta = {
10869       description = "Perl extensions for keeping data partially sorted";
10870       license = with lib.licenses; [ artistic1 gpl1Plus ];
10871     };
10872   };
10874   HookLexWrap = buildPerlPackage {
10875     pname = "Hook-LexWrap";
10876     version = "0.26";
10877     src = fetchurl {
10878       url = "mirror://cpan/authors/id/E/ET/ETHER/Hook-LexWrap-0.26.tar.gz";
10879       hash = "sha256-tgvcX5j5T5KUsGre+CsdmW2hktXxg/n0NLYQ/RE37C0=";
10880     };
10881     buildInputs = [ pkgs.unzip ];
10882     meta = {
10883       description = "Lexically scoped subroutine wrappers";
10884       homepage = "https://github.com/karenetheridge/Hook-LexWrap";
10885       license = with lib.licenses; [ artistic1 gpl1Plus ];
10886     };
10887   };
10889   HTMLClean = buildPerlPackage {
10890     pname = "HTML-Clean";
10891     version = "1.4";
10892     src = fetchurl {
10893       url = "mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz";
10894       hash = "sha256-pn1KvadR/DxrSjUYU3eoi8pbZRxgszN5gEtOkKF4hwY=";
10895     };
10896     meta = {
10897       description = "Cleans up HTML code for web browsers, not humans";
10898       license = with lib.licenses; [ artistic1 gpl1Plus ];
10899       mainProgram = "htmlclean";
10900     };
10901   };
10903   HTMLElementExtended = buildPerlPackage {
10904     pname = "HTML-Element-Extended";
10905     version = "1.18";
10906     src = fetchurl {
10907       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz";
10908       hash = "sha256-8+8a8Qjyf+8V6+xmR58lHOCKpJvQCwRiycgMhrS2sys=";
10909     };
10910     propagatedBuildInputs = [ HTMLTree ];
10911     meta = {
10912       description = "Perl extension for HTML::Element(3)";
10913       license = with lib.licenses; [ artistic1 gpl1Plus ];
10914     };
10915   };
10917   HTMLEscape = buildPerlModule {
10918     pname = "HTML-Escape";
10919     version = "1.10";
10920     src = fetchurl {
10921       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTML-Escape-1.10.tar.gz";
10922       hash = "sha256-scusQVetje2saRThYohV4FuNyIWkAH0uTfgXfGqbcPs=";
10923     };
10924     buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
10925     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
10926     meta = {
10927       description = "Extremely fast HTML escaping";
10928       homepage = "https://github.com/tokuhirom/HTML-Escape";
10929       license = with lib.licenses; [ artistic1 gpl1Plus ];
10930       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTMLEscape.x86_64-darwin
10931     };
10932   };
10934   HTMLFromANSI = buildPerlPackage {
10935     pname = "HTML-FromANSI";
10936     version = "2.03";
10937     src = fetchurl {
10938       url = "mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz";
10939       hash = "sha256-IXdjRe1wGywEx7CTgK+UP5mEzH+ZYkCHrqRdtfwJw1k=";
10940     };
10941     propagatedBuildInputs = [ HTMLParser TermVT102Boundless ];
10942     meta = {
10943       description = "Mark up ANSI sequences as HTML";
10944       license = with lib.licenses; [ artistic1 gpl1Plus ];
10945       mainProgram = "ansi2html";
10946     };
10947   };
10949   HTMLForm = buildPerlPackage {
10950     pname = "HTML-Form";
10951     version = "6.07";
10952     src = fetchurl {
10953       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTML-Form-6.07.tar.gz";
10954       hash = "sha256-faqMfq/0AFUBw0Mci/R41Yu+57g2+GNYGqFK/htLYic=";
10955     };
10956     propagatedBuildInputs = [ HTMLParser ];
10957     meta = {
10958       description = "Class that represents an HTML form element";
10959       homepage = "https://github.com/libwww-perl/HTML-Form";
10960       license = with lib.licenses; [ artistic1 gpl1Plus ];
10961     };
10962   };
10964   HTMLFormatter = buildPerlPackage {
10965     pname = "HTML-Formatter";
10966     version = "2.16";
10967     src = fetchurl {
10968       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz";
10969       hash = "sha256-ywoN2Kpei6nKIUzkUb9N8zqgnBPpB+jTCC3a/rMBUcw=";
10970     };
10971     buildInputs = [ FileSlurper TestWarnings ];
10972     propagatedBuildInputs = [ FontAFM HTMLTree ];
10973     meta = {
10974       description = "Base class for HTML formatters";
10975       homepage = "https://metacpan.org/release/HTML-Formatter";
10976       license = with lib.licenses; [ artistic1 gpl1Plus ];
10977     };
10978   };
10980   HTMLFormatExternal = buildPerlPackage {
10981     pname = "HTML-FormatExternal";
10982     version = "26";
10983     src = fetchurl {
10984       url = "mirror://cpan/authors/id/K/KR/KRYDE/HTML-FormatExternal-26.tar.gz";
10985       hash = "sha256-PFnyM9CxBoaoWu0MmUARzsaGJtoBKN6pC1xP3BdGz8M=";
10986     };
10987     propagatedBuildInputs = [ IPCRun URI constant-defer ];
10988     meta = {
10989       description = "HTML to text formatting using external programs";
10990       homepage = "https://user42.tuxfamily.org/html-formatexternal/index.html";
10991       license = with lib.licenses; [ gpl3Plus ];
10992     };
10993   };
10995   HTMLFormatTextWithLinks = buildPerlModule {
10996     pname = "HTML-FormatText-WithLinks";
10997     version = "0.15";
10998     src = fetchurl {
10999       url = "mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz";
11000       hash = "sha256-f8wat561j7l9Q+W90U4heRolCiBJmJGMYtahcRMYM7E=";
11001     };
11002     propagatedBuildInputs = [ HTMLFormatter ];
11003     meta = {
11004       description = "HTML to text conversion with links as footnotes";
11005       license = with lib.licenses; [ artistic1 gpl1Plus ];
11006     };
11007   };
11009   HTMLFormatTextWithLinksAndTables = buildPerlPackage {
11010     pname = "HTML-FormatText-WithLinks-AndTables";
11011     version = "0.07";
11012     src = fetchurl {
11013       url = "mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz";
11014       hash = "sha256-gJ7i8RcFcGszxUMStce+5nSDjyvqrtr4y5RecCquObY=";
11015     };
11016     propagatedBuildInputs = [ HTMLFormatTextWithLinks ];
11017     meta = {
11018       description = "Converts HTML to Text with tables intact";
11019       license = with lib.licenses; [ artistic1 gpl1Plus ];
11020     };
11021   };
11023   HTMLFormFu = buildPerlPackage {
11024     pname = "HTML-FormFu";
11025     version = "2.07";
11026     src = fetchurl {
11027       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-FormFu-2.07.tar.gz";
11028       hash = "sha256-Ty8Bf3qHVPu26RIGyI7RPHVqFOO+oXgYjDuXdGNm6zI=";
11029     };
11030     buildInputs = [ CGI FileShareDirInstall RegexpAssemble TestException TestMemoryCycle TestRequiresInternet ];
11031     propagatedBuildInputs = [ ConfigAny DataVisitor DateTimeFormatBuilder DateTimeFormatNatural EmailValid HTMLScrubber HTMLTokeParserSimple HashFlatten JSONMaybeXS MooseXAliases MooseXAttributeChained NumberFormat PathClass Readonly RegexpCommon TaskWeaken YAMLLibYAML ];
11032     meta = {
11033       description = "HTML Form Creation, Rendering and Validation Framework";
11034       homepage = "https://github.com/FormFu/HTML-FormFu";
11035       license = with lib.licenses; [ artistic1 gpl1Plus ];
11036     };
11037   };
11039   HTMLFormFuMultiForm = buildPerlPackage {
11040     pname = "HTML-FormFu-MultiForm";
11041     version = "1.03";
11042     src = fetchurl {
11043       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-MultiForm-1.03.tar.gz";
11044       hash = "sha256-NvAM12u4luTaCd0rsOXYkGZ/cMePVCUa9NJYyCFJFZ8=";
11045     };
11046     propagatedBuildInputs = [ CryptCBC CryptDES HTMLFormFu ];
11047     meta = {
11048       description = "Handle multi-page/stage forms with FormFu";
11049       homepage = "https://github.com/FormFu/HTML-FormFu-MultiForm";
11050       license = with lib.licenses; [ artistic1 gpl1Plus ];
11051     };
11052   };
11054   HTMLFormHandler = buildPerlPackage {
11055     pname = "HTML-FormHandler";
11056     version = "0.40068";
11057     src = fetchurl {
11058       url = "mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz";
11059       hash = "sha256-63t43aMSV1LMi8wDltOXf70o2jPS1ExQQq1tNdbN6Cc=";
11060     };
11061     # a single test is failing on perl 5.20
11062     doCheck = false;
11063     buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle TestWarn ];
11064     propagatedBuildInputs = [ CryptBlowfish CryptCBC DataClone DateTimeFormatStrptime EmailValid HTMLTree JSONMaybeXS MooseXGetopt MooseXTypesCommon MooseXTypesLoadableClass aliased ];
11065     meta = {
11066       description = "HTML forms using Moose";
11067       license = with lib.licenses; [ artistic1 gpl1Plus ];
11068     };
11069   };
11071   HTMLGumbo = buildPerlModule {
11072     pname = "HTML-Gumbo";
11073     version = "0.18";
11074     src = fetchurl {
11075       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Gumbo-0.18.tar.gz";
11076       hash = "sha256-v1C2HCRlbMP8lYYC2AqcfQFyR6842Nv6Dp3sW3VCXV8=";
11077     };
11078     propagatedBuildInputs = [ AlienLibGumbo ];
11079     meta = {
11080       description = "HTML5 parser based on gumbo C library";
11081       license = with lib.licenses; [ artistic1 gpl1Plus ];
11082     };
11083   };
11085   HTMLMason = buildPerlPackage {
11086     pname = "HTML-Mason";
11087     version = "1.59";
11088     src = fetchurl {
11089       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.59.tar.gz";
11090       hash = "sha256-lb7SpsSINwBGqjFL5LWSvWWmUi+IRdqLNqav+ai0OdA=";
11091     };
11092     buildInputs = [ TestDeep ];
11093     propagatedBuildInputs = [ CGI CacheCache ClassContainer ExceptionClass LogAny ];
11094     meta = {
11095       description = "High-performance, dynamic web site authoring system";
11096       homepage = "https://metacpan.org/release/HTML-Mason";
11097       license = with lib.licenses; [ artistic1 gpl1Plus ];
11098     };
11099   };
11101   HTMLMasonPSGIHandler = buildPerlPackage {
11102     pname = "HTML-Mason-PSGIHandler";
11103     version = "0.53";
11104     src = fetchurl {
11105       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz";
11106       hash = "sha256-6v18dlXfqCYd80RrkxooPTAwaHe4OsRnHEnP906n8As=";
11107     };
11108     buildInputs = [ Plack ];
11109     propagatedBuildInputs = [ CGIPSGI HTMLMason ];
11110     meta = {
11111       description = "PSGI handler for HTML::Mason";
11112       homepage = "https://search.cpan.org/dist/HTML-Mason-PSGIHandler";
11113       license = with lib.licenses; [ artistic1 gpl1Plus ];
11114     };
11115   };
11117   HTMLParser = buildPerlPackage {
11118     pname = "HTML-Parser";
11119     version = "3.75";
11120     src = fetchurl {
11121       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/HTML-Parser-3.75.tar.gz";
11122       hash = "sha256-rGteJajfevVIhSAekcRfuatnRMCM7cGjj8x9ldIRk6k=";
11123     };
11124     propagatedBuildInputs = [ HTMLTagset HTTPMessage ];
11125     meta = {
11126       description = "HTML parser class";
11127       homepage = "https://github.com/libwww-perl/HTML-Parser";
11128       license = with lib.licenses; [ artistic1 gpl1Plus ];
11129     };
11130   };
11132   HTMLTagCloud = buildPerlModule {
11133     pname = "HTML-TagCloud";
11134     version = "0.38";
11135     src = fetchurl {
11136       url = "mirror://cpan/authors/id/R/RO/ROBERTSD/HTML-TagCloud-0.38.tar.gz";
11137       hash = "sha256-SYCZRy3vhmtEi/YvQYLfrfWUcuE/JMuGZKZxynm2cBU=";
11138     };
11139     meta = {
11140       description = "Generate An HTML Tag Cloud";
11141       license = with lib.licenses; [ artistic1 gpl1Plus ];
11142     };
11143   };
11145   HTMLQuoted = buildPerlPackage {
11146     pname = "HTML-Quoted";
11147     version = "0.04";
11148     src = fetchurl {
11149       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz";
11150       hash = "sha256-i0HzE/3BgS8C9vbDfVjyEshP3PeCf3/UsDCQfzncZQw=";
11151     };
11152     propagatedBuildInputs = [ HTMLParser ];
11153     meta = {
11154       description = "Extract structure of quoted HTML mail message";
11155       license = with lib.licenses; [ artistic1 gpl1Plus ];
11156     };
11157   };
11159   HTMLRewriteAttributes = buildPerlPackage {
11160     pname = "HTML-RewriteAttributes";
11161     version = "0.05";
11162     src = fetchurl {
11163       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz";
11164       hash = "sha256-GAjsfN9A0nCFdf5hVaiPEDsX/sd5c6WDHC8kwlDnpYw=";
11165     };
11166     propagatedBuildInputs = [ HTMLParser ];
11167     meta = {
11168       description = "Concise attribute rewriting";
11169       license = with lib.licenses; [ artistic1 gpl1Plus ];
11170     };
11171   };
11173   HTMLSelectorXPath = buildPerlPackage {
11174     pname = "HTML-Selector-XPath";
11175     version = "0.25";
11176     src = fetchurl {
11177       url = "mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.25.tar.gz";
11178       hash = "sha256-Gl1N4UvH+G8OvXZik+Ok4SaYzS3gRnMkP/065xVqauE=";
11179     };
11180     buildInputs = [ TestBase ];
11181     meta = {
11182       description = "CSS Selector to XPath compiler";
11183       license = with lib.licenses; [ artistic1 gpl1Plus ];
11184     };
11185   };
11187   HTMLScrubber = buildPerlPackage {
11188     pname = "HTML-Scrubber";
11189     version = "0.19";
11190     src = fetchurl {
11191       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz";
11192       hash = "sha256-rihVePhWX5FUxj5CNHBLV7aDX3ei+C/+ckiZ1FMmK7E=";
11193     };
11194     propagatedBuildInputs = [ HTMLParser ];
11195     buildInputs = [ TestDifferences TestMemoryCycle ];
11196     meta = {
11197       description = "Perl extension for scrubbing/sanitizing HTML";
11198       license = with lib.licenses; [ artistic1 gpl1Plus ];
11199     };
11200   };
11202   HTMLStripScripts = buildPerlPackage {
11203     pname = "HTML-StripScripts";
11204     version = "1.06";
11205     src = fetchurl {
11206       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-1.06.tar.gz";
11207       hash = "sha256-Iiv7fsH9+kZeMto9xKvtLtxzZLvhno48UTx9WFsBCa0=";
11208     };
11209     meta = {
11210       description = "Strip scripting constructs out of HTML";
11211       license = with lib.licenses; [ artistic1 gpl1Plus ];
11212     };
11213   };
11215   HTMLStripScriptsParser = buildPerlPackage {
11216     pname = "HTML-StripScripts-Parser";
11217     version = "1.03";
11218     src = fetchurl {
11219       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-Parser-1.03.tar.gz";
11220       hash = "sha256-R4waTkbrd/p7zpa6KIFo8LmMJ/JQ4A3GMSNlCBrtNAc=";
11221     };
11222     propagatedBuildInputs = [ HTMLParser HTMLStripScripts ];
11223     meta = {
11224       description = "XSS filter using HTML::Parser";
11225       license = with lib.licenses; [ artistic1 gpl1Plus ];
11226     };
11227   };
11229   HTMLTableExtract = buildPerlPackage {
11230     pname = "HTML-TableExtract";
11231     version = "2.15";
11232     src = fetchurl {
11233       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.15.tar.gz";
11234       hash = "sha256-hsWcnVjaPKF02l5i9aD7AvTaArGx4B355dFLtl5MPs8=";
11235     };
11236     preCheck = ''
11237       # https://rt.cpan.org/Public/Bug/Display.html?id=121920
11238       rm t/30_tree.t
11239     '';
11240     propagatedBuildInputs = [ HTMLElementExtended ];
11241     meta = {
11242       description = "Perl module for extracting the content contained in tables within an HTML document, either as text or encoded element trees";
11243       license = with lib.licenses; [ artistic1 gpl1Plus ];
11244     };
11245   };
11247   HTMLTagset = buildPerlPackage {
11248     pname = "HTML-Tagset";
11249     version = "3.20";
11250     src = fetchurl {
11251       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz";
11252       hash = "sha256-rbF9rJ42zQEfUkOIHJc5QX/RAvznYPjeTpvkxxMRCOI=";
11253     };
11254     meta = {
11255       description = "Data tables useful in parsing HTML";
11256       license = with lib.licenses; [ artistic1 gpl1Plus ];
11257     };
11258   };
11260   HTMLTemplate = buildPerlPackage {
11261     pname = "HTML-Template";
11262     version = "2.97";
11263     src = fetchurl {
11264       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz";
11265       hash = "sha256-ZUevYfOqhXk/hhYZCTjWd9eZX7O3IMFiWAQLyTXiEp8=";
11266     };
11267     propagatedBuildInputs = [ CGI ];
11268     buildInputs = [ TestPod ];
11269     meta = {
11270       description = "Perl module to use HTML-like templating language";
11271       license = with lib.licenses; [ artistic1 gpl1Plus ];
11272     };
11273   };
11275   HTMLTidy = buildPerlPackage {
11276     pname = "HTML-Tidy";
11277     version = "1.60";
11278     src = fetchurl {
11279       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tidy-1.60.tar.gz";
11280       hash = "sha256-vPv2XWh/jmcs9gyYIbzWXV6McqeCcrZ7sKwcaZoT18c=";
11281     };
11283     patchPhase = ''
11284       sed -i "s#/usr/include/tidyp#${pkgs.tidyp}/include/tidyp#" Makefile.PL
11285       sed -i "s#/usr/lib#${pkgs.tidyp}/lib#" Makefile.PL
11286     '';
11287     buildInputs = [ TestException ];
11288     meta = {
11289       description = "(X)HTML validation in a Perl object";
11290       homepage = "https://github.com/petdance/html-tidy";
11291       license = with lib.licenses; [ artistic2 ];
11292       mainProgram = "webtidy";
11293     };
11294   };
11296   HTMLTiny = buildPerlPackage {
11297     pname = "HTML-Tiny";
11298     version = "1.05";
11299     src = fetchurl {
11300       url = "mirror://cpan/authors/id/A/AN/ANDYA/HTML-Tiny-1.05.tar.gz";
11301       hash = "sha256-183J1ZheLkTOuhC3Vqzx4NOhs+47UW5bVK24UP55/aM=";
11302     };
11303     meta = {
11304       description = "Lightweight, dependency free HTML/XML generation";
11305       license = with lib.licenses; [ artistic1 gpl1Plus ];
11306     };
11307   };
11309   HTMLTokeParserSimple = buildPerlModule {
11310     pname = "HTML-TokeParser-Simple";
11311     version = "3.16";
11312     src = fetchurl {
11313       url = "mirror://cpan/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.16.tar.gz";
11314       hash = "sha256-7RETXGg55uDq+WlS5qw1Oi8i67QKchZZZx5dLcwOSp0=";
11315     };
11316     propagatedBuildInputs = [ HTMLParser SubOverride ];
11317     meta = {
11318       description = "Easy to use HTML::TokeParser interface";
11319       license = with lib.licenses; [ artistic1 gpl1Plus ];
11320     };
11321   };
11323   HTMLTree = buildPerlModule {
11324     pname = "HTML-Tree";
11325     version = "5.07";
11326     src = fetchurl {
11327       url = "mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz";
11328       hash = "sha256-8DdNuEcxwgS4bB1bkJdf7w0wqGvZ3vkZND5VTjGp278=";
11329     };
11330     buildInputs = [ TestFatal ];
11331     propagatedBuildInputs = [ HTMLParser ];
11332     meta = {
11333       description = "Work with HTML in a DOM-like tree structure";
11334       license = with lib.licenses; [ artistic1 gpl1Plus ];
11335       mainProgram = "htmltree";
11336     };
11337   };
11339   HTMLTreeBuilderXPath = buildPerlPackage {
11340     pname = "HTML-TreeBuilder-XPath";
11341     version = "0.14";
11342     src = fetchurl {
11343       url = "mirror://cpan/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz";
11344       hash = "sha256-Jeu9skRKClma5eekV9deCe/N8yZqXFcAsUA8y3SIpPM=";
11345     };
11346     propagatedBuildInputs = [ HTMLTree XMLXPathEngine ];
11347     meta = {
11348       description = "Add XPath support to HTML::TreeBuilder";
11349       license = with lib.licenses; [ artistic1 gpl1Plus ];
11350     };
11351   };
11353   HTMLWidget = buildPerlPackage {
11354     pname = "HTML-Widget";
11355     version = "1.11";
11356     src = fetchurl {
11357       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz";
11358       hash = "sha256-vkLfQFWSXOalob818eB60SvEP2VJ91JJAuozMFoOggs=";
11359     };
11360     doCheck = false;
11361     propagatedBuildInputs = [ ClassAccessorChained ClassDataAccessor DateCalc EmailValid HTMLScrubber HTMLTree ModulePluggableFast ];
11362     buildInputs = [ TestNoWarnings ];
11363     meta = {
11364       description = "HTML Widget And Validation Framework";
11365       license = with lib.licenses; [ artistic1 gpl1Plus ];
11366     };
11367   };
11369   HTTPAcceptLanguage = buildPerlModule {
11370     pname = "HTTP-AcceptLanguage";
11371     version = "0.02";
11372     src = fetchurl {
11373       url = "mirror://cpan/authors/id/Y/YA/YAPPO/HTTP-AcceptLanguage-0.02.tar.gz";
11374       hash = "sha256-LmBfVk7J66tlVI/17sk/nF3qvv7XBzpyneCuKE5OQq8=";
11375     };
11376     buildInputs = [ ModuleBuildTiny ];
11377     meta = {
11378       description = "Accept-Language header parser and find available language";
11379       homepage = "https://github.com/yappo/p5-HTTP-AcceptLanguage";
11380       license = with lib.licenses; [ artistic1 gpl1Plus ];
11381     };
11382   };
11384   HTTPBody = buildPerlPackage {
11385     pname = "HTTP-Body";
11386     version = "1.22";
11387     src = fetchurl {
11388       url = "mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.22.tar.gz";
11389       hash = "sha256-/A0sWFs70VMtkmCZZdWJ4Mh804DnzKQvua0KExEicpc=";
11390     };
11391     buildInputs = [ TestDeep ];
11392     propagatedBuildInputs = [ HTTPMessage ];
11393     meta = {
11394       description = "HTTP Body Parser";
11395       license = with lib.licenses; [ artistic1 gpl1Plus ];
11396     };
11397   };
11399   HTTPCookieJar = buildPerlPackage {
11400     pname = "HTTP-CookieJar";
11401     version = "0.010";
11402     src = fetchurl {
11403       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.010.tar.gz";
11404       hash = "sha256-VuMz6CPF2HKiiSQEgrlM3oQesDe38v/U0bQ6opjG9dA=";
11405     };
11406     propagatedBuildInputs = [ HTTPDate ];
11407     buildInputs = [ TestDeep TestRequires URI ];
11408     # Broken on Hydra since 2021-06-17: https://hydra.nixos.org/build/146507373
11409     doCheck = false;
11410     meta = {
11411       description = "A minimalist HTTP user agent cookie jar";
11412       homepage = "https://github.com/dagolden/HTTP-CookieJar";
11413       license = with lib.licenses; [ asl20 ];
11414     };
11415   };
11417   HTTPCookies = buildPerlPackage {
11418     pname = "HTTP-Cookies";
11419     version = "6.09";
11420     src = fetchurl {
11421       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.09.tar.gz";
11422       hash = "sha256-kD8Bevqlt4WZzJDvwU7MzIzC6/tjbrjAL48WuoYdH+A=";
11423     };
11424     propagatedBuildInputs = [ HTTPMessage ];
11425     meta = {
11426       description = "HTTP cookie jars";
11427       homepage = "https://github.com/libwww-perl/HTTP-Cookies";
11428       license = with lib.licenses; [ artistic1 gpl1Plus ];
11429     };
11430   };
11432   HTTPDaemon = buildPerlPackage {
11433     pname = "HTTP-Daemon";
11434     version = "6.14";
11435     src = fetchurl {
11436       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Daemon-6.14.tar.gz";
11437       hash = "sha256-8HZ+fzy7gLITE8dh8HrY7SU7zp+i0LqAaz+3LTCbLh0=";
11438     };
11439     patches = [
11440       # Patches for CVE-2022-3108, from upstream pre 6.15
11441       (fetchpatch {
11442         url = "https://github.com/libwww-perl/HTTP-Daemon/commit/331d5c1d1f0e48e6b57ef738c2a8509b1eb53376.patch";
11443         hash = "sha256-vRSyiO38jnsSeKeGbCnKi+VLaTqQSB349eybl1Wa8SQ=";
11444         name = "HTTP-Daemon-CVE-2022-3108-pre.patch";
11445       })
11446       (fetchpatch {
11447         url = "https://github.com/libwww-perl/HTTP-Daemon/commit/e84475de51d6fd7b29354a997413472a99db70b2.patch";
11448         hash = "sha256-z8RXcbVEpjSZcm8dUZcDWYeQHtVZODOGCdcDTfXQpfA=";
11449         name = "HTTP-Daemon-CVE-2022-3108-1.patch";
11450       })
11451       (fetchpatch {
11452         url = "https://github.com/libwww-perl/HTTP-Daemon/commit/8dc5269d59e2d5d9eb1647d82c449ccd880f7fd0.patch";
11453         hash = "sha256-e1lxt+AJGfbjNOZoKj696H2Ftkx9wlTF557WkZCLE5Q=";
11454         name = "HTTP-Daemon-CVE-2022-3108-2.patch";
11455       })
11456     ];
11457     buildInputs = [ ModuleBuildTiny TestNeeds ];
11458     propagatedBuildInputs = [ HTTPMessage ];
11459     meta = {
11460       description = "A simple http server class";
11461       homepage = "https://github.com/libwww-perl/HTTP-Daemon";
11462       license = with lib.licenses; [ artistic1 gpl1Plus ];
11463     };
11464   };
11466   HTTPDate = buildPerlPackage {
11467     pname = "HTTP-Date";
11468     version = "6.05";
11469     src = fetchurl {
11470       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz";
11471       hash = "sha256-Nl1ilN+9N+vFHe+LZbget5s5NOy8laLsLU2Cfv5qkis=";
11472     };
11473     propagatedBuildInputs = [ TimeDate ];
11474     meta = {
11475       description = "Date conversion routines";
11476       homepage = "https://github.com/libwww-perl/HTTP-Date";
11477       license = with lib.licenses; [ artistic1 gpl1Plus ];
11478     };
11479   };
11481   HTTPEntityParser = buildPerlModule {
11482     pname = "HTTP-Entity-Parser";
11483     version = "0.25";
11484     src = fetchurl {
11485       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.25.tar.gz";
11486       hash = "sha256-OozQ2Muj0XzYwE7oLXNB36okfb3ZSknrlLU/aeSD7Do=";
11487     };
11488     propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
11489     buildInputs = [ HTTPMessage ModuleBuildTiny ];
11490     meta = {
11491       description = "PSGI compliant HTTP Entity Parser";
11492       homepage = "https://github.com/kazeburo/HTTP-Entity-Parser";
11493       license = with lib.licenses; [ artistic1 gpl1Plus ];
11494     };
11495   };
11497   HTTPDAV = buildPerlPackage {
11498     pname = "HTTP-DAV";
11499     version = "0.49";
11500     src = fetchurl {
11501       url = "mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.49.tar.gz";
11502       hash = "sha256-MzOd+ewQbeN9hgnP0NPAg8z7sGwWxlG1s4UaVtF6lXw=";
11503     };
11504     propagatedBuildInputs = [ XMLDOM ];
11505     meta = {
11506       description = "WebDAV client library";
11507       license = with lib.licenses; [ artistic1 gpl1Plus ];
11508       mainProgram = "dave";
11509     };
11510   };
11512   HTTPHeadersActionPack = buildPerlPackage {
11513     pname = "HTTP-Headers-ActionPack";
11514     version = "0.09";
11515     src = fetchurl {
11516       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTTP-Headers-ActionPack-0.09.tar.gz";
11517       hash = "sha256-x4ERq4V+SMaYJJA9S2zoKT/v/GtdZw21UKdn+FOsx9o=";
11518     };
11519     buildInputs = [ TestFatal TestWarnings ];
11520     propagatedBuildInputs = [ HTTPDate HTTPMessage ModuleRuntime SubExporter URI ];
11521     meta = {
11522       description = "HTTP Action, Adventure and Excitement";
11523       license = with lib.licenses; [ artistic1 gpl1Plus ];
11524     };
11525   };
11527   HTTPHeaderParserXS = buildPerlPackage {
11528     pname = "HTTP-HeaderParser-XS";
11529     version = "0.20";
11530     src = fetchurl {
11531       url = "mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz";
11532       hash = "sha256-qeAP/7PYmRoUqq/dxh1tFoxP8U4xSuPbstTaMAjXRu8=";
11533     };
11534     meta = {
11535       description = "An XS extension for processing HTTP headers";
11536       license = with lib.licenses; [ artistic1 gpl1Plus ];
11537       broken =
11538         stdenv.isi686 # loadable library and perl binaries are mismatched (got handshake key 0x7d40080, needed 0x7dc0080)
11539         || stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTTPHeaderParserXS.x86_64-darwin
11540     };
11541   };
11543   HTTPHeadersFast = buildPerlModule {
11544     pname = "HTTP-Headers-Fast";
11545     version = "0.22";
11546     src = fetchurl {
11547       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz";
11548       hash = "sha256-zEMdtoSW3YhNtLwMC3ESwfSk8dxoxPWjyqdXoedIG0g=";
11549     };
11550     buildInputs = [ ModuleBuildTiny TestRequires ];
11551     propagatedBuildInputs = [ HTTPDate ];
11552     meta = {
11553       description = "Faster implementation of HTTP::Headers";
11554       homepage = "https://github.com/tokuhirom/HTTP-Headers-Fast";
11555       license = with lib.licenses; [ artistic1 gpl1Plus ];
11556     };
11557   };
11559   HTTPLite = buildPerlPackage {
11560     pname = "HTTP-Lite";
11561     version = "2.44";
11562     src = fetchurl {
11563       url = "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-2.44.tar.gz";
11564       hash = "sha256-OOQ9eRHPwU46OPA4K2zHptVZMH0jsQnOc6x9JKmz53w=";
11565     };
11566     buildInputs = [ CGI ];
11567     meta = {
11568       description = "Lightweight HTTP implementation";
11569       license = with lib.licenses; [ artistic1 gpl1Plus ];
11570     };
11571   };
11573   HTTPMessage = buildPerlPackage {
11574     pname = "HTTP-Message";
11575     version = "6.26";
11576     src = fetchurl {
11577       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Message-6.26.tar.gz";
11578       hash = "sha256-bObDWd51w7uGaWo5AYm0heyT4//FUya20ET6kA8XJeE=";
11579     };
11580     buildInputs = [ TryTiny ];
11581     propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
11582     meta = {
11583       description = "HTTP style message (base class)";
11584       homepage = "https://github.com/libwww-perl/HTTP-Message";
11585       license = with lib.licenses; [ artistic1 gpl1Plus ];
11586     };
11587   };
11589   HTTPMultiPartParser = buildPerlPackage {
11590     pname = "HTTP-MultiPartParser";
11591     version = "0.02";
11592     src = fetchurl {
11593       url = "mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz";
11594       hash = "sha256-Xt3aFZ9U0W+GjgMkQKwrAk5VqsSJMYcbYmJ/GhbQCxI=";
11595     };
11596     buildInputs = [ TestDeep ];
11597     meta = {
11598       description = "HTTP MultiPart Parser";
11599       license = with lib.licenses; [ artistic1 gpl1Plus ];
11600     };
11601   };
11603   HTTPNegotiate = buildPerlPackage {
11604     pname = "HTTP-Negotiate";
11605     version = "6.01";
11606     src = fetchurl {
11607       url = "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz";
11608       hash = "sha256-HHKcHqYxAOh4QFzafWb5rf0+1PHWysrKDukVLfco4BY=";
11609     };
11610     propagatedBuildInputs = [ HTTPMessage ];
11611     meta = {
11612       description = "Choose a variant to serve";
11613       license = with lib.licenses; [ artistic1 gpl1Plus ];
11614     };
11615   };
11617   HTTPParserXS = buildPerlPackage {
11618     pname = "HTTP-Parser-XS";
11619     version = "0.17";
11620     src = fetchurl {
11621       url = "mirror://cpan/authors/id/K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz";
11622       hash = "sha256-eU5oM+MmsQ0kNp+c2/wWZxBe9lkej0HlYaPUGnAnqAk=";
11623     };
11624     meta = {
11625       description = "A fast, primitive HTTP request parser";
11626       license = with lib.licenses; [ artistic1 gpl1Plus ];
11627     };
11628   };
11630   HTTPProxy = buildPerlPackage {
11631     pname = "HTTP-Proxy";
11632     version = "0.304";
11633     src = fetchurl {
11634       url = "mirror://cpan/authors/id/B/BO/BOOK/HTTP-Proxy-0.304.tar.gz";
11635       hash = "sha256-sFKQU07HNiXCGgVl/DUXCJDasWOEPZUzHCksI/UExp0=";
11636     };
11637     propagatedBuildInputs = [ LWP ];
11638     # tests fail because they require network access
11639     doCheck = false;
11640     meta = {
11641       description = "A pure Perl HTTP proxy";
11642       license = with lib.licenses; [ artistic1 gpl1Plus ];
11643     };
11644   };
11646   HTTPRequestAsCGI = buildPerlPackage {
11647     pname = "HTTP-Request-AsCGI";
11648     version = "1.2";
11649     src = fetchurl {
11650       url = "mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz";
11651       hash = "sha256-lFv7B8bRr1J3P7eEW6YuOnQRGzXL0tXkPvgxnlWsvOo=";
11652     };
11653     propagatedBuildInputs = [ ClassAccessor HTTPMessage ];
11654     meta = {
11655       description = "Set up a CGI environment from an HTTP::Request";
11656       license = with lib.licenses; [ artistic1 gpl1Plus ];
11657     };
11658   };
11660   HTTPResponseEncoding = buildPerlPackage {
11661     pname = "HTTP-Response-Encoding";
11662     version = "0.06";
11663     src = fetchurl {
11664       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz";
11665       hash = "sha256-EBZ7jiOKaCAEqw16zL6dduri21evB8WuLfqAgHSkqKo=";
11666     };
11667     propagatedBuildInputs = [ HTTPMessage ];
11668     buildInputs = [ LWP ];
11669     meta = {
11670       description = "Adds encoding() to HTTP::Response";
11671       license = with lib.licenses; [ artistic1 gpl1Plus ];
11672     };
11673   };
11675   HTTPServerSimple = buildPerlPackage {
11676     pname = "HTTP-Server-Simple";
11677     version = "0.52";
11678     src = fetchurl {
11679       url = "mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz";
11680       hash = "sha256-2JOfpPEr1rjAQ1N/0L+WsFWsNoa5zdn6dz3KauZ5y0w=";
11681     };
11682     doCheck = false;
11683     propagatedBuildInputs = [ CGI ];
11684     meta = {
11685       description = "Lightweight HTTP server";
11686       license = with lib.licenses; [ artistic1 gpl1Plus ];
11687     };
11688   };
11690   HTTPServerSimpleAuthen = buildPerlPackage {
11691     pname = "HTTP-Server-Simple-Authen";
11692     version = "0.04";
11693     src = fetchurl {
11694       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-Authen-0.04.tar.gz";
11695       hash = "sha256-Ld3Iq53ImGmAFR5LqDamu/CR9Fzxlb4XaOvbSpk+1Zs=";
11696     };
11697     propagatedBuildInputs = [ AuthenSimple HTTPServerSimple ];
11698     meta = {
11699       description = "Authentication plugin for HTTP::Server::Simple";
11700       license = with lib.licenses; [ artistic1 gpl1Plus ];
11701     };
11702   };
11704   HTTPServerSimpleMason = buildPerlPackage {
11705     pname = "HTTP-Server-Simple-Mason";
11706     version = "0.14";
11707     src = fetchurl {
11708       url = "mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-Mason-0.14.tar.gz";
11709       hash = "sha256-t6Sdjm5Vv/Cx8CeNlRaFRmsUMkO2+eWeBx9UcsoqAlo=";
11710     };
11711     propagatedBuildInputs = [ HTMLMason HTTPServerSimple HookLexWrap ];
11712     meta = {
11713       description = "A simple mason server";
11714       license = with lib.licenses; [ artistic1 gpl1Plus ];
11715     };
11716   };
11718   HTTPServerSimplePSGI = buildPerlPackage {
11719     pname = "HTTP-Server-Simple-PSGI";
11720     version = "0.16";
11721     src = fetchurl {
11722       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz";
11723       hash = "sha256-X3zLhFMEO5cnhJKnVzKBFuEeA1LyhUooqcY05ukTHbo=";
11724     };
11725     propagatedBuildInputs = [ HTTPServerSimple ];
11726     meta = {
11727       description = "Perl Web Server Gateway Interface Specification";
11728       homepage = "https://github.com/miyagawa/HTTP-Server-Simple-PSGI";
11729       license = with lib.licenses; [ artistic1 gpl1Plus ];
11730     };
11731   };
11733   HTTPTinyCache = buildPerlPackage {
11734     pname = "HTTP-Tiny-Cache";
11735     version = "0.002";
11736     src = fetchurl {
11737       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/HTTP-Tiny-Cache-0.002.tar.gz";
11738       hash = "sha256-c323zxncN4By2Rysdnh/sorNg8DRB85OTrS708kRhiE=";
11739     };
11740     propagatedBuildInputs = [ FileUtilTempdir Logger ];
11741     meta = {
11742       description = "Cache HTTP::Tiny responses";
11743       homepage = "https://metacpan.org/release/HTTP-Tiny-Cache";
11744       license = with lib.licenses; [ artistic1 gpl1Plus ];
11745       maintainers = [ maintainers.sgo ];
11746     };
11747   };
11749   HTTPTinyish = buildPerlPackage {
11750     pname = "HTTP-Tinyish";
11751     version = "0.17";
11752     src = fetchurl {
11753       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.17.tar.gz";
11754       hash = "sha256-R70RHkdFZtczxBhw4jdMgWidteC1pDrcSK22ZdifsGc=";
11755     };
11756     propagatedBuildInputs = [ FileWhich IPCRun3 ];
11757     meta = {
11758       description = "HTTP::Tiny compatible HTTP client wrappers";
11759       homepage = "https://github.com/miyagawa/HTTP-Tinyish";
11760       license = with lib.licenses; [ artistic1 gpl1Plus ];
11761     };
11762   };
11764   iCalParser = buildPerlPackage {
11765     pname = "iCal-Parser";
11766     version = "1.21";
11767     src = fetchurl {
11768       url = "mirror://cpan/authors/id/R/RI/RIXED/iCal-Parser-1.21.tar.gz";
11769       hash = "sha256-DXk5pkSo5nAX7HI509lgTzmGu5pP+Avmj+cpnr/SJww=";
11770     };
11771     propagatedBuildInputs = [ DateTimeFormatICal FreezeThaw IOString TextvFileasData ];
11772     meta = {
11773       description = "Parse iCalendar files into a data structure";
11774       license = with lib.licenses; [ artistic1 gpl1Plus ];
11775     };
11776   };
11778   ImagePNGLibpng = buildPerlPackage {
11779     pname = "Image-PNG-Libpng";
11780     version = "0.57";
11781     src = fetchurl {
11782       url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-0.56.tar.gz";
11783       hash = "sha256-+vu/6/9CP3u4XvJ6MEH7YpG1AzbHpYIiSlysQzHDx9k=";
11784     };
11785     buildInputs = [ pkgs.libpng ];
11786     meta = {
11787       description = "Perl interface to libpng";
11788       license = with lib.licenses; [ artistic1 gpl1Plus ];
11789       mainProgram = "pnginspect";
11790       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.ImagePNGLibpng.x86_64-darwin
11791     };
11792   };
11794   Imager = buildPerlPackage {
11795     pname = "Imager";
11796     version = "1.019";
11797     src = fetchurl {
11798       url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.019.tar.gz";
11799       hash = "sha256-dNRNcBwfFPxLmE+toelVcmtQTC2LBtJl56hh+llDy0g=";
11800     };
11801     buildInputs = [ pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
11802     makeMakerFlags = [ "--incpath ${pkgs.libjpeg.dev}/include" "--libpath ${pkgs.libjpeg.out}/lib" "--incpath" "${pkgs.libpng.dev}/include" "--libpath" "${pkgs.libpng.out}/lib" ];
11803     meta = {
11804       description = "Perl extension for Generating 24 bit Images";
11805       homepage = "http://imager.perl.org";
11806       license = with lib.licenses; [ artistic1 gpl1Plus ];
11807     };
11808   };
11810   ImagerQRCode = buildPerlPackage {
11811     pname = "Imager-QRCode";
11812     version = "0.035";
11813     src = fetchurl {
11814       url = "mirror://cpan/authors/id/K/KU/KURIHARA/Imager-QRCode-0.035.tar.gz";
11815       hash = "sha256-KoSN66Kes5QsRHCaaFPjGKyrDEaMv+27m6rlR2ADJRM=";
11816     };
11817     propagatedBuildInputs = [ Imager ];
11818     meta = {
11819       description = "Generate QR Code with Imager using libqrencode";
11820       license = with lib.licenses; [ artistic1 gpl1Plus ];
11821       maintainers = with maintainers; [ sgo ];
11822     };
11823   };
11825   ImageInfo = buildPerlPackage {
11826     pname = "Image-Info";
11827     version = "1.42";
11828     src = fetchurl {
11829       url = "mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz";
11830       hash = "sha256-K8pWDD9xs8HNY6w6l05i87rrmGt/+qAmuSkIG5FKj08=";
11831     };
11832     propagatedBuildInputs = [ IOStringy ];
11833     meta = {
11834       description = "Extract meta information from image files";
11835       license = with lib.licenses; [ artistic1 gpl1Plus ];
11836     };
11837   };
11839   ImageSane = buildPerlPackage {
11840     pname = "Image-Sane";
11841     version = "5";
11842     src = fetchurl {
11843       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz";
11844       hash = "sha256-Ipqg6fBJ76dg88L25h2dU5r0PY92S1Cm4DBktHKaNf8=";
11845     };
11846     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
11847     propagatedBuildInputs = [ ExceptionClass Readonly ];
11848     meta = {
11849       description = "Perl extension for the SANE (Scanner Access Now Easy) Project";
11850       license = with lib.licenses; [ artistic1 gpl1Plus ];
11851     };
11852   };
11854   ImageScale = buildPerlPackage {
11855     pname = "Image-Scale";
11856     version = "0.14";
11857     src = fetchurl {
11858       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Image-Scale-0.14.tar.gz";
11859       hash = "sha256-8JxfBmO4dzg2WsKBnhhrkJq+ue2F2DvBXudocslHzfg=";
11860     };
11861     buildInputs = [ pkgs.libpng pkgs.libjpeg TestNoWarnings ];
11862     propagatedBuildInputs = [ pkgs.zlib ];
11863     makeMakerFlags = [ "--with-jpeg-includes=${pkgs.libjpeg.dev}/include" "--with-jpeg-libs=${pkgs.libjpeg.out}/lib" "--with-png-includes=${pkgs.libpng.dev}/include" "--with-png-libs=${pkgs.libpng.out}/lib" ];
11864     meta = {
11865       description = "Fast, high-quality fixed-point image resizing";
11866       license = with lib.licenses; [ gpl2Plus ];
11867     };
11868   };
11870   ImageSize = buildPerlPackage {
11871     pname = "Image-Size";
11872     version = "3.300";
11873     src = fetchurl {
11874       url = "mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-3.300.tar.gz";
11875       hash = "sha256-U8mx+GUxzeBg7mNwnR/ac8q8DPLVgdKbIrAUeBufAms=";
11876     };
11877     buildInputs = [ ModuleBuild ];
11878     meta = {
11879       description = "A library to extract height/width from images";
11880       homepage = "https://search.cpan.org/dist/Image-Size";
11881       license = with lib.licenses; [ artistic1 gpl1Plus ];
11882       mainProgram = "imgsize";
11883     };
11884   };
11886   ImageOCRTesseract = buildPerlPackage {
11887     pname = "Image-OCR-Tesseract";
11888     version = "1.26";
11889     src = fetchurl {
11890       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/Image-OCR-Tesseract-1.26.tar.gz";
11891       hash = "sha256-mNkEJmpwYvCcm0b3fE6UUp4f6ZM54/g/2h+SAT8AfOo=";
11892     };
11893     nativeBuildInputs = [ pkgs.which pkgs.makeWrapper pkgs.tesseract pkgs.imagemagick ];
11894     propagatedBuildInputs = [ FileFindRule FileWhich LEOCHARRECLI StringShellQuote ];
11895     postPatch = ''
11896       substituteInPlace lib/Image/OCR/Tesseract.pm \
11897         --replace "which('tesseract')" "\"${pkgs.tesseract}/bin/tesseract\"" \
11898         --replace "which('convert')" "\"${pkgs.imagemagick}/bin/convert"\"
11899     '';
11900     postInstall = ''
11901       wrapProgram $out/bin/ocr --prefix PATH : ${lib.makeBinPath [ pkgs.tesseract pkgs.imagemagick ]}
11902     '';
11903     meta = {
11904       description = "Read an image with tesseract ocr and get output";
11905       license = with lib.licenses; [ artistic1 gpl1Plus ];
11906       mainProgram = "ocr";
11907     };
11908   };
11910   IMAPClient = buildPerlPackage {
11911     pname = "IMAP-Client";
11912     version = "0.13";
11913     src = fetchurl {
11914       url = "mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz";
11915       hash = "sha256-inovpVt1qFPEgBQXeDk62sKUts0gfN9UFA9nwS8kypU=";
11916     };
11917     doCheck = false; # nondeterministic
11918     meta = {
11919       description = "Advanced manipulation of IMAP services w/ referral support";
11920       license = with lib.licenses; [ artistic1 gpl1Plus ];
11921     };
11922   };
11924   Importer = buildPerlPackage {
11925     pname = "Importer";
11926     version = "0.026";
11927     src = fetchurl {
11928       url = "mirror://cpan/authors/id/E/EX/EXODIST/Importer-0.026.tar.gz";
11929       hash = "sha256-4I+oThPLmYt6iX/I7Jw0WfzBcWr/Jcw0Pjbvh1iRsO8=";
11930     };
11931     meta = {
11932       description = "Alternative but compatible interface to modules that export symbols";
11933       license = with lib.licenses; [ artistic1 gpl1Plus ];
11934     };
11935   };
11937   ImportInto = buildPerlPackage {
11938     pname = "Import-Into";
11939     version = "1.002005";
11940     src = fetchurl {
11941       url = "mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz";
11942       hash = "sha256-vZ53o/tmK0C0OxjTKAzTUu35+tjZQoPlGBgcwc6fBWc=";
11943     };
11944     propagatedBuildInputs = [ ModuleRuntime ];
11945     meta = {
11946       description = "Import packages into other packages";
11947       license = with lib.licenses; [ artistic1 gpl1Plus ];
11948     };
11949   };
11951   IO = buildPerlPackage {
11952     pname = "IO";
11953     version = "1.42";
11954     src = fetchurl {
11955       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-1.42.tar.gz";
11956       hash = "sha256-7sXMM6bN26i10kJbYHUogq3X5NQbdDGg6k3Nc8wfjMo=";
11957     };
11958     doCheck = false;
11959     meta = {
11960       description = "Perl core IO modules";
11961       license = with lib.licenses; [ artistic1 gpl1Plus ];
11962     };
11963   };
11965   IOAIO = buildPerlPackage {
11966     pname = "IO-AIO";
11967     version = "4.73";
11968     src = fetchurl {
11969       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/IO-AIO-4.73.tar.gz";
11970       hash = "sha256-mltHx4Ak+rdmPR5a90ob6rRQ19Y7poV+MbP9gobkrFo=";
11971     };
11972     buildInputs = [ CanaryStability ];
11973     propagatedBuildInputs = [ commonsense ];
11974     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
11975     postInstall = lib.optionalString stdenv.isDarwin ''
11976       shortenPerlShebang $out/bin/treescan
11977     '';
11978     meta = {
11979       description = "Asynchronous/Advanced Input/Output";
11980       license = with lib.licenses; [ artistic1 gpl1Plus ];
11981       mainProgram = "treescan";
11982     };
11983   };
11985   IOAll = buildPerlPackage {
11986     pname = "IO-All";
11987     version = "0.87";
11988     src = fetchurl {
11989       url = "mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz";
11990       hash = "sha256-VOIdJQwCKRJ+MLd6NGHhAHeFTsJE8m+2cPG0Re1MTVs=";
11991     };
11992     meta = {
11993       description = "IO::All of it to Graham and Damian!";
11994       homepage = "https://github.com/ingydotnet/io-all-pm";
11995       license = with lib.licenses; [ artistic1 gpl1Plus ];
11996     };
11997   };
11999   IOAsync = buildPerlModule {
12000     pname = "IO-Async";
12001     version = "0.801";
12002     src = fetchurl {
12003       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.801.tar.gz";
12004       hash = "sha256-ieRZuhe3alcrsbS7EgMBVB6MyTJCQXFmI2tsbbDhybk=";
12005     };
12006     preCheck = "rm t/50resolver.t"; # this test fails with "Temporary failure in name resolution" in sandbox
12007     propagatedBuildInputs = [ Future StructDumb ];
12008     buildInputs = [ FutureIO TestFatal TestIdentity TestMetricsAny TestRefcount ];
12009     meta = {
12010       description = "Asynchronous event-driven programming";
12011       license = with lib.licenses; [ artistic1 gpl1Plus ];
12012     };
12013   };
12015   IOAsyncSSL = buildPerlModule {
12016     pname = "IO-Async-SSL";
12017     version = "0.23";
12018     src = fetchurl {
12019       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-SSL-0.23.tar.gz";
12020       hash = "sha256-0vyuFuJ+F6yjkDpK1aK/L7wmjQZRzn8ARabQVG9YTy4=";
12021     };
12022     patches = [
12023       (fetchpatch {
12024         # Fixes test compatibility with OpenSSL 3
12025         url = "https://sources.debian.org/data/main/libi/libio-async-ssl-perl/0.23-1/debian/patches/upgrade-error-match.patch";
12026         hash = "sha256-RK36nVba203I9awZtHiU7jwhCV7U8Gw6wnbs3e9Hbjk=";
12027         name = "IO-Async-SSL-upgrade-error-match.patch";
12028       })
12029     ];
12030     buildInputs = [ TestIdentity ];
12031     propagatedBuildInputs = [ Future IOAsync IOSocketSSL ];
12032     meta = {
12033       description = "Use SSL/TLS with IO::Async";
12034       license = with lib.licenses; [ artistic1 gpl1Plus ];
12035       maintainers = [ maintainers.zakame ];
12036     };
12037   };
12039   IOCapture = buildPerlPackage {
12040     pname = "IO-Capture";
12041     version = "0.05";
12042     src = fetchurl {
12043       url = "mirror://cpan/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz";
12044       hash = "sha256-wsFaJUynT7jFfSXXtsvK/3ejtPtWlUI/H4C7Qjq//qk=";
12045     };
12046     meta = {
12047       description = "Abstract Base Class to build modules to capture output";
12048       license = with lib.licenses; [ artistic1 gpl1Plus ];
12049     };
12050   };
12052   IOCaptureOutput = buildPerlPackage {
12053     pname = "IO-CaptureOutput";
12054     version = "1.1105";
12055     src = fetchurl {
12056       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz";
12057       hash = "sha256-rpkAn8oSc4APFp7LgvTtHMbHZ5XxVr7lwAkwBdVy9Ic=";
12058     };
12059     meta = {
12060       description = "(DEPRECATED) capture STDOUT and STDERR from Perl code, subprocesses or XS";
12061       homepage = "https://github.com/dagolden/IO-CaptureOutput";
12062       license = with lib.licenses; [ artistic1 gpl1Plus ];
12063     };
12064   };
12066   IOCompress = buildPerlPackage {
12067     pname = "IO-Compress";
12068     version = "2.102";
12069     src = fetchurl {
12070       url = "mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.102.tar.gz";
12071       hash = "sha256-1vp/mlvu5EZFKg+8Q1iaDHP+fpJcB1uYYosBgEjccqQ=";
12072     };
12073     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
12074     # Same as CompressRawZlib
12075     doCheck = false && !stdenv.isDarwin;
12076     meta = {
12077       description = "IO Interface to compressed data files/buffers";
12078       homepage = "https://github.com/pmqs/IO-Compress";
12079       license = with lib.licenses; [ artistic1 gpl1Plus ];
12080       mainProgram = "streamzip";
12081     };
12082   };
12084   IODigest = buildPerlPackage {
12085     pname = "IO-Digest";
12086     version = "0.11";
12087     src = fetchurl {
12088       url = "mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz";
12089       hash = "sha256-j/z4Wn9iE+XpQUCtzCsXntAkmOrchDCUV+kE3sk/f5I=";
12090     };
12091     propagatedBuildInputs = [ PerlIOviadynamic ];
12092     meta = {
12093       description = "Calculate digests while reading or writing";
12094       license = with lib.licenses; [ artistic1 gpl1Plus ];
12095     };
12096   };
12098   IOHTML = buildPerlPackage {
12099     pname = "IO-HTML";
12100     version = "1.004";
12101     src = fetchurl {
12102       url = "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-1.004.tar.gz";
12103       hash = "sha256-yHst9ZRju/LDlZZ3PftcA73g9+EFGvM5+WP1jBy9i/U=";
12104     };
12105     meta = {
12106       description = "Open an HTML file with automatic charset detection";
12107       license = with lib.licenses; [ artistic1 gpl1Plus ];
12108     };
12109   };
12111   IOHandleUtil = buildPerlModule {
12112     pname = "IO-Handle-Util";
12113     version = "0.02";
12114     src = fetchurl {
12115       url = "mirror://cpan/authors/id/E/ET/ETHER/IO-Handle-Util-0.02.tar.gz";
12116       hash = "sha256-jblmqRPaxORkIwcCqiIr84r+ISGT5ja8DzzGUbrezO4=";
12117     };
12118     propagatedBuildInputs = [ IOString SubExporter asa ];
12119     buildInputs = [ ModuleBuildTiny TestSimple13 ];
12120     meta = {
12121       description = "Functions for working with IO::Handle like objects";
12122       homepage = "https://github.com/karenetheridge/IO-Handle-Util";
12123       license = with lib.licenses; [ artistic1 gpl1Plus ];
12124     };
12125   };
12127   IOInteractive = buildPerlPackage {
12128     pname = "IO-Interactive";
12129     version = "1.022";
12130     src = fetchurl {
12131       url = "mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.022.tar.gz";
12132       hash = "sha256-DtU7iuk66Hfpjg2Jt7Qp4pzNHuTCjpUsTqmqc9Af69w=";
12133     };
12134     meta = {
12135       description = "Utilities for interactive I/O";
12136       homepage = "https://github.com/briandfoy/io-interactive";
12137       license = with lib.licenses; [ artistic2 ];
12138     };
12139   };
12141   IOInteractiveTiny = buildPerlPackage {
12142     pname = "IO-Interactive-Tiny";
12143     version = "0.2";
12144     src = fetchurl {
12145       url = "mirror://cpan/authors/id/D/DM/DMUEY/IO-Interactive-Tiny-0.2.tar.gz";
12146       hash = "sha256-RcBpZQXH5DR4RfXNJRK3sbx4+85MvtK1gAgoP8lepfk=";
12147     };
12148     meta = {
12149       description = "Is_interactive() without large deps";
12150       license = with lib.licenses; [ artistic2 ];
12151     };
12152   };
12154   IOLockedFile = buildPerlPackage {
12155     pname = "IO-LockedFile";
12156     version = "0.23";
12157     src = fetchurl {
12158       url = "mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz";
12159       hash = "sha256-sdt+amvxvh4GFabstc6+eLAOKHsSfVhW0/FrNd1H+LU=";
12160     };
12161     meta = {
12162       description = "Supply object methods for locking files";
12163       license = with lib.licenses; [ artistic1 gpl1Plus ];
12164     };
12165   };
12167   IOMultiplex = buildPerlPackage {
12168     pname = "IO-Multiplex";
12169     version = "1.16";
12170     src = fetchurl {
12171       url = "mirror://cpan/authors/id/B/BB/BBB/IO-Multiplex-1.16.tar.gz";
12172       hash = "sha256-dNIsRLWtLnGQ4nhuihfXS79M74m00RV7ozWYtaJyDa0=";
12173     };
12174     meta = {
12175       description = "Supply object methods for locking files";
12176       license = with lib.licenses; [ artistic1 gpl1Plus ];
12177     };
12178   };
12180   IOPager = buildPerlPackage {
12181     version = "2.10";
12182     pname = "IO-Pager";
12183     src = fetchurl {
12184       url = "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-2.10.tgz";
12185       hash = "sha256-vLTYwtKAyANLglkcwLnrZ6AE+QzpqgWXn8YHEwessZU=";
12186     };
12187     propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
12188     meta = {
12189       description = "Select a pager (possibly perl-based) & pipe it text if a TTY";
12190       license = with lib.licenses; [ artistic1 gpl1Plus ];
12191       mainProgram = "tp";
12192     };
12193   };
12195   IOPty = buildPerlModule {
12196     pname = "IO-Pty";
12197     version = "1.16";
12198     src = fetchurl {
12199       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.16.tar.gz";
12200       hash = "sha256-jxoJwHBzitxpXfkD8uf3QwjdjZkbkUwLw5Cg5gISlN0=";
12201     };
12202     buildPhase = "make";
12203     checkPhase = "make test";
12204     installPhase = "make install";
12205     meta = {
12206       homepage = "https://github.com/toddr/IO-Tty";
12207       description = "Pseudo TTY object class";
12208       license = with lib.licenses; [ artistic1 gpl1Plus ];
12209     };
12210   };
12212   IOPrompt = buildPerlModule {
12213     pname = "IO-Prompt";
12214     version = "0.997004";
12215     src = fetchurl {
12216       url = "mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz";
12217       hash = "sha256-8XuzBe5qyLWyA+bYJuuUDE8/bW9L/nGcOzoiX0b1hhU=";
12218     };
12219     propagatedBuildInputs = [ TermReadKey Want ];
12220     doCheck = false; # needs access to /dev/tty
12221     meta = {
12222       description = "Interactively prompt for user input";
12223       license = with lib.licenses; [ artistic1 gpl1Plus ];
12224     };
12225   };
12227   IOSessionData = buildPerlPackage {
12228     pname = "IO-SessionData";
12229     version = "1.03";
12230     src = fetchurl {
12231       url = "mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz";
12232       hash = "sha256-ZKRxKj7bs/0QIw2ylsKcjGbwZq37wMPfakglj+85Ld0=";
12233     };
12234     outputs = [ "out" "dev" ]; # no "devdoc"
12235     meta = {
12236       description = "Supporting module for SOAP::Lite";
12237       license = with lib.licenses; [ artistic1 gpl1Plus ];
12238     };
12239   };
12241   IOSocketInet6 = buildPerlModule {
12242     pname = "IO-Socket-INET6";
12243     version = "2.72";
12244     src = fetchurl {
12245       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.72.tar.gz";
12246       hash = "sha256-heAg+heShBJfwdCOYKkCKvPsEnEHf+FLEzwXhc2/Hrs=";
12247     };
12248     propagatedBuildInputs = [ Socket6 ];
12249     doCheck = false;
12250     meta = {
12251       description = "[DEPRECATED] Object interface for AF_INET/AF_INET6 domain sockets";
12252       license = with lib.licenses; [ artistic1 gpl1Plus ];
12253     };
12254   };
12256   IOSocketSSL = buildPerlPackage {
12257     pname = "IO-Socket-SSL";
12258     version = "2.068";
12259     src = fetchurl {
12260       url = "mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-2.068.tar.gz";
12261       hash = "sha256-RCD8AFbxgntN0SRerMoNpW4hgrTvb8B48QfcQ8P7j/k=";
12262     };
12263     propagatedBuildInputs = [ MozillaCA NetSSLeay ];
12264     # Fix path to default certificate store.
12265     postPatch = ''
12266       substituteInPlace lib/IO/Socket/SSL.pm \
12267         --replace "\$openssldir/cert.pem" "/etc/ssl/certs/ca-certificates.crt"
12268     '';
12269     doCheck = false; # tries to connect to facebook.com etc.
12270     meta = {
12271       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
12272       homepage = "https://github.com/noxxi/p5-io-socket-ssl";
12273       license = with lib.licenses; [ artistic1 gpl1Plus ];
12274     };
12275   };
12277   IOSocketTimeout = buildPerlModule {
12278     pname = "IO-Socket-Timeout";
12279     version = "0.32";
12280     src = fetchurl {
12281       url = "mirror://cpan/authors/id/D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz";
12282       hash = "sha256-7fkV1sxmvuQ1A6ptwrNzNm846v9wFYIYPa0Qy4rfKXI=";
12283     };
12284     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
12285     propagatedBuildInputs = [ PerlIOviaTimeout ];
12286     meta = {
12287       description = "IO::Socket with read/write timeout";
12288       license = with lib.licenses; [ artistic1 gpl1Plus ];
12289     };
12290   };
12292   IOString = buildPerlPackage {
12293     pname = "IO-String";
12294     version = "1.08";
12295     src = fetchurl {
12296       url = "mirror://cpan/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz";
12297       hash = "sha256-Kj9K2EQtkHB4DljvQ3ItGdHuIagDv3yCBod6EEgt5aA=";
12298     };
12299     meta = {
12300       description = "Emulate file interface for in-core strings";
12301       license = with lib.licenses; [ artistic1 gpl1Plus ];
12302     };
12303   };
12305   IOStringy = buildPerlPackage {
12306     pname = "IO-Stringy";
12307     version = "2.113";
12308     src = fetchurl {
12309       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/IO-Stringy-2.113.tar.gz";
12310       hash = "sha256-USIPyvn2amObadJR17B1e/QgL0+d69Rb3TQaaspi/k4=";
12311     };
12312     meta = {
12313       description = "I/O on in-core objects like strings and arrays";
12314       license = with lib.licenses; [ artistic1 gpl1Plus ];
12315     };
12316   };
12318   IOStty = buildPerlModule {
12319     pname = "IO-Stty";
12320     version = "0.04";
12321     src = fetchurl {
12322       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Stty-0.04.tar.gz";
12323       hash = "sha256-XJUJ8ahpPYKH+gE97wv4eqZM2ScThGHvjetVUDxmUcI=";
12324     };
12325     buildPhase = "make";
12326     checkPhase = "make test";
12327     installPhase = "make install";
12328     meta = {
12329       description = "Change and print terminal line settings";
12330       homepage = "https://wiki.github.com/toddr/IO-Stty";
12331       license = with lib.licenses; [ artistic1 gpl1Plus ];
12332     };
12333   };
12335   IOTee = buildPerlPackage {
12336     pname = "IO-Tee";
12337     version = "0.66";
12338     src = fetchurl {
12339       url = "mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.66.tar.gz";
12340       hash = "sha256-LZznIGUW+cMIY6NnqhwrmzVwLjabCrqhX5n7LMCFUuA=";
12341     };
12342     meta = {
12343       description = "Multiplex output to multiple output handles";
12344       license = with lib.licenses; [ artistic1 gpl1Plus ];
12345     };
12346   };
12348   IOTieCombine = buildPerlPackage {
12349     pname = "IO-TieCombine";
12350     version = "1.005";
12351     src = fetchurl {
12352       url = "mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz";
12353       hash = "sha256-QC1NuDALPScWMvSZXgreMp2JKAp+R/K634s4r25Vaa8=";
12354     };
12355     meta = {
12356       description = "Produce tied (and other) separate but combined variables";
12357       homepage = "https://github.com/rjbs/IO-TieCombine";
12358       license = with lib.licenses; [ artistic1 gpl1Plus ];
12359     };
12360   };
12362   IOTty = buildPerlPackage {
12363     pname = "IO-Tty";
12364     version = "1.15";
12365     src = fetchurl {
12366       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.15.tar.gz";
12367       hash = "sha256-Q/nMD4diC7sVngiQ4ZayOo5kGcvQQiTBDz3O6Uj2tRo=";
12368     };
12369     doCheck = !stdenv.isDarwin;  # openpty fails in the sandbox
12370     meta = {
12371       description = "Low-level allocate a pseudo-Tty, import constants";
12372       license = with lib.licenses; [ artistic1 gpl1Plus ];
12373     };
12374   };
12376   IPCConcurrencyLimit = buildPerlPackage {
12377     pname = "IPC-ConcurrencyLimit";
12378     version = "0.17";
12379     src = fetchurl {
12380       url = "mirror://cpan/authors/id/M/MA/MATTK/IPC-ConcurrencyLimit-0.17.tar.gz";
12381       hash = "sha256-Lk11vlLpD8YFg31ajp+yacCofdPTYfMBLA/5Sl+9z+8=";
12382     };
12383     buildInputs = [ ExtUtilsMakeMaker ];
12384     propagatedBuildInputs = [ FilePath IO ];
12385     meta = {
12386       description = "Lock-based limits on cooperative multi-processing";
12387       license = with lib.licenses; [ artistic1 gpl1Plus ];
12388     };
12389   };
12391   IPCountry = buildPerlPackage {
12392     pname = "IP-Country";
12393     version = "2.28";
12394     src = fetchurl {
12395       url = "mirror://cpan/authors/id/N/NW/NWETTERS/IP-Country-2.28.tar.gz";
12396       hash = "sha256-iNuDOlqyLtBstT1vIFcl47U3GyVFlgU3OIhekfoQX3U=";
12397     };
12398     propagatedBuildInputs = [ GeographyCountries ];
12399     meta = {
12400       description = "Fast lookup of country codes from IP addresses";
12401       license = with lib.licenses; [ mit ];
12402       mainProgram = "ip2cc";
12403     };
12404   };
12406   GeographyCountries = buildPerlPackage {
12407     pname = "Geography-Countries";
12408     version = "2009041301";
12409     src = fetchurl {
12410       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Geography-Countries-2009041301.tar.gz";
12411       hash = "sha256-SMQuQOgoG6fJgXQ6hUxI5t7y1R6wkl6myW4lx0SX8g8=";
12412     };
12413     meta = {
12414       description = "2-letter, 3-letter, and numerical codes for countries";
12415       license = with lib.licenses; [ mit ];
12416     };
12417   };
12420   IPCRun = buildPerlPackage {
12421     pname = "IPC-Run";
12422     version = "20200505.0";
12423     src = fetchurl {
12424       url = "mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-20200505.0.tar.gz";
12425       hash = "sha256-gW6/IX+g35nFg9c8Csxs7XisdzeHxmTHXL8UC7fkyQE=";
12426     };
12427     doCheck = false; /* attempts a network connection to localhost */
12428     propagatedBuildInputs = [ IOTty ];
12429     buildInputs = [ Readonly ];
12430     meta = {
12431       description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
12432       license = with lib.licenses; [ artistic1 gpl1Plus ];
12433     };
12434   };
12436   IPCRun3 = buildPerlPackage {
12437     pname = "IPC-Run3";
12438     version = "0.048";
12439     src = fetchurl {
12440       url = "mirror://cpan/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz";
12441       hash = "sha256-PYHDzBtc/2nMqTYeLG443wNSJRrntB4v8/68hQ5GNWU=";
12442     };
12443     meta = {
12444       description = "Run a subprocess with input/ouput redirection";
12445       license = with lib.licenses; [ artistic1 gpl1Plus bsd3 ];
12446     };
12447   };
12449   IPCShareLite = buildPerlPackage {
12450     pname = "IPC-ShareLite";
12451     version = "0.17";
12452     src = fetchurl {
12453       url = "mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz";
12454       hash = "sha256-FNQGuR2pbWUh0NGoLSKjBidHZSJrhrClbn/93Plq578=";
12455     };
12456     meta = {
12457       description = "Lightweight interface to shared memory";
12458       license = with lib.licenses; [ artistic1 gpl1Plus ];
12459     };
12460   };
12462   IPCSystemSimple = buildPerlPackage {
12463     pname = "IPC-System-Simple";
12464     version = "1.30";
12465     src = fetchurl {
12466       url = "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.30.tar.gz";
12467       hash = "sha256-Iub1IitQXuUTBY/co1q3oeq4BTm5jlykqSOnCorpup4=";
12468     };
12469     meta = {
12470       description = "Run commands simply, with detailed diagnostics";
12471       homepage = "http://thenceforward.net/perl/modules/IPC-System-Simple";
12472       license = with lib.licenses; [ artistic1 gpl1Plus ];
12473     };
12474   };
12476   IPCSysV = buildPerlPackage {
12477     pname = "IPC-SysV";
12478     version = "2.09";
12479     src = fetchurl {
12480       url = "mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.09.tar.gz";
12481       hash = "sha256-GJdUHHTVSP0QB+tsB/NBnTx1ddgFamK1ulJwohZtLb0=";
12482     };
12483     meta = {
12484       description = "System V IPC constants and system calls";
12485       license = with lib.licenses; [ artistic1 gpl1Plus ];
12486     };
12487   };
12489   IRCUtils = buildPerlPackage {
12490     pname = "IRC-Utils";
12491     version = "0.12";
12492     src = fetchurl {
12493       url = "mirror://cpan/authors/id/H/HI/HINRIK/IRC-Utils-0.12.tar.gz";
12494       hash = "sha256-x9YxHrbHnpg4M8nmtOjUJtB6mHTSD0vGQbMTuZybyKA=";
12495     };
12496     meta = {
12497       description = "Common utilities for IRC-related tasks";
12498       homepage = "https://metacpan.org/release/IRC-Utils";
12499       license = with lib.licenses; [ artistic1 gpl1Plus ];
12500       maintainers = with maintainers; [ sgo ];
12501     };
12502   };
12504   ImageExifTool = buildPerlPackage rec {
12505     pname = "Image-ExifTool";
12506     version = "12.49";
12508     src = fetchurl {
12509       url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
12510       hash = "sha256-l21p2ak+pe9GSWOatsGQ9YvyZfAFfKV3xB38rzexcVs=";
12511     };
12513     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
12514     postInstall = lib.optionalString stdenv.isDarwin ''
12515       shortenPerlShebang $out/bin/exiftool
12516     '';
12518     meta = {
12519       description = "A tool to read, write and edit EXIF meta information";
12520       longDescription = ''
12521         ExifTool is a platform-independent Perl library plus a command-line
12522         application for reading, writing and editing meta information in a wide
12523         variety of files. ExifTool supports many different metadata formats
12524         including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop
12525         IRB, FlashPix, AFCP and ID3, as well as the maker notes of many digital
12526         cameras by Canon, Casio, DJI, FLIR, FujiFilm, GE, GoPro, HP,
12527         JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon,
12528         Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One,
12529         Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
12530       '';
12531       homepage = "https://exiftool.org/";
12533       license = with lib.licenses; [ gpl1Plus /* or */ artistic2 ];
12534       maintainers = with maintainers; [ kiloreux anthonyroussel ];
12535       mainProgram = "exiftool";
12536     };
12537   };
12539   Inline = buildPerlPackage {
12540     pname = "Inline";
12541     version = "0.86";
12542     src = fetchurl {
12543       url = "mirror://cpan/authors/id/I/IN/INGY/Inline-0.86.tar.gz";
12544       hash = "sha256-UQp94tARsNuAsIdOjA9zkAEJkQAK4TXP90dN8ebVHjo=";
12545     };
12546     buildInputs = [ TestWarn ];
12547     meta = {
12548       description = "Write Perl Subroutines in Other Programming Languages";
12549       longDescription = ''
12550         The Inline module allows you to put source code from other
12551         programming languages directly "inline" in a Perl script or
12552         module. The code is automatically compiled as needed, and then loaded
12553         for immediate access from Perl.
12554       '';
12555       homepage = "https://github.com/ingydotnet/inline-pm";
12556       license = with lib.licenses; [ artistic1 gpl1Plus ];
12557     };
12558   };
12560   InlineC = buildPerlPackage {
12561     pname = "Inline-C";
12562     version = "0.81";
12563     src = fetchurl {
12564       url = "mirror://cpan/authors/id/T/TI/TINITA/Inline-C-0.81.tar.gz";
12565       hash = "sha256-8YUljZBQ1/ebTwDxJiXMRpwvcA/2LT6DHLGNgNLIeqw=";
12566     };
12567     buildInputs = [ FileCopyRecursive TestWarn YAMLLibYAML ];
12568     propagatedBuildInputs = [ Inline ParseRecDescent Pegex ];
12569     postPatch = ''
12570       # this test will fail with chroot builds
12571       rm -f t/08taint.t
12572       rm -f t/28autowrap.t
12573     '';
12574     meta = {
12575       description = "C Language Support for Inline";
12576       homepage = "https://github.com/ingydotnet/inline-c-pm";
12577       license = with lib.licenses; [ artistic1 gpl1Plus ];
12578     };
12579   };
12581   InlineJava = buildPerlPackage {
12582     pname = "Inline-Java";
12583     version = "0.66";
12585     src = fetchurl {
12586       url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-Java-0.66.tar.gz";
12587       hash = "sha256-x0PgaOb28b2HMGH+R6h05cJIpP2ks8fM6J8P2/oz2Ug=";
12588     };
12590     propagatedBuildInputs = [ Inline ];
12592     # TODO: upgrade https://github.com/NixOS/nixpkgs/pull/89731
12593     makeMakerFlags = [ "J2SDK=${pkgs.jdk8}" ];
12595     # FIXME: Apparently tests want to access the network.
12596     doCheck = false;
12598     meta = {
12599       description = "Write Perl classes in Java";
12600       longDescription = ''
12601         The Inline::Java module allows you to put Java source code directly
12602         "inline" in a Perl script or module.  A Java compiler is launched and
12603         the Java code is compiled.  Then Perl asks the Java classes what
12604         public methods have been defined.  These classes and methods are
12605         available to the Perl program as if they had been written in Perl.
12606       '';
12607       license = with lib.licenses; [ artistic2 ];
12608       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.InlineJava.x86_64-darwin
12609     };
12610   };
12612   IPCSignal = buildPerlPackage {
12613     pname = "IPC-Signal";
12614     version = "1.00";
12615     src = fetchurl {
12616       url = "mirror://cpan/authors/id/R/RO/ROSCH/IPC-Signal-1.00.tar.gz";
12617       hash = "sha256-fCH5yMLQwPDw9G533nw9h53VYmaN3wUlh1w4zvIHb9A=";
12618     };
12619     meta = {
12620       description = "Utility functions dealing with signals";
12621       license = with lib.licenses; [ artistic1 gpl1Plus ];
12622     };
12623   };
12625   JavaScriptMinifierXS = buildPerlModule {
12626     pname = "JavaScript-Minifier-XS";
12627     version = "0.11";
12628     src = fetchurl {
12629       url = "mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz";
12630       hash = "sha256-FRISykvVCy9eHebQHjywhGBAe9dfJ9/IFi8veSeDnu4=";
12631     };
12632     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
12633     meta = {
12634       description = "XS based JavaScript minifier";
12635       homepage = "https://metacpan.org/release/JavaScript-Minifier-XS";
12636       license = with lib.licenses; [ artistic1 gpl1Plus ];
12637     };
12638   };
12640   JavaScriptValueEscape = buildPerlModule {
12641     pname = "JavaScript-Value-Escape";
12642     version = "0.07";
12643     src = fetchurl {
12644       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz";
12645       hash = "sha256-msvaNwjt4R9r6uXxEvGIw6kCOk0myOzYmqgru2kxo9w=";
12646     };
12647     meta = {
12648       description = "Avoid XSS with JavaScript value interpolation";
12649       homepage = "https://github.com/kazeburo/JavaScript-Value-Escape";
12650       license = with lib.licenses; [ artistic1 gpl1Plus ];
12651     };
12652   };
12654   JSON = buildPerlPackage {
12655     pname = "JSON";
12656     version = "4.02";
12657     src = fetchurl {
12658       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.02.tar.gz";
12659       hash = "sha256-REqIdVqJ/6KlQkq07R0R3KYYCOvvV+gSQ0JGGanoYnw=";
12660     };
12661     # Do not abort cross-compilation on failure to load native JSON module into host perl
12662     preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
12663       substituteInPlace Makefile.PL --replace "exit 0;" ""
12664     '';
12665     buildInputs = [ TestPod ];
12666     meta = {
12667       description = "JSON (JavaScript Object Notation) encoder/decoder";
12668       license = with lib.licenses; [ artistic1 gpl1Plus ];
12669     };
12670   };
12672   JSONAny = buildPerlPackage {
12673     pname = "JSON-Any";
12674     version = "1.39";
12675     src = fetchurl {
12676       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.39.tar.gz";
12677       hash = "sha256-rkl1XPNxCmoydqN6t9XD5+DArrLas1Ss12gsCad5V8M=";
12678     };
12679     buildInputs = [ TestFatal TestRequires TestWarnings TestWithoutModule ];
12680     meta = {
12681       description = "(DEPRECATED) Wrapper Class for the various JSON classes";
12682       homepage = "https://github.com/karenetheridge/JSON-Any";
12683       license = with lib.licenses; [ artistic1 gpl1Plus ];
12684     };
12685   };
12687   JSONCreate = buildPerlPackage {
12688     pname = "JSON-Create";
12689     version = "0.35";
12690     src = fetchurl {
12691       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Create-0.35.tar.gz";
12692       hash = "sha256-X67+DYM7gTJWiGUwjzI5082qG4oezJtWJNzx774QaD4=";
12693     };
12694     propagatedBuildInputs = [ JSONParse UnicodeUTF8 ];
12695     meta = {
12696       description = "Create JSON";
12697       license = with lib.licenses; [ artistic1 gpl1Plus ];
12698     };
12699   };
12701   JSONMaybeXS = buildPerlPackage {
12702     pname = "JSON-MaybeXS";
12703     version = "1.004003";
12704     src = fetchurl {
12705       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-MaybeXS-1.004003.tar.gz";
12706       hash = "sha256-W+47F/+dz/1umauM9/NXR2UL/OHcYi460QuFoZRGL78=";
12707     };
12708     buildInputs = [ TestNeeds ];
12709     meta = {
12710       description = "Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP";
12711       license = with lib.licenses; [ artistic1 gpl1Plus ];
12712     };
12713   };
12715   JSONPP = buildPerlPackage {
12716     pname = "JSON-PP";
12717     version = "4.05";
12718     src = fetchurl {
12719       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-4.05.tar.gz";
12720       hash = "sha256-1aK8przPTUT0Ouqs4PRa5lQbt/UNtaSJtdL/X76L8M4=";
12721     };
12722     meta = {
12723       description = "JSON::XS compatible pure-Perl module";
12724       license = with lib.licenses; [ artistic1 gpl1Plus ];
12725       mainProgram = "json_pp";
12726     };
12727   };
12729   JSONPPCompat5006 = buildPerlPackage {
12730     pname = "JSON-PP-Compat5006";
12731     version = "1.09";
12732     src = fetchurl {
12733       url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz";
12734       hash = "sha256-GXAw31JjX5u+Ja8QdC7qW9dJcUcxGMETEfyry2LjcWo=";
12735     };
12736     meta = {
12737       description = "Helper module in using JSON::PP in Perl 5.6";
12738       license = with lib.licenses; [ artistic1 gpl1Plus ];
12739     };
12740   };
12742   JSONParse = buildPerlPackage {
12743     pname = "JSON-Parse";
12744     version = "0.61";
12745     src = fetchurl {
12746       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Parse-0.61.tar.gz";
12747       hash = "sha256-zo5V5wvvm8u6LpavYx0QpgWQCWGiLK2XfnGqtWw/KAY=";
12748     };
12749     meta = {
12750       description = "Parse JSON";
12751       license = with lib.licenses; [ artistic1 gpl1Plus ];
12752       mainProgram = "validjson";
12753     };
12754   };
12756   JSONValidator = buildPerlPackage {
12757     pname = "JSON-Validator";
12758     version = "5.08";
12759     src = fetchurl {
12760       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-5.08.tar.gz";
12761       hash = "sha256-QPaWjtcfxv1Ij6Q1Ityhk5NDhUCSth/eZgHwcWZHeFg=";
12762     };
12763     buildInputs = [ TestDeep ];
12764     propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ];
12765     meta = {
12766       description = "Validate data against a JSON schema";
12767       homepage = "https://github.com/mojolicious/json-validator";
12768       license = with lib.licenses; [ artistic2 ];
12769       maintainers = [ maintainers.sgo ];
12770     };
12771   };
12773   JSONWebToken = buildPerlModule {
12774     pname = "JSON-WebToken";
12775     version = "0.10";
12776     src = fetchurl {
12777       url = "mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-0.10.tar.gz";
12778       hash = "sha256-d8GCqYUo8XFNgq/FSNWztNyT5nBpEou5uUE/JM8HJIs=";
12779     };
12780     buildInputs = [ TestMockGuard TestRequires ];
12781     propagatedBuildInputs = [ JSON ModuleRuntime ];
12782     meta = {
12783       description = "JSON Web Token (JWT) implementation";
12784       homepage = "https://github.com/xaicron/p5-JSON-WebToken";
12785       license = with lib.licenses; [ artistic1 gpl1Plus ];
12786     };
12787   };
12789   JSONXS = buildPerlPackage {
12790     pname = "JSON-XS";
12791     version = "4.03";
12792     src = fetchurl {
12793       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-4.03.tar.gz";
12794       hash = "sha256-UVU29F8voafojIgkUzdY0BIdJnq5y0U6G1iHyKVrkGg=";
12795     };
12796     propagatedBuildInputs = [ TypesSerialiser ];
12797     buildInputs = [ CanaryStability ];
12798     meta = {
12799       description = "JSON serialising/deserialising, done correctly and fast";
12800       license = with lib.licenses; [ artistic1 gpl1Plus ];
12801       mainProgram = "json_xs";
12802     };
12803   };
12805   JSONXSVersionOneAndTwo = buildPerlPackage {
12806     pname = "JSON-XS-VersionOneAndTwo";
12807     version = "0.31";
12808     src = fetchurl {
12809       url = "mirror://cpan/authors/id/L/LB/LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz";
12810       hash = "sha256-5gksTZYfrnd6z3/pn7PNbltxD+yFdlprkEF0gOTJSjQ=";
12811     };
12812     propagatedBuildInputs = [ JSONXS ];
12813     meta = {
12814       description = "Support versions 1 and 2 of JSON::XS";
12815       license = with lib.licenses; [ artistic1 gpl1Plus ];
12816     };
12817   };
12819   Later = buildPerlPackage {
12820     version = "0.21";
12821     pname = "Object-Realize-Later";
12822     src = fetchurl {
12823       url = "mirror://cpan/authors/id/M/MA/MARKOV/Object-Realize-Later-0.21.tar.gz";
12824       hash = "sha256-j3uWQMyONOqSvPbAEEmgPBReDrRuViJ14o3d06jW2Nk=";
12825     };
12826     meta = {
12827       description = "Delayed creation of objects";
12828       license = with lib.licenses; [ artistic1 gpl1Plus ];
12829     };
12830   };
12832   LaTeXML = buildPerlPackage rec {
12833     pname = "LaTeXML";
12834     version = "0.8.6";
12835     src = fetchurl {
12836       url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz";
12837       hash = "sha256-lSnGUbZ/Xo3e8f0YUvl051ahe3EcRtQRjwZ3rQ5um7E=";
12838     };
12839     patches = [
12840       (fetchpatch {
12841         # https://github.com/brucemiller/LaTeXML/issues/1669
12842         name = "downgrade-security-FileTemp.patch";
12843         url = "https://github.com/brucemiller/LaTeXML/commit/c3d6b9b88f9eafce6eee52b1634ea33085ba9ec6.patch";
12844         hash = "sha256-p+boNhshvSZtygVZUawjeN38bJsfM95JrkLOBbazhos=";
12845       })
12846     ];
12847     outputs = [ "out" "tex" ];
12848     propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageMagick ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ];
12849     nativeBuildInputs = [ pkgs.makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
12850     makeMakerFlags = [ "TEXMF=\${tex}" "NOMKTEXLSR" ];
12851     # shebangs need to be patched before executables are copied to $out
12852     preBuild = ''
12853       patchShebangs bin/
12854     '' + lib.optionalString stdenv.isDarwin ''
12855       for file in bin/*; do
12856         shortenPerlShebang "$file"
12857       done
12858     '';
12859     postInstall = ''
12860       for file in latexmlc latexmlmath latexmlpost ; do
12861         # add runtime dependencies that cause silent failures when missing
12862         wrapProgram $out/bin/$file --prefix PATH : ${lib.makeBinPath [ pkgs.ghostscript pkgs.potrace ]}
12863       done
12864     '';
12865     passthru = {
12866       tlType = "run";
12867       pkgs = [ LaTeXML.tex ];
12868     };
12869     meta = {
12870       description = "Transforms TeX and LaTeX into XML/HTML/MathML";
12871       homepage = "https://dlmf.nist.gov/LaTeXML/";
12872       license = with lib.licenses; [ publicDomain ];
12873       maintainers = with maintainers; [ xworld21 ];
12874       mainProgram = "latexml";
12875     };
12876   };
12878   LEOCHARRECLI = buildPerlPackage {
12879     pname = "LEOCHARRE-CLI";
12880     version = "1.19";
12881     src = fetchurl {
12882       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-CLI-1.19.tar.gz";
12883       hash = "sha256-N4NfEe41MmJBtNMDaK4bwZWlBBSzZi2z4TuGW9Uvzek=";
12884     };
12885     propagatedBuildInputs = [ FileWhich Filechmod LEOCHARREDebug Linuxusermod YAML ];
12886     meta = {
12887       description = "Useful subs for coding cli scripts";
12888       license = with lib.licenses; [ artistic1 gpl1Plus ];
12889     };
12890   };
12892   LEOCHARREDebug = buildPerlPackage {
12893     pname = "LEOCHARRE-Debug";
12894     version = "1.03";
12895     src = fetchurl {
12896       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-Debug-1.03.tar.gz";
12897       hash = "sha256-wWZao6vUV8yGJLjEGMb4vfWPs6aG+O7VFc9+k1FN8ZI=";
12898     };
12899     meta = {
12900       description = "Debug sub";
12901       license = with lib.licenses; [ artistic1 gpl1Plus ];
12902     };
12903   };
12905   LexicalSealRequireHints = buildPerlModule {
12906     pname = "Lexical-SealRequireHints";
12907     version = "0.0011";
12908     src = fetchurl {
12909       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.011.tar.gz";
12910       hash = "sha256-npGO0RjvaF1uCdqxzW5m7gox13b+JLumPlJDkG9WATo=";
12911     };
12912     meta = {
12913       description = "Prevent leakage of lexical hints";
12914       license = with lib.licenses; [ artistic1 gpl1Plus ];
12915     };
12916   };
12918   libapreq2 = buildPerlPackage {
12919     pname = "libapreq2";
12920     version = "2.16";
12921     src = fetchurl {
12922       url = "mirror://cpan/authors/id/S/SH/SHAY/libapreq2-2.16.tar.gz";
12923       hash = "sha256-4EyFWj6gcLiGNWn7rgL+go9TSsiHVbI+JNOGPMlZg0k=";
12924     };
12925     outputs = [ "out" ];
12926     buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
12927     propagatedBuildInputs = [ (pkgs.apacheHttpdPackages.mod_perl.override { inherit perl; }) ];
12928     makeMakerFlags = [
12929       "--with-apache2-src=${pkgs.apacheHttpd.dev}"
12930       "--with-apache2-apxs=${pkgs.apacheHttpd.dev}/bin/apxs"
12931       "--with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd"
12932       "--with-apr-config=${pkgs.apr.dev}/bin/apr-1-config"
12933       "--with-apu-config=${pkgs.aprutil.dev}/bin/apu-1-config"
12934     ];
12935     preConfigure = ''
12936       # override broken prereq check
12937       substituteInPlace configure --replace "prereq_check=\"\$PERL \$PERL_OPTS build/version_check.pl\"" "prereq_check=\"echo\""
12938       '';
12939     preBuild = ''
12940       substituteInPlace apreq2-config --replace "dirname" "${pkgs.coreutils}/bin/dirname"
12941       '';
12942     installPhase = ''
12943       mkdir $out
12945       # install the library
12946       make install DESTDIR=$out
12947       cp -r $out/${pkgs.apacheHttpd.dev}/. $out/.
12948       cp -r $out/$out/. $out/.
12950       # install the perl module
12951       pushd glue/perl
12952       perl Makefile.PL
12953       make install DESTDIR=$out
12954       cp -r $out/${perl}/lib/perl5 $out/lib/
12955       popd
12957       # install the apache module
12958       # https://computergod.typepad.com/home/2007/06/webgui_and_suse.html
12959       # NOTE: if using the apache module you must use "apreq" as the module name, not "apreq2"
12960       # services.httpd.extraModules = [ { name = "apreq"; path = "''${pkgs.perlPackages.libapreq2}/modules/mod_apreq2.so"; } ];
12961       pushd module
12962       make install DESTDIR=$out
12963       cp -r $out/${pkgs.apacheHttpd.out}/modules $out/
12964       popd
12966       rm -r $out/nix
12967     '';
12968     doCheck = false; # test would need to start apache httpd
12969     meta = {
12970       description = "Wrapper for libapreq2's module/handle API";
12971       license = with lib.licenses; [ asl20 ];
12972     };
12973   };
12975   libintl-perl = buildPerlPackage {
12976     pname = "libintl-perl";
12977     version = "1.32";
12978     src = fetchurl {
12979       url = "mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.32.tar.gz";
12980       hash = "sha256-gBCCmPJWTsv8cRCjBCAI5mXtAMLhVbNrAYjmwRNc66U=";
12981     };
12982     meta = {
12983       description = "Portable l10n and i10n functions";
12984       license = with lib.licenses; [ gpl3Only ];
12985     };
12986   };
12988   libnet = buildPerlPackage {
12989     pname = "libnet";
12990     version = "3.12";
12991     src = fetchurl {
12992       url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.13.tar.gz";
12993       hash = "sha256-WjX7Hy1KopFoDrGvOImfq0U8IsKOcffHvTdHtaPbNIw=";
12994     };
12995     patches = [
12996       (fetchpatch {
12997         name = "deterministic-libnet.cfg";
12998         url = "https://github.com/steve-m-hay/perl-libnet/commit/7d076c4352f67ee4ed64092cfad3963a2321bd53.patch";
12999         hash = "sha256-GyPx0ZQ/u/+DaFM7eNDvXrMFC0+d3GyLxVZJBKrg6V0=";
13000       })
13001     ];
13002     meta = {
13003       description = "Collection of network protocol modules";
13004       license = with lib.licenses; [ artistic1 gpl1Plus ];
13005     };
13006   };
13008   librelative = buildPerlPackage {
13009     pname = "lib-relative";
13010     version = "1.000";
13011     src = fetchurl {
13012       url = "mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-1.000.tar.gz";
13013       hash = "sha256-3+DHAF/Yvd0lp+jCUEsPreFix0ynG096y36OdhBtbNc=";
13014     };
13015     meta = {
13016       description = "Add paths relative to the current file to @INC";
13017       homepage = "https://github.com/Grinnz/lib-relative";
13018       license = with lib.licenses; [ artistic2 ];
13019     };
13020   };
13022   libxml_perl = buildPerlPackage {
13023     pname = "libxml-perl";
13024     version = "0.08";
13025     src = fetchurl {
13026       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz";
13027       hash = "sha256-RXEFm3tdSLfOUrATieldeYv1zyAgUjwVP/J7SYFTycs=";
13028     };
13029     propagatedBuildInputs = [ XMLParser ];
13030     meta = {
13031       description = "Collection of Perl modules for working with XML";
13032       license = with lib.licenses; [ artistic1 gpl1Plus ];
13033     };
13034   };
13036   LinguaENFindNumber = buildPerlPackage {
13037     pname = "Lingua-EN-FindNumber";
13038     version = "1.32";
13039     src = fetchurl {
13040       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz";
13041       hash = "sha256-HRdtHIY/uYRL0Z0sKk5ooO1z2hWPckqJQFuQ236NvQQ=";
13042     };
13043     propagatedBuildInputs = [ LinguaENWords2Nums ];
13044     meta = {
13045       description = "Locate (written) numbers in English text ";
13046       homepage = "https://github.com/neilb/Lingua-EN-FindNumber";
13047       license = with lib.licenses; [ artistic1 gpl1Plus ];
13048     };
13049   };
13051   LinguaENInflect = buildPerlPackage {
13052     pname = "Lingua-EN-Inflect";
13053     version = "1.905";
13054     src = fetchurl {
13055       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.905.tar.gz";
13056       hash = "sha256-BcKew0guVyMTpg2iGBsLMMXbfPAfiudhatZ+G2YmMpY=";
13057     };
13058     meta = {
13059       description = "Convert singular to plural. Select 'a' or 'an'";
13060       license = with lib.licenses; [ artistic1 gpl1Plus ];
13061     };
13062   };
13064   LinguaENInflectNumber = buildPerlPackage {
13065     pname = "Lingua-EN-Inflect-Number";
13066     version = "1.12";
13067     src = fetchurl {
13068       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-Inflect-Number-1.12.tar.gz";
13069       hash = "sha256-Zvszg4USdG9cWX6AJk/qZmQ/fyZXDsL5IFthNa1nrL8=";
13070     };
13071     propagatedBuildInputs = [ LinguaENInflect ];
13072     meta = {
13073       description = "Force number of words to singular or plural";
13074       homepage = "https://github.com/neilbowers/Lingua-EN-Inflect-Number";
13075       license = with lib.licenses; [ artistic1 gpl1Plus ];
13076     };
13077   };
13079   LinguaENInflectPhrase = buildPerlPackage {
13080     pname = "Lingua-EN-Inflect-Phrase";
13081     version = "0.20";
13082     src = fetchurl {
13083       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.20.tar.gz";
13084       hash = "sha256-VQWJEamfF1XePrRJqZ/765LYjAH/XcYFEaJGeQUN3qg=";
13085     };
13086     buildInputs = [ TestNoWarnings ];
13087     propagatedBuildInputs = [ LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
13088     meta = {
13089       description = "Inflect short English Phrases";
13090       homepage = "https://metacpan.org/release/Lingua-EN-Inflect-Phrase";
13091       license = with lib.licenses; [ artistic1 gpl1Plus ];
13092     };
13093   };
13095   LinguaENNumberIsOrdinal = buildPerlPackage {
13096     pname = "Lingua-EN-Number-IsOrdinal";
13097     version = "0.05";
13098     src = fetchurl {
13099       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Number-IsOrdinal-0.05.tar.gz";
13100       hash = "sha256-KNVpVADA9OK9IJeTy3T22iuSVzVqrLKUfGA0JeCWGNY=";
13101     };
13102     buildInputs = [ TestFatal TryTiny ];
13103     propagatedBuildInputs = [ LinguaENFindNumber ];
13104     meta = {
13105       description = "Detect if English number is ordinal or cardinal";
13106       homepage = "https://metacpan.org/release/Lingua-EN-Number-IsOrdinal";
13107       license = with lib.licenses; [ artistic1 gpl1Plus ];
13108     };
13109   };
13111   LinguaENTagger = buildPerlPackage {
13112     pname = "Lingua-EN-Tagger";
13113     version = "0.31";
13114     src = fetchurl {
13115       url = "mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.31.tar.gz";
13116       hash = "sha256-lJ6Mh+SAj3uglrl5Ig/wgbvgO21XiQ0u7NS4Ouhy6ZM=";
13117     };
13118     propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ];
13119     meta = {
13120       description = "Part-of-speech tagger for English natural language processing";
13121       license = with lib.licenses; [ gpl3Only ];
13122     };
13123   };
13125   LinguaENWords2Nums = buildPerlPackage {
13126     pname = "Lingua-EN-Words2Nums";
13127     version = "0.18";
13128     src = fetchurl {
13129       url = "mirror://cpan/authors/id/J/JO/JOEY/Lingua-EN-Words2Nums-0.18.tar.gz";
13130       hash = "sha256-aGVWeXzSpOqgZvGbvwOrJcBieCksnq0vGH39kDHqHYU=";
13131     };
13132     meta = {
13133       description = "Convert English text to numbers";
13134       license = with lib.licenses; [ artistic1 gpl1Plus ];
13135     };
13136   };
13138   LinguaPTStemmer = buildPerlPackage {
13139     pname = "Lingua-PT-Stemmer";
13140     version = "0.02";
13141     src = fetchurl {
13142       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz";
13143       hash = "sha256-WW3wH4q3n//9RQ6Ug2pUQ3HYpMk6FffojqLxt5xGhJ0=";
13144     };
13145     meta = {
13146       description = "Portuguese language stemming";
13147       homepage = "https://github.com/neilb/Lingua-PT-Stemmer";
13148       license = with lib.licenses; [ artistic1 gpl1Plus ];
13149     };
13150   };
13152   LinguaStem = buildPerlModule {
13153     pname = "Lingua-Stem";
13154     version = "2.31";
13155     src = fetchurl {
13156       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-2.31.tar.gz";
13157       hash = "sha256-qhqZMrZCflmCU+YajM0NBMxVn66dWNh3TCAncItjAmQ=";
13158     };
13159     doCheck = false;
13160     propagatedBuildInputs = [ LinguaPTStemmer LinguaStemFr LinguaStemIt LinguaStemRu LinguaStemSnowballDa SnowballNorwegian SnowballSwedish TextGerman ];
13161     meta = {
13162       description = "Stemming of words";
13163       license = with lib.licenses; [ artistic1 gpl1Plus ];
13164     };
13165   };
13167   LinguaStemFr = buildPerlPackage {
13168     pname = "Lingua-Stem-Fr";
13169     version = "0.02";
13170     src = fetchurl {
13171       url = "mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz";
13172       hash = "sha256-nU9ks6iJihhTQyGFJtWsaKSh+ObEQY1rqV1i9fnV2W8=";
13173     };
13174     meta = {
13175       description = "Perl French Stemming";
13176       license = with lib.licenses; [ artistic1 gpl1Plus ];
13177     };
13178   };
13180   LinguaStemIt = buildPerlPackage {
13181     pname = "Lingua-Stem-It";
13182     version = "0.02";
13183     src = fetchurl {
13184       url = "mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz";
13185       hash = "sha256-OOZz+3T+ARWILlrbJnTesIH6tyHXKO4qgRQWPVDIB4g=";
13186     };
13187     meta = {
13188       description = "Porter's stemming algorithm for Italian";
13189       license = with lib.licenses; [ artistic1 gpl1Plus ];
13190     };
13191   };
13193   LinguaStemRu = buildPerlPackage {
13194     pname = "Lingua-Stem-Ru";
13195     version = "0.04";
13196     src = fetchurl {
13197       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz";
13198       hash = "sha256-EnDOt0dk/blYNwqAiDSvl26H9pqFRw+LxGJYeX6rUig=";
13199     };
13200     meta = {
13201       description = "Porter's stemming algorithm for Russian (KOI8-R only)";
13202       homepage = "https://github.com/neilb/Lingua-Stem-Ru";
13203       license = with lib.licenses; [ artistic1 gpl1Plus ];
13204     };
13205   };
13207   LinguaStemSnowballDa = buildPerlPackage {
13208     pname = "Lingua-Stem-Snowball-Da";
13209     version = "1.01";
13210     src = fetchurl {
13211       url = "mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz";
13212       hash = "sha256-Ljm+TuAVx+xHwrBnhYAYp0BuONUSHWVcikaHSt+poFY=";
13213     };
13214     meta = {
13215       description = "Porters stemming algorithm for Denmark";
13216       license = with lib.licenses; [ gpl2Only ];
13217     };
13218   };
13220   LinguaTranslit = buildPerlPackage {
13221     pname = "Lingua-Translit";
13222     version = "0.28";
13223     src = fetchurl {
13224       url = "mirror://cpan/authors/id/A/AL/ALINKE/Lingua-Translit-0.28.tar.gz";
13225       hash = "sha256-ET+R2PwsYwQ3FTpJ+3pSsCOvj2J47ZbAcLH2CCS46uE=";
13226     };
13227     doCheck = false;
13228     meta = {
13229       description = "Transliterates text between writing systems";
13230       license = with lib.licenses; [ artistic1 gpl1Plus ];
13231       mainProgram = "translit";
13232     };
13233   };
13235   LinkEmbedder = buildPerlPackage {
13236     pname = "LinkEmbedder";
13237     version = "1.20";
13238     src = fetchurl {
13239       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/LinkEmbedder-1.20.tar.gz";
13240       hash = "sha256-sd6LTiXHIplEOeesA0vorjeiCUijG/SF8iu0hvzI3KU=";
13241     };
13242     buildInputs = [ TestDeep ];
13243     propagatedBuildInputs = [ Mojolicious ];
13244     meta = {
13245       description = "Embed / expand oEmbed resources and other URL / links";
13246       homepage = "https://github.com/jhthorsen/linkembedder";
13247       license = with lib.licenses; [ artistic2 ];
13248       maintainers = with maintainers; [ sgo ];
13249     };
13250   };
13252   LinuxACL = buildPerlPackage {
13253     pname = "Linux-ACL";
13254     version = "0.05";
13255     src = fetchurl {
13256       url = "mirror://cpan/authors/id/N/NA/NAZAROV/Linux-ACL-0.05.tar.gz";
13257       hash = "sha256-MSlAwfYPR8T8k/oKnSpiZCX6qDcEDIwvGtWO4J9i83E=";
13258     };
13259     buildInputs = [ pkgs.acl ];
13260     NIX_CFLAGS_LINK = "-L${pkgs.acl.out}/lib -lacl";
13261     meta = {
13262       description = "Perl extension for reading and setting Access Control Lists for files by libacl linux library";
13263       license = with lib.licenses; [ artistic1 gpl1Plus ];
13264       maintainers = teams.deshaw.members;
13265     };
13266   };
13268   LinuxDesktopFiles = buildPerlModule {
13269     pname = "Linux-DesktopFiles";
13270     version = "0.25";
13271     src = fetchurl {
13272       url = "mirror://cpan/authors/id/T/TR/TRIZEN/Linux-DesktopFiles-0.25.tar.gz";
13273       hash = "sha256-YDd6dPupD6RlIA7hx0MNvd5p1FTYX57hAcA5gDoH5fU=";
13274     };
13275     meta = {
13276       description = "Fast parsing of the Linux desktop files";
13277       homepage = "https://github.com/trizen/Linux-DesktopFiles";
13278       license = with lib.licenses; [ artistic2 ];
13279     };
13280   };
13282   LinuxDistribution = buildPerlModule {
13283     pname = "Linux-Distribution";
13284     version = "0.23";
13285     src = fetchurl {
13286       url = "mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz";
13287       hash = "sha256-YD4n2mB7PocqZp16ZtdZgvCWkVPqstSyDDQTR7Tr2l8=";
13288     };
13289     # The tests fail if the distro it's built on isn't in the supported list.
13290     # This includes NixOS.
13291     doCheck = false;
13292     meta = {
13293       description = "Perl extension to detect on which Linux distribution we are running";
13294       license = with lib.licenses; [ artistic1 gpl1Plus ];
13295       platforms = lib.platforms.linux;
13296     };
13297   };
13299   LinuxFD = buildPerlModule {
13300     pname = "Linux-FD";
13301     version = "0.011";
13302     src = fetchurl {
13303       url = "mirror://cpan/authors/id/L/LE/LEONT/Linux-FD-0.011.tar.gz";
13304       hash = "sha256-a7V51HZEyw7TVib/d+kJrmkGMHPGrAmqBhT+8A+jc1Y=";
13305     };
13306     buildInputs = [ TestException ];
13307     propagatedBuildInputs = [ SubExporter ];
13308     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
13309     meta = {
13310       description = "Linux specific special filehandles";
13311       license = with lib.licenses; [ artistic1 gpl1Plus ];
13312       platforms = lib.platforms.linux;
13313     };
13314   };
13316   LinuxInotify2 = buildPerlPackage {
13317     pname = "Linux-Inotify2";
13318     version = "2.2";
13319     src = fetchurl {
13320       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.2.tar.gz";
13321       hash = "sha256-3UGiDaVon7IHHuojo4PE4PjYW0YrpluqbE9TolTtNDM=";
13322     };
13323     propagatedBuildInputs = [ commonsense ];
13325     meta = {
13326       description = "Scalable directory/file change notification for Perl on Linux";
13327       license = with lib.licenses; [ artistic1 gpl1Plus ];
13328       platforms = lib.platforms.linux;
13329     };
13330   };
13332   Linuxusermod = buildPerlPackage {
13333     pname = "Linux-usermod";
13334     version = "0.69";
13335     src = fetchurl {
13336       url = "mirror://cpan/authors/id/V/VI/VIDUL/Linux-usermod-0.69.tar.gz";
13337       hash = "sha256-l8oYajxBa/ae1i2gRvGmDYjYm45u0lAIsvlueH3unWA=";
13338     };
13339     meta = {
13340       description = "This module adds, removes and modify user and group accounts according to the passwd and shadow files syntax";
13341       license = with lib.licenses; [ artistic1 gpl1Plus ];
13342       platforms = lib.platforms.linux;
13343     };
13344   };
13346   ListAllUtils = buildPerlPackage {
13347     pname = "List-AllUtils";
13348     version = "0.18";
13349     src = fetchurl {
13350       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.18.tar.gz";
13351       hash = "sha256-t8S/gAkLKBxKFWDHahqBkJTDoSlDAvd6+4xgykhi7Pk=";
13352     };
13353     propagatedBuildInputs = [ ListSomeUtils ListUtilsBy ];
13354     meta = {
13355       description = "Combines List::Util, List::SomeUtils and List::UtilsBy in one bite-sized package";
13356       homepage = "https://metacpan.org/release/List-AllUtils";
13357       license = with lib.licenses; [ artistic2 ];
13358     };
13359   };
13361   ListBinarySearch = buildPerlPackage {
13362     pname = "List-BinarySearch";
13363     version = "0.25";
13364     src = fetchurl {
13365       url = "mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz";
13366       hash = "sha256-yBEwcb1gQANe6KsBzxtyqRBXQZLx0XkQKud1qXPy6Co=";
13367     };
13368     meta = {
13369       description = "Binary Search within a sorted array";
13370       license = with lib.licenses; [ artistic1 gpl1Plus ];
13371     };
13372   };
13374   ListCompare = buildPerlPackage {
13375     pname = "List-Compare";
13376     version = "0.55";
13377     src = fetchurl {
13378       url = "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.55.tar.gz";
13379       hash = "sha256-zHGUeYNledUrArwyjtgKmPZ53wQ6mbVxCrLBkWaeuDc=";
13380     };
13381     buildInputs = [ CaptureTiny ];
13382     meta = {
13383       description = "Compare elements of two or more lists";
13384       homepage = "http://thenceforward.net/perl/modules/List-Compare";
13385       license = with lib.licenses; [ artistic1 gpl1Plus ];
13386     };
13387   };
13389   ListMoreUtils = buildPerlPackage {
13390     pname = "List-MoreUtils";
13391     version = "0.430";
13392     src = fetchurl {
13393       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-0.430.tar.gz";
13394       hash = "sha256-Y7H3hCzULZtTjR404DMN5f8VWeTCc3NCUGQYJ29kZSc=";
13395     };
13396     propagatedBuildInputs = [ ExporterTiny ListMoreUtilsXS ];
13397     buildInputs = [ TestLeakTrace ];
13398     meta = {
13399       description = "Provide the stuff missing in List::Util";
13400       license = with lib.licenses; [ artistic1 gpl1Plus ];
13401     };
13402   };
13404   ListMoreUtilsXS = buildPerlPackage {
13405     pname = "List-MoreUtils-XS";
13406     version = "0.430";
13407     src = fetchurl {
13408       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz";
13409       hash = "sha256-6M5G1XwXnuzYdYKT6UAP8wCq8g/v4KnRW5/iMCucskI=";
13410     };
13411     preConfigure = ''
13412       export LD=$CC
13413     '';
13414     meta = {
13415       description = "Provide the stuff missing in List::Util in XS";
13416       homepage = "https://metacpan.org/release/List-MoreUtils-XS";
13417       license = with lib.licenses; [ asl20 ];
13418     };
13419   };
13421   ListSomeUtils = buildPerlPackage {
13422     pname = "List-SomeUtils";
13423     version = "0.58";
13424     src = fetchurl {
13425       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz";
13426       hash = "sha256-lur7NZM50ivyot5CEpiEejxA9qKLbUQAXQll2oalRp0=";
13427     };
13428     buildInputs = [ TestLeakTrace ];
13429     propagatedBuildInputs = [ ModuleImplementation ];
13430     meta = {
13431       description = "Provide the stuff missing in List::Util";
13432       homepage = "https://metacpan.org/release/List-SomeUtils";
13433       license = with lib.licenses; [ artistic1 gpl1Plus ];
13434     };
13435   };
13437   ListUtilsBy = buildPerlModule {
13438     pname = "List-UtilsBy";
13439     version = "0.11";
13440     src = fetchurl {
13441       url = "mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.11.tar.gz";
13442       hash = "sha256-+t30O0vCHbjkwOiaJuXyP+YmzeNJHsZRtqozhif1d1o=";
13443     };
13444     meta = {
13445       description = "Higher-order list utility functions";
13446       license = with lib.licenses; [ artistic1 gpl1Plus ];
13447     };
13448   };
13450   LocaleCodes = buildPerlPackage {
13451     pname = "Locale-Codes";
13452     version = "3.66";
13453     src = fetchurl {
13454       url = "mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.66.tar.gz";
13455       hash = "sha256-mfrNbVbijKaPMj0Cy3/GyOuYM7BpalqDPvSsP15cV+c=";
13456     };
13457     buildInputs = [ TestInter ];
13458     meta = {
13459       description = "A distribution of modules to handle locale codes";
13460       homepage = "https://github.com/SBECK-github/Locale-Codes";
13461       license = with lib.licenses; [ artistic1 gpl1Plus ];
13462     };
13463   };
13465   LocaleGettext = buildPerlPackage {
13466     pname = "gettext";
13467     version = "1.07";
13468     strictDeps = true;
13469     buildInputs = [ pkgs.gettext ];
13470     src = fetchurl {
13471       url = "mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz";
13472       hash = "sha256-kJ1HlUaX58BCGPlykVt4e9EkTXXjvQFiC8Fn1bvEnBU=";
13473     };
13474     LANG="C";
13475     meta = {
13476       description = "Perl extension for emulating gettext-related API";
13477       license = with lib.licenses; [ artistic1 gpl1Plus ];
13478     };
13479   };
13481   LocaleMaketextLexiconGetcontext = buildPerlPackage {
13482     pname = "Locale-Maketext-Lexicon-Getcontext";
13483     version = "0.05";
13484     src = fetchurl {
13485       url = "mirror://cpan/authors/id/S/SA/SAPER/Locale-Maketext-Lexicon-Getcontext-0.05.tar.gz";
13486       hash = "sha256-dcsz35RypZYt5UCC9CxqdrJg/EBboQylMkb7H4LAkgg=";
13487     };
13488     propagatedBuildInputs = [ LocaleMaketextLexicon ];
13489     meta = {
13490       description = "PO file parser for Maketext";
13491       license = with lib.licenses; [ mit ];
13492     };
13493   };
13495   LocaleMOFile = buildPerlPackage {
13496     pname = "Locale-MO-File";
13497     version = "0.09";
13498     src = fetchurl {
13499       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.09.tar.gz";
13500       hash = "sha256-lwNtw/Cds3BSrp2aUUSH6IS1bZDHbKEtbKtAXSNWSj8=";
13501     };
13502     propagatedBuildInputs = [ ConstFast MooXStrictConstructor MooXTypesMooseLike ParamsValidate namespaceautoclean ];
13503     buildInputs = [ TestDifferences TestException TestHexDifferences TestNoWarnings ];
13504     meta = {
13505       description = "Write or read gettext MO files";
13506       license = with lib.licenses; [ artistic1 gpl1Plus ];
13507     };
13508   };
13510   LocaleMaketextFuzzy = buildPerlPackage {
13511     pname = "Locale-Maketext-Fuzzy";
13512     version = "0.11";
13513     src = fetchurl {
13514       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz";
13515       hash = "sha256-N4UXHOt4zHZxMZo6bYztmxkOCX382bKp68gEzRooL5Y=";
13516     };
13517     meta = {
13518       description = "Maketext from already interpolated strings";
13519       license = with lib.licenses; [ cc0 ];
13520     };
13521   };
13523   LocaleMaketextLexicon = buildPerlPackage {
13524     pname = "Locale-Maketext-Lexicon";
13525     version = "1.00";
13526     src = fetchurl {
13527       url = "mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz";
13528       hash = "sha256-tz9rBKWNPw446/IRWkwVMvGk7vb6xcaipEnk4Uwd3Hw=";
13529     };
13530     meta = {
13531       description = "Use other catalog formats in Maketext";
13532       homepage = "https://search.cpan.org/dist/Locale-Maketext-Lexicon";
13533       license = with lib.licenses; [ mit ];
13534       mainProgram = "xgettext.pl";
13535     };
13536   };
13538   LocaleMsgfmt = buildPerlPackage {
13539     pname = "Locale-Msgfmt";
13540     version = "0.15";
13541     src = fetchurl {
13542       url = "mirror://cpan/authors/id/A/AZ/AZAWAWI/Locale-Msgfmt-0.15.tar.gz";
13543       hash = "sha256-wydoMcvuz1i+AggbzBgL00jao12iGnc3t7A4pZ9kOrQ=";
13544     };
13545     meta = {
13546       description = "Compile .po files to .mo files";
13547       license = with lib.licenses; [ artistic1 gpl1Plus ];
13548     };
13549   };
13551   LocalePO = buildPerlPackage {
13552     pname = "Locale-PO";
13553     version = "0.27";
13554     src = fetchurl {
13555       url = "mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz";
13556       hash = "sha256-PJlKS2Pm5Og2xveak/UZIcq3fJDJdT/g+LVCkiDVFrk=";
13557     };
13558     propagatedBuildInputs = [ FileSlurp ];
13559     meta = {
13560       description = "Perl module for manipulating .po entries from GNU gettext";
13561       license = with lib.licenses; [ artistic1 gpl1Plus ];
13562     };
13563   };
13565   LocaleTextDomainOO = buildPerlPackage {
13566     pname = "Locale-TextDomain-OO";
13567     version = "1.036";
13568     src = fetchurl {
13569       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.036.tar.gz";
13570       hash = "sha256-tReD4aiWICE+oqg+RbrsOqhunL4en6W590+HSbBUDjg=";
13571     };
13572     propagatedBuildInputs = [ ClassLoad Clone JSON LocaleMOFile LocalePO LocaleTextDomainOOUtil LocaleUtilsPlaceholderBabelFish LocaleUtilsPlaceholderMaketext LocaleUtilsPlaceholderNamed MooXSingleton PathTiny TieSub ];
13573     buildInputs = [ TestDifferences TestException TestNoWarnings ];
13574     meta = {
13575       description = "Locale::TextDomain::OO - Perl OO Interface to Uniforum Message Translation";
13576       license = with lib.licenses; [ artistic1 gpl1Plus ];
13577     };
13578   };
13580   LocaleTextDomainOOUtil = buildPerlPackage {
13581     pname = "Locale-TextDomain-OO-Util";
13582     version = "4.002";
13583     src = fetchurl {
13584       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-4.002.tar.gz";
13585       hash = "sha256-PF+gf2Xtd8Ap4g0kahBAQRSPGptH4332PzflHQK9RqA=";
13586     };
13587     propagatedBuildInputs = [ namespaceautoclean ];
13588     buildInputs = [ TestDifferences TestException TestNoWarnings ];
13589     meta = {
13590       description = "Locale::TextDomain::OO::Util - Lexicon utils";
13591       license = with lib.licenses; [ artistic1 gpl1Plus ];
13592     };
13593   };
13595   LocaleUtilsPlaceholderBabelFish = buildPerlPackage {
13596     pname = "Locale-Utils-PlaceholderBabelFish";
13597     version = "0.006";
13598     src = fetchurl {
13599       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz";
13600       hash = "sha256-LhwAU5ljqeyr0se5te+QpWBna7A0giUXYin8jqS0pMw=";
13601     };
13602     propagatedBuildInputs = [ HTMLParser MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
13603     buildInputs = [ TestDifferences TestException TestNoWarnings ];
13604     meta = {
13605       description = "Locale::Utils::PlaceholderBabelFish - Utils to expand BabelFish palaceholders";
13606       license = with lib.licenses; [ artistic1 gpl1Plus ];
13607     };
13608   };
13610   LocaleUtilsPlaceholderMaketext = buildPerlPackage {
13611     pname = "Locale-Utils-PlaceholderMaketext";
13612     version = "1.005";
13613     src = fetchurl {
13614       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz";
13615       hash = "sha256-UChgS9jzPY0yymkp+9DagP9L30KN6ARfs/Bbp9FdNOs=";
13616     };
13617     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
13618     buildInputs = [ TestDifferences TestException TestNoWarnings ];
13619     meta = {
13620       description = "Locale::Utils::PlaceholderMaketext - Utils to expand maketext placeholders";
13621       license = with lib.licenses; [ artistic1 gpl1Plus ];
13622     };
13623   };
13625   LocaleUtilsPlaceholderNamed = buildPerlPackage {
13626     pname = "Locale-Utils-PlaceholderNamed";
13627     version = "1.004";
13628     src = fetchurl {
13629       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz";
13630       hash = "sha256-b9eOojm1w1m6lCJ1N2b2OO5PkM0hdRpZs4YVXipFpr0=";
13631     };
13632     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
13633     buildInputs = [ TestDifferences TestException TestNoWarnings ];
13634     meta = {
13635       description = "Locale::Utils::PlaceholderNamed - Utils to expand named placeholders";
13636       license = with lib.licenses; [ artistic1 gpl1Plus ];
13637     };
13638   };
13640   locallib = buildPerlPackage {
13641     pname = "local-lib";
13642     version = "2.000024";
13643     src = fetchurl {
13644       url = "mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz";
13645       hash = "sha256-LpuRe9SKBhXkJjOyoydJTgRhDY9xB2W5ST0wbOrZigU=";
13646     };
13647     propagatedBuildInputs = [ ModuleBuild ];
13648     meta = {
13649       description = "Create and use a local lib/ for perl modules with PERL5LIB";
13650       license = with lib.licenses; [ artistic1 gpl1Plus ];
13651     };
13652   };
13654   LockFileSimple = buildPerlPackage {
13655     pname = "LockFile-Simple";
13656     version = "0.208";
13657     src = fetchurl {
13658       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz";
13659       hash = "sha256-Rcd4lrKloKRfYgKm+BP0N/+LKD+EocYNDE83MIAq86I=";
13660     };
13661     meta = {
13662       description = "Simple file locking scheme";
13663       license = with lib.licenses; [ artistic1 gpl2Plus ];
13664     };
13665   };
13667   LogAny = buildPerlPackage {
13668     pname = "Log-Any";
13669     version = "1.708";
13670     src = fetchurl {
13671       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-1.708.tar.gz";
13672       hash = "sha256-4UB3WdyUYqsJbU3cif6qyKuzQcVCnjjPb3uKmWo17Nk=";
13673     };
13674     # Syslog test fails.
13675     preCheck = "rm t/syslog.t";
13676     meta = {
13677       description = "Bringing loggers and listeners together";
13678       homepage = "https://github.com/preaction/Log-Any";
13679       license = with lib.licenses; [ artistic1 gpl1Plus ];
13680     };
13681   };
13683   LogAnyAdapterLog4perl = buildPerlPackage {
13684     pname = "Log-Any-Adapter-Log4perl";
13685     version = "0.09";
13686     src = fetchurl {
13687       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-0.09.tar.gz";
13688       hash = "sha256-EZfT5BIhS+IIgAz3v1BXsf6hVCRTmip5J8/kb3FuwaU=";
13689     };
13690     propagatedBuildInputs = [ LogAny LogLog4perl ];
13691     meta = {
13692       description = "Log::Any adapter for Log::Log4perl";
13693       homepage = "https://github.com/preaction/Log-Any-Adapter-Log4perl";
13694       license = with lib.licenses; [ artistic1 gpl1Plus ];
13695     };
13696   };
13698   LogAnyAdapterTAP = buildPerlPackage {
13699     pname = "Log-Any-Adapter-TAP";
13700     version = "0.003003";
13701     src = fetchurl {
13702       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Log-Any-Adapter-TAP-0.003003.tar.gz";
13703       hash = "sha256-Ex8GibK0KxsxRJcUxu2o+BHdlqfIZ0jx4DsjnP0BIcA=";
13704     };
13705     propagatedBuildInputs = [ LogAny TryTiny ];
13706     meta = {
13707       description = "Logger suitable for use with TAP test files";
13708       homepage = "https://github.com/silverdirk/perl-Log-Any-Adapter-TAP";
13709       license = with lib.licenses; [ artistic1 gpl1Plus ];
13710     };
13711   };
13713   LogContextual = buildPerlPackage {
13714     pname = "Log-Contextual";
13715     version = "0.008001";
13716     src = fetchurl {
13717       url = "mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.008001.tar.gz";
13718       hash = "sha256-uTy8+7h5bVHINuOwAkPNpWMICMFSwU7uXyDKCclFGZM=";
13719     };
13720     buildInputs = [ TestFatal ];
13721     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
13722     meta = {
13723       description = "Simple logging interface with a contextual log";
13724       homepage = "https://github.com/frioux/Log-Contextual";
13725       license = with lib.licenses; [ artistic1 gpl1Plus ];
13726     };
13727   };
13729   LogDispatch = buildPerlPackage {
13730     pname = "Log-Dispatch";
13731     version = "2.70";
13732     src = fetchurl {
13733       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.70.tar.gz";
13734       hash = "sha256-o9kcxSRn06PGaDED899EctceQFpF9VMolEhxOsQpPyE=";
13735     };
13736     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
13737     buildInputs = [ IPCRun3 TestFatal TestNeeds ];
13738     meta = {
13739       description = "Dispatches messages to one or more outputs";
13740       homepage = "https://metacpan.org/release/Log-Dispatch";
13741       license = with lib.licenses; [ artistic2 ];
13742     };
13743   };
13745   LogDispatchFileRotate = buildPerlPackage {
13746     pname = "Log-Dispatch-FileRotate";
13747     version = "1.36";
13748     src = fetchurl {
13749       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
13750       hash = "sha256-RyyxCw+sa71nKYvCjxSVhZrYWy356IxKH366c0+IlW4=";
13751     };
13752     propagatedBuildInputs = [ DateManip LogDispatch ];
13753     buildInputs = [ PathTiny TestWarn ];
13754     meta = {
13755       description = "Log to Files that Archive/Rotate Themselves";
13756       homepage = "https://github.com/mschout/perl-log-dispatch-filerotate";
13757       license = with lib.licenses; [ artistic1 gpl1Plus ];
13758     };
13759   };
13761   Logger = buildPerlPackage {
13762     pname = "Log-ger";
13763     version = "0.037";
13764     src = fetchurl {
13765       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Log-ger-0.037.tar.gz";
13766       hash = "sha256-wuJBcu2iBD14bm4gUUG72xvei7Lt/CtjAtxPih46oDg=";
13767     };
13768     meta = {
13769       description = "A lightweight, flexible logging framework";
13770       homepage = "https://metacpan.org/release/Log-ger";
13771       license = with lib.licenses; [ artistic1 gpl1Plus ];
13772       maintainers = [ maintainers.sgo ];
13773     };
13774   };
13776   LogHandler = buildPerlModule {
13777     pname = "Log-Handler";
13778     version = "0.90";
13779     src = fetchurl {
13780       url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.90.tar.gz";
13781       hash = "sha256-OlyA5xKEVHcPg6yrjL0+cOXsPVmmHcMnkqF48LMb900=";
13782     };
13783     propagatedBuildInputs = [ ParamsValidate ];
13784     meta = {
13785       description = "Log messages to several outputs";
13786       license = with lib.licenses; [ artistic1 gpl1Plus ];
13787     };
13788   };
13790   LogMessage = buildPerlPackage {
13791     pname = "Log-Message";
13792     version = "0.08";
13793     src = fetchurl {
13794       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz";
13795       hash = "sha256-vWl91iqvJtEY6fCggTQp3rHFRORQFVmHm2H8vf6Z/kY=";
13796     };
13797     meta = {
13798       description = "Powerful and flexible message logging mechanism";
13799       license = with lib.licenses; [ artistic1 gpl1Plus ];
13800     };
13801   };
13803   LogMessageSimple = buildPerlPackage {
13804     pname = "Log-Message-Simple";
13805     version = "0.10";
13806     src = fetchurl {
13807       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz";
13808       hash = "sha256-qhLRpMCsJguU1Ej6Af66JCqKhctsv9xmQy47W0aK3ZY=";
13809     };
13810     propagatedBuildInputs = [ LogMessage ];
13811     meta = {
13812       description = "Simplified interface to Log::Message";
13813       license = with lib.licenses; [ artistic1 gpl1Plus ];
13814     };
13815   };
13817   LogTrace = buildPerlPackage {
13818     pname = "Log-Trace";
13819     version = "1.070";
13820     src = fetchurl {
13821       url = "mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz";
13822       hash = "sha256-nsuCWO8wwvJN7/SRckDQ/nMkLaWyGSQC95gVsJLtNuM=";
13823     };
13824     meta = {
13825       description = "Provides a unified approach to tracing";
13826       license = with lib.licenses; [ gpl1Only ];
13827     };
13828   };
13830   MCE = buildPerlPackage {
13831     pname = "MCE";
13832     version = "1.874";
13833     src = fetchurl {
13834       url = "mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.874.tar.gz";
13835       hash = "sha256-2AnjAYR1EVrX7MuL70m9478+dau7zYBWRyi7z6uG09A=";
13836     };
13837     meta = {
13838       description = "Many-Core Engine for Perl providing parallel processing capabilities";
13839       homepage = "https://github.com/marioroy/mce-perl";
13840       license = with lib.licenses; [ artistic1 gpl1Plus ];
13841     };
13842   };
13844   LogLog4perl = buildPerlPackage {
13845     pname = "Log-Log4perl";
13846     version = "1.53";
13847     src = fetchurl {
13848       url = "mirror://cpan/authors/id/E/ET/ETJ/Log-Log4perl-1.53.tar.gz";
13849       hash = "sha256-j7+0jQFu7HNEpTnzrXCHC0rEY45JZmv6cNEPb/1Kw44=";
13850     };
13851     meta = {
13852       description = "Log4j implementation for Perl";
13853       homepage = "https://mschilli.github.io/log4perl/";
13854       license = with lib.licenses; [ artistic1 gpl1Plus ];
13855       mainProgram = "l4p-tmpl";
13856     };
13857   };
13859   LogDispatchArray = buildPerlPackage {
13860     pname = "Log-Dispatch-Array";
13861     version = "1.003";
13862     src = fetchurl {
13863       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz";
13864       hash = "sha256-DCCTHC978mp2ugE3C5WCIV/lIWsWGCLAw/IEqB+4fzc=";
13865     };
13866     buildInputs = [ TestDeep ];
13867     propagatedBuildInputs = [ LogDispatch ];
13868     meta = {
13869       description = "Log events to an array (reference)";
13870       homepage = "https://github.com/rjbs/Log-Dispatch-Array";
13871       license = with lib.licenses; [ artistic1 gpl1Plus ];
13872     };
13873   };
13875   LogDispatchouli = buildPerlPackage {
13876     pname = "Log-Dispatchouli";
13877     version = "2.022";
13878     src = fetchurl {
13879       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.022.tar.gz";
13880       hash = "sha256-KipBdq2vuFoeucncOJBSkZ6MLJ35mqulOMBrjalkpd8=";
13881     };
13882     buildInputs = [ TestDeep TestFatal ];
13883     propagatedBuildInputs = [ LogDispatchArray StringFlogger SubExporterGlobExporter ];
13884     meta = {
13885       description = "A simple wrapper around Log::Dispatch";
13886       homepage = "https://github.com/rjbs/Log-Dispatchouli";
13887       license = with lib.licenses; [ artistic1 gpl1Plus ];
13888     };
13889   };
13891   LogJournald = buildPerlModule rec {
13892     pname = "Log-Journald";
13893     version = "0.30";
13894     src = fetchurl {
13895       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-0.30.tar.gz";
13896       hash = "sha256-VZks+aHh+4M/QoMAUlv6fPftRrg+xBT4KgkXibN9CKM=";
13897     };
13898     nativeBuildInputs = [ pkgs.pkg-config ];
13899     buildInputs = [ pkgs.systemd ];
13900     postPatch = ''
13901       substituteInPlace Build.PL \
13902         --replace "libsystemd-journal" "libsystemd"
13903     '';
13904     meta = {
13905       description = "Send messages to a systemd journal";
13906       license = with lib.licenses; [ artistic1 gpl1Plus ];
13907     };
13908   };
13910   LogLogLite = buildPerlPackage {
13911     pname = "Log-LogLite";
13912     version = "0.82";
13913     src = fetchurl {
13914       url = "mirror://cpan/authors/id/R/RA/RANI/Log-LogLite-0.82.tar.gz";
13915       hash = "sha256-BQn7i8VDrJZ1pI6xplpjUoYIxsP99ioZ4XBzUA5RGms=";
13916     };
13917     propagatedBuildInputs = [ IOLockedFile ];
13918     meta = {
13919       description = "Helps us create simple logs for our application";
13920       license = with lib.licenses; [ artistic1 gpl1Plus ];
13921     };
13922   };
13924   LongJump = buildPerlPackage {
13925     pname = "Long-Jump";
13926     version = "0.000001";
13927     src = fetchurl {
13928       url = "mirror://cpan/authors/id/E/EX/EXODIST/Long-Jump-0.000001.tar.gz";
13929       hash = "sha256-1dZFbYaZK1Wdj2b8kJYPkZKSzTgDwTQD+qxXV2LHevQ=";
13930     };
13931     buildInputs = [ Test2Suite ];
13932     meta = {
13933       description = "Mechanism for returning to a specific point from a deeply nested stack";
13934       license = with lib.licenses; [ artistic1 gpl1Plus ];
13935     };
13936   };
13938   LWP = buildPerlPackage {
13939     pname = "libwww-perl";
13940     version = "6.67";
13941     src = fetchurl {
13942       url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.67.tar.gz";
13943       hash = "sha256-lu7ECj/QqhvYNBF75eshxDj3MJTYYaGn5XdPCxImtyM=";
13944     };
13945     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
13946     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
13947     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
13948       substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
13949     '';
13950     doCheck = !stdenv.isDarwin;
13951     checkInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
13952     meta = {
13953       description = "The World-Wide Web library for Perl";
13954       license = with lib.licenses; [ artistic1 gpl1Plus ];
13955     };
13956   };
13958   LWPAuthenOAuth = buildPerlPackage {
13959     pname = "LWP-Authen-OAuth";
13960     version = "1.02";
13961     src = fetchurl {
13962       url = "mirror://cpan/authors/id/T/TI/TIMBRODY/LWP-Authen-OAuth-1.02.tar.gz";
13963       hash = "sha256-544L196AAs+0dgBzJY1VXvVbLCfAepSz2KIWahf9lrw=";
13964     };
13965     propagatedBuildInputs = [ LWP ];
13966     meta = {
13967       description = "Generate signed OAuth requests";
13968       license = with lib.licenses; [ artistic1 gpl1Plus ];
13969     };
13970   };
13972   LWPMediaTypes = buildPerlPackage {
13973     pname = "LWP-MediaTypes";
13974     version = "6.04";
13975     src = fetchurl {
13976       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz";
13977       hash = "sha256-jxvKEtqxahwqfAOknF5YzOQab+yVGfCq37qNrZl5Gdk=";
13978     };
13979     buildInputs = [ TestFatal ];
13980     meta = {
13981       description = "Guess media type for a file or a URL";
13982       homepage = "https://github.com/libwww-perl/lwp-mediatypes";
13983       license = with lib.licenses; [ artistic1 gpl1Plus ];
13984     };
13985   };
13987   LWPProtocolConnect = buildPerlPackage {
13988     pname = "LWP-Protocol-connect";
13989     version = "6.09";
13990     src = fetchurl {
13991       url = "mirror://cpan/authors/id/B/BE/BENNING/LWP-Protocol-connect-6.09.tar.gz";
13992       hash = "sha256-nyUjlHdeI6pCwxdmEeWTBjirUo1RkBELRzGqWwvzWhU=";
13993     };
13994     buildInputs = [ TestException ];
13995     propagatedBuildInputs = [ LWPProtocolHttps ];
13996     meta = {
13997       description = "Provides HTTP/CONNECT proxy support for LWP::UserAgent";
13998       license = with lib.licenses; [ artistic1 gpl1Plus ];
13999     };
14000   };
14002   LWPProtocolHttps = buildPerlPackage {
14003     pname = "LWP-Protocol-https";
14004     version = "6.09";
14005     src = fetchurl {
14006       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.09.tar.gz";
14007       hash = "sha256-Fs/hpRFpCwZttWZ8hxSALuK5xdKKMaPnvTb7xwo69ZI=";
14008     };
14009     patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
14010     propagatedBuildInputs = [ IOSocketSSL LWP ];
14011     doCheck = false; # tries to connect to https://www.apache.org/.
14012     buildInputs = [ TestRequiresInternet ];
14013     meta = {
14014       description = "Provide https support for LWP::UserAgent";
14015       homepage = "https://github.com/libwww-perl/LWP-Protocol-https";
14016       license = with lib.licenses; [ artistic1 gpl1Plus ];
14017     };
14018   };
14020   LWPProtocolhttp10 = buildPerlPackage {
14021     pname = "LWP-Protocol-http10";
14022     version = "6.03";
14023     src = fetchurl {
14024       url = "mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz";
14025       hash = "sha256-8/+pEfnVkYHxcXkQ6iZiCQXCmLdNww99TlE57jAguNM=";
14026     };
14027     propagatedBuildInputs = [ LWP ];
14028     meta = {
14029       description = "Legacy HTTP/1.0 support for LWP";
14030       license = with lib.licenses; [ artistic1 gpl1Plus ];
14031     };
14032   };
14034   LWPUserAgentCached = buildPerlPackage {
14035     pname = "LWP-UserAgent-Cached";
14036     version = "0.08";
14037     src = fetchurl {
14038       url = "mirror://cpan/authors/id/O/OL/OLEG/LWP-UserAgent-Cached-0.08.tar.gz";
14039       hash = "sha256-Pc5atMeAQWVs54Vk92Az5b0ew4b1TS57MHQK5I7nh8M=";
14040     };
14041     propagatedBuildInputs = [ LWP ];
14042     meta = {
14043       description = "LWP::UserAgent with simple caching mechanism";
14044       license = with lib.licenses; [ artistic1 gpl1Plus ];
14045     };
14046   };
14048   LWPUserAgentDNSHosts = buildPerlModule {
14049     pname = "LWP-UserAgent-DNS-Hosts";
14050     version = "0.14";
14051     src = fetchurl {
14052       url = "mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.14.tar.gz";
14053       hash = "sha256-mWl5RD8Ib/yLNmvbukSGWR2T+SF7wgSz5dZrlHIghx8=";
14054     };
14055     propagatedBuildInputs = [ LWP ScopeGuard ];
14056     buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
14057     meta = {
14058       description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
14059       homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
14060       license = with lib.licenses; [ artistic1 gpl1Plus ];
14061     };
14062   };
14064   LWPUserAgentDetermined = buildPerlPackage {
14065     pname = "LWP-UserAgent-Determined";
14066     version = "1.07";
14067     src = fetchurl {
14068       url = "mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz";
14069       hash = "sha256-BtjVDozTaSoRy0+0Si+E5UdqmPDi5qSg386fZ+Vd21M=";
14070     };
14071     propagatedBuildInputs = [ LWP ];
14072     meta = {
14073       description = "A virtual browser that retries errors";
14074       license = with lib.licenses; [ artistic1 gpl1Plus ];
14075     };
14076   };
14078   LWPUserAgentMockable = buildPerlModule {
14079     pname = "LWP-UserAgent-Mockable";
14080     version = "1.18";
14081     src = fetchurl {
14082       url = "mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz";
14083       hash = "sha256-JYZPUOOlIZ+J00oYQlmFSUWussXtSBjzbw8wIShUQyQ=";
14084     };
14085     propagatedBuildInputs = [ HookLexWrap LWP SafeIsa ];
14086     # Tests require network connectivity
14087     # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream,
14088     # which doesn't look like it will get fixed anytime soon.
14089     doCheck = false;
14090     buildInputs = [ ModuleBuildTiny TestRequiresInternet ];
14091     meta = {
14092       description = "Permits recording, and later playing back of LWP requests";
14093       license = with lib.licenses; [ artistic1 gpl1Plus ];
14094     };
14095   };
14097   LWPxParanoidAgent = buildPerlPackage {
14098     pname = "LWPx-ParanoidAgent";
14099     version = "1.12";
14100     src = fetchurl {
14101       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-1.12.tar.gz";
14102       hash = "sha256-zAQa7bdOGDzfkcvryhx71tdk/e5o+9yE8r4IveTg0D0=";
14103     };
14104     doCheck = false; # 3 tests fail, probably because they try to connect to the network
14105     propagatedBuildInputs = [ LWP NetDNS ];
14106     meta = {
14107       description = "Subclass of LWP::UserAgent that protects you from harm";
14108       license = with lib.licenses; [ artistic1 gpl1Plus ];
14109     };
14110   };
14112   maatkit = callPackage ../development/perl-modules/maatkit { };
14114   MacPasteboard = buildPerlPackage {
14115     pname = "Mac-Pasteboard";
14116     version = "0.011";
14117     src = fetchurl {
14118       url = "mirror://cpan/authors/id/W/WY/WYANT/Mac-Pasteboard-0.011.tar.gz";
14119       hash = "sha256-vYxFELHoBcQ+S1UVXAvq8AK2Sf4wtqeEH/Bec5m6Aqk=";
14120     };
14121     buildInputs = [ pkgs.darwin.apple_sdk.frameworks.ApplicationServices ];
14122     meta = {
14123       description = "Manipulate Mac OS X pasteboards";
14124       license = with lib.licenses; [ artistic1 gpl1Plus ];
14125       platforms = lib.platforms.darwin;
14126       mainProgram = "pbtool";
14127     };
14128   };
14130   MailAuthenticationResults = buildPerlPackage {
14131     pname = "Mail-AuthenticationResults";
14132     version = "1.20200824.1";
14133     src = fetchurl {
14134       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-AuthenticationResults-1.20200824.1.tar.gz";
14135       hash = "sha256-M7qo4p+rDobNtHkNAJzFn3IlZyUWaCvHKy1MH4ahHpo=";
14136     };
14137     buildInputs = [ TestException ];
14138     propagatedBuildInputs = [ JSON ];
14139     meta = {
14140       description = "Object Oriented Authentication-Results Headers";
14141       license = with lib.licenses; [ artistic1 gpl1Plus ];
14142     };
14143   };
14145   MailMaildir = buildPerlPackage {
14146     version = "1.0.0";
14147     pname = "Mail-Maildir";
14148     src = fetchurl {
14149       url = "mirror://cpan/authors/id/Z/ZE/ZEROALTI/Mail-Maildir-100/Mail-Maildir-1.0.0.tar.bz2";
14150       hash = "sha256-RF6s2ixmN5ApbXGbypzHKYVUX6GgkBRhdnFgo6/DM88=";
14151     };
14152     meta = {
14153       description = "Handle Maildir folders";
14154       license = with lib.licenses; [ artistic1 gpl1Plus ];
14155     };
14156   };
14158   MailBox = buildPerlPackage {
14159     version = "3.009";
14160     pname = "Mail-Box";
14161     src = fetchurl {
14162       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.009.tar.gz";
14163       hash = "sha256-kYUhaw4UyRnsI4R2lSVVlJHtfVbSetsbyYWh++t5kWU=";
14164     };
14166     doCheck = false;
14168     propagatedBuildInputs = [ DevelGlobalDestruction FileRemove Later MailTransport ];
14169     meta = {
14170       description = "Manage a mailbox, a folder with messages";
14171       license = with lib.licenses; [ artistic1 gpl1Plus ];
14172     };
14173   };
14175   MailMboxMessageParser = buildPerlPackage {
14176     pname = "Mail-Mbox-MessageParser";
14177     version = "1.5111";
14178     src = fetchurl {
14179       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/Mail-Mbox-MessageParser-1.5111.tar.gz";
14180       hash = "sha256-VyPAqpzBC6ue0eO/2dXJX3FZ5xwaR1QU6xrx3uOkYjc=";
14181     };
14182     buildInputs = [ FileSlurper TestCompile TestPod TestPodCoverage TextDiff UNIVERSALrequire URI ];
14183     propagatedBuildInputs = [ FileHandleUnget ];
14184     meta = {
14185       description = "A fast and simple mbox folder reader";
14186       homepage = "https://github.com/coppit/mail-mbox-messageparser";
14187       license = with lib.licenses; [ gpl2Only ];
14188       maintainers = with maintainers; [ romildo ];
14189     };
14190   };
14192   MailMessage = buildPerlPackage {
14193     pname = "Mail-Message";
14194     version = "3.010";
14195     src = fetchurl {
14196       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.010.tar.gz";
14197       hash = "sha256-WEFLGuOCmIFTqRXTFyRdid1FDxhuz204PJZLNnOnixM=";
14198     };
14199     propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ];
14200     meta = {
14201       description = "Processing MIME messages";
14202       homepage = "http://perl.overmeer.net/CPAN";
14203       license = with lib.licenses; [ artistic1 gpl1Plus ];
14204     };
14205   };
14207   MailDKIM = buildPerlPackage {
14208     pname = "Mail-DKIM";
14209     version = "1.20200907";
14210     src = fetchurl {
14211       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-1.20200907.tar.gz";
14212       hash = "sha256-q/8RvQl3ubjDssP8Kg290tONoklWhphxD+wQAtQlG/U=";
14213     };
14214     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNS ];
14215     doCheck = false; # tries to access the domain name system
14216     buildInputs = [ NetDNSResolverMock TestRequiresInternet YAMLLibYAML ];
14217     meta = {
14218       description = "Signs/verifies Internet mail with DKIM/DomainKey signatures";
14219       license = with lib.licenses; [ artistic1 gpl1Plus ];
14220     };
14221   };
14223   MailIMAPClient = buildPerlPackage {
14224     pname = "Mail-IMAPClient";
14225     version = "3.42";
14226     src = fetchurl {
14227       url = "mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.42.tar.gz";
14228       hash = "sha256-HCJk1QxUyDmj44zi+O3aPSTzDMYHlA11dL6rGcsAzn4=";
14229     };
14230     propagatedBuildInputs = [ ParseRecDescent ];
14231     meta = {
14232       description = "An IMAP Client API";
14233       license = with lib.licenses; [ artistic1 gpl1Plus ];
14234     };
14235   };
14237   MailPOP3Client = buildPerlPackage {
14238     pname = "Mail-POP3Client";
14239     version = "2.19";
14240     src = fetchurl {
14241       url = "mirror://cpan/authors/id/S/SD/SDOWD/Mail-POP3Client-2.19.tar.gz";
14242       hash = "sha256-EULWJHqTy4ayPtiDVVO7LSJ/+CE+4nQ+QVW7k/R6y1k=";
14243     };
14244     meta = {
14245       description = "Perl 5 module to talk to a POP3 (RFC1939) server";
14246       license = with lib.licenses; [ artistic1 gpl1Plus ];
14247     };
14248   };
14250   MailRFC822Address = buildPerlPackage {
14251     pname = "Mail-RFC822-Address";
14252     version = "0.3";
14253     src = fetchurl {
14254       url = "mirror://cpan/authors/id/P/PD/PDWARREN/Mail-RFC822-Address-0.3.tar.gz";
14255       hash = "sha256-NR70EE7LZ17K5pAIJD+ugkPRp+U8aB7rdZ57eBaEyKc=";
14256     };
14257     meta = {
14258       description = "Perl extension for validating email addresses according to RFC822";
14259       license = with lib.licenses; [ mit ];
14260     };
14261   };
14263   MailSender = buildPerlPackage {
14264     pname = "Mail-Sender";
14265     version = "0.903";
14266     src = fetchurl {
14267       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/Mail-Sender-0.903.tar.gz";
14268       hash = "sha256-RBPrSfUgqDGBUYEcywWo1UKXOq2iCqUDrTL5/8mKOb8=";
14269     };
14270     meta = {
14271       description = "(DEPRECATED) module for sending mails with attachments through an SMTP server";
14272       homepage = "https://github.com/Perl-Email-Project/Mail-Sender";
14273       license = with lib.licenses; [ artistic1 gpl1Plus ];
14274     };
14275   };
14277   MailSendmail = buildPerlPackage {
14278     pname = "Mail-Sendmail";
14279     version = "0.80";
14280     src = fetchurl {
14281       url = "mirror://cpan/authors/id/N/NE/NEILB/Mail-Sendmail-0.80.tar.gz";
14282       hash = "sha256-W4qYy1zDnYBEGjiqsBCIXd+A5vzY5uAxQ5LLI+fCaOQ=";
14283     };
14284     # The test suite simply loads the module and attempts to send an email to
14285     # the module's author, the latter of which is a) more of an integration
14286     # test, b) impossible to verify, and c) won't work from a sandbox. Replace
14287     # it in its entirety with the following simple smoke test.
14288     checkPhase = ''
14289       perl -I blib/lib -MMail::Sendmail -e 'print "1..1\nok 1\n"'
14290     '';
14291     meta = {
14292       description = "Simple platform independent mailer";
14293       homepage = "https://github.com/neilb/Mail-Sendmail";
14294       license = with lib.licenses; [ artistic1 gpl1Plus ];
14295       maintainers = teams.deshaw.members;
14296     };
14297   };
14299   MailSPF = buildPerlPackage {
14300     pname = "Mail-SPF";
14301     version = "2.9.0";
14302     src = fetchurl {
14303       url = "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz";
14304       hash = "sha256-YctZFfHHrMepMf/Bv8EpG9+sVV4qRusjkbmV6p7LYWI=";
14305     };
14306     # remove this patch patches = [ ../development/perl-modules/Mail-SPF.patch ];
14308     buildInputs = [ ModuleBuild NetDNSResolverProgrammable ];
14309     propagatedBuildInputs = [ Error NetAddrIP NetDNS URI ];
14311     buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\" --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build ";
14313     doCheck = false; # The main test performs network access
14314     meta = {
14315       description = "An object-oriented implementation of Sender Policy Framework";
14316       license = with lib.licenses; [ bsd3 ];
14317       mainProgram = "spfquery";
14318     };
14319   };
14322   MailTools = buildPerlPackage {
14323     pname = "MailTools";
14324     version = "2.21";
14325     src = fetchurl {
14326       url = "mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz";
14327       hash = "sha256-Stm9aCa28DonJzMkZrG30piQyNmaMrSzsKjZJu4aRMs=";
14328     };
14329     propagatedBuildInputs = [ TimeDate ];
14330     meta = {
14331       description = "Various ancient e-mail related modules";
14332       homepage = "http://perl.overmeer.net/CPAN";
14333       license = with lib.licenses; [ artistic1 gpl1Plus ];
14334     };
14335   };
14337   MailTransport = buildPerlPackage {
14338     pname = "Mail-Transport";
14339     version = "3.005";
14340     src = fetchurl {
14341       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.005.tar.gz";
14342       hash = "sha256-0Ny5P3BcEoXYCONN59htvijR7WaqKn3oMPZlH8NRlqM=";
14343     };
14344     propagatedBuildInputs = [ MailMessage ];
14345     meta = {
14346       description = "Email message exchange";
14347       homepage = "http://perl.overmeer.net/CPAN";
14348       license = with lib.licenses; [ artistic1 gpl1Plus ];
14349     };
14350   };
14352   MathBase85 = buildPerlPackage {
14353     pname = "Math-Base85";
14354     version = "0.4";
14355     src = fetchurl {
14356       url = "mirror://cpan/authors/id/P/PT/PTC/Math-Base85-0.4.tar.gz";
14357       hash = "sha256-nqhYYA+SXh/8fwqGO3g1iS2Ymfz0Sz5QkOyjpGm5iw0=";
14358     };
14359     meta = {
14360       description = "Perl extension for base 85 numbers, as referenced by RFC 1924";
14361       license = with lib.licenses; [ artistic1 gpl1Plus ];
14362     };
14363   };
14365   MathBaseConvert = buildPerlPackage {
14366     pname = "Math-Base-Convert";
14367     version = "0.11";
14368     src = fetchurl {
14369       url = "mirror://cpan/authors/id/M/MI/MIKER/Math-Base-Convert-0.11.tar.gz";
14370       hash = "sha256-jAlxNV8kyTt553rVSkVwCQoaWY/Lm4b1wX66QvOLQOA=";
14371     };
14372     meta = {
14373       description = "Very fast base to base conversion";
14374       license = with lib.licenses; [ artistic1 gpl1Plus ];
14375     };
14376   };
14378   MathLibm = buildPerlPackage {
14379     pname = "Math-Libm";
14380     version = "1.00";
14381     src = fetchurl {
14382       url = "mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz";
14383       hash = "sha256-v9MJ8oOsjLm/AK+MfDoQvyWr/WQoYcICLvr/CkpSwnY=";
14384     };
14385     meta = {
14386       description = "Perl extension for the C math library, libm";
14387       license = with lib.licenses; [ artistic1 gpl1Plus ];
14388     };
14389   };
14391   MathCalcParser = buildPerlPackage {
14392     pname = "Math-Calc-Parser";
14393     version = "1.005";
14394     src = fetchurl {
14395       url = "mirror://cpan/authors/id/D/DB/DBOOK/Math-Calc-Parser-1.005.tar.gz";
14396       hash = "sha256-r8PrSWqzo6MBs0N68H4ZfrdDwGCQ8BAdrPggMC8rf3U=";
14397     };
14398     buildInputs = [ TestNeeds ];
14399     meta = {
14400       description = "Parse and evaluate mathematical expressions";
14401       homepage = "https://github.com/Grinnz/Math-Calc-Parser";
14402       license = with lib.licenses; [ artistic2 ];
14403       maintainers = with maintainers; [ sgo ];
14404     };
14405   };
14407   MathCalcUnits = buildPerlPackage {
14408     pname = "Math-Calc-Units";
14409     version = "1.07";
14410     src = fetchurl {
14411       url = "mirror://cpan/authors/id/S/SF/SFINK/Math-Calc-Units-1.07.tar.gz";
14412       hash = "sha256-YePP2ye7O+4nvrlxJN2TB2DhA57cHreBbC9WJ3Zfj48=";
14413     };
14414     meta = {
14415       description = "Human-readable unit-aware calculator";
14416       license = with lib.licenses; [ artistic1 gpl2Only ];
14417       mainProgram = "ucalc";
14418     };
14419   };
14421   MathBigInt = buildPerlPackage {
14422     pname = "Math-BigInt";
14423     version = "1.999818";
14424     src = fetchurl {
14425       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-1.999818.tar.gz";
14426       hash = "sha256-snY0NWzir5t8ASOsg5WomjL7Fa6ugvzTnegVbK0njBU=";
14427     };
14428     meta = {
14429       description = "Arbitrary size integer/float math package";
14430       license = with lib.licenses; [ artistic1 gpl1Plus ];
14431     };
14432   };
14434   MathBigIntGMP = buildPerlPackage {
14435     pname = "Math-BigInt-GMP";
14436     version = "1.6007";
14437     src = fetchurl {
14438       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6007.tar.gz";
14439       hash = "sha256-XXJebSDMs34HJnNijwsN0Q5d0BFhn3D1CtWK3tRUwB8=";
14440     };
14441     buildInputs = [ pkgs.gmp ];
14442     doCheck = false;
14443     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
14444     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
14445     propagatedBuildInputs = [ MathBigInt ];
14446     meta = {
14447       description = "Backend library for Math::BigInt etc. based on GMP";
14448       license = with lib.licenses; [ artistic1 gpl1Plus ];
14449     };
14450   };
14452   MathBigIntLite = buildPerlPackage {
14453     pname = "Math-BigInt-Lite";
14454     version = "0.19";
14455     src = fetchurl {
14456       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.19.tar.gz";
14457       hash = "sha256-MPYDS/XSXAKBPISo5aKpivhuLbyoFJwlqSd3GN8mFRo=";
14458     };
14459     propagatedBuildInputs = [ MathBigInt ];
14460     meta = {
14461       description = "What Math::BigInts are before they become big";
14462       license = with lib.licenses; [ artistic1 gpl1Plus ];
14463     };
14464   };
14466   MathClipper = buildPerlModule {
14467     pname = "Math-Clipper";
14468     version = "1.29";
14469     src = fetchurl {
14470       url = "mirror://cpan/authors/id/S/SH/SHELDRAKE/Math-Clipper-1.29.tar.gz";
14471       hash = "sha256-UyfE8TOGbenXmzGGV/Zp7LSZhgVQs5aGmNRyiHr4dZM=";
14472     };
14473     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
14474     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp TestDeep ];
14475     meta = {
14476       description = "Polygon clipping in 2D";
14477       license = with lib.licenses; [ artistic1 gpl1Plus ];
14478     };
14479   };
14481   MathConvexHullMonotoneChain = buildPerlPackage {
14482     pname = "Math-ConvexHull-MonotoneChain";
14483     version = "0.01";
14484     src = fetchurl {
14485       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz";
14486       hash = "sha256-KIvEWQgmMkVUj5FIKrEkiGjdne5Ef5yibK15YT47lPU=";
14487     };
14488     meta = {
14489       description = "Andrew's monotone chain algorithm for finding a convex hull in 2D";
14490       license = with lib.licenses; [ artistic1 gpl1Plus ];
14491     };
14492   };
14494   MathFibonacci = buildPerlPackage {
14495     pname = "Math-Fibonacci";
14496     version = "1.5";
14497     src = fetchurl {
14498       url = "mirror://cpan/authors/id/V/VI/VIPUL/Math-Fibonacci-1.5.tar.gz";
14499       hash = "sha256-cKgobpRVjfmdyS9S2D4eIKe494UrzDod59njOCYLmbo=";
14500     };
14501     meta = {
14502       description = "This module provides a few functions related to Fibonacci numbers";
14503       license = with lib.licenses; [ artistic2 ];
14504     };
14505   };
14507   MathGMP = buildPerlPackage {
14508     pname = "Math-GMP";
14509     version = "2.20";
14510     src = fetchurl {
14511       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.20.tar.gz";
14512       hash = "sha256-Ftpfge9SdChiuzyHhASq/bJM2rT4rL/KEoAzJIe8VV8=";
14513     };
14514     buildInputs = [ pkgs.gmp AlienGMP ];
14515     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
14516     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
14517     meta = {
14518       description = "High speed arbitrary size integer math";
14519       license = with lib.licenses; [ lgpl21Plus ];
14520     };
14521   };
14523   MathGMPz = buildPerlPackage {
14524     pname = "Math-GMPz";
14525     version = "0.48";
14526     src = fetchurl {
14527       url = "mirror://cpan/authors/id/S/SI/SISYPHUS/Math-GMPz-0.48.tar.gz";
14528       hash = "sha256-9EWe0y+5u3k+JQT9RCxRX9RopKNNKh+Y5GykHidcc8s=";
14529     };
14530     buildInputs = [ pkgs.gmp ];
14531     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
14532     meta = {
14533       description = "Perl interface to the GMP integer functions";
14534       homepage = "https://github.com/sisyphus/math-gmpz";
14535       license = with lib.licenses; [ artistic1 gpl1Plus ];
14536       maintainers = with maintainers; [ sgo ];
14537     };
14538   };
14540   MathGeometryVoronoi = buildPerlPackage {
14541     pname = "Math-Geometry-Voronoi";
14542     version = "1.3";
14543     src = fetchurl {
14544       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz";
14545       hash = "sha256-cgdeTpiDzuUURrqVESZMjDKgFagPSlZIo/azgsU0QCw=";
14546     };
14547     propagatedBuildInputs = [ ClassAccessor ParamsValidate ];
14548     meta = {
14549       description = "Compute Voronoi diagrams from sets of points";
14550       license = with lib.licenses; [ artistic1 gpl1Plus ];
14551     };
14552   };
14554   MathInt128 = buildPerlPackage {
14555     pname = "Math-Int128";
14556     version = "0.22";
14557     src = fetchurl {
14558       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int128-0.22.tar.gz";
14559       hash = "sha256-pjDKQBdThmlV8Rc4SKtbSsStXKatkIfxHN+R3ehRGbw=";
14560     };
14561     propagatedBuildInputs = [ MathInt64 ];
14562     meta = {
14563       description = "Manipulate 128 bits integers in Perl";
14564       homepage = "https://metacpan.org/release/Math-Int128";
14565       license = with lib.licenses; [ artistic1 gpl1Plus ];
14566       broken = stdenv.is32bit; # compiler doesn't support a 128-bit integer type
14567     };
14568   };
14570   MathInt64 = buildPerlPackage {
14571     pname = "Math-Int64";
14572     version = "0.54";
14573     src = fetchurl {
14574       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int64-0.54.tar.gz";
14575       hash = "sha256-3PxR5phDfqa5zv4CdiFcVs22p/hePiSitrQYnxlg01E=";
14576     };
14577     meta = {
14578       description = "Manipulate 64 bits integers in Perl";
14579       homepage = "https://metacpan.org/release/Math-Int64";
14580       license = with lib.licenses; [ artistic1 gpl1Plus ];
14581     };
14582   };
14584   MathPari = buildPerlPackage rec {
14585     pname = "Math-Pari";
14586     version = "2.030518";
14587     nativeBuildInputs = [ pkgs.unzip ];
14588     pariversion = "2.1.7";
14589     pari_tgz = fetchurl {
14590       url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/2.1/pari-${pariversion}.tgz";
14591       hash = "sha256-kULyza8wg8iWLxpcK7Dp/okV99lJDAMxKsI2HH6hVfo=";
14592     };
14593     # Workaround build failure on -fno-common toolchains:
14594     #   ld: libPARI/libPARI.a(compat.o):(.bss+0x8): multiple definition of
14595     #   `overflow'; Pari.o:(.bss+0x80): first defined here
14596     NIX_CFLAGS_COMPILE = "-fcommon";
14597     preConfigure = "cp ${pari_tgz} pari-${pariversion}.tgz";
14598     makeMakerFlags = [ "pari_tgz=pari-${pariversion}.tgz" ];
14599     src = fetchurl {
14600       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.030518.zip";
14601       hash = "sha256-3DiVWpaQvmuvqN4lJiEjd8Psn+jaXsAiY6nK+UtYu5E=";
14602     };
14603     meta = {
14604       description = "Perl interface to PARI";
14605       license = with lib.licenses; [ artistic1 gpl1Plus gpl2Only ];
14606     };
14607   };
14609   MathPlanePath = buildPerlPackage {
14610     pname = "Math-PlanePath";
14611     version = "129";
14612     src = fetchurl {
14613       url = "mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-129.tar.gz";
14614       hash = "sha256-jaFdDk1Qd7bF0gN2WyiFv3KOUJ4y3pJkYFwIYhN+OX4=";
14615     };
14616     propagatedBuildInputs = [ MathLibm constant-defer ];
14617     buildInputs = [ DataFloat MathBigIntLite NumberFraction ];
14618     meta = {
14619       description = "Points on a path through the 2-D plane";
14620       license = with lib.licenses; [ gpl3Plus ];
14621     };
14622   };
14624   MathPrimeUtil = buildPerlPackage {
14625     pname = "Math-Prime-Util";
14626     version = "0.73";
14627     src = fetchurl {
14628       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-0.73.tar.gz";
14629       hash = "sha256-Svpt2M25dJm9TsppJYYYEsKdn1oPGsJ62dLZybVgKJQ=";
14630     };
14631     propagatedBuildInputs = [ MathPrimeUtilGMP ];
14632     buildInputs = [ TestWarn ];
14633     meta = {
14634       description = "Utilities related to prime numbers, including fast sieves and factoring";
14635       homepage = "https://github.com/danaj/Math-Prime-Util";
14636       license = with lib.licenses; [ artistic1 gpl1Plus ];
14637       maintainers = [ maintainers.sgo ];
14638     };
14639   };
14641   MathPrimeUtilGMP = buildPerlPackage {
14642     pname = "Math-Prime-Util-GMP";
14643     version = "0.52";
14644     src = fetchurl {
14645       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-GMP-0.52.tar.gz";
14646       hash = "sha256-JpfH/Vx+Nf3sf1DtVqZ76Aei8iZXWJ5jfa01knRAA74=";
14647     };
14648     buildInputs = [ pkgs.gmp ];
14649     NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
14650     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
14651     meta = {
14652       description = "Utilities related to prime numbers, using GMP";
14653       homepage = "https://github.com/danaj/Math-Prime-Util-GMP";
14654       license = with lib.licenses; [ artistic1 gpl1Plus ];
14655       maintainers = [ maintainers.sgo ];
14656     };
14657   };
14659   MathProvablePrime = buildPerlPackage {
14660     pname = "Math-ProvablePrime";
14661     version = "0.045";
14662     src = fetchurl {
14663       url = "mirror://cpan/authors/id/F/FE/FELIPE/Math-ProvablePrime-0.045.tar.gz";
14664       hash = "sha256-MtzkKGHOBlqHWpHsFMZVfomvB98QzEUNHE3tE9y+PdU=";
14665     };
14666     buildInputs = [ FileWhich TestClass TestDeep TestException TestNoWarnings ];
14667     propagatedBuildInputs = [ BytesRandomSecureTiny ];
14668     meta = {
14669       description = "Generate a provable prime number, in pure Perl";
14670       license = with lib.licenses; [ artistic1 gpl1Plus ];
14671       maintainers = [ maintainers.sgo ];
14672     };
14673   };
14675   MathRandom = buildPerlPackage {
14676     pname = "Math-Random";
14677     version = "0.72";
14678     src = fetchurl {
14679       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Random-0.72.tar.gz";
14680       hash = "sha256-vgUiMogR2W3lBdnrrD0JY1kCb6jVw497uZmnjsW8JUw=";
14681     };
14682     meta = {
14683       description = "Random Number Generators";
14684       license = with lib.licenses; [ artistic1 gpl1Plus publicDomain ];
14685     };
14686   };
14688   MathRandomISAAC = buildPerlPackage {
14689     pname = "Math-Random-ISAAC";
14690     version = "1.004";
14691     src = fetchurl {
14692       url = "mirror://cpan/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz";
14693       hash = "sha256-J3PwL78gfpdF52oDffCL9ajMmH7SPFcEDOf3sVYfK3w=";
14694     };
14695     buildInputs = [ TestNoWarnings ];
14696     meta = {
14697       description = "Perl interface to the ISAAC PRNG algorithm";
14698       homepage = "https://search.cpan.org/dist/Math-Random-ISAAC";
14699       license = with lib.licenses; [ publicDomain mit artistic2 gpl1Plus ];
14700     };
14701   };
14703   MathRandomMTAuto = buildPerlPackage {
14704     pname = "Math-Random-MT-Auto";
14705     version = "6.23";
14706     src = fetchurl {
14707       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz";
14708       hash = "sha256-WLy1rTFilk/1oMTS3LqgICwshdnEcElvO3qZh1d3YxM=";
14709     };
14710     propagatedBuildInputs = [ ObjectInsideOut ];
14711     meta = {
14712       description = "Auto-seeded Mersenne Twister PRNGs";
14713       license = with lib.licenses; [ bsd3 ];
14714     };
14715   };
14717   MathRandomSecure = buildPerlPackage {
14718     pname = "Math-Random-Secure";
14719     version = "0.080001";
14720     src = fetchurl {
14721       url = "mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz";
14722       hash = "sha256-v6Sk6BfspyIGfB/z2hKrWrgNbFfapeXnq5NQyixx6zU=";
14723     };
14724     buildInputs = [ ListMoreUtils TestSharedFork TestWarn ];
14725     propagatedBuildInputs = [ CryptRandomSource MathRandomISAAC ];
14726     meta = {
14727       description = "Cryptographically-secure, cross-platform replacement for rand()";
14728       homepage = "https://github.com/frioux/Math-Random-Secure";
14729       license = with lib.licenses; [ artistic2 ];
14730     };
14731   };
14733   MathRound = buildPerlPackage {
14734     pname = "Math-Round";
14735     version = "0.07";
14736     src = fetchurl {
14737       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz";
14738       hash = "sha256-c6cymoblSlwppEA4LlgDCVtY8zEp5hod8Ak7SCTekyc=";
14739     };
14740     meta = {
14741       description = "Perl extension for rounding numbers";
14742       license = with lib.licenses; [ artistic1 gpl1Plus ];
14743     };
14744   };
14746   MathVecStat = buildPerlPackage {
14747     pname = "Math-VecStat";
14748     version = "0.08";
14749     src = fetchurl {
14750       url = "mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz";
14751       hash = "sha256-QJqODksQJcjoD2KPZal3iqd6soUWFAbKSmwJexNlbQ0=";
14752     };
14753     meta = {
14754       description = "Some basic numeric stats on vectors";
14755       license = with lib.licenses; [ artistic1 gpl1Plus ];
14756     };
14757   };
14759   MaxMindDBCommon = buildPerlPackage {
14760     pname = "MaxMind-DB-Common";
14761     version = "0.040001";
14762     src = fetchurl {
14763       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Common-0.040001.tar.gz";
14764       hash = "sha256-a8bfS9NjANB6pKX4GYrmaUyn4xPAOBCciNvDqZeyG9c=";
14765     };
14766     propagatedBuildInputs = [ DataDumperConcise DateTime ListAllUtils MooXStrictConstructor ];
14767     meta = {
14768       description = "Code shared by the MaxMind DB reader and writer modules";
14769       homepage = "https://metacpan.org/release/MaxMind-DB-Common";
14770       license = with lib.licenses; [ artistic2 ];
14771     };
14772   };
14774   MaxMindDBReader = buildPerlPackage {
14775     pname = "MaxMind-DB-Reader";
14776     version = "1.000014";
14777     src = fetchurl {
14778       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-1.000014.tar.gz";
14779       hash = "sha256-OCAHj5yWf5qIch6kDKBeSZnBxTAb68HRGQYPntXOOak=";
14780     };
14781     propagatedBuildInputs = [ DataIEEE754 DataPrinter DataValidateIP MaxMindDBCommon ];
14782     buildInputs = [ PathClass TestBits TestFatal TestNumberDelta TestRequires ];
14783     meta = {
14784       description = "Read MaxMind DB files and look up IP addresses";
14785       homepage = "https://metacpan.org/release/MaxMind-DB-Reader";
14786       license = with lib.licenses; [ artistic2 ];
14787     };
14788   };
14790   MaxMindDBReaderXS = buildPerlModule {
14791     pname = "MaxMind-DB-Reader-XS";
14792     version = "1.000008";
14793     src = fetchurl {
14794       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-XS-1.000008.tar.gz";
14795       hash = "sha256-hKr7yC+sjP7q2amOLkhX2+v0Sem4Ff6QiRUNf04Nx4c=";
14796     };
14797     propagatedBuildInputs = [ pkgs.libmaxminddb MathInt128 MaxMindDBReader ];
14798     buildInputs = [ NetWorks PathClass TestFatal TestNumberDelta TestRequires ];
14799     meta = {
14800       description = "Fast XS implementation of MaxMind DB reader";
14801       homepage = "https://metacpan.org/release/MaxMind-DB-Reader-XS";
14802       license = with lib.licenses; [ artistic2 ];
14803       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBReaderXS.x86_64-darwin
14804     };
14805   };
14807   MaxMindDBWriter = buildPerlModule {
14808     pname = "MaxMind-DB-Writer";
14809     version = "0.300003";
14810     src = fetchurl {
14811       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Writer-0.300003.tar.gz";
14812       hash = "sha256-ulP1upZfekd/ZxZNl7R1oMESCIcv7fI4mIVQ2SvN6z4=";
14813     };
14814     propagatedBuildInputs = [ DigestSHA1 MaxMindDBReader MooseXParamsValidate MooseXStrictConstructor NetWorks SerealDecoder SerealEncoder ];
14815     buildInputs = [ DevelRefcount JSON TestBits TestDeep TestFatal TestHexDifferences TestRequires TestWarnings ];
14816     hardeningDisable = [ "format" ];
14817     meta = {
14818       description = "Create MaxMind DB database files";
14819       homepage = "https://metacpan.org/release/MaxMind-DB-Writer";
14820       license = with lib.licenses; [ artistic1 gpl1Plus ];
14821       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBWriter.x86_64-darwin
14822     };
14823   };
14825   Memoize = buildPerlPackage {
14826     pname = "Memoize";
14827     version = "1.03";
14828     src = fetchurl {
14829       url = "mirror://cpan/authors/id/M/MJ/MJD/Memoize-1.03.tgz";
14830       hash = "sha256-UjnMX2RKULDen/6qUfqZkesG7LG/RniHPjq4mvnA2vM=";
14831     };
14832     meta = {
14833       description = "Make functions faster by trading space for time";
14834       license = with lib.licenses; [ artistic1 gpl1Plus ];
14835     };
14836   };
14838   MemoizeExpireLRU = buildPerlPackage {
14839     pname = "Memoize-ExpireLRU";
14840     version = "0.56";
14841     src = fetchurl {
14842       url = "mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz";
14843       hash = "sha256-7oNjAcu6uaJLBfxlft+pS3/YV42YNuVmoZHQpbAc1/Y=";
14844     };
14845     meta = {
14846       description = "Expiry plug-in for Memoize that adds LRU cache expiration";
14847       homepage = "https://github.com/neilb/Memoize-ExpireLRU";
14848       license = with lib.licenses; [ artistic1 gpl1Plus ];
14849     };
14850   };
14852   Menlo = buildPerlPackage {
14853     pname = "Menlo";
14854     version = "1.9019";
14855     src = fetchurl {
14856       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-1.9019.tar.gz";
14857       hash = "sha256-O1c/aOezo2qHyGC+JYWZMw+sJItRiFTftWV6xIPcpWU=";
14858     };
14859     propagatedBuildInputs = [ CPANCommonIndex CPANMetaCheck CaptureTiny ExtUtilsHelpers ExtUtilsInstallPaths Filepushd HTTPTinyish ModuleCPANfile ParsePMFile StringShellQuote Win32ShellQuote locallib ];
14860     meta = {
14861       description = "A CPAN client";
14862       homepage = "https://github.com/miyagawa/cpanminus";
14863       license = with lib.licenses; [ artistic1 gpl1Plus ];
14864     };
14865   };
14867   MenloLegacy = buildPerlPackage {
14868     pname = "Menlo-Legacy";
14869     version = "1.9022";
14870     src = fetchurl {
14871       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-Legacy-1.9022.tar.gz";
14872       hash = "sha256-pqysP+4xioBLQ53lSsvHwn8LRM/a2FUbvJzUWYarwgE=";
14873     };
14874     propagatedBuildInputs = [ Menlo ];
14875     meta = {
14876       description = "Legacy internal and client support for Menlo";
14877       homepage = "https://github.com/miyagawa/cpanminus";
14878       license = with lib.licenses; [ artistic1 gpl1Plus ];
14879     };
14880   };
14882   MetaBuilder = buildPerlModule {
14883     pname = "Meta-Builder";
14884     version = "0.004";
14885     src = fetchurl {
14886       url = "mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.004.tar.gz";
14887       hash = "sha256-rLSZqnIG652yHrhTV6dFIb/jva5KZBbVCnx1uTnPVv4=";
14888     };
14889     buildInputs = [ FennecLite TestException ];
14890     meta = {
14891       description = "Tools for creating Meta objects to track custom metrics";
14892       license = with lib.licenses; [ artistic1 gpl1Plus ];
14893     };
14894   };
14896   MetaCPANClient = buildPerlPackage {
14897     pname = "MetaCPAN-Client";
14898     version = "2.029000";
14899     src = fetchurl {
14900       url = "mirror://cpan/authors/id/M/MI/MICKEY/MetaCPAN-Client-2.029000.tar.gz";
14901       hash = "sha256-xdiDkDs3mlpq2wLgFuxbUiiK8FZS1WTIlTFlk/PH5Xw=";
14902     };
14904     # Most tests are online, so we only include offline tests
14905     postPatch = ''
14906       substituteInPlace Makefile.PL \
14907         --replace '"t/*.t t/api/*.t"' \
14908         '"t/00-report-prereqs.t t/api/_get.t t/api/_get_or_search.t t/api/_search.t t/entity.t t/request.t t/resultset.t"'
14909     '';
14911     buildInputs = [ LWPProtocolHttps TestFatal TestNeeds ];
14912     propagatedBuildInputs = [ IOSocketSSL JSONMaybeXS Moo RefUtil SafeIsa TypeTiny URI ];
14913     meta = {
14914       description = "A comprehensive, DWIM-featured client to the MetaCPAN API";
14915       homepage = "https://github.com/metacpan/metacpan-client";
14916       license = with lib.licenses; [ artistic1 gpl1Plus ];
14917       maintainers = with maintainers; [ sgo ];
14918     };
14919   };
14921   MethodSignaturesSimple = buildPerlPackage {
14922     pname = "Method-Signatures-Simple";
14923     version = "1.07";
14924     src = fetchurl {
14925       url = "mirror://cpan/authors/id/R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz";
14926       hash = "sha256-yM19Rxl3zIh2BEGSq9mKga/d/yomu5oQu+NY76Nx2tw=";
14927     };
14928     propagatedBuildInputs = [ DevelDeclare ];
14929     meta = {
14930       description = "Basic method declarations with signatures, without source filters";
14931       license = with lib.licenses; [ artistic1 gpl1Plus ];
14932     };
14933   };
14935   MetricsAny = buildPerlModule {
14936     pname = "Metrics-Any";
14937     version = "0.06";
14938     src = fetchurl {
14939       url = "mirror://cpan/authors/id/P/PE/PEVANS/Metrics-Any-0.06.tar.gz";
14940       hash = "sha256-nFKd+Oiid7sVjWJBxzvRp+oIrq6eHtu1WDoaB0j7mDc=";
14941     };
14942     buildInputs = [ TestFatal ];
14943     meta = {
14944       description = "Abstract collection of monitoring metrics";
14945       license = with lib.licenses; [ artistic1 gpl1Plus ];
14946     };
14947   };
14949   # TODO: use CPAN version
14950   MHonArc = buildPerlPackage rec {
14951     pname = "MHonArc";
14952     version = "2.6.19";
14954     src = fetchurl {
14955       url = "https://www.mhonarc.org/release/MHonArc/tar/MHonArc-${version}.tar.gz";
14956       hash = "sha256-+L8odObqN4MLDVFV+5ms94gAWHffdXPxJ2NE6Ufag1I=";
14957     };
14959     patches = [ ../development/perl-modules/mhonarc.patch ];
14961     outputs = [ "out" "dev" ]; # no "devdoc"
14963     installTargets = [ "install" ];
14965     meta = {
14966       homepage = "https://www.mhonarc.org/";
14967       description = "A mail-to-HTML converter";
14968       mainProgram = "mhonarc";
14969       license = with lib.licenses; [ gpl2Only ];
14970     };
14971   };
14973   MIMECharset = buildPerlPackage {
14974     pname = "MIME-Charset";
14975     version = "1.012.2";
14976     src = fetchurl {
14977       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.012.2.tar.gz";
14978       hash = "sha256-h4x3nAJWxZFma9BsDN5MDXgg7uuY/RGDCCrumh57HRM=";
14979     };
14980     meta = {
14981       description = "Charset Information for MIME";
14982       license = with lib.licenses; [ artistic1 gpl1Plus ];
14983     };
14984   };
14986   mimeConstruct = buildPerlPackage {
14987     pname = "mime-construct";
14988     version = "1.11";
14989     src = fetchurl {
14990       url = "mirror://cpan/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz";
14991       hash = "sha256-TNe7YbUdQRktFJjBBRqmpMzXWusJtx0uxwanCEpKkwM=";
14992     };
14993     outputs = [ "out" ];
14994     buildInputs = [ ProcWaitStat ];
14995     meta = {
14996       description = "Construct and optionally mail MIME messages";
14997       license = with lib.licenses; [ gpl2Plus ];
14998     };
14999   };
15001   MIMEEncWords = buildPerlPackage {
15002     pname = "MIME-EncWords";
15003     version = "1.014.3";
15004     src = fetchurl {
15005       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-EncWords-1.014.3.tar.gz";
15006       hash = "sha256-6a+1SGEdTn5sULfwa70rG7KAjjeoEN7vtTfGevVIUjg=";
15007     };
15008     propagatedBuildInputs = [ MIMECharset ];
15009     meta = {
15010       description = "Deal with RFC 2047 encoded words (improved)";
15011       homepage = "https://metacpan.org/pod/MIME::EncWords";
15012       license = with lib.licenses; [ artistic1 gpl1Plus ];
15013       maintainers = [ maintainers.sgo ];
15014     };
15015   };
15017   MIMELite = buildPerlPackage {
15018     pname = "MIME-Lite";
15019     version = "3.031";
15020     src = fetchurl {
15021       url = "mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz";
15022       hash = "sha256-8SNYZkgrZ/AIWLPtqk/0z5Ce+QDx0V2ImUi/nAOlkeA=";
15023     };
15024     propagatedBuildInputs = [ EmailDateFormat ];
15025     meta = {
15026       description = "Low-calorie MIME generator (DEPRECATED)";
15027       license = with lib.licenses; [ artistic1 gpl1Plus ];
15028     };
15029   };
15031   MIMELiteHTML = buildPerlPackage {
15032     pname = "MIME-Lite-HTML";
15033     version = "1.24";
15034     src = fetchurl {
15035       url = "mirror://cpan/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.24.tar.gz";
15036       hash = "sha256-22A8y/ZlO80oz6gk1y5RHq0Bn8ivufGFTshy2y082No=";
15037     };
15038     doCheck = false;
15039     propagatedBuildInputs = [ LWP MIMELite ];
15040     meta = {
15041       description = "Provide routine to transform a HTML page in a MIME-Lite mail";
15042       license = with lib.licenses; [ artistic1 gpl1Plus ];
15043     };
15044   };
15046   MIMETools = buildPerlPackage {
15047     pname = "MIME-tools";
15048     version = "5.509";
15049     src = fetchurl {
15050       url = "mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
15051       hash = "sha256-ZFefDJI9gdmiGUWG5Hw0dVGeJkbktcECqJIHWfrPaXM=";
15052     };
15053     propagatedBuildInputs = [ MailTools ];
15054     buildInputs = [ TestDeep ];
15055     meta = {
15056       description = "Tools to manipulate MIME messages";
15057       license = with lib.licenses; [ artistic1 gpl1Plus ];
15058     };
15059   };
15061   MIMETypes = buildPerlPackage {
15062     pname = "MIME-Types";
15063     version = "2.18";
15064     src = fetchurl {
15065       url = "mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.18.tar.gz";
15066       hash = "sha256-Mco1pB8q6ZjM19M8GeQgI+5lQP2d7WGbmr1I/waglb4=";
15067     };
15068     meta = {
15069       description = "Definition of MIME types";
15070       homepage = "http://perl.overmeer.net/CPAN";
15071       license = with lib.licenses; [ artistic1 gpl1Plus ];
15072     };
15073   };
15075   Minion = buildPerlPackage {
15076     pname = "Minion";
15077     version = "10.25";
15078     src = fetchurl {
15079       url = "mirror://cpan/authors/id/S/SR/SRI/Minion-10.25.tar.gz";
15080       hash = "sha256-C+CoN1N2iJ2gRgRpY4TAz5iyYh0mUNnrAwf25LlAra0=";
15081     };
15082     propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
15083     meta = {
15084       description = "A high performance job queue for Perl";
15085       homepage = "https://github.com/mojolicious/minion";
15086       license = with lib.licenses; [ artistic2 ];
15087       maintainers = [ maintainers.sgo ];
15088     };
15089   };
15091   MinionBackendSQLite = buildPerlModule {
15092     pname = "Minion-Backend-SQLite";
15093     version = "5.0.6";
15094     src = fetchurl {
15095       url = "mirror://cpan/authors/id/D/DB/DBOOK/Minion-Backend-SQLite-v5.0.6.tar.gz";
15096       hash = "sha256-/uDUEe9WsAkru8BTN5InaH3hQZUoy2t0T3U9vcH7FNk=";
15097     };
15098     buildInputs = [ ModuleBuildTiny ];
15099     propagatedBuildInputs = [ Minion MojoSQLite ];
15100     meta = {
15101       description = "SQLite backend for Minion job queue";
15102       homepage = "https://github.com/Grinnz/Minion-Backend-SQLite";
15103       license = with lib.licenses; [ artistic2 ];
15104       maintainers = [ maintainers.sgo ];
15105     };
15106   };
15108   MinionBackendmysql = buildPerlPackage {
15109     pname = "Minion-Backend-mysql";
15110     version = "1.000";
15111     src = fetchurl {
15112       url = "mirror://cpan/authors/id/P/PR/PREACTION/Minion-Backend-mysql-1.000.tar.gz";
15113       hash = "sha256-cGS+CHHxmbSwTl1yQprfNbLkr2qHGorM0Mm1wqP9E00=";
15114     };
15115     buildInputs = [ Testmysqld ];
15116     propagatedBuildInputs = [ Minion Mojomysql ];
15117     meta = {
15118       description = "MySQL backend for the Minion job queue";
15119       homepage = "https://github.com/preaction/Minion-Backend-mysql";
15120       license = with lib.licenses; [ artistic1 gpl1Plus ];
15121       maintainers = [ maintainers.sgo ];
15122     };
15123   };
15125   MixinLinewise = buildPerlPackage {
15126     pname = "Mixin-Linewise";
15127     version = "0.108";
15128     src = fetchurl {
15129       url = "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.108.tar.gz";
15130       hash = "sha256-ffIGeEdMCXOTCkcrDFXj+Ohbd5C2irGO9hj5xFPIrvI=";
15131     };
15132     propagatedBuildInputs = [ PerlIOutf8_strict SubExporter ];
15133     meta = {
15134       description = "Write your linewise code for handles; this does the rest";
15135       homepage = "https://github.com/rjbs/Mixin-Linewise";
15136       license = with lib.licenses; [ artistic1 gpl1Plus ];
15137     };
15138   };
15140   MLDBM = buildPerlModule {
15141     pname = "MLDBM";
15142     version = "2.05";
15143     src = fetchurl {
15144       url = "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-2.05.tar.gz";
15145       hash = "sha256-WGiA7QwggBq79nNHR+E+AgPt7+zm68TyDdtQWfAqF6I=";
15146     };
15147     meta = {
15148       description = "Store multi-level Perl hash structure in single level tied hash";
15149       license = with lib.licenses; [ artistic1 gpl1Plus ];
15150     };
15151   };
15153   MNI-Perllib = callPackage ../development/perl-modules/MNI {};
15155   Mo = buildPerlPackage {
15156     pname = "Mo";
15157     version = "0.40";
15158     src = fetchurl {
15159       url = "mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz";
15160       hash = "sha256-kdJBUjkfjCeX7jUDkTja6m3j7gO98+G4ck+lx1VAzrk=";
15161     };
15162     meta = {
15163       description = "Micro Objects. Mo is less";
15164       homepage = "https://github.com/ingydotnet/mo-pm";
15165       license = with lib.licenses; [ artistic1 gpl1Plus ];
15166       mainProgram = "mo-inline";
15167     };
15168   };
15170   MockConfig = buildPerlPackage {
15171     pname = "Mock-Config";
15172     version = "0.03";
15173     src = fetchurl {
15174       url = "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz";
15175       hash = "sha256-pbg0V1fKTyuTNfW+FOk+u7UChlIzp1W/U7xxVt7sABs=";
15176     };
15177     meta = {
15178       description = "Temporarily set Config or XSConfig values";
15179       license = with lib.licenses; [ artistic1 gpl1Plus ];
15180     };
15181   };
15183   ModernPerl = buildPerlPackage {
15184     pname = "Modern-Perl";
15185     version = "1.20200211";
15187     src = fetchurl {
15188       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20200211.tar.gz";
15189       hash = "sha256-2hyDzuhPq57bnjHX96usQ+Ezey5mAVGR7EttpZKYxIA=";
15190     };
15191     meta = {
15192       description = "Enable all of the features of Modern Perl with one import";
15193       homepage = "https://github.com/chromatic/Modern-Perl";
15194       license = with lib.licenses; [ artistic1 gpl1Plus ];
15195     };
15196   };
15198   Modulecpmfile = buildPerlModule {
15199     pname = "Module-cpmfile";
15200     version = "0.002";
15201     src = fetchurl {
15202       url = "mirror://cpan/authors/id/S/SK/SKAJI/Module-cpmfile-0.002.tar.gz";
15203       hash = "sha256-iEk/pG307LIe8RdaNJTyUQsGc+nNtN2AVzzo9nhhvaE=";
15204     };
15205     buildInputs = [ ModuleBuildTiny ModuleCPANfile Test2Suite ];
15206     propagatedBuildInputs = [ YAMLPP ];
15207     meta = {
15208       description = "Parse cpmfile";
15209       homepage = "https://github.com/skaji/cpmfile";
15210       license = with lib.licenses; [ artistic1 gpl1Plus ];
15211       maintainers = [ maintainers.zakame ];
15212     };
15213   };
15215   ModuleBuild = buildPerlPackage {
15216     pname = "Module-Build";
15217     version = "0.4231";
15218     src = fetchurl {
15219       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz";
15220       hash = "sha256-fg9MaSwXQMGshOoU1+o9i8eYsvsmwJh3Ip4E9DCytxc=";
15221     };
15222     meta = {
15223       description = "Build and install Perl modules";
15224       license = with lib.licenses; [ artistic1 gpl1Plus ];
15225       mainProgram = "config_data";
15226     };
15227   };
15229   ModuleBuildDeprecated = buildPerlModule {
15230     pname = "Module-Build-Deprecated";
15231     version = "0.4210";
15232     src = fetchurl {
15233       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Deprecated-0.4210.tar.gz";
15234       hash = "sha256-vgiTE/wjjuIYNHOsqMhrVfs89EeXMSy+m4ktY2JiFwM=";
15235     };
15236     doCheck = false;
15237     meta = {
15238       description = "A collection of modules removed from Module-Build";
15239       license = with lib.licenses; [ artistic1 gpl1Plus ];
15240     };
15241   };
15243   ModuleBuildPluggable = buildPerlModule {
15244     pname = "Module-Build-Pluggable";
15245     version = "0.10";
15246     src = fetchurl {
15247       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-0.10.tar.gz";
15248       hash = "sha256-5bsqyxF3ksmEYogSrLD+w3bLlwyu6O3ldTXgTXYrDkA=";
15249     };
15250     propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ];
15251     buildInputs = [ TestSharedFork ];
15252     meta = {
15253       description = "Module::Build meets plugins";
15254       homepage = "https://github.com/tokuhirom/Module-Build-Pluggable";
15255       license = with lib.licenses; [ artistic1 gpl1Plus ];
15256     };
15257   };
15259   ModuleBuildPluggableCPANfile = buildPerlModule {
15260     pname = "Module-Build-Pluggable-CPANfile";
15261     version = "0.05";
15262     src = fetchurl {
15263       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Module-Build-Pluggable-CPANfile-0.05.tar.gz";
15264       hash = "sha256-SuxsuiQMtueAFkBrajqHVjTMKuwI/8XxVy2hzcQOHnw=";
15265     };
15266     buildInputs = [ CaptureTiny TestRequires TestSharedFork ];
15267     propagatedBuildInputs = [ ModuleBuildPluggable ModuleCPANfile ];
15268     meta = {
15269       description = "Include cpanfile";
15270       homepage = "https://github.com/kazeburo/Module-Build-Pluggable-CPANfile";
15271       license = with lib.licenses; [ artistic1 gpl1Plus ];
15272     };
15273   };
15275   ModuleBuildPluggablePPPort = buildPerlModule {
15276     pname = "Module-Build-Pluggable-PPPort";
15277     version = "0.04";
15278     src = fetchurl {
15279       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-PPPort-0.04.tar.gz";
15280       hash = "sha256-RAhLo9iBXzQ705FYWsXYM5pIB85cDdhMmNuPMQtkwOo=";
15281     };
15282     buildInputs = [ TestRequires TestSharedFork ];
15283     propagatedBuildInputs = [ ModuleBuildPluggable ];
15284     meta = {
15285       description = "Generate ppport.h";
15286       license = with lib.licenses; [ artistic1 gpl1Plus ];
15287     };
15288   };
15290   ModuleBuildTiny = buildPerlModule {
15291     pname = "Module-Build-Tiny";
15292     version = "0.039";
15293     src = fetchurl {
15294       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz";
15295       hash = "sha256-fVgP9qzgy+VVvza4bcjqIyWBUwy+quoJvMtXtVeX8Rw=";
15296     };
15297     buildInputs = [ FileShareDir ];
15298     propagatedBuildInputs = [ ExtUtilsHelpers ExtUtilsInstallPaths ];
15299     meta = {
15300       description = "A tiny replacement for Module::Build";
15301       license = with lib.licenses; [ artistic1 gpl1Plus ];
15302     };
15303   };
15305   ModuleBuildWithXSpp = buildPerlModule {
15306     pname = "Module-Build-WithXSpp";
15307     version = "0.14";
15308     src = fetchurl {
15309       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-0.14.tar.gz";
15310       hash = "sha256-U7PIyP29UPw9rT0Z2iDxtkFO9wZluTEXEMgClp50aTQ=";
15311     };
15312     propagatedBuildInputs = [ ExtUtilsCppGuess ExtUtilsXSpp ];
15313     meta = {
15314       description = "XS++ enhanced flavour of Module::Build";
15315       license = with lib.licenses; [ artistic1 gpl1Plus ];
15316     };
15317   };
15319   ModuleBuildXSUtil = buildPerlModule {
15320     pname = "Module-Build-XSUtil";
15321     version = "0.19";
15322     src = fetchurl {
15323       url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz";
15324       hash = "sha256-kGOzw0bt60IoB//kn/sjA4xPkA1Kd7hFzktT2XvylAA=";
15325     };
15326     buildInputs = [ CaptureTiny CwdGuard FileCopyRecursiveReduced ];
15327     propagatedBuildInputs = [ DevelCheckCompiler ];
15328     perlPreHook = "export LD=$CC";
15329     meta = {
15330       description = "A Module::Build class for building XS modules";
15331       homepage = "https://github.com/hideo55/Module-Build-XSUtil";
15332       license = with lib.licenses; [ artistic1 gpl1Plus ];
15333     };
15334   };
15336   ModuleCompile = buildPerlPackage rec {
15337     pname = "Module-Compile";
15338     version = "0.38";
15339     src = fetchurl {
15340       url = "mirror://cpan/authors/id/I/IN/INGY/Module-Compile-0.38.tar.gz";
15341       hash = "sha256-gJDPu2ESNDfu/sPjvthgBdH3xaUp+2/aLr68ZWS5qhA=";
15342     };
15343     propagatedBuildInputs = [ CaptureTiny DigestSHA1 ];
15344     meta = {
15345       description = "Perl Module Compilation";
15346       homepage = "https://github.com/ingydotnet/module-compile-pm";
15347       license = with lib.licenses; [ artistic1 gpl1Plus ];
15348     };
15349   };
15351   ModuleCPANTSAnalyse = buildPerlPackage {
15352     pname = "Module-CPANTS-Analyse";
15353     version = "1.01";
15354     src = fetchurl {
15355       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.01.tar.gz";
15356       hash = "sha256-vZkLpNAFG22yKEyrhAaZ4zr1QtiBgv1FTPpw6tMeyEk=";
15357     };
15358     propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff DataBinary FileFindObject PerlPrereqScannerNotQuiteLite SoftwareLicense ];
15359     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings ];
15360     meta = {
15361       description = "Generate Kwalitee ratings for a distribution";
15362       homepage = "https://cpants.cpanauthors.org";
15363       license = with lib.licenses; [ artistic1 gpl1Plus ];
15364     };
15365   };
15367   ModuleCPANfile = buildPerlPackage {
15368     pname = "Module-CPANfile";
15369     version = "1.1004";
15370     src = fetchurl {
15371       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1004.tar.gz";
15372       hash = "sha256-iO++LppkLc6qGGQw/t/PmZqvDgb2zO0opxS45WtRSSE=";
15373     };
15374     buildInputs = [ Filepushd ];
15375     meta = {
15376       description = "Parse cpanfile";
15377       homepage = "https://github.com/miyagawa/cpanfile";
15378       license = with lib.licenses; [ artistic1 gpl1Plus ];
15379     };
15380   };
15382   ModuleExtractUse = buildPerlModule {
15383     pname = "Module-ExtractUse";
15384     version = "0.343";
15385     src = fetchurl {
15386       url = "mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.343.tar.gz";
15387       hash = "sha256-SFJGW0g2GhIM15hyBYF5Lbpa2lJs7vWJHiVNbPl7DAI=";
15388     };
15389     propagatedBuildInputs = [ ParseRecDescent PodStrip ];
15390     buildInputs = [ TestDeep TestNoWarnings ];
15391     meta = {
15392       description = "Find out what modules are used";
15393       license = with lib.licenses; [ artistic1 gpl1Plus ];
15394     };
15395   };
15397   ModuleFind = buildPerlPackage {
15398     pname = "Module-Find";
15399     version = "0.15";
15400     src = fetchurl {
15401       url = "mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.15.tar.gz";
15402       hash = "sha256-XFSCp/4+nhA1s2qYRHC4hvevCV7u/2P18ZrsjNLYqF4=";
15403     };
15404     meta = {
15405       description = "Find and use installed modules in a (sub)category";
15406       license = with lib.licenses; [ artistic1 gpl1Plus ];
15407     };
15408   };
15410   ModuleImplementation = buildPerlPackage {
15411     pname = "Module-Implementation";
15412     version = "0.09";
15413     src = fetchurl {
15414       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz";
15415       hash = "sha256-wV8aEvDCEwye//PC4a/liHsIzNAzvRMhhtHn1Qh/1m0=";
15416     };
15417     buildInputs = [ TestFatal TestRequires ];
15418     propagatedBuildInputs = [ ModuleRuntime TryTiny ];
15419     meta = {
15420       description = "Loads one of several alternate underlying implementations for a module";
15421       homepage = "https://metacpan.org/release/Module-Implementation";
15422       license = with lib.licenses; [ artistic2 ];
15423     };
15424   };
15426   ModuleInfo = buildPerlPackage {
15427     pname = "Module-Info";
15428     version = "0.37";
15429     src = fetchurl {
15430       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz";
15431       hash = "sha256-jqgCUpeQsZwfNzoeR9g4FmT5xMH3ao2LvG221zEcJEg=";
15432     };
15433     buildInputs = [ TestPod TestPodCoverage ];
15434     propagatedBuildInputs = [ BUtils ];
15435     meta = {
15436       description = "Information about Perl modules";
15437       license = with lib.licenses; [ artistic1 gpl1Plus ];
15438       mainProgram = "module_info";
15439     };
15440   };
15442   ModuleInstall = buildPerlPackage {
15443     pname = "Module-Install";
15444     version = "1.19";
15445     src = fetchurl {
15446       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Install-1.19.tar.gz";
15447       hash = "sha256-GlOnjd86uePAP8XjVLQ2MZqUTLpCgbrwuQT6kyoTARs=";
15448     };
15449     propagatedBuildInputs = [ FileRemove ModuleBuild ModuleScanDeps YAMLTiny ];
15450     meta = {
15451       description = "Standalone, extensible Perl module installer";
15452       license = with lib.licenses; [ artistic1 gpl1Plus ];
15453     };
15454   };
15456   ModuleInstallAuthorRequires = buildPerlPackage {
15457     pname = "Module-Install-AuthorRequires";
15458     version = "0.02";
15459     src = fetchurl {
15460       url = "mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz";
15461       hash = "sha256-zGMhU310XSqDqChvhe8zRnRZOcw7NBAgRb7IVg6PTOw=";
15462     };
15463     propagatedBuildInputs = [ ModuleInstall ];
15464     meta = {
15465       description = "Declare author-only dependencies";
15466       license = with lib.licenses; [ artistic1 gpl1Plus ];
15467     };
15468   };
15470   ModuleInstallAuthorTests = buildPerlPackage {
15471     pname = "Module-Install-AuthorTests";
15472     version = "0.002";
15473     src = fetchurl {
15474       url = "mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz";
15475       hash = "sha256-QCVyLeY1ft9TwoUBsA59qSzS+fxhG6B1N2Gg4d/zLYg=";
15476     };
15477     propagatedBuildInputs = [ ModuleInstall ];
15478     meta = {
15479       description = "Designate tests only run by module authors";
15480       license = with lib.licenses; [ artistic1 gpl1Plus ];
15481     };
15482   };
15484   ModuleInstallGithubMeta = buildPerlPackage {
15485     pname = "Module-Install-GithubMeta";
15486     version = "0.30";
15487     src = fetchurl {
15488       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-GithubMeta-0.30.tar.gz";
15489       hash = "sha256-Lq1EyXPHSNctnxmeQcRNwYAf6a4GsPrcWUR2k6PJgoE=";
15490     };
15491     buildInputs = [ CaptureTiny ];
15492     propagatedBuildInputs = [ ModuleInstall ];
15493     meta = {
15494       description = "A Module::Install extension to include GitHub meta information in META.yml";
15495       homepage = "https://github.com/bingos/module-install-githubmeta";
15496       license = with lib.licenses; [ artistic1 gpl1Plus ];
15497       maintainers = [ maintainers.sgo ];
15498     };
15499   };
15501   ModuleInstallReadmeFromPod = buildPerlPackage {
15502     pname = "Module-Install-ReadmeFromPod";
15503     version = "0.30";
15504     src = fetchurl {
15505       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-ReadmeFromPod-0.30.tar.gz";
15506       hash = "sha256-efbfVTZhn6/72mlr3SXMrRfEab8y5RzT5hM2bUlAAWk=";
15507     };
15508     buildInputs = [ TestInDistDir ];
15509     propagatedBuildInputs = [ CaptureTiny IOAll ModuleInstall PodMarkdown ];
15510     meta = {
15511       description = "A Module::Install extension to automatically convert POD to a README";
15512       homepage = "https://github.com/bingos/module-install-readmefrompod";
15513       license = with lib.licenses; [ artistic1 gpl1Plus ];
15514       maintainers = [ maintainers.sgo ];
15515     };
15516   };
15518   ModuleInstallReadmeMarkdownFromPod = buildPerlPackage {
15519     pname = "Module-Install-ReadmeMarkdownFromPod";
15520     version = "0.04";
15521     src = fetchurl {
15522       url = "mirror://cpan/authors/id/M/MA/MATTN/Module-Install-ReadmeMarkdownFromPod-0.04.tar.gz";
15523       hash = "sha256-MAsuJE+DuaVKlfhATBzTrwY1tPrpdMplOQ7kKOxmhZE=";
15524     };
15525     buildInputs = [ URI ];
15526     propagatedBuildInputs = [ ModuleInstall PodMarkdown ];
15527     meta = {
15528       description = "Create README.mkdn from POD";
15529       homepage = "https://search.cpan.org/dist/Module-Install-ReadmeMarkdownFromPod";
15530       license = with lib.licenses; [ artistic1 gpl1Plus ];
15531       maintainers = [ maintainers.sgo ];
15532     };
15533   };
15535   ModuleInstallRepository = buildPerlPackage {
15536     pname = "Module-Install-Repository";
15537     version = "0.06";
15538     src = fetchurl {
15539       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-Install-Repository-0.06.tar.gz";
15540       hash = "sha256-AOJZDQkznMzL2qMo0SrY7HfoMaOMmtZjcF5Z7LsYcis=";
15541     };
15542     buildInputs = [ PathClass ];
15543     meta = {
15544       description = "Automatically sets repository URL from svn/svk/Git checkout";
15545       license = with lib.licenses; [ artistic1 gpl1Plus ];
15546       maintainers = [ maintainers.sgo ];
15547     };
15548   };
15550   ModuleInstallXSUtil = buildPerlPackage {
15551     pname = "Module-Install-XSUtil";
15552     version = "0.45";
15553     src = fetchurl {
15554       url = "mirror://cpan/authors/id/G/GF/GFUJI/Module-Install-XSUtil-0.45.tar.gz";
15555       hash = "sha256-/nHlMyC+4TGXdJoLF2CaomP3H/RuXiwTDpR0Lqar31Y=";
15556     };
15557     buildInputs = [ BHooksOPAnnotation ];
15558     propagatedBuildInputs = [ ModuleInstall ];
15559     meta = {
15560       description = "Utility functions for XS modules";
15561       license = with lib.licenses; [ artistic1 gpl1Plus ];
15562     };
15563   };
15565   ModuleManifest = buildPerlPackage {
15566     pname = "Module-Manifest";
15567     version = "1.09";
15568     src = fetchurl {
15569       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz";
15570       hash = "sha256-o5X4D/FeoOZv1sRThEtnh+1Kh1o82N+ffikoAlC9U5s=";
15571     };
15572     buildInputs = [ TestException TestWarn ];
15573     propagatedBuildInputs = [ ParamsUtil ];
15574     meta = {
15575       description = "Parse and examine a Perl distribution MANIFEST file";
15576       homepage = "https://github.com/karenetheridge/Module-Manifest";
15577       license = with lib.licenses; [ artistic1 gpl1Plus ];
15578     };
15579   };
15581   ModulePath = buildPerlPackage {
15582     pname = "Module-Path";
15583     version = "0.19";
15584     src = fetchurl {
15585       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.19.tar.gz";
15586       hash = "sha256-szF5zk3XPfzefUaAiAS5/7sR2wJF/kVafQAXR1Yv6so=";
15587     };
15588     buildInputs = [ DevelFindPerl ];
15589     meta = {
15590       description = "Get the full path to a locally installed module";
15591       homepage = "https://github.com/neilbowers/Module-Path";
15592       license = with lib.licenses; [ artistic1 gpl1Plus ];
15593       mainProgram = "mpath";
15594     };
15595   };
15597   ModulePluggable = buildPerlPackage {
15598     pname = "Module-Pluggable";
15599     version = "5.2";
15600     src = fetchurl {
15601       url = "mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz";
15602       hash = "sha256-s/KtReT9ELP7kNkS142LeVqylUgNtW3GToa5+nXFpt8=";
15603     };
15604     patches = [
15605       # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
15606       ../development/perl-modules/module-pluggable.patch
15607     ];
15608     buildInputs = [ AppFatPacker ];
15609     meta = {
15610       description = "Automatically give your module the ability to have plugins";
15611       license = with lib.licenses; [ artistic1 gpl1Plus ];
15612     };
15613   };
15615   ModulePluggableFast = buildPerlPackage {
15616     pname = "Module-Pluggable-Fast";
15617     version = "0.19";
15618     src = fetchurl {
15619       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz";
15620       hash = "sha256-CMhXcFjxmTLKG2Zre5EmoYtVajmwi+b7ObBqRTkqB18=";
15621     };
15622     propagatedBuildInputs = [ UNIVERSALrequire ];
15623     meta = {
15624       description = "Fast plugins with instantiation";
15625       license = with lib.licenses; [ artistic1 gpl1Plus ];
15626     };
15627   };
15629   ModuleRefresh = buildPerlPackage {
15630     pname = "Module-Refresh";
15631     version = "0.17";
15632     src = fetchurl {
15633       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Module-Refresh-0.17.tar.gz";
15634       hash = "sha256-azCmzt3GUSq0SQwWNy7PMJolnyyhR9Yi5HisVOCFEcM=";
15635     };
15636     buildInputs = [ PathClass ];
15637     meta = {
15638       description = "Refresh %INC files when updated on disk";
15639       license = with lib.licenses; [ artistic1 gpl1Plus ];
15640     };
15641   };
15643   ModuleRuntime = buildPerlModule {
15644     pname = "Module-Runtime";
15645     version = "0.016";
15646     src = fetchurl {
15647       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz";
15648       hash = "sha256-aDAuxkaDNUfUEL4o4JZ223UAb0qlihHzvbRP/pnw8CQ=";
15649     };
15650     meta = {
15651       description = "Runtime module handling";
15652       license = with lib.licenses; [ artistic1 gpl1Plus ];
15653     };
15654   };
15656   ModuleRuntimeConflicts = buildPerlPackage {
15657     pname = "Module-Runtime-Conflicts";
15658     version = "0.003";
15659     src = fetchurl {
15660       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz";
15661       hash = "sha256-cHzcdQOMcP6Rd5uIisBQ8ShWXTlnupZoDhscfMlzOHU=";
15662     };
15663     propagatedBuildInputs = [ DistCheckConflicts ];
15664     meta = {
15665       description = "Provide information on conflicts for Module::Runtime";
15666       homepage = "https://github.com/karenetheridge/Module-Runtime-Conflicts";
15667       license = with lib.licenses; [ artistic1 gpl1Plus ];
15668     };
15669   };
15671   ModuleScanDeps = buildPerlPackage {
15672     pname = "Module-ScanDeps";
15673     version = "1.29";
15674     src = fetchurl {
15675       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.29.tar.gz";
15676       hash = "sha256-7rDOkTU6L2JnpkrxeyDY3o96z/YulbYI3qJIAwC4iE4=";
15677     };
15678     buildInputs = [ TestRequires ];
15679     meta = {
15680       description = "Recursively scan Perl code for dependencies";
15681       license = with lib.licenses; [ artistic1 gpl1Plus ];
15682       mainProgram = "scandeps.pl";
15683     };
15684   };
15686   ModuleSignature = buildPerlPackage {
15687     pname = "Module-Signature";
15688     version = "0.87";
15689     src = fetchurl {
15690       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.87.tar.gz";
15691       hash = "sha256-IU6AVcUP7DcalXQ1IP4mlAAE52FpBjsrROyQoNRdaYI=";
15692     };
15693     buildInputs = [ IPCRun ];
15694     meta = {
15695       description = "Module signature file manipulation";
15696       license = with lib.licenses; [ cc0 ];
15697       mainProgram = "cpansign";
15698     };
15699   };
15701   ModuleUtil = buildPerlModule {
15702     pname = "Module-Util";
15703     version = "1.09";
15704     src = fetchurl {
15705       url = "mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz";
15706       hash = "sha256-bPvLakUGREbsiqDuGn3dxCC1RGkwM0QYeu+E0sfz4sY=";
15707     };
15708     meta = {
15709       description = "Module name tools and transformations";
15710       license = with lib.licenses; [ artistic1 gpl1Plus ];
15711       mainProgram = "pm_which";
15712     };
15713   };
15715   ModuleVersions = buildPerlPackage {
15716     pname = "Module-Versions";
15717     version = "0.02";
15718     src = fetchurl {
15719       url = "mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip";
15720       hash = "sha256-DTimWxenrFGI1zh8/+f6oSY4Rw3JNxYevz2kh7fR+Dw=";
15721     };
15722     buildInputs = [ pkgs.unzip ];
15723     meta = {
15724       description = "Handle versions of loaded modules with flexible result interface";
15725       license = with lib.licenses; [ artistic1 gpl1Plus ];
15726     };
15727   };
15729   ModuleVersionsReport = buildPerlPackage {
15730     pname = "Module-Versions-Report";
15731     version = "1.06";
15732     src = fetchurl {
15733       url = "mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz";
15734       hash = "sha256-oyYdDYSxdnjYxP1V6w+JL1FE2BylPqmjjXXRoArZeWo=";
15735     };
15736     meta = {
15737       description = "Report versions of all modules in memory";
15738       license = with lib.licenses; [ artistic1 gpl1Plus ];
15739     };
15740   };
15742   MojoDOM58 = buildPerlPackage {
15743     pname = "Mojo-DOM58";
15744     version = "2.000";
15745     src = fetchurl {
15746       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-DOM58-2.000.tar.gz";
15747       hash = "sha256-hkxqNXH7SYaprgrw8shArLEC8fc6Gq8Cewa0K40EXvM=";
15748     };
15749     meta = {
15750       description = "Minimalistic HTML/XML DOM parser with CSS selectors";
15751       homepage = "https://github.com/Grinnz/Mojo-DOM58";
15752       license = with lib.licenses; [ artistic2 ];
15753     };
15754   };
15756   mod_perl2 = buildPerlPackage {
15757     pname = "mod_perl";
15758     version = "2.0.12";
15759     src = fetchurl {
15760       url = "mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.12.tar.gz";
15761       hash = "sha256-9bghtZsP3JZw5G7Q/PMtiRHyUSYYmotowWUvkiHu4mk=";
15762     };
15764     makeMakerFlags = [ "MP_AP_DESTDIR=$out" ];
15765     buildInputs = [ pkgs.apacheHttpd ];
15766     doCheck = false; # would try to start Apache HTTP server
15767     passthru.tests = nixosTests.mod_perl;
15768     meta = {
15769       description = "Embed a Perl interpreter in the Apache/2.x HTTP server";
15770       license = with lib.licenses; [ asl20 ];
15771       mainProgram = "mp2bug";
15772     };
15773   };
15775   Mojolicious = buildPerlPackage {
15776     pname = "Mojolicious";
15777     version = "9.26";
15778     src = fetchurl {
15779       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.26.tar.gz";
15780       hash = "sha256-nkKMVRJpjwXhUTONj6Eq7eKHqzpeQp7D04yApKgsjYg=";
15781     };
15782     meta = {
15783       description = "Real-time web framework";
15784       homepage = "https://mojolicious.org";
15785       license = with lib.licenses; [ artistic2 ];
15786       maintainers = with maintainers; [ thoughtpolice sgo ];
15787       mainProgram = "mojo";
15788     };
15789   };
15791   MojoliciousPluginAssetPack = buildPerlPackage {
15792     pname = "Mojolicious-Plugin-AssetPack";
15793     version = "2.13";
15794     src = fetchurl {
15795       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-AssetPack-2.13.tar.gz";
15796       hash = "sha256-8j2HYgo92IoFoZ+aKovRn6UboGDdy0vMHZsfBo73pIg=";
15797     };
15798     propagatedBuildInputs = [ FileWhich IPCRun3 Mojolicious ];
15799     meta = {
15800       description = "Compress and convert css, less, sass, javascript and coffeescript files";
15801       homepage = "https://github.com/jhthorsen/mojolicious-plugin-assetpack";
15802       license = with lib.licenses; [ artistic2 ];
15803       maintainers = with maintainers; [ sgo ];
15804     };
15805   };
15807   MojoliciousPluginGravatar = buildPerlPackage {
15808     pname = "Mojolicious-Plugin-Gravatar";
15809     version = "0.04";
15810     src = fetchurl {
15811       url = "mirror://cpan/authors/id/K/KO/KOORCHIK/Mojolicious-Plugin-Gravatar-0.04.tar.gz";
15812       hash = "sha256-pJ+XDGxw+ZMLMEp1IWPLlfHZmHEvecsTZAgy5Le2dd0=";
15813     };
15814     propagatedBuildInputs = [ Mojolicious ];
15815     meta = {
15816       description = "Globally Recognized Avatars for Mojolicious";
15817       license = with lib.licenses; [ artistic1 gpl1Plus ];
15818       maintainers = with maintainers; [ sgo ];
15819     };
15820   };
15822   MojoliciousPluginMail = buildPerlModule {
15823     pname = "Mojolicious-Plugin-Mail";
15824     version = "1.5";
15825     src = fetchurl {
15826       url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-Mail-1.5.tar.gz";
15827       hash = "sha256-VvDTQevDp6zzkZ9a3UPpghbqEoWqDYfn+wDAK7Dv8UY=";
15828     };
15829     propagatedBuildInputs = [ MIMEEncWords MIMELite Mojolicious ];
15830     meta = {
15831       description = "Mojolicious Plugin for send mail";
15832       homepage = "https://github.com/sharifulin/Mojolicious-Plugin-Mail";
15833       license = with lib.licenses; [ artistic1 gpl1Plus ];
15834       maintainers = [ maintainers.sgo ];
15835     };
15836   };
15838   MojoliciousPluginOpenAPI = buildPerlPackage {
15839     pname = "Mojolicious-Plugin-OpenAPI";
15840     version = "5.05";
15841     src = fetchurl {
15842       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-5.05.tar.gz";
15843       hash = "sha256-xH+I0c434/YT9uizV9grenEEX/wKSXOVUS67zahlYV0=";
15844     };
15845     propagatedBuildInputs = [ JSONValidator ];
15846     meta = {
15847       description = "OpenAPI / Swagger plugin for Mojolicious";
15848       homepage = "https://github.com/jhthorsen/mojolicious-plugin-openapi";
15849       license = with lib.licenses; [ artistic2 ];
15850       maintainers = [ maintainers.sgo ];
15851     };
15852   };
15854   MojoliciousPluginStatus = buildPerlPackage {
15855     pname = "Mojolicious-Plugin-Status";
15856     version = "1.17";
15857     src = fetchurl {
15858       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.17.tar.gz";
15859       hash = "sha256-TCsfr+PhkSYby0TiDo75rz+YjR25akrgsG7tQSArh7Q=";
15860     };
15861     propagatedBuildInputs = [ BSDResource CpanelJSONXS FileMap Mojolicious Sereal ];
15862     meta = {
15863       description = "Mojolicious server status";
15864       homepage = "https://mojolicious.org";
15865       license = with lib.licenses; [ artistic2 ];
15866       maintainers = [ maintainers.thoughtpolice ];
15867     };
15868   };
15870   MojoliciousPluginSyslog = buildPerlPackage {
15871     pname = "Mojolicious-Plugin-Syslog";
15872     version = "0.06";
15873     src = fetchurl {
15874       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Syslog-0.06.tar.gz";
15875       hash = "sha256-IuxL9TYwDseyAYuoV3C9g2ZFDBAwVDZ9srFp9Mh3QRM=";
15876     };
15877     propagatedBuildInputs = [ Mojolicious ];
15878     meta = {
15879       description = "A plugin for enabling a Mojolicious app to log to syslog";
15880       homepage = "https://github.com/jhthorsen/mojolicious-plugin-syslog";
15881       license = with lib.licenses; [ artistic2 ];
15882       maintainers = [ maintainers.sgo ];
15883     };
15884   };
15886   MojoliciousPluginTextExceptions = buildPerlPackage {
15887     pname = "Mojolicious-Plugin-TextExceptions";
15888     version = "0.02";
15889     src = fetchurl {
15890       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Mojolicious-Plugin-TextExceptions-0.02.tar.gz";
15891       hash = "sha256-Oht0BcV4TO5mHP8bARpzlRBN1IS7kbnnWT+ralOb+HQ=";
15892     };
15893     propagatedBuildInputs = [ Mojolicious ];
15894     meta = {
15895       description = "Render exceptions as text in command line user agents";
15896       homepage = "https://github.com/marcusramberg/mojolicious-plugin-textexceptions";
15897       license = with lib.licenses; [ artistic2 ];
15898       maintainers = [ maintainers.sgo ];
15899     };
15900   };
15902   MojoliciousPluginWebpack = buildPerlPackage {
15903     pname = "Mojolicious-Plugin-Webpack";
15904     version = "1.01";
15905     src = fetchurl {
15906       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Webpack-1.01.tar.gz";
15907       hash = "sha256-detndnGR/zMzwNAXsK1vZxHHxIW66i5+6XtTtPzJzfA=";
15908     };
15909     propagatedBuildInputs = [ Mojolicious Filechdir ];
15910     meta = {
15911       description = "Mojolicious <3 Webpack";
15912       homepage = "https://github.com/jhthorsen/mojolicious-plugin-webpack";
15913       license = with lib.licenses; [ artistic2 ];
15914       maintainers = [ maintainers.sgo ];
15915     };
15916   };
15918   MojoRedis = buildPerlPackage {
15919     pname = "Mojo-Redis";
15920     version = "3.29";
15921     src = fetchurl {
15922       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-Redis-3.29.tar.gz";
15923       hash = "sha256-oDMZpF0uYTpsfS1ZrAD9SwtHiGVi5ish3pG0r4llgII=";
15924     };
15925     propagatedBuildInputs = [ Mojolicious ProtocolRedisFaster ];
15926     meta = {
15927       description = "Redis driver based on Mojo::IOLoop";
15928       homepage = "https://github.com/jhthorsen/mojo-redis";
15929       license = with lib.licenses; [ artistic2 ];
15930       maintainers = [ maintainers.sgo ];
15931     };
15932   };
15934   MojoSAML = buildPerlModule {
15935     pname = "Mojo-SAML";
15936     version = "0.07";
15937     src = fetchurl {
15938       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-SAML-0.07.tar.gz";
15939       hash = "sha256-csJMrNtvHXp14uqgBDfHFKv1eafSENSqTT8g8e/0cQ0=";
15940     };
15941     buildInputs = [ ModuleBuildTiny ];
15942     propagatedBuildInputs = [ CryptOpenSSLRSA CryptOpenSSLX509 DataGUID Mojolicious XMLCanonicalizeXML ];
15943     meta = {
15944       description = "A SAML2 toolkit using the Mojo toolkit";
15945       license = with lib.licenses; [ artistic1 gpl1Plus ];
15946       maintainers = [ maintainers.sgo ];
15947     };
15948   };
15950   MojoSQLite = buildPerlModule {
15951     pname = "Mojo-SQLite";
15952     version = "3.005";
15953     src = fetchurl {
15954       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.005.tar.gz";
15955       hash = "sha256-Qf3LUFrH9OzUdWez2utcKHyITJE0DG27a7+pkqH/9yo=";
15956     };
15957     buildInputs = [ ModuleBuildTiny ];
15958     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ];
15959     meta = {
15960       description = "A tiny Mojolicious wrapper for SQLite";
15961       homepage = "https://github.com/Grinnz/Mojo-SQLite";
15962       license = with lib.licenses; [ artistic2 ];
15963       maintainers = [ maintainers.sgo ];
15964     };
15965   };
15967   Mojomysql = buildPerlPackage rec {
15968     pname = "Mojo-mysql";
15969     version = "1.25";
15970     src = fetchurl {
15971       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-mysql-1.25.tar.gz";
15972       hash = "sha256-YC14GXw0HdCPLLH1XZg31P3gFHQz1k2+vxloaAtVzMs=";
15973     };
15974     propagatedBuildInputs = [ DBDmysql Mojolicious SQLAbstract ];
15975     buildInputs = [ TestDeep ];
15976     meta = {
15977       description = "Mojolicious and Async MySQL/MariaDB";
15978       homepage = "https://github.com/jhthorsen/mojo-mysql";
15979       license = with lib.licenses; [ artistic2 ];
15980       maintainers = [ maintainers.sgo ];
15981     };
15982   };
15984   MojoIOLoopDelay = buildPerlModule {
15985     pname = "Mojo-IOLoop-Delay";
15986     version = "8.76";
15987     src = fetchurl {
15988       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-Delay-8.76.tar.gz";
15989       hash = "sha256-jsvAYUg3IdkgRZQya+zpXM2/vbbRihc8gt1xgXLQqe0=";
15990     };
15991     buildInputs = [ ModuleBuildTiny ];
15992     propagatedBuildInputs = [ Mojolicious ];
15993     meta = {
15994       description = "(DISCOURAGED) Promises/A+ and flow-control helpers";
15995       homepage = "https://github.com/jberger/Mojo-IOLoop-Delay";
15996       license = with lib.licenses; [ artistic2 ];
15997       maintainers = [ maintainers.zakame ];
15998     };
15999   };
16001   MojoIOLoopForkCall = buildPerlModule {
16002     pname = "Mojo-IOLoop-ForkCall";
16003     version = "0.21";
16004     src = fetchurl {
16005       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-ForkCall-0.21.tar.gz";
16006       hash = "sha256-8dpdh4RxvdhvAcQjhQgAgE9ttCtUU8IW8Jslt5RYS3g=";
16007     };
16008     propagatedBuildInputs = [ IOPipely Mojolicious MojoIOLoopDelay ];
16009     preBuild = ''
16010       # This module needs the deprecated Mojo::IOLoop::Delay
16011       substituteInPlace lib/Mojo/IOLoop/ForkCall.pm \
16012         --replace "use Mojo::IOLoop;" "use Mojo::IOLoop; use Mojo::IOLoop::Delay;"
16013     '';
16014     meta = {
16015       description = "(DEPRECATED) run blocking functions asynchronously by forking";
16016       homepage = "https://github.com/jberger/Mojo-IOLoop-ForkCall";
16017       license = with lib.licenses; [ artistic1 gpl1Plus ];
16018       maintainers = [ maintainers.zakame ];
16019     };
16020   };
16022   MojoJWT = buildPerlModule {
16023     pname = "Mojo-JWT";
16024     version = "0.09";
16025     src = fetchurl {
16026       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-JWT-0.09.tar.gz";
16027       hash = "sha256-wE4DmD4MbyvORdCOoucph5yWee+mNLDmjLa4t7SoWIY=";
16028     };
16029     buildInputs = [ ModuleBuildTiny ];
16030     propagatedBuildInputs = [ Mojolicious ];
16031     meta = {
16032       description = "JSON Web Token the Mojo way";
16033       homepage = "https://github.com/jberger/Mojo-JWT";
16034       license = with lib.licenses; [ artistic1 gpl1Plus ];
16035       maintainers = [ maintainers.sgo ];
16036     };
16037   };
16039   MojoPg = buildPerlPackage {
16040     pname = "Mojo-Pg";
16041     version = "4.27";
16042     src = fetchurl {
16043       url = "mirror://cpan/authors/id/S/SR/SRI/Mojo-Pg-4.27.tar.gz";
16044       hash = "sha256-oyLI3wDj5WVf300LernXmSiTIOKfZP6ZrHrxJEhO+dg=";
16045     };
16046     propagatedBuildInputs = [ DBDPg Mojolicious SQLAbstractPg ];
16047     buildInputs = [ TestDeep ];
16048     meta = {
16049       description = "Mojolicious â™¥ PostgreSQL";
16050       homepage = "https://mojolicious.org";
16051       license = with lib.licenses; [ artistic2 ];
16052       maintainers = [ maintainers.sgo ];
16053     };
16054   };
16056   MojoUserAgentCached = buildPerlPackage {
16057     pname = "Mojo-UserAgent-Cached";
16058     version = "1.19";
16059     src = fetchurl {
16060       url = "mirror://cpan/authors/id/N/NI/NICOMEN/Mojo-UserAgent-Cached-1.19.tar.gz";
16061       hash = "sha256-wlmZ2qqCHkZUhLWjINFVqlJZAMh4Ml2aiSAfSnWBxd8=";
16062     };
16063     buildInputs = [ ModuleInstall ];
16064     propagatedBuildInputs = [ AlgorithmLCSS CHI DataSerializer DevelStackTrace Mojolicious Readonly StringTruncate ];
16065     doCheck = !stdenv.isDarwin;
16066     meta = {
16067       description = "Caching, Non-blocking I/O HTTP, Local file and WebSocket user agent";
16068       homepage = "https://github.com/nicomen/mojo-useragent-cached";
16069       license = with lib.licenses; [ artistic1 gpl1Plus ];
16070       maintainers = [ maintainers.sgo ];
16071     };
16072   };
16074   MongoDB = buildPerlPackage {
16075     pname = "MongoDB";
16076     version = "2.2.2";
16077     src = fetchurl {
16078       url = "mirror://cpan/authors/id/M/MO/MONGODB/MongoDB-v2.2.2.tar.gz";
16079       hash = "sha256-IBk1+S2slPOcNd5zZh6LJSQ55JbyKGV9uF/5MlfDJo8=";
16080     };
16081     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal TimeMoment ];
16082     propagatedBuildInputs = [ AuthenSASLSASLprep AuthenSCRAM BSON IOSocketSSL NetSSLeay ClassXSAccessor BSONXS TypeTinyXS MozillaCA Moo NetDNS SafeIsa SubQuote TieIxHash TypeTiny UUIDURandom boolean namespaceclean ];
16083     meta = {
16084       description = "Official MongoDB Driver for Perl (EOL)";
16085       homepage = "https://github.com/mongodb-labs/mongo-perl-driver";
16086       license = with lib.licenses; [ asl20 ];
16087     };
16088   };
16090   MonitoringPlugin = buildPerlPackage {
16091     pname = "Monitoring-Plugin";
16092     version = "0.40";
16093     src = fetchurl {
16094       url = "mirror://cpan/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-0.40.tar.gz";
16095       hash = "sha256-+LprfifSuwpPmjKVWiRC1OQo0cSLgMixIUL/YRvnI28=";
16096     };
16097     propagatedBuildInputs = [ ClassAccessor ConfigTiny MathCalcUnits ParamsValidate ];
16098     meta = {
16099       description = ''
16100         A family of perl modules to streamline writing Naemon,
16101         Nagios, Icinga or Shinken (and compatible) plugins
16102       '';
16103       license = with lib.licenses; [ artistic1 gpl1Plus ];
16104     };
16105   };
16107   IOPipely = buildPerlPackage {
16108     pname = "IO-Pipely";
16109     version = "0.005";
16110     src = fetchurl {
16111       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/IO-Pipely-0.005.tar.gz";
16112       hash = "sha256-4zts9csrRu4whRP1HmI5h6UKiZAegb8ZcB3ONRefLnQ=";
16113     };
16114     meta = {
16115       description = "Portably create pipe() or pipe-like handles, one way or another";
16116       homepage = "https://search.cpan.org/dist/IO-Pipely";
16117       license = with lib.licenses; [ artistic1 gpl1Plus ];
16118     };
16119   };
16121   Moo = buildPerlPackage {
16122     pname = "Moo";
16123     version = "2.004004";
16124     src = fetchurl {
16125       url = "mirror://cpan/authors/id/H/HA/HAARG/Moo-2.004004.tar.gz";
16126       hash = "sha256-cUt3sRV4hwjG2KtvGO6hc/gQnTl67NNOMsxxoP/PIkY=";
16127     };
16128     buildInputs = [ TestFatal ];
16129     propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
16130     meta = {
16131       description = "Minimalist Object Orientation (with Moose compatibility)";
16132       license = with lib.licenses; [ artistic1 gpl1Plus ];
16133     };
16134   };
16136   Moose = buildPerlPackage {
16137     pname = "Moose";
16138     version = "2.2013";
16139     src = fetchurl {
16140       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2013.tar.gz";
16141       hash = "sha256-33TceAiJIReO33LYJwF9bJJzfJhmWfLa3FM64kZ153w=";
16142     };
16143     buildInputs = [ CPANMetaCheck TestCleanNamespaces TestFatal TestRequires ];
16144     propagatedBuildInputs = [ ClassLoadXS DevelGlobalDestruction DevelOverloadInfo DevelStackTrace EvalClosure ModuleRuntimeConflicts PackageDeprecationManager PackageStashXS SubExporter ];
16145     preConfigure = ''
16146       export LD=$CC
16147     '';
16148     meta = {
16149       description = "A postmodern object system for Perl 5";
16150       homepage = "http://moose.perl.org";
16151       license = with lib.licenses; [ artistic1 gpl1Plus ];
16152       maintainers = [ maintainers.eelco ];
16153       mainProgram = "moose-outdated";
16154     };
16155   };
16157   MooXHandlesVia = buildPerlPackage {
16158     pname = "MooX-HandlesVia";
16159     version = "0.001009";
16160     src = fetchurl {
16161       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-0.001009.tar.gz";
16162       hash = "sha256-cWNT44iU7Lfo5MF7yVSD219ZACsDVBtUpywn8qjzbBI=";
16163     };
16164     buildInputs = [ MooXTypesMooseLike TestException TestFatal ];
16165     propagatedBuildInputs = [ DataPerl Moo ];
16166     meta = {
16167       description = "NativeTrait-like behavior for Moo";
16168       license = with lib.licenses; [ artistic1 gpl1Plus ];
16169     };
16170   };
16172   MooXLocalePassthrough = buildPerlPackage {
16173     pname = "MooX-Locale-Passthrough";
16174     version = "0.001";
16175     src = fetchurl {
16176       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz";
16177       hash = "sha256-egWCflKrWh3eLqXHEpJ7HljI0lFmTZZmJ6353TDsBRI=";
16178     };
16179     propagatedBuildInputs = [ Moo ];
16180     meta = {
16181       description = "Provide API used in translator modules without translating";
16182       homepage = "https://metacpan.org/release/MooX-Locale-Passthrough";
16183       license = with lib.licenses; [ artistic1 gpl1Plus ];
16184     };
16185   };
16187   MooXLocaleTextDomainOO = buildPerlPackage {
16188     pname = "MooX-Locale-TextDomain-OO";
16189     version = "0.001";
16190     src = fetchurl {
16191       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz";
16192       hash = "sha256-W45Sz/3YSpXTaMoQuUNUG5lqk+DQY5b0/hkzVojkFz0=";
16193     };
16194     propagatedBuildInputs = [ LocaleTextDomainOO MooXLocalePassthrough ];
16195     meta = {
16196       description = "Provide API used in translator modules without translating";
16197       homepage = "https://metacpan.org/release/MooX-Locale-TextDomain-OO";
16198       license = with lib.licenses; [ artistic1 gpl1Plus ];
16199     };
16200   };
16202   MooXOptions = buildPerlPackage {
16203     pname = "MooX-Options";
16204     version = "4.103";
16205     src = fetchurl {
16206       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz";
16207       hash = "sha256-TfnVdPjybbAivwbBvaRwgolFEJjC4VYzNd840jsHMm0=";
16208     };
16209     propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
16210     buildInputs = [ Mo MooXCmd MooXLocaleTextDomainOO Moose TestTrap ];
16211     preCheck = "rm t/16-namespace_clean.t"; # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942275
16212     meta = {
16213       description = "Explicit Options eXtension for Object Class";
16214       homepage = "https://metacpan.org/celogeek/MooX-Options";
16215       license = with lib.licenses; [ artistic1 gpl1Plus ];
16216     };
16217   };
16219   MooXSingleton = buildPerlModule {
16220     pname = "MooX-Singleton";
16221     version = "1.20";
16222     src = fetchurl {
16223       url = "mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz";
16224       hash = "sha256-99dib//emPhewSwe4msB8Tmk3d0vRT6lbDQd8ZTjIQ4=";
16225     };
16226     propagatedBuildInputs = [ RoleTiny ];
16227     buildInputs = [ Moo ];
16228     meta = {
16229       description = "Turn your Moo class into singleton";
16230       homepage = "https://search.cpan.org/dist/MooX-Singleton";
16231       license = with lib.licenses; [ artistic1 gpl1Plus ];
16232     };
16233   };
16235   MooXStrictConstructor = buildPerlPackage {
16236     pname = "MooX-StrictConstructor";
16237     version = "0.011";
16238     src = fetchurl {
16239       url = "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.011.tar.gz";
16240       hash = "sha256-2jgvgi/8TiKgOqQZpCVydJmdNtiaThI27PT892vGU+I=";
16241     };
16242     propagatedBuildInputs = [ Moo strictures ];
16243     buildInputs = [ TestFatal ];
16244     meta = {
16245       description = "Make your Moo-based object constructors blow up on unknown attributes";
16246       homepage = "https://metacpan.org/release/MooX-StrictConstructor";
16247       license = with lib.licenses; [ artistic1 gpl1Plus ];
16248     };
16249   };
16251   MooXTypesMooseLike = buildPerlPackage {
16252     pname = "MooX-Types-MooseLike";
16253     version = "0.29";
16254     src = fetchurl {
16255       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz";
16256       hash = "sha256-HTeAqpvqQwr75lqox25xjxBFzniKrdpBFvWdO3p60rQ=";
16257     };
16258     propagatedBuildInputs = [ ModuleRuntime ];
16259     buildInputs = [ Moo TestFatal ];
16260     meta = {
16261       description = "Some Moosish types and a type builder";
16262       license = with lib.licenses; [ artistic1 gpl1Plus ];
16263     };
16264   };
16266   MooXTypesMooseLikeNumeric = buildPerlPackage {
16267     pname = "MooX-Types-MooseLike-Numeric";
16268     version = "1.03";
16269     src = fetchurl {
16270       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-Numeric-1.03.tar.gz";
16271       hash = "sha256-Fq3rYXuWPQEBeZIsLk6HYt93x1Iy4XMgtFmGjElwxEs=";
16272     };
16273     buildInputs = [ Moo TestFatal ];
16274     propagatedBuildInputs = [ MooXTypesMooseLike ];
16275     meta = {
16276       description = "Moo types for numbers";
16277       license = with lib.licenses; [ artistic1 gpl1Plus ];
16278     };
16279   };
16281   MooXTypeTiny = buildPerlPackage {
16282     pname = "MooX-TypeTiny";
16283     version = "0.002003";
16284     src = fetchurl {
16285       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-TypeTiny-0.002003.tar.gz";
16286       hash = "sha256-2B4m/2+NsQJh8Ah/ltxUNn3LSanz3o1TI4+DTs4ZYks=";
16287     };
16288     buildInputs = [ TestFatal ];
16289     propagatedBuildInputs = [ Moo TypeTiny ];
16290     meta = {
16291       description = "Tiny, yet Moo(se)-compatible type constraint";
16292       homepage = "https://typetiny.toby.ink";
16293       license = with lib.licenses; [ artistic1 gpl1Plus ];
16294     };
16295   };
16297   MooseAutobox = buildPerlModule {
16298     pname = "Moose-Autobox";
16299     version = "0.16";
16300     src = fetchurl {
16301       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz";
16302       hash = "sha256-kkAdpM9ITrcYjsGWtoGG76eCoQK0UeoVbNi4dy5ocFU=";
16303     };
16304     buildInputs = [ ModuleBuildTiny TestException ];
16305     propagatedBuildInputs = [ ListMoreUtils Moose SyntaxKeywordJunction autobox namespaceautoclean ];
16306     meta = {
16307       description = "Autoboxed wrappers for Native Perl datatypes";
16308       homepage = "https://github.com/moose/Moose-Autobox";
16309       license = with lib.licenses; [ artistic1 gpl1Plus ];
16310     };
16311   };
16313   MooseXABC = buildPerlPackage {
16314     pname = "MooseX-ABC";
16315     version = "0.06";
16316     src = fetchurl {
16317       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-ABC-0.06.tar.gz";
16318       hash = "sha256-Tr7suUbkVSssRyH1u/I+9huTJlELVzlr9ZkLEW8Dfuo=";
16319     };
16320     buildInputs = [ TestFatal ];
16321     propagatedBuildInputs = [ Moose ];
16322     meta = {
16323       description = "Abstract base classes for Moose";
16324       homepage = "https://metacpan.org/release/MooseX-ABC";
16325       license = with lib.licenses; [ artistic1 gpl1Plus ];
16326     };
16327   };
16329   MooseXAliases = buildPerlPackage {
16330     pname = "MooseX-Aliases";
16331     version = "0.11";
16332     src = fetchurl {
16333       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-Aliases-0.11.tar.gz";
16334       hash = "sha256-xIUPlyQmw0R6ru2Ny0Az6ERgylFwWtPqeLY6+Rn+B0g=";
16335     };
16336     buildInputs = [ TestFatal ];
16337     propagatedBuildInputs = [ Moose ];
16338     meta = {
16339       description = "Easy aliasing of methods and attributes in Moose";
16340       license = with lib.licenses; [ artistic1 gpl1Plus ];
16341     };
16342   };
16344   MooseXAppCmd = buildPerlModule {
16345     pname = "MooseX-App-Cmd";
16346     version = "0.32";
16347     src = fetchurl {
16348       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-App-Cmd-0.32.tar.gz";
16349       hash = "sha256-Lju/coOkvuctkdJusgRDYDCZK75Vy9NewzpUbxb5c/8=";
16350     };
16351     buildInputs = [ ModuleBuildTiny MooseXConfigFromFile TestOutput YAML ];
16352     propagatedBuildInputs = [ AppCmd MooseXGetopt MooseXNonMoose ];
16353     meta = {
16354       description = "Mashes up MooseX::Getopt and App::Cmd";
16355       homepage = "https://github.com/moose/MooseX-App-Cmd";
16356       license = with lib.licenses; [ artistic1 gpl1Plus ];
16357     };
16358   };
16360   MooseXStorageFormatJSONpm = buildPerlPackage {
16361     pname = "MooseX-Storage-Format-JSONpm";
16362     version = "0.093093";
16363     src = fetchurl {
16364       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Storage-Format-JSONpm-0.093093.tar.gz";
16365       hash = "sha256-6+BAen6xhwJw4OJXnwl9/X3yrqMwf7cfMk+2niQsxY8=";
16366     };
16367     buildInputs = [ Moose TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
16368     propagatedBuildInputs = [ JSON MooseXRoleParameterized MooseXStorage namespaceautoclean ];
16369     meta = {
16370       description = "A format role for MooseX::Storage using JSON.pm";
16371       homepage = "https://github.com/rjbs/MooseX-Storage-Format-JSONpm";
16372       license = with lib.licenses; [ artistic1 gpl1Plus ];
16373     };
16374   };
16376   MooX = buildPerlPackage {
16377     pname = "MooX";
16378     version = "0.101";
16379     src = fetchurl {
16380       url = "mirror://cpan/authors/id/G/GE/GETTY/MooX-0.101.tar.gz";
16381       hash = "sha256-L/kaZW54quCspCKTgp16flrLm/IrBAFjWyq2yHDeMtU=";
16382     };
16383     propagatedBuildInputs = [ DataOptList ImportInto Moo ];
16384     meta = {
16385       description = "Using Moo and MooX:: packages the most lazy way";
16386       homepage = "https://github.com/Getty/p5-moox";
16387       license = with lib.licenses; [ artistic1 gpl1Plus ];
16388     };
16389   };
16391   MooXAliases = buildPerlPackage {
16392     pname = "MooX-Aliases";
16393     version = "0.001006";
16394     src = fetchurl {
16395       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-Aliases-0.001006.tar.gz";
16396       hash = "sha256-AWAxJ4ysYSY9AZUt/lv7XztGtLhCsv/6nyybiKrGOGc=";
16397     };
16398     propagatedBuildInputs = [ Moo strictures ];
16399     buildInputs = [ TestFatal ];
16400     meta = {
16401       description = "Easy aliasing of methods and attributes in Moo";
16402       license = with lib.licenses; [ artistic1 gpl1Plus ];
16403     };
16404   };
16406   MooXCmd = buildPerlPackage {
16407     pname = "MooX-Cmd";
16408     version = "0.017";
16409     src = fetchurl {
16410       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz";
16411       hash = "sha256-lD/yjaqAiXMnx8X+xacQDPqsktrw+fl8OOOnfQCucPU=";
16412     };
16413     propagatedBuildInputs = [ ListMoreUtils ModulePluggable Moo PackageStash ParamsUtil RegexpCommon ];
16414     buildInputs = [ CaptureTiny ];
16415     meta = {
16416       description = "Giving an easy Moo style way to make command organized CLI apps";
16417       homepage = "https://metacpan.org/release/MooX-Cmd";
16418       license = with lib.licenses; [ artistic1 gpl1Plus ];
16419     };
16420   };
16422   MooXlate = buildPerlPackage {
16423     pname = "MooX-late";
16424     version = "0.100";
16425     src = fetchurl {
16426       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.100.tar.gz";
16427       hash = "sha256-KuWx49pavA5ABieOy8+o+nwiTqVSmmpoisuyKcCeal8=";
16428     };
16429     buildInputs = [ TestFatal TestRequires ];
16430     propagatedBuildInputs = [ Moo SubHandlesVia ];
16431     meta = {
16432       description = "Easily translate Moose code to Moo";
16433       homepage = "https://metacpan.org/release/MooX-late";
16434       license = with lib.licenses; [ artistic1 gpl1Plus ];
16435     };
16436   };
16438   MouseXSimpleConfig = buildPerlPackage {
16439     pname = "MouseX-SimpleConfig";
16440     version = "0.11";
16441     src = fetchurl {
16442       url = "mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz";
16443       hash = "sha256-JX84QJHTPTQDc6YVOUcDnGmNxEnR75iTNWRPw9LaAGk=";
16444     };
16445     propagatedBuildInputs = [ ConfigAny MouseXConfigFromFile ];
16446     meta = {
16447       description = "A Mouse role for setting attributes from a simple configfile";
16448       license = with lib.licenses; [ artistic1 gpl1Plus ];
16449     };
16450   };
16452   TestPostgreSQL = buildPerlModule {
16453     pname = "Test-PostgreSQL";
16454     version = "1.29";
16455     src = fetchurl {
16456       url = "mirror://cpan/authors/id/T/TJ/TJC/Test-PostgreSQL-1.29.tar.gz";
16457       hash = "sha256-GKz35YnKTMqc3kdgm1NsnYI8hWLRqlIQwWjl6xuOT54=";
16458     };
16459     buildInputs = [ ModuleBuildTiny TestSharedFork pkgs.postgresql ];
16460     propagatedBuildInputs = [ DBDPg DBI FileWhich FunctionParameters Moo TieHashMethod TryTiny TypeTiny ];
16462     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
16464     meta = {
16465       description = "PostgreSQL runner for tests";
16466       homepage = "https://github.com/TJC/Test-postgresql";
16467       license = with lib.licenses; [ artistic2 ];
16468     };
16469   };
16471   TestUseAllModules = buildPerlPackage {
16472     pname = "Test-UseAllModules";
16473     version = "0.17";
16474     src = fetchurl {
16475       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz";
16476       hash = "sha256-px8v6LlquL/Cdgqh0xNeoEmlsg3LEFRXt2mhGVx6JQk=";
16477     };
16478     meta = {
16479       description = "Do use_ok() for all the MANIFESTed modules";
16480       license = with lib.licenses; [ artistic1 gpl1Plus ];
16481     };
16482   };
16484   TestValgrind = buildPerlPackage {
16485     pname = "Test-Valgrind";
16486     version = "1.19";
16487     src = fetchurl {
16488       url = "mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz";
16489       hash = "sha256-GDinoV/ueo8Gnk5rRhxeFpBYthW437Q3hLPV2hpggRs=";
16490     };
16491     propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
16492     meta = {
16493       description = "Generate suppressions, analyse and test any command with valgrind";
16494       homepage = "https://search.cpan.org/dist/Test-Valgrind";
16495       license = with lib.licenses; [ artistic1 gpl1Plus ];
16496     };
16497   };
16499   MouseXTypesPathClass = buildPerlPackage {
16500     pname = "MouseX-Types-Path-Class";
16501     version = "0.07";
16502     src = fetchurl {
16503       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz";
16504       hash = "sha256-Io1LTz8O2VRyeGkdC3xf5T2Qh0pp33CaSXA8avh8Cd4=";
16505     };
16506     buildInputs = [ TestUseAllModules ];
16507     propagatedBuildInputs = [ MouseXTypes PathClass ];
16508     meta = {
16509       description = "Cross-platform path specification manipulation";
16510       license = with lib.licenses; [ artistic1 gpl1Plus ];
16511     };
16512   };
16514   MouseXTypes = buildPerlPackage {
16515     pname = "MouseX-Types";
16516     version = "0.06";
16517     src = fetchurl {
16518       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz";
16519       hash = "sha256-dyiEQf2t0Vvu7JoIE+zorsFULx2M6q7BR1Wz8xb7z4s=";
16520     };
16521     buildInputs = [ TestException ];
16522     propagatedBuildInputs = [ AnyMoose ];
16523     meta = {
16524       description = "Organize your Mouse types in libraries";
16525       license = with lib.licenses; [ artistic1 gpl1Plus ];
16526     };
16527   };
16529   MouseXConfigFromFile = buildPerlPackage {
16530     pname = "MouseX-ConfigFromFile";
16531     version = "0.05";
16532     src = fetchurl {
16533       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz";
16534       hash = "sha256-khsxyxP8H5gqYC+OI4Fbet0joiQlfkN5Dih1BM6HlTQ=";
16535     };
16536     buildInputs = [ TestUseAllModules ];
16537     propagatedBuildInputs = [ MouseXTypesPathClass ];
16538     meta = {
16539       description = "An abstract Mouse role for setting attributes from a configfile";
16540       license = with lib.licenses; [ artistic1 gpl1Plus ];
16541     };
16542   };
16544   MouseXGetopt = buildPerlModule {
16545     pname = "MouseX-Getopt";
16546     version = "0.38";
16547     src = fetchurl {
16548       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz";
16549       hash = "sha256-3j6o70Ut2VAeqMTtqHRLciRgJgKwRpJgft19YrefA48=";
16550     };
16551     buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
16552     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
16553     meta = {
16554       description = "A Mouse role for processing command line options";
16555       homepage = "https://github.com/gfx/mousex-getopt";
16556       license = with lib.licenses; [ artistic1 gpl1Plus ];
16557     };
16558   };
16560   MooseXAttributeChained = buildPerlModule {
16561     pname = "MooseX-Attribute-Chained";
16562     version = "1.0.3";
16563     src = fetchurl {
16564       url = "mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz";
16565       hash = "sha256-5+OKp8O3i1c06dQ892gy/OAHZ+alPV3Xmhci2GdtXk4=";
16566     };
16567     propagatedBuildInputs = [ Moose ];
16568     meta = {
16569       description = "Attribute that returns the instance to allow for chaining";
16570       license = with lib.licenses; [ artistic1 gpl1Plus ];
16571     };
16572   };
16574   MooseXAttributeHelpers = buildPerlModule {
16575     pname = "MooseX-AttributeHelpers";
16576     version = "0.25";
16577     src = fetchurl {
16578       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-AttributeHelpers-0.25.tar.gz";
16579       hash = "sha256-sMgZ7IOZmyWLJI+CBZ+ll1oM7jZUI6u+4O+spUAcXsY=";
16580     };
16581     buildInputs = [ ModuleBuildTiny TestException ];
16582     propagatedBuildInputs = [ Moose ];
16583     meta = {
16584       description = "(DEPRECATED) Extend your attribute interfaces";
16585       homepage = "https://github.com/moose/MooseX-AttributeHelpers";
16586       license = with lib.licenses; [ artistic1 gpl1Plus ];
16587     };
16588   };
16590   MooseXClone = buildPerlModule {
16591     pname = "MooseX-Clone";
16592     version = "0.06";
16593     src = fetchurl {
16594       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz";
16595       hash = "sha256-y9eCXbnnSwU/UkVEoBTwZv3OKQMW67Vo+HZ5GBs5jac=";
16596     };
16597     propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat namespaceautoclean ];
16598     buildInputs = [ ModuleBuildTiny ];
16599     meta = {
16600       description = "Fine-grained cloning support for Moose objects";
16601       license = with lib.licenses; [ artistic1 gpl1Plus ];
16602     };
16603   };
16605   MooseXConfigFromFile = buildPerlModule {
16606     pname = "MooseX-ConfigFromFile";
16607     version = "0.14";
16608     src = fetchurl {
16609       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.14.tar.gz";
16610       hash = "sha256-mtNDzZ+G1xS+m1S5xopEPYrMZQG2rWsV6coBMLLpbwg=";
16611     };
16612     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestRequires TestWithoutModule ];
16613     propagatedBuildInputs = [ MooseXTypesPathTiny ];
16614     meta = {
16615       description = "An abstract Moose role for setting attributes from a configfile";
16616       homepage = "https://github.com/moose/MooseX-ConfigFromFile";
16617       license = with lib.licenses; [ artistic1 gpl1Plus ];
16618     };
16619   };
16621   MooseXDaemonize = buildPerlModule {
16622     pname = "MooseX-Daemonize";
16623     version = "0.22";
16624     src = fetchurl {
16625       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Daemonize-0.22.tar.gz";
16626       hash = "sha256-in+5mdypuAKoUTahAUGy0zeKPs3gUnwd9z1V7bKOWbM=";
16627     };
16628     buildInputs = [ DevelCheckOS ModuleBuildTiny TestFatal ];
16629     propagatedBuildInputs = [ MooseXGetopt MooseXTypesPathClass ];
16630     meta = {
16631       description = "Role for daemonizing your Moose based application";
16632       homepage = "https://github.com/moose/MooseX-Daemonize";
16633       license = with lib.licenses; [ artistic1 gpl1Plus ];
16634     };
16635   };
16637   MooseXEmulateClassAccessorFast = buildPerlPackage {
16638     pname = "MooseX-Emulate-Class-Accessor-Fast";
16639     version = "0.009032";
16640     src = fetchurl {
16641       url = "mirror://cpan/authors/id/H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz";
16642       hash = "sha256-gu637x8NJUGK5AbqJpErJBQo1LKrlRDV6d6z9ywYeZQ=";
16643     };
16644     buildInputs = [ TestException ];
16645     propagatedBuildInputs = [ Moose namespaceclean ];
16646     meta = {
16647       description = "Emulate Class::Accessor::Fast behavior using Moose attributes";
16648       license = with lib.licenses; [ artistic1 gpl1Plus ];
16649     };
16650   };
16652   MooseXGetopt = buildPerlModule {
16653     pname = "MooseX-Getopt";
16654     version = "0.74";
16655     src = fetchurl {
16656       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.74.tar.gz";
16657       hash = "sha256-HeDfO0Mevp81Y730Vp6s1+B+hlqDl/KpkNDLV9TLLCQ=";
16658     };
16659     buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestNeeds TestTrap TestWarnings ];
16660     propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ];
16661     meta = {
16662       description = "A Moose role for processing command line options";
16663       homepage = "https://github.com/moose/MooseX-Getopt";
16664       license = with lib.licenses; [ artistic1 gpl1Plus ];
16665     };
16666   };
16668   MooseXHasOptions = buildPerlPackage {
16669     pname = "MooseX-Has-Options";
16670     version = "0.003";
16671     src = fetchurl {
16672       url = "mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz";
16673       hash = "sha256-B8Ic+O1QCycgIP+NoZ8ZRyi7QU4AEqLwzFTvLvYiKmg=";
16674     };
16675     buildInputs = [ Moose TestDeep TestDifferences TestException TestMost TestWarn namespaceautoclean ];
16676     propagatedBuildInputs = [ ClassLoad ListMoreUtils StringRewritePrefix ];
16677     meta = {
16678       description = "Succinct options for Moose";
16679       homepage = "https://github.com/pshangov/moosex-has-options";
16680       license = with lib.licenses; [ artistic1 gpl1Plus ];
16681     };
16682   };
16684   MooseXHasSugar = buildPerlPackage {
16685     pname = "MooseX-Has-Sugar";
16686     version = "1.000006";
16687     src = fetchurl {
16688       url = "mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz";
16689       hash = "sha256-7+7T3bOo6hj0FtSF88KwQnFF0mfmM2jGUdSI6qjCjQk=";
16690     };
16691     buildInputs = [ TestFatal namespaceclean ];
16692     propagatedBuildInputs = [ SubExporterProgressive ];
16693     meta = {
16694       description = "Sugar Syntax for moose 'has' fields";
16695       homepage = "https://github.com/kentnl/MooseX-Has-Sugar";
16696       license = with lib.licenses; [ artistic1 gpl1Plus ];
16697     };
16698   };
16700   MooseXLazyRequire = buildPerlModule {
16701     pname = "MooseX-LazyRequire";
16702     version = "0.11";
16703     src = fetchurl {
16704       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz";
16705       hash = "sha256-72IMHgGdr5zz8jqUPSWpTJHpOrMSvNY74ul0DsC5Qog=";
16706     };
16707     buildInputs = [ ModuleBuildTiny TestFatal ];
16708     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
16709     meta = {
16710       description = "Required attributes which fail only when trying to use them";
16711       homepage = "https://github.com/moose/MooseX-LazyRequire";
16712       license = with lib.licenses; [ artistic1 gpl1Plus ];
16713     };
16714   };
16716   MooseXMarkAsMethods = buildPerlPackage {
16717     pname = "MooseX-MarkAsMethods";
16718     version = "0.15";
16719     src = fetchurl {
16720       url = "mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz";
16721       hash = "sha256-yezBM3bQ/326SBl3M3wz6nTl0makKLavMVUqKRnvfvg=";
16722     };
16723     propagatedBuildInputs = [ Moose namespaceautoclean ];
16724     meta = {
16725       description = "Mark overload code symbols as methods";
16726       homepage = "https://metacpan.org/release/MooseX-MarkAsMethods";
16727       license = with lib.licenses; [ lgpl21Only ];
16728     };
16729   };
16731   MooseXMethodAttributes = buildPerlPackage {
16732     pname = "MooseX-MethodAttributes";
16733     version = "0.32";
16734     src = fetchurl {
16735       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.32.tar.gz";
16736       hash = "sha256-yzOIZXS30t05xCwNzccHrNsK7H273pohwEImYDaMGXs=";
16737     };
16738     buildInputs = [ MooseXRoleParameterized TestFatal TestNeeds ];
16739     propagatedBuildInputs = [ Moose namespaceautoclean ];
16740     meta = {
16741       description = "Code attribute introspection";
16742       homepage = "https://github.com/moose/MooseX-MethodAttributes";
16743       license = with lib.licenses; [ artistic1 gpl1Plus ];
16744     };
16745   };
16747   MooseXNonMoose = buildPerlPackage {
16748     pname = "MooseX-NonMoose";
16749     version = "0.26";
16750     src = fetchurl {
16751       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz";
16752       hash = "sha256-y75S7PFgOCMfvX8sxrzhZqNWnIyzlq6A7EUXwuCNqn0=";
16753     };
16754     buildInputs = [ TestFatal ];
16755     propagatedBuildInputs = [ ListMoreUtils Moose ];
16756     meta = {
16757       description = "Easy subclassing of non-Moose classes";
16758       homepage = "https://metacpan.org/release/MooseX-NonMoose";
16759       license = with lib.licenses; [ artistic1 gpl1Plus ];
16760     };
16761   };
16763   MooseXOneArgNew = buildPerlPackage {
16764     pname = "MooseX-OneArgNew";
16765     version = "0.005";
16766     src = fetchurl {
16767       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.005.tar.gz";
16768       hash = "sha256-fk/PR06mxCRPCIXxBmcpz9xHL71xkN1BtLVbzWfDED8=";
16769     };
16770     propagatedBuildInputs = [ MooseXRoleParameterized ];
16771     meta = {
16772       description = "Teach ->new to accept single, non-hashref arguments";
16773       homepage = "https://github.com/rjbs/MooseX-OneArgNew";
16774       license = with lib.licenses; [ artistic1 gpl1Plus ];
16775     };
16776   };
16778   MooseXRelatedClassRoles = buildPerlPackage {
16779     pname = "MooseX-RelatedClassRoles";
16780     version = "0.004";
16781     src = fetchurl {
16782       url = "mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz";
16783       hash = "sha256-MNt6I33SYCIhb/+5cLmFKFNHEws2kjxxGqCVaty0fp8=";
16784     };
16785     propagatedBuildInputs = [ MooseXRoleParameterized ];
16786     meta = { description = "Apply roles to a class related to yours";
16787       license = with lib.licenses; [ artistic1 gpl1Plus ];
16788     };
16789   };
16791   MooseXParamsValidate = buildPerlPackage {
16792     pname = "MooseX-Params-Validate";
16793     version = "0.21";
16794     src = fetchurl {
16795       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz";
16796       hash = "sha256-iClURqupmcu4+ZjX+5onAdZhc5SlHW1yTHdObZ/xOdk=";
16797     };
16798     buildInputs = [ TestFatal ];
16799     propagatedBuildInputs = [ DevelCaller Moose ParamsValidate ];
16800     meta = {
16801       description = "An extension of Params::Validate using Moose's types";
16802       license = with lib.licenses; [ artistic1 gpl1Plus ];
16803     };
16804   };
16806   MooseXRoleParameterized = buildPerlModule {
16807     pname = "MooseX-Role-Parameterized";
16808     version = "1.11";
16809     src = fetchurl {
16810       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz";
16811       hash = "sha256-HP52bF1/Dsq1f3M9zKQwoqKs1rmVdXFBuUCt42kr7J4=";
16812     };
16813     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
16814     propagatedBuildInputs = [ Moose namespaceautoclean ];
16815     meta = {
16816       description = "Moose roles with composition parameters";
16817       homepage = "https://github.com/moose/MooseX-Role-Parameterized";
16818       license = with lib.licenses; [ artistic1 gpl1Plus ];
16819     };
16820   };
16822   MooseXRoleWithOverloading = buildPerlPackage {
16823     pname = "MooseX-Role-WithOverloading";
16824     version = "0.17";
16825     src = fetchurl {
16826       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.17.tar.gz";
16827       hash = "sha256-krCV1z8SIPnC7S06qlugcutaot4gm3xFXaWocBuYaGU=";
16828     };
16829     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
16830     meta = {
16831       description = "(DEPRECATED) Roles which support overloading";
16832       homepage = "https://github.com/moose/MooseX-Role-WithOverloading";
16833       license = with lib.licenses; [ artistic1 gpl1Plus ];
16834     };
16835   };
16837   MooseXRunnable = buildPerlModule {
16838     pname = "MooseX-Runnable";
16839     version = "0.10";
16840     src = fetchurl {
16841       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Runnable-0.10.tar.gz";
16842       hash = "sha256-QNj9G1UkrpZZZaHxRNegoMhQWUxSRAKyMZsk1cSvEZk=";
16843     };
16844     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 TestTableDriven ];
16845     propagatedBuildInputs = [ ListSomeUtils MooseXTypesPathTiny ];
16846     meta = {
16847       description = "Tag a class as a runnable application";
16848       homepage = "https://github.com/moose/MooseX-Runnable";
16849       license = with lib.licenses; [ artistic1 gpl1Plus ];
16850       mainProgram = "mx-run";
16851     };
16852   };
16854   MooseXSemiAffordanceAccessor = buildPerlPackage {
16855     pname = "MooseX-SemiAffordanceAccessor";
16856     version = "0.10";
16857     src = fetchurl {
16858       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz";
16859       hash = "sha256-pbhXdrzd7RaAJ6H/ZktBxfZYhnIc3VQ+OvnVN1misdU=";
16860     };
16861     propagatedBuildInputs = [ Moose ];
16862     meta = {
16863       description = "Name your accessors foo() and set_foo()";
16864       license = with lib.licenses; [ artistic2 ];
16865     };
16866   };
16868   MooseXSetOnce = buildPerlPackage {
16869     pname = "MooseX-SetOnce";
16870     version = "0.200002";
16871     src = fetchurl {
16872       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz";
16873       hash = "sha256-y+0Gt/zTU/DZm/gKh8HAtYEWBpcjGzrZpgjaIxuitlk=";
16874     };
16875     buildInputs = [ TestFatal ];
16876     propagatedBuildInputs = [ Moose ];
16877     meta = {
16878       description = "Write-once, read-many attributes for Moose";
16879       license = with lib.licenses; [ artistic1 gpl1Plus ];
16880     };
16881   };
16883   MooseXSingleton = buildPerlModule {
16884     pname = "MooseX-Singleton";
16885     version = "0.30";
16886     src = fetchurl {
16887       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz";
16888       hash = "sha256-ZYSy8xsdPrbdfiMShzjnP2wBWxUhOLCoFX09DVnQZUE=";
16889     };
16890     buildInputs = [ ModuleBuildTiny TestFatal TestRequires TestWarnings ];
16891     propagatedBuildInputs = [ Moose ];
16892     meta = {
16893       description = "Turn your Moose class into a singleton";
16894       license = with lib.licenses; [ artistic1 gpl1Plus ];
16895     };
16896   };
16898   MooseXStorage = buildPerlPackage {
16899     pname = "MooseX-Storage";
16900     version = "0.53";
16901     src = fetchurl {
16902       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Storage-0.53.tar.gz";
16903       hash = "sha256-hwS/5QX2azQPYuhcn/MZwZ6WcLJtSwEskfThA7HarOA=";
16904     };
16905     buildInputs = [ TestDeep TestDeepType TestFatal TestNeeds TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
16906     propagatedBuildInputs = [ ModuleRuntime Moose MooseXRoleParameterized PodCoverage StringRewritePrefix namespaceautoclean IOStringy JSON JSONXS JSONMaybeXS CpanelJSONXS YAML YAMLOld YAMLTiny YAMLLibYAML YAMLSyck ];
16907     meta = {
16908       description = "A serialization framework for Moose classes";
16909       homepage = "https://github.com/moose/MooseX-Storage";
16910       license = with lib.licenses; [ artistic1 gpl1Plus ];
16911     };
16912   };
16914   MooseXStrictConstructor = buildPerlPackage {
16915     pname = "MooseX-StrictConstructor";
16916     version = "0.21";
16917     src = fetchurl {
16918       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz";
16919       hash = "sha256-xypa6Vg3Bszexx1AHcswVAE6dTa3UN8UNmE9hY6ikg0=";
16920     };
16921     buildInputs = [ Moo TestFatal TestNeeds ];
16922     propagatedBuildInputs = [ Moose namespaceautoclean ];
16923     meta = {
16924       description = "Make your object constructors blow up on unknown attributes";
16925       homepage = "https://metacpan.org/release/MooseX-StrictConstructor";
16926       license = with lib.licenses; [ artistic2 ];
16927     };
16928   };
16930   MooseXTraits = buildPerlModule {
16931     pname = "MooseX-Traits";
16932     version = "0.13";
16933     src = fetchurl {
16934       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Traits-0.13.tar.gz";
16935       hash = "sha256-dK/gxPr047l8V/KJQ3yqYL7Mo0zVgh9IndTMnaT74po=";
16936     };
16937     buildInputs = [ ModuleBuildTiny MooseXRoleParameterized TestFatal TestRequires TestSimple13 ];
16938     propagatedBuildInputs = [ Moose namespaceautoclean ];
16939     meta = {
16940       description = "Automatically apply roles at object creation time";
16941       homepage = "https://github.com/moose/MooseX-Traits";
16942       license = with lib.licenses; [ artistic1 gpl1Plus ];
16943     };
16944   };
16946   MooseXTraitsPluggable = buildPerlPackage {
16947     pname = "MooseX-Traits-Pluggable";
16948     version = "0.12";
16949     src = fetchurl {
16950       url = "mirror://cpan/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.12.tar.gz";
16951       hash = "sha256-q5a3lQ7L8puDb9/uu+Cqwiylc+cYO+fLfW0S3yKrWMo=";
16952     };
16953     buildInputs = [ TestException ];
16954     propagatedBuildInputs = [ ListMoreUtils Moose namespaceautoclean ];
16955     meta = {
16956       description = "Trait loading and resolution for Moose";
16957       license = with lib.licenses; [ artistic1 gpl1Plus ];
16958     };
16959   };
16961   MooseXTypes = buildPerlModule {
16962     pname = "MooseX-Types";
16963     version = "0.50";
16964     src = fetchurl {
16965       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.50.tar.gz";
16966       hash = "sha256-nNh7NJLL8L6dLfkxeyrfn8MGY3cOaZBmVL6j9BsXywg=";
16967     };
16968     buildInputs = [ ModuleBuildTiny TestFatal TestRequires ];
16969     propagatedBuildInputs = [ CarpClan Moose SubExporterForMethods namespaceautoclean ];
16970     meta = {
16971       description = "Organise your Moose types in libraries";
16972       homepage = "https://github.com/moose/MooseX-Types";
16973       license = with lib.licenses; [ artistic1 gpl1Plus ];
16974     };
16975   };
16977   MooseXTypesCommon = buildPerlModule {
16978     pname = "MooseX-Types-Common";
16979     version = "0.001014";
16980     src = fetchurl {
16981       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz";
16982       hash = "sha256-75Nxi20vJA1QtcOssadLTCoZGGllFHAAGoK+HzXQ7w8=";
16983     };
16984     buildInputs = [ ModuleBuildTiny TestDeep TestWarnings ];
16985     propagatedBuildInputs = [ MooseXTypes ];
16986     meta = {
16987       description = "A library of commonly used type constraints";
16988       homepage = "https://github.com/moose/MooseX-Types-Common";
16989       license = with lib.licenses; [ artistic1 gpl1Plus ];
16990     };
16991   };
16993   MooseXTypesDateTime = buildPerlModule {
16994     pname = "MooseX-Types-DateTime";
16995     version = "0.13";
16996     src = fetchurl {
16997       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-0.13.tar.gz";
16998       hash = "sha256-uJ+iZjb2oX6qOGi0UUNARytou9whYaHXmiKhv1sdOcY=";
16999     };
17000     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
17001     propagatedBuildInputs = [ DateTime MooseXTypes ];
17002     meta = {
17003       description = "DateTime related constraints and coercions for Moose";
17004       homepage = "https://github.com/moose/MooseX-Types-DateTime";
17005       license = with lib.licenses; [ artistic1 gpl1Plus ];
17006     };
17007   };
17009   MooseXTypesDateTimeMoreCoercions = buildPerlModule {
17010     pname = "MooseX-Types-DateTime-MoreCoercions";
17011     version = "0.15";
17012     src = fetchurl {
17013       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz";
17014       hash = "sha256-Ibs6WXcZiI7bbOqhMkGNXPkuy5KlDM43uUJZpV4ON5Y=";
17015     };
17016     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
17017     propagatedBuildInputs = [ DateTimeXEasy MooseXTypesDateTime TimeDurationParse ];
17018     meta = {
17019       description = "Extensions to MooseX::Types::DateTime";
17020       homepage = "https://github.com/moose/MooseX-Types-DateTime-MoreCoercions";
17021       license = with lib.licenses; [ artistic1 gpl1Plus ];
17022     };
17023   };
17025   MooseXTypesLoadableClass = buildPerlModule {
17026     pname = "MooseX-Types-LoadableClass";
17027     version = "0.015";
17028     src = fetchurl {
17029       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz";
17030       hash = "sha256-4DfTd4JT3PkpRkNXFbraDmRJwKKAj6P/MqllBk1aO/Q=";
17031     };
17032     buildInputs = [ ModuleBuildTiny TestFatal ];
17033     propagatedBuildInputs = [ MooseXTypes ];
17034     meta = {
17035       description = "ClassName type constraint with coercion to load the class";
17036       homepage = "https://github.com/moose/MooseX-Types-LoadableClass";
17037       license = with lib.licenses; [ artistic1 gpl1Plus ];
17038     };
17039   };
17041   MooseXTypesPathClass = buildPerlModule {
17042     pname = "MooseX-Types-Path-Class";
17043     version = "0.09";
17044     src = fetchurl {
17045       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz";
17046       hash = "sha256-54S6tTaYrpWnCahmMwYUX/7FVmjfbPMWFTM1I/vn734=";
17047     };
17048     propagatedBuildInputs = [ MooseXTypes PathClass ];
17049     buildInputs = [ ModuleBuildTiny TestNeeds ];
17050     meta = {
17051       description = "A Path::Class type library for Moose";
17052       license = with lib.licenses; [ artistic1 gpl1Plus ];
17053     };
17054   };
17056   MooseXTypesPathTiny = buildPerlModule {
17057     pname = "MooseX-Types-Path-Tiny";
17058     version = "0.012";
17059     src = fetchurl {
17060       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz";
17061       hash = "sha256-Ge7eAt1lTnD3PjTNevAGN2UXO8rv7v8b2+ITGOz9kVg=";
17062     };
17063     buildInputs = [ Filepushd ModuleBuildTiny TestFatal ];
17064     propagatedBuildInputs = [ MooseXGetopt MooseXTypesStringlike PathTiny ];
17065     meta = {
17066       description = "Path::Tiny types and coercions for Moose";
17067       homepage = "https://github.com/karenetheridge/moosex-types-path-tiny";
17068       license = with lib.licenses; [ asl20 ];
17069     };
17070   };
17072   MooseXTypesPerl = buildPerlPackage {
17073     pname = "MooseX-Types-Perl";
17074     version = "0.101343";
17075     src = fetchurl {
17076       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz";
17077       hash = "sha256-8IS+rzwzIJxo0F1NvCTCXWBKZFi5c42W3OsIbI7xMlo=";
17078     };
17079     propagatedBuildInputs = [ MooseXTypes ];
17080     meta = {
17081       description = "Moose types that check against Perl syntax";
17082       homepage = "https://github.com/rjbs/MooseX-Types-Perl";
17083       license = with lib.licenses; [ artistic1 gpl1Plus ];
17084     };
17085   };
17087   MooseXTypesStringlike = buildPerlPackage {
17088     pname = "MooseX-Types-Stringlike";
17089     version = "0.003";
17090     src = fetchurl {
17091       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz";
17092       hash = "sha256-LuNJ7FxSmm80f0L/ZA5HskVWS5PMowXfY8eCH1tVzxk=";
17093     };
17094     propagatedBuildInputs = [ MooseXTypes ];
17095     meta = {
17096       description = "Moose type constraints for strings or string-like objects";
17097       homepage = "https://github.com/dagolden/MooseX-Types-Stringlike";
17098       license = with lib.licenses; [ asl20 ];
17099     };
17100   };
17102   MooseXTypesStructured = buildPerlModule {
17103     pname = "MooseX-Types-Structured";
17104     version = "0.36";
17105     src = fetchurl {
17106       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz";
17107       hash = "sha256-Q822UvljhyPjV3yw+LVGhiAkTJY252WYEeW0qAFgPVc=";
17108     };
17109     buildInputs = [ DateTime ModuleBuildTiny MooseXTypesDateTime TestFatal TestNeeds ];
17110     propagatedBuildInputs = [ DevelPartialDump MooseXTypes ];
17111     meta = {
17112       description = "Structured Type Constraints for Moose";
17113       homepage = "https://github.com/moose/MooseX-Types-Structured";
17114       license = with lib.licenses; [ artistic1 gpl1Plus ];
17115     };
17116   };
17118   MooseXTypesURI = buildPerlModule {
17119     pname = "MooseX-Types-URI";
17120     version = "0.08";
17121     src = fetchurl {
17122       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.08.tar.gz";
17123       hash = "sha256-0xDSD6Nh/i3/dYI234eUnMe/mOXPOnx5EVNl7M3mzME=";
17124     };
17125     buildInputs = [ ModuleBuildTiny TestSimple13 ];
17126     propagatedBuildInputs = [ MooseXTypesPathClass URIFromHash ];
17127     meta = {
17128       description = "URI related types and coercions for Moose";
17129       homepage = "https://github.com/moose/MooseX-Types-URI";
17130       license = with lib.licenses; [ artistic1 gpl1Plus ];
17131     };
17132   };
17134   MP3Info = buildPerlPackage {
17135     pname = "MP3-Info";
17136     version = "1.26";
17137     src = fetchurl {
17138       url = "mirror://cpan/authors/id/J/JM/JMERELO/MP3-Info-1.26.tar.gz";
17139       hash = "sha256-V2I0BzJCHyUCp3DWoSblhPLNljNR0rwle9J4w5vOi+c=";
17140     };
17141     meta = {
17142       description = "Manipulate / fetch info from MP3 audio files";
17143       license = with lib.licenses; [ artistic1 gpl1Plus ];
17144     };
17145   };
17147   MP3Tag = buildPerlPackage {
17148     pname = "MP3-Tag";
17149     version = "1.15";
17150     src = fetchurl {
17151       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/MP3-Tag-1.15.zip";
17152       hash = "sha256-qqxI9GN+3KQI/Xk4G8C/8PmxG9jh6U3gWdrpkzZfVtE=";
17153     };
17154     buildInputs = [ pkgs.unzip ];
17156     postPatch = ''
17157       substituteInPlace Makefile.PL --replace "'PL_FILES'" "#'PL_FILES'"
17158     '';
17159     postFixup = ''
17160       perl data_pod.PL PERL5LIB:$PERL5LIB
17161     '';
17162     outputs = [ "out" ];
17163     meta = {
17164       description = "Module for reading tags of MP3 audio files";
17165       license = with lib.licenses; [ artistic1 ];
17166     };
17167   };
17169   Mouse = buildPerlModule {
17170     pname = "Mouse";
17171     version = "2.5.10";
17172     src = fetchurl {
17173       url = "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.10.tar.gz";
17174       hash = "sha256-zo3COUYVOkZ/8JdlFn7iWQ9cUCEg9IotlEFzPzmqMu4=";
17175     };
17176     buildInputs = [ ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny ];
17177     perlPreHook = "export LD=$CC";
17178     NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isi686 "-fno-stack-protector";
17179     hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
17180     meta = {
17181       description = "Moose minus the antlers";
17182       license = with lib.licenses; [ artistic1 gpl1Plus ];
17183     };
17184   };
17186   MouseXNativeTraits = buildPerlPackage {
17187     pname = "MouseX-NativeTraits";
17188     version = "1.09";
17189     src = fetchurl {
17190       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-NativeTraits-1.09.tar.gz";
17191       hash = "sha256-+KW/WihwLfsTyAk75cQcq5xfwcXSR6uR4i591ydky14=";
17192     };
17193     buildInputs = [ AnyMoose TestFatal ];
17194     propagatedBuildInputs = [ Mouse ];
17195     meta = {
17196       description = "Extend your attribute interfaces for Mouse";
17197       license = with lib.licenses; [ artistic1 gpl1Plus ];
17198     };
17199   };
17201   MozillaCA = buildPerlPackage {
17202     pname = "Mozilla-CA";
17203     version = "20200520";
17204     src = fetchurl {
17205       url = "mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-20200520.tar.gz";
17206       hash = "sha256-s8oAAjEL8koWwNWSC96pei9G53574+c3foUNAzOHxyY=";
17207     };
17209     postPatch = ''
17210       ln -s --force ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt lib/Mozilla/CA/cacert.pem
17211     '';
17213     meta = {
17214       description = "Mozilla's CA cert bundle in PEM format";
17215       homepage = "https://github.com/gisle/mozilla-ca";
17216       license = with lib.licenses; [ mpl20 ];
17217     };
17218   };
17220   MozillaLdap = callPackage ../development/perl-modules/Mozilla-LDAP { };
17222   MROCompat = buildPerlPackage {
17223     pname = "MRO-Compat";
17224     version = "0.13";
17225     src = fetchurl {
17226       url = "mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz";
17227       hash = "sha256-iiw7bMwZMo1VedAqfZEoXir9hdgB9J1COo6xbzI9pPg=";
17228     };
17229     meta = {
17230       description = "Mro::* interface compatibility for Perls < 5.9.5";
17231       homepage = "https://metacpan.org/release/MRO-Compat";
17232       license = with lib.licenses; [ artistic1 gpl1Plus ];
17233     };
17234   };
17236   MusicBrainzDiscID = buildPerlPackage {
17237     pname = "MusicBrainz-DiscID";
17238     version = "0.06";
17239     src = fetchurl {
17240       url = "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.06.tar.gz";
17241       hash = "sha256-ugtu0JiX/1Y7pZhy7pNxW+83FXUVsZt8bW8obmVI7Ks=";
17242     };
17243     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
17244     # Makefile.PL in this package uses which to find pkg-config -- make it use path instead
17245     patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Makefile.PL'';
17246     doCheck = false; # The main test performs network access
17247     nativeBuildInputs = [ pkgs.pkg-config ];
17248     propagatedBuildInputs = [ pkgs.libdiscid ];
17249     meta = {
17250       description = "- Perl interface for the MusicBrainz libdiscid library";
17251       license = with lib.licenses; [ mit ];
17252     };
17253   };
17255   MusicBrainz = buildPerlModule {
17256     pname = "WebService-MusicBrainz";
17257     version = "1.0.5";
17258     src = fetchurl {
17259       url = "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-1.0.5.tar.gz";
17260       hash = "sha256-UjuDmWggbFdR6p7mcMeJLIw74PWTqlkaAMAxVGjQkJk=";
17261     };
17262     propagatedBuildInputs = [ Mojolicious ];
17263     doCheck = false; # Test performs network access.
17264     meta = {
17265       description = "API to search the musicbrainz.org database";
17266       license = with lib.licenses; [ artistic1 gpl1Plus ];
17267     };
17268   };
17270   MustacheSimple = buildPerlPackage {
17271     pname = "Mustache-Simple";
17272     version = "1.3.6";
17273     src = fetchurl {
17274       url = "mirror://cpan/authors/id/C/CM/CMS/Mustache-Simple-v1.3.6.tar.gz";
17275       hash = "sha256-UdtdUf9LJaZw2L+r45ArbUVDTs94spvB//Ga9uc4MAM=";
17276     };
17277     propagatedBuildInputs = [ YAMLLibYAML ];
17278     meta = {
17279       description = "A simple Mustache Renderer";
17280       license = with lib.licenses; [ artistic1 gpl1Plus ];
17281     };
17282   };
17284   MySQLDiff = buildPerlPackage rec {
17285     pname = "MySQL-Diff";
17286     version = "0.60";
17287     src = fetchurl {
17288       url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
17289       hash = "sha256-XXCApL1XFP+e9Taqd0p62zxvDnYCFcpsOdijVFNE+VY=";
17290     };
17291     propagatedBuildInputs = [ pkgs.mariadb.client FileSlurp StringShellQuote ];
17292     meta = {
17293       description = "Generates a database upgrade instruction set";
17294       homepage = "https://github.com/estrabd/mysqldiff";
17295       license = with lib.licenses; [ artistic1 gpl1Plus ];
17296       maintainers = [ maintainers.sgo ];
17297       mainProgram = "mysqldiff";
17298     };
17299   };
17301   namespaceautoclean = buildPerlPackage {
17302     pname = "namespace-autoclean";
17303     version = "0.29";
17304     src = fetchurl {
17305       url = "mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz";
17306       hash = "sha256-RevY5kpUqG+I2OAa5VISlnyKqP7VfoFAhd73YIrGWAQ=";
17307     };
17308     buildInputs = [ TestNeeds ];
17309     propagatedBuildInputs = [ SubIdentify namespaceclean ];
17310     meta = {
17311       description = "Keep imports out of your namespace";
17312       homepage = "https://github.com/moose/namespace-autoclean";
17313       license = with lib.licenses; [ artistic1 gpl1Plus ];
17314     };
17315   };
17317   namespaceclean = buildPerlPackage {
17318     pname = "namespace-clean";
17319     version = "0.27";
17320     src = fetchurl {
17321       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz";
17322       hash = "sha256-ihCoPD4YPcePnnt6pNCbR8EftOfTozuaEpEv0i4xr50=";
17323     };
17324     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
17325     meta = {
17326       description = "Keep imports and functions out of your namespace";
17327       homepage = "https://search.cpan.org/dist/namespace-clean";
17328       license = with lib.licenses; [ artistic1 gpl1Plus ];
17329     };
17330   };
17332   NetIdent = buildPerlPackage {
17333     pname = "Net-Ident";
17334     version = "1.25";
17335     src = fetchurl {
17336       url = "mirror://cpan/authors/id/T/TO/TODDR/Net-Ident-1.25.tar.gz";
17337       hash = "sha256-LlvViwHCpm6ASaL42ck+G19tzlPg7jpIHOam9BHyyPg=";
17338     };
17339     meta = {
17340       description = "Lookup the username on the remote end of a TCP/IP connection";
17341       homepage = "https://github.com/toddr/Net-Ident";
17342       license = with lib.licenses; [ mit ];
17343     };
17344   };
17346   NetINET6Glue = buildPerlPackage {
17347     pname = "Net-INET6Glue";
17348     version = "0.604";
17349     src = fetchurl {
17350       url = "mirror://cpan/authors/id/S/SU/SULLR/Net-INET6Glue-0.604.tar.gz";
17351       hash = "sha256-kMNjmPlQFBTMzaiynyOn908vK09VLhLevxYhjHNbuxc=";
17352     };
17353     meta = {
17354       description = "Make common modules IPv6 ready by hotpatching";
17355       homepage = "https://github.com/noxxi/p5-net-inet6glue";
17356       license = with lib.licenses; [ artistic1 gpl1Plus ];
17357     };
17358   };
17360   NetAddrIP = buildPerlPackage {
17361     pname = "NetAddr-IP";
17362     version = "4.079";
17363     src = fetchurl {
17364       url = "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz";
17365       hash = "sha256-7FqC37cCi80ouz1Wn5XYfdQWbMGYZ/IYTtOln21soOc=";
17366     };
17367     meta = {
17368       description = "Manages IPv4 and IPv6 addresses and subnets";
17369       license = with lib.licenses; [ artistic1 gpl1Plus ];
17370     };
17371   };
17373   NetAmazonAWSSign = buildPerlPackage {
17374     pname = "Net-Amazon-AWSSign";
17375     version = "0.12";
17376     src = fetchurl {
17377       url = "mirror://cpan/authors/id/N/NA/NATON/Net-Amazon-AWSSign-0.12.tar.gz";
17378       hash = "sha256-HQQMazseorVlkFefnBjgUAtsaiF7WdiDHw2WBMqX7T4=";
17379     };
17380     propagatedBuildInputs = [ URI ];
17381     meta = {
17382       description = "Perl extension to create signatures for AWS requests";
17383       license = with lib.licenses; [ artistic1 gpl1Plus ];
17384     };
17385   };
17387   NetAmazonEC2 = buildPerlPackage {
17388     pname = "Net-Amazon-EC2";
17389     version = "0.36";
17390     src = fetchurl {
17391       url = "mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz";
17392       hash = "sha256-Tig2kufwZsJBjtrpIz47YkAPk1X01SH5lRXlL3t9cvE=";
17393     };
17394     propagatedBuildInputs = [ LWPProtocolHttps Moose ParamsValidate XMLSimple ];
17395     buildInputs = [ TestException ];
17396     meta = {
17397       description = "Perl interface to the Amazon Elastic Compute Cloud (EC2) environment";
17398       homepage = "https://metacpan.org/dist/Net-Amazon-EC2";
17399       license = with lib.licenses; [ artistic1 gpl1Plus ];
17400     };
17401   };
17403   NetAmazonMechanicalTurk = buildPerlModule {
17404     pname = "Net-Amazon-MechanicalTurk";
17405     version = "1.02";
17406     src = fetchurl {
17407       url = "mirror://cpan/authors/id/M/MT/MTURK/Net-Amazon-MechanicalTurk-1.02.tar.gz";
17408       hash = "sha256-jQlewUjglLJ/TMzHnhyvnDHzzA5t2CzoqORCyNx7D44=";
17409     };
17410     patches =
17411       [ ../development/perl-modules/net-amazon-mechanicalturk.patch ];
17412     propagatedBuildInputs = [ DigestHMAC LWPProtocolHttps XMLParser ];
17413     doCheck = false; /* wants network */
17414     meta = {
17415       description = "Amazon Mechanical Turk SDK for Perl";
17416       license = with lib.licenses; [ asl20 ];
17417     };
17418   };
17420   NetAmazonS3 = buildPerlPackage {
17421     pname = "Net-Amazon-S3";
17422     version = "0.97";
17423     src = fetchurl {
17424       url = "mirror://cpan/authors/id/B/BA/BARNEY/Net-Amazon-S3-0.97.tar.gz";
17425       hash = "sha256-A9hWd9BIPq+tJD2nBWS13xpDCSKZa/22xPGbbCh43jQ=";
17426     };
17427     buildInputs = [ TestDeep TestException TestLWPUserAgent TestMockTime TestWarnings ];
17428     propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXRoleParameterized MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon SafeIsa SubOverride TermEncoding TermProgressBarSimple XMLLibXML ];
17429     meta = {
17430       description = "Use the Amazon S3 - Simple Storage Service";
17431       license = with lib.licenses; [ artistic1 gpl1Plus ];
17432       mainProgram = "s3cl";
17433     };
17434   };
17436   NetAmazonS3Policy = buildPerlModule {
17437     pname = "Net-Amazon-S3-Policy";
17438     version = "0.1.6";
17439     src = fetchurl {
17440       url = "mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz";
17441       hash = "sha256-0rFukwhnSHQ0tHdHhooAP0scyECy15WfiPw2vQ2G2RQ=";
17442     };
17443     propagatedBuildInputs = [ JSON ];
17444     meta = {
17445       description = "Manage Amazon S3 policies for HTTP POST forms";
17446       license = with lib.licenses; [ artistic1 gpl1Plus ];
17447     };
17448   };
17450   NetAsyncHTTP = buildPerlModule {
17451     pname = "Net-Async-HTTP";
17452     version = "0.48";
17453     src = fetchurl {
17454       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-0.48.tar.gz";
17455       hash = "sha256-nUvW+ZW8rn2LzTorNo7nCO3khABrYij17SXr86gh9z4=";
17456     };
17457     buildInputs = [ HTTPCookies TestIdentity TestMetricsAny TestRefcount ];
17458     propagatedBuildInputs = [ Future HTTPMessage IOAsync MetricsAny StructDumb URI ];
17459     preCheck = lib.optionalString stdenv.isDarwin ''
17460       # network tests fail on Darwin/sandbox, so disable these
17461       rm -f t/20local-connect.t t/22local-connect-pipeline.t t/23local-connect-redir.t
17462       rm -f t/90rt75615.t t/90rt75616.t t/90rt93232.t
17463     '';
17464     meta = {
17465       description = "Use HTTP with IO::Async";
17466       license = with lib.licenses; [ artistic1 gpl1Plus ];
17467       maintainers = [ maintainers.zakame ];
17468     };
17469   };
17471   NetAsyncPing = buildPerlPackage {
17472     pname = "Net-Async-Ping";
17473     version = "0.004001";
17474     src = fetchurl {
17475       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Net-Async-Ping-0.004001.tar.gz";
17476       hash = "sha256-kFfoUHYMcT2rB6DBycj4isEfbnTop0gcEObyc12K6Vs=";
17477     };
17478     propagatedBuildInputs = [ IOAsync Moo NetFrameLayerIPv6 namespaceclean ];
17479     buildInputs = [ TestFatal ];
17480     preCheck = "rm t/icmp_ps.t t/icmpv6_ps.t"; # ping socket tests fail
17481     meta = {
17482       description = "Asyncronously check remote host for reachability";
17483       homepage = "https://github.com/frioux/Net-Async-Ping";
17484       license = with lib.licenses; [ artistic1 gpl1Plus ];
17485     };
17486   };
17488   NetAsyncWebSocket = buildPerlModule {
17489     pname = "Net-Async-WebSocket";
17490     version = "0.13";
17491     src = fetchurl {
17492       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-WebSocket-0.13.tar.gz";
17493       hash = "sha256-DayDQtPHii/syr1GZxRd1a3U+4zRjRVtKXoead/hFgA=";
17494     };
17495     propagatedBuildInputs = [ IOAsync ProtocolWebSocket URI ];
17496     preCheck = lib.optionalString stdenv.isDarwin ''
17497       # network tests fail on Darwin/sandbox, so disable these
17498       rm -f t/02server.t t/03cross.t
17499     '';
17500     meta = {
17501       description = "Use WebSockets with IO::Async";
17502       license = with lib.licenses; [ artistic1 gpl1Plus ];
17503       maintainers = [ maintainers.zakame ];
17504     };
17505   };
17507   NetAMQP = buildPerlModule {
17508     pname = "Net-AMQP";
17509     version = "0.06";
17510     src = fetchurl {
17511       url = "mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz";
17512       hash = "sha256-Cyun3izX3dX+ECouKueuuiHqqxB4vzv9PFpyKTclY4A=";
17513     };
17514     doCheck = false; # failures on 32bit
17515     buildInputs = [ TestDeep ];
17516     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
17517     meta = {
17518       description = "Advanced Message Queue Protocol (de)serialization and representation";
17519       license = with lib.licenses; [ artistic1 gpl1Plus ];
17520     };
17521   };
17523   NetCIDR = buildPerlPackage {
17524     pname = "Net-CIDR";
17525     version = "0.20";
17526     src = fetchurl {
17527       url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.20.tar.gz";
17528       hash = "sha256-x17caBi7Ng1xwTkWn9ZK1lw1//bSufrHufnmxGfxh7U=";
17529     };
17530     meta = {
17531       description = "Manipulate IPv4/IPv6 netblocks in CIDR notation";
17532       license = with lib.licenses; [ artistic1 gpl1Plus ];
17533       maintainers = [ maintainers.bjornfor ];
17534     };
17535   };
17537   NetCIDRLite = buildPerlPackage {
17538     pname = "Net-CIDR-Lite";
17539     version = "0.22";
17540     src = fetchurl {
17541       url = "mirror://cpan/authors/id/S/ST/STIGTSP/Net-CIDR-Lite-0.22.tar.gz";
17542       hash = "sha256-QxfYyzQaYXueCIjaQ8Cc3//8sMnt97jJko10KlY7hRc=";
17543     };
17544     meta = {
17545       description = "Perl extension for merging IPv4 or IPv6 CIDR addresses";
17546       license = with lib.licenses; [ artistic1 gpl1Plus ];
17547       maintainers = [ maintainers.sgo ];
17548     };
17549   };
17551   NetCoverArtArchive = buildPerlPackage {
17552     pname = "Net-CoverArtArchive";
17553     version = "1.02";
17554     src = fetchurl {
17555       url = "mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz";
17556       hash = "sha256-VyXiCCZDVq1rP6++uXVqz8Kny5WDiMpcCHqsJzNF3dE=";
17557     };
17558     buildInputs = [ FileFindRule ];
17559     propagatedBuildInputs = [ JSONAny LWP Moose namespaceautoclean ];
17560     meta = {
17561       description = "Query the coverartarchive.org";
17562       homepage = "https://github.com/metabrainz/CoverArtArchive";
17563       license = with lib.licenses; [ artistic1 gpl1Plus ];
17564     };
17565   };
17567   NetDBus = buildPerlPackage {
17568     pname = "Net-DBus";
17569     version = "1.2.0";
17570     src = fetchurl {
17571       url = "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz";
17572       hash = "sha256-56GsnvShI1s/29WIj4bDRxgjBkZ715q8mwdWpktEHLw=";
17573     };
17574     nativeBuildInputs = [ buildPackages.pkg-config ];
17575     buildInputs = [ pkgs.dbus TestPod TestPodCoverage ];
17576     propagatedBuildInputs = [ XMLTwig ];
17578     # https://gitlab.com/berrange/perl-net-dbus/-/merge_requests/19
17579     patches = fetchpatch {
17580       url = "https://gitlab.com/berrange/perl-net-dbus/-/commit/6bac8f188fb06e5e5edd27aee672d66b7c28caa4.patch";
17581       hash = "sha256-68kyUxM3E7w99rM2AZWZQMpGcaQxfSWaBs3DnmwnzqY=";
17582     };
17584     postPatch = ''
17585       substituteInPlace Makefile.PL --replace pkg-config $PKG_CONFIG
17586     '';
17588     meta = {
17589       description = "Extension for the DBus bindings";
17590       homepage = "https://www.freedesktop.org/wiki/Software/dbus";
17591       license = with lib.licenses; [ artistic1 gpl1Plus ];
17592     };
17593   };
17595   NetDNS = buildPerlPackage {
17596     pname = "Net-DNS";
17597     version = "1.29";
17598     src = fetchurl {
17599       url = "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.29.tar.gz";
17600       hash = "sha256-hS1u6H6PDQFCIwJlgcu1aSS6jN3TzrKcYZHbthItQ8U=";
17601     };
17602     propagatedBuildInputs = [ DigestHMAC ];
17603     makeMakerFlags = [ "--noonline-tests" ];
17604     meta = {
17605       description = "Perl Interface to the Domain Name System";
17606       license = with lib.licenses; [ mit ];
17607     };
17608   };
17610   NetDNSResolverMock = buildPerlPackage {
17611     pname = "Net-DNS-Resolver-Mock";
17612     version = "1.20200215";
17613     src = fetchurl {
17614       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20200215.tar.gz";
17615       hash = "sha256-vvfxUOUw5VZbi67VmOqvdLb5X60Sit4NH3VQE1ghZ+c=";
17616     };
17617     propagatedBuildInputs = [ NetDNS ];
17618     buildInputs = [ TestException ];
17619     meta = {
17620       description = "Mock a DNS Resolver object for testing";
17621       license = with lib.licenses; [ artistic1 gpl1Plus ];
17622     };
17623   };
17625   NetDomainTLD = buildPerlPackage {
17626     pname = "Net-Domain-TLD";
17627     version = "1.75";
17628     src = fetchurl {
17629       url = "mirror://cpan/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.75.tar.gz";
17630       hash = "sha256-TDf4ERhNaKxBedSMEOoxki3V/KLBv/zc2VxaKjtAAu4=";
17631     };
17632     meta = {
17633       description = "Work with TLD names";
17634       license = with lib.licenses; [ artistic1 gpl1Plus ];
17635     };
17636   };
17638   NetFastCGI = buildPerlPackage {
17639     pname = "Net-FastCGI";
17640     version = "0.14";
17641     src = fetchurl {
17642       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz";
17643       hash = "sha256-EZOQCk/V6eupzNBuE4+RCSG3Ugf/i1JLZDqIyD61WWo=";
17644     };
17645     buildInputs = [ TestException TestHexString ];
17646     meta = {
17647       description = "FastCGI Toolkit";
17648       license = with lib.licenses; [ artistic1 gpl1Plus ];
17649     };
17650   };
17652   NetFrame = buildPerlModule {
17653     pname = "Net-Frame";
17654     version = "1.21";
17655     src = fetchurl {
17656       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-1.21.tar.gz";
17657       hash = "sha256-vLNXootjnwyvfWLTPS5g/wv8z4lNAHzmAfY1UTiD1zk=";
17658     };
17659     propagatedBuildInputs = [ BitVector ClassGomor NetIPv6Addr ];
17660     preCheck = "rm t/13-gethostsubs.t"; # it performs DNS queries
17661     meta = {
17662       description = "The base framework for frame crafting";
17663       license = with lib.licenses; [ artistic1 ];
17664     };
17665   };
17667   NetFrameLayerIPv6 = buildPerlModule {
17668     pname = "Net-Frame-Layer-IPv6";
17669     version = "1.08";
17670     src = fetchurl {
17671       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-Layer-IPv6-1.08.tar.gz";
17672       hash = "sha256-ui2FK+jzf1iE4wfagriqPNeU4YoVyAdSGsLKKtE599c=";
17673     };
17674     propagatedBuildInputs = [ NetFrame ];
17675     meta = {
17676       description = "Internet Protocol v6 layer object";
17677       license = with lib.licenses; [ artistic1 ];
17678     };
17679   };
17681   NetFreeDB = buildPerlPackage {
17682     pname = "Net-FreeDB";
17683     version = "0.10";
17684     src = fetchurl {
17685       url = "mirror://cpan/authors/id/D/DS/DSHULTZ/Net-FreeDB-0.10.tar.gz";
17686       hash = "sha256-90PhIjjrFslIBK+0sxCwJUj3C8rxeRZOrlZ/i0mIroU=";
17687     };
17688     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
17689     propagatedBuildInputs = [ CDDBFile Moo ];
17690     meta = {
17691       description = "OOP Interface to FreeDB Server(s)";
17692       license = with lib.licenses; [ artistic1 ];
17693       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.NetFreeDB.x86_64-darwin
17694     };
17695   };
17697   NetHTTP = buildPerlPackage {
17698     pname = "Net-HTTP";
17699     version = "6.19";
17700     src = fetchurl {
17701       url = "mirror://cpan/authors/id/O/OA/OALDERS/Net-HTTP-6.19.tar.gz";
17702       hash = "sha256-UrduwTlZUiyuZNll8V2j2Z3LRF7d2F0s5OT03zhbL8Q=";
17703     };
17704     propagatedBuildInputs = [ URI ];
17705     __darwinAllowLocalNetworking = true;
17706     doCheck = false; /* wants network */
17707     meta = {
17708       description = "Low-level HTTP connection (client)";
17709       homepage = "https://github.com/libwww-perl/Net-HTTP";
17710       license = with lib.licenses; [ artistic1 gpl1Plus ];
17711     };
17712   };
17714   NetHTTPSNB = buildPerlPackage {
17715     pname = "Net-HTTPS-NB";
17716     version = "0.15";
17717     src = fetchurl {
17718       url = "mirror://cpan/authors/id/O/OL/OLEG/Net-HTTPS-NB-0.15.tar.gz";
17719       hash = "sha256-amnPT6Vfuju70iYu4UKC7YMQc22PWslNGmxZfNEnjE8=";
17720     };
17721     propagatedBuildInputs = [ IOSocketSSL NetHTTP ];
17722     meta = {
17723       description = "Non-blocking HTTPS client";
17724       homepage = "https://github.com/olegwtf/p5-Net-HTTPS-NB";
17725       license = with lib.licenses; [ artistic1 gpl1Plus ];
17726     };
17727   };
17729   NetIDNEncode = buildPerlModule {
17730     pname = "Net-IDN-Encode";
17731     version = "2.500";
17732     src = fetchurl {
17733       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.500.tar.gz";
17734       hash = "sha256-VUU2M+P/JM4yWzS8LIFXuYWZYqMatc8ov3zMHJs6Pqo=";
17735     };
17736     buildInputs = [ TestNoWarnings ];
17737     perlPreHook = "export LD=$CC";
17738     meta = {
17739       description = "Internationalizing Domain Names in Applications (UTS #46)";
17740       homepage = "https://metacpan.org/release/Net-IDN-Encode";
17741       license = with lib.licenses; [ artistic1 gpl1Plus ];
17742     };
17743   };
17745   NetIMAPClient = buildPerlPackage {
17746     pname = "Net-IMAP-Client";
17747     version = "0.9505";
17748     src = fetchurl {
17749       url = "mirror://cpan/authors/id/G/GA/GANGLION/Net-IMAP-Client-0.9505.tar.gz";
17750       hash = "sha256-0/amCLheCagICmepkzg3qubyzQ6O453zOAEj3F496RI=";
17751     };
17752     propagatedBuildInputs = [ IOSocketSSL ListMoreUtils ];
17753     meta = {
17754       description = "Not so simple IMAP client library";
17755       license = with lib.licenses; [ artistic1 gpl1Plus ];
17756     };
17757   };
17759   NetIP = buildPerlPackage {
17760     pname = "Net-IP";
17761     version = "1.26";
17762     src = fetchurl {
17763       url = "mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz";
17764       hash = "sha256-BA8W8wZmR9dhtySjtwdU0oy9Hm/l6gHGPtHNhXEX1jk=";
17765     };
17766     meta = {
17767       description = "Perl extension for manipulating IPv4/IPv6 addresses";
17768       license = with lib.licenses; [ artistic1 gpl1Plus ];
17769     };
17770   };
17772   NetIPLite = buildPerlPackage {
17773     pname = "Net-IP-Lite";
17774     version = "0.03";
17775     src = fetchurl {
17776       url = "mirror://cpan/authors/id/A/AL/ALEXKOM/Net-IP-Lite-0.03.tar.gz";
17777       hash = "sha256-yZFubPqlO+J1N5zksqVQrhdt36tQ2tQ7Q+1D6CZ4Aqk=";
17778     };
17779     buildInputs = [ TestException ];
17780     meta = {
17781       description = "Perl extension for manipulating IPv4/IPv6 addresses";
17782       homepage = "https://metacpan.org/pod/Net::IP::Lite";
17783       license = with lib.licenses; [ artistic1 gpl1Plus ];
17784       maintainers = [ maintainers.sgo ];
17785     };
17786   };
17788   NetIPv4Addr = buildPerlPackage {
17789     pname = "Net-IPv4Addr";
17790     version = "0.10";
17791     src = fetchurl {
17792       url = "mirror://cpan/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-0.10.tar.gz";
17793       hash = "sha256-OEXeTzCxfIQrGSys6Iedu2IU3paSz6cPCq8JgUIqY/4=";
17794     };
17795     meta = {
17796       description = "Perl extension for manipulating IPv4 addresses";
17797       license = with lib.licenses; [ artistic1 gpl1Plus ];
17798       mainProgram = "ipv4calc";
17799     };
17800   };
17802   NetIPv6Addr = buildPerlPackage {
17803     pname = "Net-IPv6Addr";
17804     version = "1.01";
17805     src = fetchurl {
17806       url = "mirror://cpan/authors/id/B/BK/BKB/Net-IPv6Addr-1.01.tar.gz";
17807       hash = "sha256-J+J/A/61X9kVFnOXNbGetUHK+HmVNjKd1+OhKQqkCwE=";
17808     };
17809     propagatedBuildInputs = [ MathBase85 NetIPv4Addr ];
17810     meta = {
17811       description = "Check and manipulate IPv6 addresses";
17812       license = with lib.licenses; [ artistic1 gpl1Plus ];
17813     };
17814   };
17816   NetLDAPServer = buildPerlPackage {
17817     pname = "Net-LDAP-Server";
17818     version = "0.43";
17819     src = fetchurl {
17820       url = "mirror://cpan/authors/id/A/AA/AAR/Net-LDAP-Server-0.43.tar.gz";
17821       hash = "sha256-3WxMtNMLwyEUsHh/qioeK0/t0bkcLvN5Zey6ETMbsGI=";
17822     };
17823     propagatedBuildInputs = [ perlldap ConvertASN1 ];
17824     meta = {
17825       description = "LDAP server side protocol handling";
17826       license = with lib.licenses; [ artistic1 gpl1Plus ];
17827     };
17828   };
17830   NetLDAPSID = buildPerlPackage {
17831     pname = "Net-LDAP-SID";
17832     version = "0.001";
17833     src = fetchurl {
17834       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-SID-0.001.tar.gz";
17835       hash = "sha256-qMLNQGeQl/w7hCV24bU+w1/UNIGoalA4PutOJOu81tY=";
17836     };
17837     meta = {
17838       description = "Active Directory Security Identifier manipulation";
17839       homepage = "https://github.com/karpet/net-ldap-sid";
17840       license = with lib.licenses; [ artistic1 gpl1Plus ];
17841     };
17842   };
17844   NetLDAPServerTest = buildPerlPackage {
17845     pname = "Net-LDAP-Server-Test";
17846     version = "0.22";
17847     src = fetchurl {
17848       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-Server-Test-0.22.tar.gz";
17849       hash = "sha256-sSBxe18fb2sTsxQ3/dIY7g/GnrASGN4U2SL5Kc+NLY4=";
17850     };
17851     propagatedBuildInputs = [ perlldap NetLDAPServer DataDump NetLDAPSID ];
17852     meta = {
17853       description = "Test Net::LDAP code";
17854       homepage = "https://github.com/karpet/net-ldap-server-test";
17855       license = with lib.licenses; [ artistic1 gpl1Plus ];
17856     };
17857   };
17859   NetNetmask = buildPerlPackage {
17860     pname = "Net-Netmask";
17861     version = "2.0001";
17862     src = fetchurl {
17863       url = "mirror://cpan/authors/id/J/JM/JMASLAK/Net-Netmask-2.0001.tar.gz";
17864       hash = "sha256-FzVu+GZ/s4xEEKHDzH+kxzVn2/VnS/l/USNtbkiPUXE=";
17865     };
17866     buildInputs = [ Test2Suite TestUseAllModules ];
17867     meta = {
17868       description = "Understand and manipulate IP netmasks";
17869       homepage = "https://search.cpan.org/~jmaslak/Net-Netmask";
17870       license = with lib.licenses; [ artistic1 gpl1Plus ];
17871     };
17872   };
17874   NetMQTTSimple = buildPerlPackage {
17875     pname = "Net-MQTT-Simple";
17876     version = "1.26";
17877     src = fetchurl {
17878       url = "mirror://cpan/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.26.tar.gz";
17879       hash = "sha256-ERxNNnu1AgXci8AjFfDGuw3mDRwwfQLnUuQuwRtPiLQ=";
17880     };
17881     meta = {
17882       description = "Minimal MQTT version 3 interface";
17883       license = with lib.licenses; [ artistic1 gpl1Plus ];
17884     };
17885   };
17887   NetOAuth = buildPerlModule {
17888     pname = "Net-OAuth";
17889     version = "0.28";
17890     src = fetchurl {
17891       url = "mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz";
17892       hash = "sha256-e/wxnaCsV44Ali81o1DPUREKOjEwFtH9wwciAooikEw=";
17893     };
17894     buildInputs = [ TestWarn ];
17895     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWP ];
17896     meta = {
17897       description = "An implementation of the OAuth protocol";
17898       license = with lib.licenses; [ artistic1 gpl1Plus ];
17899     };
17900   };
17902   NetPatricia = buildPerlPackage {
17903     pname = "Net-Patricia";
17904     version = "1.22";
17905     src = fetchurl {
17906       url = "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-1.22.tar.gz";
17907       hash = "sha256-cINakm4cWo0DJMcv/+6C7rfsbBQd7gT9RGggtk9xxVI=";
17908     };
17909     propagatedBuildInputs = [ NetCIDRLite Socket6 ];
17910     meta = {
17911       description = "Patricia Trie perl module for fast IP address lookups";
17912       license = with lib.licenses; [ gpl2Plus ];
17913     };
17914   };
17916   NetPing = buildPerlPackage {
17917     pname = "Net-Ping";
17918     version = "2.74";
17919     src = fetchurl {
17920       url = "mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.74.tar.gz";
17921       hash = "sha256-sSqJWbvtXnxVgRF+5eVAAZKy/wo1i/EYX87tDulzfRE=";
17922     };
17923     meta = {
17924       description = "Check a remote host for reachability";
17925       license = with lib.licenses; [ artistic1 gpl1Plus ];
17926     };
17927   };
17929   NetDNSResolverProgrammable = buildPerlPackage {
17930     pname = "Net-DNS-Resolver-Programmable";
17931     version = "0.009";
17932     src = fetchurl {
17933       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz";
17934       hash = "sha256-gICiq3dmKVhZEa8Reb23xNwr6/1LXv13sR0drGJFS/g=";
17935     };
17936     propagatedBuildInputs = [ NetDNS ];
17937     meta = {
17938       description = "Programmable DNS resolver class for offline emulation of DNS";
17939       homepage = "https://github.com/bigpresh/Net-DNS-Resolver-Programmable";
17940       license = with lib.licenses; [ artistic1 gpl1Plus ];
17941     };
17942   };
17944   NetPrometheus = buildPerlModule {
17945     pname = "Net-Prometheus";
17946     version = "0.11";
17947     src = fetchurl {
17948       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Prometheus-0.11.tar.gz";
17949       hash = "sha256-IvgJ4njq1Rk2rVOVgGUbTOXLyRwgnkpXesgjg82fcmo=";
17950     };
17951     propagatedBuildInputs = [ RefUtil StructDumb URI ];
17952     buildInputs = [ HTTPMessage TestFatal ];
17953     meta = {
17954       description = "Export monitoring metrics for prometheus";
17955       license = with lib.licenses; [ artistic1 gpl1Plus ];
17956     };
17957   };
17959   NetSCP = buildPerlPackage {
17960     pname = "Net-SCP";
17961     version = "0.08.reprise";
17962     src = fetchurl {
17963       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SCP-0.08.reprise.tar.gz";
17964       hash = "sha256-iKmy32nnaeWFWkCLGfYZFbguj+Bwq1z01SXdO4u+McE=";
17965     };
17966     propagatedBuildInputs = [ pkgs.openssl ];
17967     patchPhase = ''
17968       sed -i 's|$scp = "scp";|$scp = "${pkgs.openssh}/bin/scp";|' SCP.pm
17969     '';
17970     buildInputs = [ NetSSH StringShellQuote ];
17971     meta = {
17972       description = "Simple wrappers around ssh and scp commands";
17973       license = with lib.licenses; [ artistic1 gpl1Plus ];
17974     };
17975   };
17977   NetServer = buildPerlPackage {
17978     pname = "Net-Server";
17979     version = "2.009";
17980     src = fetchurl {
17981       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.009.tar.gz";
17982       hash = "sha256-gmfGVgNV4uD0g9PMFhlfNC8y/hPK6d3nWgoezl6agT8=";
17983     };
17984     doCheck = false; # seems to hang waiting for connections
17985     meta = {
17986       description = "Extensible Perl internet server";
17987       license = with lib.licenses; [ artistic1 gpl1Plus ];
17988       mainProgram = "net-server";
17989     };
17990   };
17992   NetSFTPForeign = buildPerlPackage {
17993     pname = "Net-SFTP-Foreign";
17994     version = "1.91";
17995     src = fetchurl {
17996       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-SFTP-Foreign-1.91.tar.gz";
17997       hash = "sha256-tzlQgTFPJvO5PIV9ZenICgSmNwnfaYWD8io2D/zn4Xg=";
17998     };
17999     propagatedBuildInputs = [ pkgs.openssl ];
18000     patchPhase = ''
18001       sed -i "s|$ssh_cmd = 'ssh'|$ssh_cmd = '${pkgs.openssh}/bin/ssh'|" lib/Net/SFTP/Foreign/Backend/Unix.pm
18002     '';
18003     meta = {
18004       description = "Secure File Transfer Protocol client";
18005       license = with lib.licenses; [ artistic1 gpl1Plus ];
18006     };
18007   };
18009   NetServerCoro = buildPerlPackage {
18010     pname = "Net-Server-Coro";
18011     version = "1.3";
18012     src = fetchurl {
18013       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz";
18014       hash = "sha256-HhpwKw3TkMPmKfip6EzKY7eU0eInlX9Cm2dgEHV3+4Y=";
18015     };
18016     propagatedBuildInputs = [ Coro NetServer ];
18017     meta = {
18018       description = "A co-operative multithreaded server using Coro";
18019       license = with lib.licenses; [ mit ];
18020     };
18021   };
18023   NetServerSSPrefork = buildPerlPackage {
18024     pname = "Net-Server-SS-PreFork";
18025     version = "0.06pre";
18026     src = fetchFromGitHub {
18027       owner = "kazuho";
18028       repo = "p5-Net-Server-SS-PreFork";
18029       rev = "5fccc0c270e25c65ef634304630af74b48807d21";
18030       hash = "sha256-pveVyFdEe/TQCEI83RrQTWr7aoYrgOGaNqc1wJeiAnw=";
18031     };
18032     checkInputs = [ HTTPMessage LWP TestSharedFork HTTPServerSimple TestTCP TestUNIXSock ];
18033     buildInputs = [ ModuleInstall ];
18034     propagatedBuildInputs = [ NetServer ServerStarter ];
18035     meta = {
18036       description = "A hot-deployable variant of Net::Server::PreFork";
18037       license = with lib.licenses; [ artistic1 gpl1Plus ];
18038     };
18039   };
18041   NetSMTPSSL = buildPerlPackage {
18042     pname = "Net-SMTP-SSL";
18043     version = "1.04";
18044     src = fetchurl {
18045       url = "mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz";
18046       hash = "sha256-eynEWt0Z09UIS3Ufe6iajkBHmkRs4hz9nMdB5VgzKgA=";
18047     };
18048     propagatedBuildInputs = [ IOSocketSSL ];
18049     meta = {
18050       description = "SSL support for Net::SMTP";
18051       license = with lib.licenses; [ artistic1 gpl1Plus ];
18052     };
18053   };
18055   NetSMTPTLS = buildPerlPackage {
18056     pname = "Net-SMTP-TLS";
18057     version = "0.12";
18058     src = fetchurl {
18059       url = "mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz";
18060       hash = "sha256-7+dyZnrDdwK5a221KXzIJ0J6Ozo4GbekMVsIudRE5KU=";
18061     };
18062     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
18063     meta = {
18064       description = "An SMTP client supporting TLS and AUTH";
18065       license = with lib.licenses; [ artistic1 gpl1Plus ];
18066     };
18067   };
18069   NetSMTPTLSButMaintained = buildPerlPackage {
18070     pname = "Net-SMTP-TLS-ButMaintained";
18071     version = "0.24";
18072     src = fetchurl {
18073       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz";
18074       hash = "sha256-a5XAj3FXnYUcAYP1AqcAyGof7O9XDjzugybF5M5mJW4=";
18075     };
18076     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
18077     meta = {
18078       description = "An SMTP client supporting TLS and AUTH (DEPRECATED, use Net::SMTPS instead)";
18079       license = with lib.licenses; [ artistic1 gpl1Plus ];
18080     };
18081   };
18083   NetSNMP = buildPerlModule {
18084     pname = "Net-SNMP";
18085     version = "6.0.1";
18086     src = fetchurl {
18087       url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
18088       hash = "sha256-FMN7wcuz883H1sE+DyeoWfFM3P1epUoEZ6iLwlmwt0E=";
18089     };
18090     doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799
18091     meta = {
18092       description = "Object oriented interface to SNMP";
18093       license = with lib.licenses; [ artistic1 gpl1Plus ];
18094       mainProgram = "snmpkey";
18095     };
18096   };
18098   NetSNPP = buildPerlPackage rec {
18099     pname = "Net-SNPP";
18100     version = "1.17";
18101     src = fetchurl {
18102       url = "mirror://cpan/authors/id/T/TO/TOBEYA/Net-SNPP-1.17.tar.gz";
18103       hash = "sha256-BrhR1kWWYl6GY1n7AX3Q0Ilz4OvFDDI/Sh1Q7N2GjnY=";
18104     };
18106     doCheck = false;
18107     meta = {
18108       description = "Simple Network Pager Protocol Client";
18109       license = with lib.licenses; [ artistic1 gpl1Plus ];
18110     };
18111   };
18113   NetSSH = buildPerlPackage {
18114     pname = "Net-SSH";
18115     version = "0.09";
18116     src = fetchurl {
18117       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SSH-0.09.tar.gz";
18118       hash = "sha256-fHHHw8vpUyNN/iW8wa1+2w4fWgV4YB9VI7xgcCYqOBc=";
18119     };
18120     propagatedBuildInputs = [ pkgs.openssl ];
18121     patchPhase = ''
18122       sed -i 's|$ssh = "ssh";|$ssh = "${pkgs.openssh}/bin/ssh";|' SSH.pm
18123     '';
18124     meta = {
18125       description = "Simple wrappers around ssh commands";
18126       license = with lib.licenses; [ artistic1 gpl1Plus ];
18127     };
18128   };
18130   NetSSHPerl = buildPerlPackage {
18131     pname = "Net-SSH-Perl";
18132     version = "2.14";
18133     src = fetchurl {
18134       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz";
18135       hash = "sha256-K10bsTWQtYcBFnBOfx3OmpgjxPgP9UYbl7smoxc5MBc=";
18136     };
18137     propagatedBuildInputs = [ CryptCurve25519 CryptIDEA CryptX FileHomeDir MathGMP StringCRC32 ];
18138     preCheck = "export HOME=$TMPDIR";
18139     meta = {
18140       description = "Perl client interface to SSH";
18141       homepage = "https://search.cpan.org/dist/Net-SSH-Perl";
18142       license = with lib.licenses; [ artistic1 gpl1Plus ];
18143     };
18144   };
18146   NetSSLeay = buildPerlPackage {
18147     pname = "Net-SSLeay";
18148     version = "1.92";
18149     src = fetchurl {
18150       url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz";
18151       hash = "sha256-R8LyswDy5xYtcdaZ9jPdajWwYloAy9qMUKwBFEqTlqk=";
18152     };
18153     buildInputs = [ pkgs.openssl pkgs.zlib ];
18154     doCheck = false; # Test performs network access.
18155     preConfigure = ''
18156       mkdir openssl
18157       ln -s ${lib.getLib pkgs.openssl}/lib openssl
18158       ln -s ${pkgs.openssl.bin}/bin openssl
18159       ln -s ${pkgs.openssl.dev}/include openssl
18160       export OPENSSL_PREFIX=$(realpath openssl)
18161     '';
18162     meta = {
18163       description = "Perl bindings for OpenSSL and LibreSSL";
18164       license = with lib.licenses; [ artistic2 ];
18165     };
18166   };
18168   NetStatsd = buildPerlPackage {
18169     pname = "Net-Statsd";
18170     version = "0.12";
18171     src = fetchurl {
18172       url = "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz";
18173       hash = "sha256-Y+RTYD2hZbxtHEygtV7aPSIE8EDFkwSkd4LFqniGVlw=";
18174     };
18175     meta = {
18176       description = "Perl client for Etsy's statsd daemon";
18177       license = with lib.licenses; [ artistic1 gpl1Plus ];
18178       mainProgram = "benchmark.pl";
18179     };
18180   };
18182   NetTelnet = buildPerlPackage {
18183     pname = "Net-Telnet";
18184     version = "3.04";
18185     src = fetchurl {
18186       url = "mirror://cpan/authors/id/J/JR/JROGERS/Net-Telnet-3.04.tar.gz";
18187       hash = "sha256-5k1Wek4WKV7LqUk2jnpri1rioWs61oISHZsAfcXSo3o=";
18188     };
18189     meta = {
18190       description = "Interact with TELNET port or other TCP ports";
18191       license = with lib.licenses; [ artistic1 gpl1Plus ];
18192     };
18193   };
18195   NetTwitterLite = buildPerlModule {
18196     pname = "Net-Twitter-Lite";
18197     version = "0.12008";
18198     src = fetchurl {
18199       url = "mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz";
18200       hash = "sha256-suq+Hyo/LGTezWDye8O0buZSVgsCTExWgRVhbI1KRo4=";
18201     };
18202     buildInputs = [ ModuleBuildTiny TestFatal ];
18203     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
18204     doCheck = false;
18205     meta = {
18206       description = "A perl API library for the Twitter API";
18207       homepage = "https://github.com/semifor/net-twitter-lite";
18208       license = with lib.licenses; [ artistic1 gpl1Plus ];
18209     };
18210   };
18212   NetWhoisIP = buildPerlPackage {
18213     pname = "Net-Whois-IP";
18214     version = "1.19";
18215     src = fetchurl {
18216       url = "mirror://cpan/authors/id/B/BS/BSCHMITZ/Net-Whois-IP-1.19.tar.gz";
18217       hash = "sha256-8JvfoPHSZltTSCa186hmI0mTDu0pmO/k2Nv5iBMUciI=";
18218     };
18219     doCheck = false;
18221     # https://rt.cpan.org/Public/Bug/Display.html?id=99377
18222     postPatch = ''
18223       substituteInPlace IP.pm --replace " AutoLoader" ""
18224     '';
18225     buildInputs = [ RegexpIPv6 ];
18226     meta = {
18227       description = "Perl extension for looking up the whois information for ip addresses";
18228       license = with lib.licenses; [ artistic1 gpl1Plus ];
18229     };
18230   };
18232   NetWorks = buildPerlPackage {
18233     pname = "Net-Works";
18234     version = "0.22";
18235     src = fetchurl {
18236       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Net-Works-0.22.tar.gz";
18237       hash = "sha256-CsmyPfvKGE4ocpskU5S8ZpOq22/EUcqplbS3GewO6f8=";
18238     };
18239     propagatedBuildInputs = [ ListAllUtils MathInt128 Moo namespaceautoclean ];
18240     buildInputs = [ TestFatal ];
18241     meta = {
18242       description = "Sane APIs for IP addresses and networks";
18243       license = with lib.licenses; [ artistic1 gpl1Plus ];
18244     };
18245   };
18247   NumberBytesHuman = buildPerlPackage {
18248     pname = "Number-Bytes-Human";
18249     version = "0.11";
18250     src = fetchurl {
18251       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Number-Bytes-Human-0.11.tar.gz";
18252       hash = "sha256-X8ecSbC0DfeAR5xDaWOBND4ratH+UoWfYLxltm6+byw=";
18253     };
18254     meta = {
18255       description = "Convert byte count to human readable format";
18256       license = with lib.licenses; [ artistic1 gpl1Plus ];
18257     };
18258   };
18260   NumberCompare = buildPerlPackage {
18261     pname = "Number-Compare";
18262     version = "0.03";
18263     src = fetchurl {
18264       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz";
18265       hash = "sha256-gyk3N+gDtDESgwRD+1II7FIIoubqUS7VTvjk3SuICCc=";
18266     };
18267     meta = {
18268       description = "Numeric comparisons";
18269       license = with lib.licenses; [ artistic1 gpl1Plus ];
18270     };
18271   };
18273   NumberFormat = buildPerlPackage {
18274     pname = "Number-Format";
18275     version = "1.75";
18276     src = fetchurl {
18277       url = "mirror://cpan/authors/id/W/WR/WRW/Number-Format-1.75.tar.gz";
18278       hash = "sha256-gtZZyxZGF2T9RNEanOnmpPXodn3BBp6wNGfG5V3iV/M=";
18279     };
18280     meta = {
18281       description = "Perl extension for formatting numbers";
18282       license = with lib.licenses; [ artistic1 gpl1Plus ];
18283     };
18284   };
18286   NumberFraction = buildPerlModule {
18287     pname = "Number-Fraction";
18288     version = "3.0.3";
18289     src = fetchurl {
18290       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-v3.0.3.tar.gz";
18291       hash = "sha256-OwCqQz/lFGviH9chZHa6lkG5Y0NlfEzc9A72/KxpEO8=";
18292     };
18293     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
18294     meta = {
18295       description = "Perl extension to model fractions";
18296       license = with lib.licenses; [ artistic1 gpl1Plus ];
18297     };
18298   };
18300   NumberMisc = buildPerlModule {
18301     pname = "Number-Misc";
18302     version = "1.2";
18303     src = fetchurl {
18304       url = "mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz";
18305       hash = "sha256-d7m2jGAKBpzxb02BJuyzIVHmvNNLDtsXt4re5onckdg=";
18306     };
18307     meta = {
18308       description = "Number::Misc - handy utilities for numbers";
18309       license = with lib.licenses; [ artistic1 gpl1Plus ];
18310     };
18311   };
18313   NumberPhone = buildPerlPackage {
18314     pname = "Number-Phone";
18315     version = "3.8004";
18316     src = fetchurl {
18317       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Number-Phone-3.8004.tar.gz";
18318       hash = "sha256-ZY7hyNGXTvSwV+B4L0mTi/PelA6QY/2bYecY6siwO+8=";
18319     };
18320     buildInputs = [ DevelHide FileShareDirInstall ParallelForkManager TestDifferences TestPod TestPodCoverage TestWarnings ];
18321     propagatedBuildInputs = [ DataDumperConcise DBMDeep DevelCheckOS FileFindRule FileShareDir ];
18322     meta = {
18323       description = "Large suite of perl modules for parsing and dealing with phone numbers";
18324       homepage = "https://github.com/DrHyde/perl-modules-Number-Phone";
18325       license = with lib.licenses; [ artistic1 gpl2Only asl20 ];
18326     };
18327   };
18329   NumberWithError = buildPerlPackage {
18330     pname = "Number-WithError";
18331     version = "1.01";
18332     src = fetchurl {
18333       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Number-WithError-1.01.tar.gz";
18334       hash = "sha256-3/agcn54ROpng3vfrdVSuG9rIW0Y7o7kaEKyLM7w9VQ=";
18335     };
18336     propagatedBuildInputs = [ ParamsUtil prefork ];
18337     buildInputs = [ TestLectroTest ];
18338     meta = {
18339       description = "Numbers with error propagation and scientific rounding";
18340       license = with lib.licenses; [ artistic1 gpl1Plus ];
18341     };
18342   };
18344   NTLM = buildPerlPackage {
18345     pname = "NTLM";
18346     version = "1.09";
18347     src = fetchurl {
18348       url = "mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-1.09.tar.gz";
18349       hash = "sha256-yCPjDNp2vBVjblhDAslg4rXu75UXwkSPdFRJiJMVH4U=";
18350     };
18351     propagatedBuildInputs = [ DigestHMAC ];
18352     meta = {
18353       description = "An NTLM authentication module";
18354       license = with lib.licenses; [ artistic1 gpl1Plus ];
18355       maintainers = [ maintainers.pSub ];
18356     };
18357   };
18359   ObjectAccessor = buildPerlPackage {
18360     pname = "Object-Accessor";
18361     version = "0.48";
18362     src = fetchurl {
18363       url = "mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz";
18364       hash = "sha256-dsuCSie2tOVgQJ/Pb9Wzv7vTi3Lx89N+0LVL2cC66t4=";
18365     };
18366     meta = {
18367       description = "Per object accessors";
18368       license = with lib.licenses; [ artistic1 gpl1Plus ];
18369     };
18370   };
18372   ObjectEvent = buildPerlPackage rec {
18373     pname = "Object-Event";
18374     version = "1.23";
18375     src = fetchurl {
18376       url = "mirror://cpan/authors/id/E/EL/ELMEX/${pname}-${version}.tar.gz";
18377       hash = "sha256-q2u4BQj0/dry1RsgyodqqwOFgqhrUijmQ1QRNIr1PII=";
18378     };
18379     propagatedBuildInputs = [ AnyEvent commonsense ];
18380     meta = {
18381       description = "A class that provides an event callback interface";
18382       license = with lib.licenses; [ artistic1 gpl1Plus ];
18383     };
18384   };
18386   ObjectInsideOut = buildPerlModule {
18387     pname = "Object-InsideOut";
18388     version = "4.05";
18389     src = fetchurl {
18390       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz";
18391       hash = "sha256-nf1sooInJDR+DrZ1nQBwlCWBRwOtXGa9tiFFeYaLysQ=";
18392     };
18393     propagatedBuildInputs = [ ExceptionClass ];
18394     meta = {
18395       description = "Comprehensive inside-out object support module";
18396       license = with lib.licenses; [ artistic1 gpl1Plus ];
18397     };
18398   };
18400   ObjectPad = buildPerlModule {
18401     pname = "Object-Pad";
18402     version = "0.68";
18403     src = fetchurl {
18404       url = "mirror://cpan/authors/id/P/PE/PEVANS/Object-Pad-0.68.tar.gz";
18405       hash = "sha256-xN5jBIQxMJZNrskozF99HphTnu/X7azHvn4Yg0XhnXE=";
18406     };
18407     buildInputs = [ TestFatal TestRefcount ];
18408     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
18409     propagatedBuildInputs = [ XSParseKeyword XSParseSublike ];
18410     meta = {
18411       description = "A simple syntax for lexical field-based objects";
18412       license = with lib.licenses; [ artistic1 gpl1Plus ];
18413       maintainers = [ maintainers.zakame ];
18414     };
18415   };
18417   ObjectSignature = buildPerlPackage {
18418     pname = "Object-Signature";
18419     version = "1.08";
18420     src = fetchurl {
18421       url = "mirror://cpan/authors/id/E/ET/ETHER/Object-Signature-1.08.tar.gz";
18422       hash = "sha256-hCFTyU2pPiucs7VN7lcrUGS79JmjanPDiiN5mgIDaYo=";
18423     };
18424     meta = {
18425       description = "Generate cryptographic signatures for objects";
18426       homepage = "https://github.com/karenetheridge/Object-Signature";
18427       license = with lib.licenses; [ artistic1 gpl1Plus ];
18428     };
18429   };
18431   OggVorbisHeaderPurePerl = buildPerlPackage {
18432     pname = "Ogg-Vorbis-Header-PurePerl";
18433     version = "1.05";
18434     src = fetchurl {
18435       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Ogg-Vorbis-Header-PurePerl-1.05.tar.gz";
18436       hash = "sha256-Uh04CPQtcSKmsGwzpurm18OZR6q1fEyMyvzE9gP9pT4=";
18437     };
18439     # The testing mechanism is erorrneous upstream. See http://matrix.cpantesters.org/?dist=Ogg-Vorbis-Header-PurePerl+1.0
18440     doCheck = false;
18441     meta = {
18442       description = "Access Ogg Vorbis info and comment fields";
18443       license = with lib.licenses; [ artistic1 ];
18444     };
18445   };
18447   OLEStorage_Lite = buildPerlPackage {
18448     pname = "OLE-Storage_Lite";
18449     version = "0.20";
18450     src = fetchurl {
18451       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-0.20.tar.gz";
18452       hash = "sha256-qximFxwOCOqTTuoUoKtPOokJl13anaQhJJIutB6E+Lo=";
18453     };
18454     meta = {
18455       description = "Read and write OLE storage files";
18456       license = with lib.licenses; [ artistic1 gpl1Plus ];
18457     };
18458   };
18460   Opcodes = buildPerlPackage {
18461     pname = "Opcodes";
18462     version = "0.14";
18463     src = fetchurl {
18464       url = "mirror://cpan/authors/id/R/RU/RURBAN/Opcodes-0.14.tar.gz";
18465       hash = "sha256-f3NlRH5NHFuHtDCRRI8EiOZ8nwNrJsAipUCc1z00OJM=";
18466     };
18467     meta = {
18468       description = "More Opcodes information from opnames.h and opcode.h";
18469       license = with lib.licenses; [ artistic1 gpl1Plus ];
18470     };
18471   };
18473   OpenAPIClient = buildPerlPackage rec {
18474     pname = "OpenAPI-Client";
18475     version = "1.04";
18476     src = fetchurl {
18477       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/OpenAPI-Client-1.04.tar.gz";
18478       hash = "sha256-szo5AKzdLO5hAHu5MigNjDzslJkpnUNyud+Yd0vXTAo=";
18479     };
18480     propagatedBuildInputs = [ MojoliciousPluginOpenAPI ];
18481     meta = {
18482       description = "A client for talking to an Open API powered server";
18483       homepage = "https://github.com/jhthorsen/openapi-client";
18484       license = with lib.licenses; [ artistic2 ];
18485       maintainers = [ maintainers.sgo ];
18486     };
18487   };
18489   OpenGL = buildPerlPackage rec {
18490     pname = "OpenGL";
18491     version = "0.70";
18492     src = fetchurl {
18493       url = "mirror://cpan/authors/id/C/CH/CHM/OpenGL-0.70.tar.gz";
18494       hash = "sha256-sg4q9EBLSQGrNbumrV46iqYL/3JBPJkojwEBjEz4dOA=";
18495     };
18497     # FIXME: try with libGL + libGLU instead of libGLU libGL
18498     buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
18500     patches = [ ../development/perl-modules/perl-opengl.patch ];
18502     configurePhase = ''
18503       substituteInPlace Makefile.PL \
18504         --replace "@@libpaths@@" '${lib.concatStringsSep "\n" (map (f: "-L${f}/lib") buildInputs)}'
18506       cp -v ${../development/perl-modules/perl-opengl-gl-extensions.txt} utils/glversion.txt
18508       perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
18509     '';
18511     doCheck = false;
18512     meta = {
18513       description = "Perl OpenGL bindings";
18514       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from EPEL
18515     };
18516   };
18518   OpenOfficeOODoc = buildPerlPackage {
18519     pname = "OpenOffice-OODoc";
18520     version = "2.125";
18521     src = fetchurl {
18522       url = "mirror://cpan/authors/id/J/JM/JMGDOC/OpenOffice-OODoc-2.125.tar.gz";
18523       hash = "sha256-wRRIlwaTxCqLnpPaSMrJE1Fs4zqdRKZGhAD3rYeR2rY=";
18524     };
18525     propagatedBuildInputs = [ ArchiveZip XMLTwig ];
18526     meta = {
18527       description = "The Perl Open OpenDocument Connector";
18528       license = with lib.licenses; [ lgpl21Only ];
18529       maintainers = [ maintainers.wentasah ];
18530     };
18531   };
18533   NetOpenIDCommon = buildPerlPackage {
18534     pname = "Net-OpenID-Common";
18535     version = "1.20";
18536     src = fetchurl {
18537       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Common-1.20.tar.gz";
18538       hash = "sha256-q06X10pHcQ4NtKwMgi9/32Iq+GpgpSunIlWoicKdq8k=";
18539     };
18540     propagatedBuildInputs = [ CryptDHGMP XMLSimple ];
18541     meta = {
18542       description = "Libraries shared between Net::OpenID::Consumer and Net::OpenID::Server";
18543       license = with lib.licenses; [ artistic1 gpl1Plus ];
18544     };
18545   };
18547   NetOpenIDConsumer = buildPerlPackage {
18548     pname = "Net-OpenID-Consumer";
18549     version = "1.18";
18550     src = fetchurl {
18551       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz";
18552       hash = "sha256-Dhw4b+fBhDBx3Zlr3KymEJEGZK5LXRJ8lf6u/Zk2Tzg=";
18553     };
18554     propagatedBuildInputs = [ JSON NetOpenIDCommon ];
18555     buildInputs = [ CGI ];
18556     meta = {
18557       description = "Library for consumers of OpenID identities";
18558       license = with lib.licenses; [ artistic1 gpl1Plus ];
18559     };
18560   };
18562   NetOpenSSH = buildPerlPackage {
18563     pname = "Net-OpenSSH";
18564     version = "0.80";
18565     src = fetchurl {
18566       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-OpenSSH-0.80.tar.gz";
18567       hash = "sha256-/uCTZX3ys2FHKimChZWIpuS8XhrugRjs5e6/6vqNrrM=";
18568     };
18569     meta = {
18570       description = "Perl SSH client package implemented on top of OpenSSH";
18571       license = with lib.licenses; [ artistic1 gpl1Plus ];
18572     };
18573   };
18575   NetZooKeeper = buildPerlPackage {
18576     pname = "Net-ZooKeeper";
18577     version = "0.42pre";
18578     src = fetchFromGitHub {
18579       owner = "mark-5";
18580       repo = "p5-net-zookeeper";
18581       rev = "66e1a360aff9c39af728c36092b540a4b6045f70";
18582       hash = "sha256-NyY97EWtqWFtKJnwX2HDkKcyviKq57yRtWC7lzajiHY=";
18583     };
18584     buildInputs = [ pkgs.zookeeper_mt ];
18585     # fix "error: format not a string literal and no format arguments [-Werror=format-security]"
18586     hardeningDisable = [ "format" ];
18587     # Make the async API accessible
18588     NIX_CFLAGS_COMPILE = "-DTHREADED";
18589     NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt";
18590     # Most tests are skipped as no server is available in the sandbox.
18591     # `t/35_log.t` seems to suffer from a race condition; remove it.  See
18592     # https://github.com/NixOS/nixpkgs/pull/104889#issuecomment-737144513
18593     preCheck = ''
18594       rm t/35_log.t
18595     '' + lib.optionalString stdenv.isDarwin ''
18596       rm t/30_connect.t
18597       rm t/45_class.t
18598     '';
18599     meta = {
18600       description = "Perl extension for Apache ZooKeeper";
18601       homepage = "https://github.com/mark-5/p5-net-zookeeper";
18602       license = with lib.licenses; [ asl20 ];
18603       maintainers = teams.deshaw.members ++ [ maintainers.ztzg ];
18604     };
18605   };
18607   PackageConstants = buildPerlPackage {
18608     pname = "Package-Constants";
18609     version = "0.06";
18610     src = fetchurl {
18611       url = "mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz";
18612       hash = "sha256-C1i+eHBszE5L2butQXZ0cEJ/17LPrXSUid4QH4W8XfU=";
18613     };
18614     meta = {
18615       description = "List constants defined in a package";
18616       license = with lib.licenses; [ artistic1 gpl1Plus ];
18617     };
18618   };
18620   PackageDeprecationManager = buildPerlPackage {
18621     pname = "Package-DeprecationManager";
18622     version = "0.17";
18623     src = fetchurl {
18624       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz";
18625       hash = "sha256-HXQ62kgrXJhx2JSWbofUwg7clpMbuUn7JjiwAN3WaEs=";
18626     };
18627     buildInputs = [ TestFatal TestWarnings ];
18628     propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName ];
18629     meta = {
18630       description = "Manage deprecation warnings for your distribution";
18631       homepage = "https://metacpan.org/release/Package-DeprecationManager";
18632       license = with lib.licenses; [ artistic2 ];
18633     };
18634   };
18636   PatchReader = buildPerlPackage {
18637     pname = "PatchReader";
18638     version = "0.9.6";
18639     src = fetchurl {
18640       url = "mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz";
18641       hash = "sha256-uN43RgNHu1R03AGRbMsx3S/gzZIkLEoy1zDo6wh8Mjw=";
18642     };
18643     meta = {
18644       description = "Utilities to read and manipulate patches and CVS";
18645       license = with lib.licenses; [ artistic1 ];
18646     };
18647   };
18649   PackageStash = buildPerlPackage {
18650     pname = "Package-Stash";
18651     version = "0.39";
18652     src = fetchurl {
18653       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-0.39.tar.gz";
18654       hash = "sha256-kWX1VREuCASTzg6RKd4Ihtowslk/s1Oiq9HHay0mIbU=";
18655     };
18656     buildInputs = [ CPANMetaCheck TestFatal TestNeeds TestRequires ];
18657     propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
18658     meta = {
18659       description = "Routines for manipulating stashes";
18660       homepage = "https://github.com/moose/Package-Stash";
18661       license = with lib.licenses; [ artistic1 gpl1Plus ];
18662       mainProgram = "package-stash-conflicts";
18663     };
18664   };
18666   PackageStashXS = buildPerlPackage {
18667     pname = "Package-Stash-XS";
18668     version = "0.29";
18669     src = fetchurl {
18670       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-XS-0.29.tar.gz";
18671       hash = "sha256-02drqUZB4D1qMOlR8JJmxMPKP1tYqnsxSmfyjkGYeKo=";
18672     };
18673     buildInputs = [ TestFatal TestRequires ];
18674     meta = {
18675       description = "Faster and more correct implementation of the Package::Stash API";
18676       homepage = "https://github.com/moose/Package-Stash-XS";
18677       license = with lib.licenses; [ artistic1 gpl1Plus ];
18678     };
18679   };
18681   Pango = buildPerlPackage {
18682     pname = "Pango";
18683     version = "1.227";
18684     src = fetchurl {
18685       url = "mirror://cpan/authors/id/X/XA/XAOC/Pango-1.227.tar.gz";
18686       hash = "sha256-NLCkIt8/7NdZdYcEhVJFfUiudkxDu+/SqdYs62yLrHE=";
18687     };
18688     buildInputs = [ pkgs.pango ];
18689     propagatedBuildInputs = [ Cairo Glib ];
18690     meta = {
18691       description = "Layout and render international text";
18692       homepage = "http://gtk2-perl.sourceforge.net";
18693       license = with lib.licenses; [ lgpl21Plus ];
18694     };
18695   };
18697   ParallelForkManager = buildPerlPackage {
18698     pname = "Parallel-ForkManager";
18699     version = "2.02";
18700     src = fetchurl {
18701       url = "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz";
18702       hash = "sha256-wbKXCou2ZsPefKrEqPTbzAQ6uBm7wzdpLse/J62uRAQ=";
18703     };
18704     buildInputs = [ TestWarn ];
18705     propagatedBuildInputs = [ Moo ];
18706     meta = {
18707       description = "A simple parallel processing fork manager";
18708       homepage = "https://github.com/dluxhu/perl-parallel-forkmanager";
18709       license = with lib.licenses; [ artistic1 gpl1Plus ];
18710     };
18711   };
18713   ParallelPipes = buildPerlModule {
18714     pname = "Parallel-Pipes";
18715     version = "0.102";
18716     src = fetchurl {
18717       url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.102.tar.gz";
18718       hash = "sha256-JjZfgQXcYGsUC9HUX41w1cMFQ5D3Xk/bdISj5ZHL+pc=";
18719     };
18720     buildInputs = [ ModuleBuildTiny ];
18721     meta = {
18722       description = "Parallel processing using pipe(2) for communication and synchronization";
18723       homepage = "https://github.com/skaji/Parallel-Pipes";
18724       license = with lib.licenses; [ artistic1 gpl1Plus ];
18725       maintainers = [ maintainers.zakame ];
18726     };
18727   };
18729   ParallelPrefork = buildPerlPackage {
18730     pname = "Parallel-Prefork";
18731     version = "0.18";
18732     src = fetchurl {
18733       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz";
18734       hash = "sha256-8cH0jxrhR6WLyI+csvVw1rsV6kwNWJq9TDCE3clhWW4=";
18735     };
18736     buildInputs = [ TestRequires TestSharedFork ];
18737     propagatedBuildInputs = [ ClassAccessorLite ListMoreUtils ProcWait3 ScopeGuard SignalMask ];
18738     meta = {
18739       description = "A simple prefork server framework";
18740       license = with lib.licenses; [ artistic1 gpl1Plus ];
18741     };
18742   };
18744   ParamsClassify = buildPerlModule {
18745     pname = "Params-Classify";
18746     version = "0.015";
18747     src = fetchurl {
18748       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz";
18749       hash = "sha256-OY7BXNiZ/Ni+89ueoXSL9jHxX2wyviA+R1tn31EKWRQ=";
18750     };
18751     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
18752     meta = {
18753       description = "Argument type classification";
18754       license = with lib.licenses; [ artistic1 gpl1Plus ];
18755     };
18756   };
18758   ParamsUtil = buildPerlPackage {
18759     pname = "Params-Util";
18760     version = "1.102";
18761     src = fetchurl {
18762       url = "mirror://cpan/authors/id/R/RE/REHSACK/Params-Util-1.102.tar.gz";
18763       hash = "sha256-SZuxtILbJP2id6UVJVlq0JLCvVHdUI+o/sLp+EkJdAI=";
18764     };
18765     meta = {
18766       description = "Simple, compact and correct param-checking functions";
18767       homepage = "https://metacpan.org/release/Params-Util";
18768       license = with lib.licenses; [ artistic1 gpl1Plus ];
18769     };
18770   };
18772   ParamsValidate = buildPerlModule {
18773     pname = "Params-Validate";
18774     version = "1.30";
18775     src = fetchurl {
18776       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.30.tar.gz";
18777       hash = "sha256-mjo1WD0xJdB+jIAsH5L1vn1SbnbdSW6UTaJwseJz2BI=";
18778     };
18779     buildInputs = [ TestFatal TestRequires ];
18780     propagatedBuildInputs = [ ModuleImplementation ];
18781     perlPreHook = "export LD=$CC";
18782     meta = {
18783       description = "Validate method/function parameters";
18784       homepage = "https://metacpan.org/release/Params-Validate";
18785       license = with lib.licenses; [ artistic2 ];
18786     };
18787   };
18789   ParamsValidationCompiler = buildPerlPackage {
18790     pname = "Params-ValidationCompiler";
18791     version = "0.30";
18792     src = fetchurl {
18793       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz";
18794       hash = "sha256-3FvuIzg75CdlBz2yhL7Z+9gZ1HBa1knCC2REUgkNFss=";
18795     };
18796     propagatedBuildInputs = [ EvalClosure ExceptionClass ];
18797     buildInputs = [ Specio Test2PluginNoWarnings Test2Suite TestWithoutModule ];
18798     meta = {
18799       description = "Build an optimized subroutine parameter validator once, use it forever";
18800       homepage = "https://metacpan.org/release/Params-ValidationCompiler";
18801       license = with lib.licenses; [ artistic2 ];
18802     };
18803   };
18805   Paranoid = buildPerlPackage {
18806     pname = "Paranoid";
18807     version = "2.07";
18808     src = fetchurl {
18809       url = "mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/Paranoid-2.07.tar.gz";
18810       hash = "sha256-tVz9jG1fGB4hjv0BL3EaUM0U5NvIgEZQuVR3F49Dt/w=";
18811     };
18812     patches = [ ../development/perl-modules/Paranoid-blessed-path.patch ];
18813     preConfigure = ''
18814       # Capture the path used when compiling this module as the "blessed"
18815       # system path, analogous to the module's own use of '/bin:/sbin'.
18816       sed -i "s#__BLESSED_PATH__#${pkgs.coreutils}/bin#" lib/Paranoid.pm t/01_init_core.t
18817     '';
18818     meta = {
18819       description = "General function library for safer, more secure programming";
18820       license = with lib.licenses; [ artistic1 gpl1Plus ];
18821       maintainers = teams.deshaw.members;
18822     };
18823   };
18825   PARDist = buildPerlPackage {
18826     pname = "PAR-Dist";
18827     version = "0.51";
18828     src = fetchurl {
18829       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.51.tar.gz";
18830       hash = "sha256-0kIGLfm2ifOQQOTE4JExpsRk0O7629HJrJRxc68z3/g=";
18831     };
18832     meta = {
18833       description = "Create and manipulate PAR distributions";
18834       license = with lib.licenses; [ artistic1 gpl1Plus ];
18835     };
18836   };
18838   PAUSEPermissions = buildPerlPackage {
18839     pname = "PAUSE-Permissions";
18840     version = "0.17";
18841     src = fetchurl {
18842       url = "mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz";
18843       hash = "sha256-ek6SDeODL5CfJV1aMj942M0hXGCMlJbNbJVwEsi0MQg=";
18844     };
18845     propagatedBuildInputs = [ FileHomeDir HTTPDate MooXOptions TimeDurationParse ];
18846     buildInputs = [ PathTiny ];
18847     meta = {
18848       description = "Interface to PAUSE's module permissions file (06perms.txt)";
18849       homepage = "https://github.com/neilb/PAUSE-Permissions";
18850       license = with lib.licenses; [ artistic1 gpl1Plus ];
18851       mainProgram = "pause-permissions";
18852     };
18853   };
18855   Parent = buildPerlPackage {
18856     pname = "parent";
18857     version = "0.238";
18858     src = fetchurl {
18859       url = "mirror://cpan/authors/id/C/CO/CORION/parent-0.238.tar.gz";
18860       hash = "sha256-OPWP3vPiihlMnI0NxdAmcvr5PAafQMW8sfq+rbvE0tE=";
18861     };
18862     meta = {
18863       description = "Establish an ISA relationship with base classes at compile time";
18864       license = with lib.licenses; [ artistic1 gpl1Plus ];
18865     };
18866   };
18868   ParseDebControl = buildPerlPackage {
18869     pname = "Parse-DebControl";
18870     version = "2.005";
18871     src = fetchurl {
18872       url = "mirror://cpan/authors/id/J/JA/JAYBONCI/Parse-DebControl-2.005.tar.gz";
18873       hash = "sha256-tkvOH/IS1+PvnUNo57YnSc8ndR+oNgzfU+lpEjNGpyk=";
18874     };
18875     propagatedBuildInputs = [ IOStringy LWP ];
18876     meta = {
18877       description = "Easy OO parsing of debian control-like files";
18878       license = with lib.licenses; [ artistic1 gpl1Plus ];
18879     };
18880   };
18882   ParseIRC = buildPerlPackage {
18883     pname = "Parse-IRC";
18884     version = "1.22";
18885     src = fetchurl {
18886       url = "mirror://cpan/authors/id/B/BI/BINGOS/Parse-IRC-1.22.tar.gz";
18887       hash = "sha256-RXsJiX8304pwVPlWMkc2VCf+JBAWIu1MfwVHI6RbWNU=";
18888     };
18889     meta = {
18890       description = "A parser for the IRC protocol";
18891       homepage = "https://github.com/bingos/parse-irc";
18892       license = with lib.licenses; [ artistic1 gpl1Plus ];
18893       maintainers = with maintainers; [ sgo ];
18894     };
18895   };
18897   ParseLocalDistribution = buildPerlPackage {
18898     pname = "Parse-LocalDistribution";
18899     version = "0.19";
18900     src = fetchurl {
18901       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz";
18902       hash = "sha256-awvDLE6NnoHz8qzB0qdMKi+IepHBUisxzkyNSaQV6Z4=";
18903     };
18904     propagatedBuildInputs = [ ParsePMFile ];
18905     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
18906     meta = {
18907       description = "Parses local .pm files as PAUSE does";
18908       license = with lib.licenses; [ artistic1 gpl1Plus ];
18909     };
18910   };
18912   ParsePlainConfig = buildPerlPackage {
18913     pname = "Parse-PlainConfig";
18914     version = "3.05";
18915     src = fetchurl {
18916       url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/Parse-PlainConfig-3.05.tar.gz";
18917       hash = "sha256-a3ioVSOYsNLXBjUFyTs8/tBDLFss9uALjlH+v0EcHvo=";
18918     };
18919     propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
18920     meta = {
18921       description = "Parser/Generator of human-readable conf files";
18922       license = with lib.licenses; [ artistic1 gpl1Plus ];
18923       maintainers = teams.deshaw.members;
18924     };
18925   };
18927   ParsePMFile = buildPerlPackage {
18928     pname = "Parse-PMFile";
18929     version = "0.43";
18930     src = fetchurl {
18931       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.43.tar.gz";
18932       hash = "sha256-vmHoByBHOM8MUu0yFVGZL9x/qPqkPtQ/9InQwmmQBiM=";
18933     };
18934     buildInputs = [ ExtUtilsMakeMakerCPANfile ];
18935     meta = {
18936       description = "Parses .pm file as PAUSE does";
18937       license = with lib.licenses; [ artistic1 gpl1Plus ];
18938     };
18939   };
18941   ParseRecDescent = buildPerlModule {
18942     pname = "Parse-RecDescent";
18943     version = "1.967015";
18944     src = fetchurl {
18945       url = "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz";
18946       hash = "sha256-GUMzaky1TxeIpzPwgnwMVdtDENXq4V5UJjnJ3YVlbjc=";
18947     };
18948     meta = {
18949       description = "Generate Recursive-Descent Parsers";
18950       license = with lib.licenses; [ artistic1 gpl1Plus ];
18951     };
18952   };
18954   ParseSyslog = buildPerlPackage {
18955     pname = "Parse-Syslog";
18956     version = "1.10";
18957     src = fetchurl {
18958       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz";
18959       hash = "sha256-ZZohRUQe822YNd7K+D2jCPzQP0kTjLPZCSjov8nxOdk=";
18960     };
18961     meta = {
18962       description = "Parse Unix syslog files";
18963       license = with lib.licenses; [ artistic1 gpl1Plus ];
18964     };
18965   };
18967   ParserMGC = buildPerlModule {
18968     pname = "Parser-MGC";
18969     version = "0.16";
18970     src = fetchurl {
18971       url = "mirror://cpan/authors/id/P/PE/PEVANS/Parser-MGC-0.16.tar.gz";
18972       hash = "sha256-dERhxfDIOAEvO+jFgEKlVgkhIAzBbbDn0ASn8rgTe5E=";
18973     };
18974     propagatedBuildInputs = [ FileSlurpTiny ];
18975     meta = {
18976       description = "Build simple recursive-descent parsers";
18977       license = with lib.licenses; [ artistic1 gpl1Plus ];
18978     };
18979   };
18981   ParseYapp = buildPerlPackage {
18982     pname = "Parse-Yapp";
18983     version = "1.21";
18984     src = fetchurl {
18985       url = "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz";
18986       hash = "sha256-OBDpmDCPui4PTyYEMDUDKwJ85RzlyKUqi440DKZfE+U=";
18987     };
18988     meta = {
18989       description = "Perl extension for generating and using LALR parsers";
18990       license = with lib.licenses; [ artistic1 gpl1Plus ];
18991       mainProgram = "yapp";
18992     };
18993   };
18995   PathClass = buildPerlModule {
18996     pname = "Path-Class";
18997     version = "0.37";
18998     src = fetchurl {
18999       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz";
19000       hash = "sha256-ZUeBlIYCOG8ssuRHOnOfF9xpU9kqq8JJikyiVhvCSM4=";
19001     };
19002     meta = {
19003       description = "Cross-platform path specification manipulation";
19004       license = with lib.licenses; [ artistic1 gpl1Plus ];
19005     };
19006   };
19008   PathDispatcher = buildPerlPackage {
19009     pname = "Path-Dispatcher";
19010     version = "1.08";
19011     src = fetchurl {
19012       url = "mirror://cpan/authors/id/E/ET/ETHER/Path-Dispatcher-1.08.tar.gz";
19013       hash = "sha256-ean2HCdAi0/R7SNNrCRpdN3q+n/mNaGP5B7HeDEwrio=";
19014     };
19015     buildInputs = [ ModuleBuildTiny TestFatal ];
19016     propagatedBuildInputs = [ Moo MooXTypeTiny TryTiny TypeTiny ];
19017     meta = {
19018       description = "Flexible and extensible dispatch";
19019       homepage = "https://github.com/karenetheridge/Path-Dispatcher";
19020       license = with lib.licenses; [ artistic1 gpl1Plus ];
19021     };
19022   };
19024   PathIteratorRule = buildPerlPackage {
19025     pname = "Path-Iterator-Rule";
19026     version = "1.014";
19027     src = fetchurl {
19028       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-1.014.tar.gz";
19029       hash = "sha256-P3QB2L7UP8kwNAnvbZ80uFogPeaUQFC765WFXTKYsaY=";
19030     };
19031     propagatedBuildInputs = [ NumberCompare TextGlob TryTiny ];
19032     buildInputs = [ Filepushd PathTiny TestDeep TestFilename ];
19033     meta = {
19034       description = "Iterative, recursive file finder";
19035       homepage = "https://github.com/dagolden/Path-Iterator-Rule";
19036       license = with lib.licenses; [ asl20 ];
19037     };
19038   };
19040   PathTiny = buildPerlPackage {
19041     pname = "Path-Tiny";
19042     version = "0.114";
19043     src = fetchurl {
19044       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.114.tar.gz";
19045       hash = "sha256-zQ+I83pY/DZn7AZXZ/4B5z7m76GKESv9NQjPZXnKAOE=";
19046     };
19047     preConfigure =
19048       ''
19049         substituteInPlace lib/Path/Tiny.pm --replace 'use File::Spec 3.40' \
19050           'use File::Spec 3.39'
19051       '';
19052     # This appears to be currently failing tests, though I don't know why.
19053     # -- ocharles
19054     doCheck = false;
19055     meta = {
19056       description = "File path utility";
19057       homepage = "https://github.com/dagolden/Path-Tiny";
19058       license = with lib.licenses; [ asl20 ];
19059     };
19060   };
19062   PathTools = buildPerlPackage {
19063     pname = "PathTools";
19064     version = "3.75";
19065     preConfigure = ''
19066       substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd'
19067     '';
19068     src = fetchurl {
19069       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz";
19070       hash = "sha256-pVhQOqax+McnwAczOQgad4iGBqpwGtoa1i3Z2MP5RaI=";
19071     };
19072     meta = {
19073       description = "Get pathname of current working directory";
19074       license = with lib.licenses; [ artistic1 gpl1Plus ];
19075     };
19076   };
19078   PBKDF2Tiny = buildPerlPackage {
19079     pname = "PBKDF2-Tiny";
19080     version = "0.005";
19081     src = fetchurl {
19082       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/PBKDF2-Tiny-0.005.tar.gz";
19083       hash = "sha256-tOIdxZswJl6qpBtwUIfsA0R9nGVaFKxA/0bk3inqv44=";
19084     };
19085     meta = {
19086       description = "Minimalist PBKDF2 (RFC 2898) with HMAC-SHA1 or HMAC-SHA2";
19087       homepage = "https://github.com/dagolden/PBKDF2-Tiny";
19088       license = with lib.licenses; [ asl20 ];
19089       maintainers = [ maintainers.sgo ];
19090     };
19091   };
19093   pcscperl = buildPerlPackage {
19094     pname = "pcsc-perl";
19095     version = "1.4.14";
19096     src = fetchurl {
19097       url = "mirror://cpan/authors/id/W/WH/WHOM/pcsc-perl-1.4.14.tar.bz2";
19098       hash = "sha256-JyK35VQ+T687oexrKaff7G2Svh7ewJ0KMZGZLU2Ixp0=";
19099     };
19100     buildInputs = [ pkgs.pcsclite ];
19101     nativeBuildInputs = [ pkgs.pkg-config ];
19102     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.pcsclite}/lib -lpcsclite";
19103     # tests fail; look unfinished
19104     doCheck = false;
19105     meta = {
19106       description = "Communicate with a smart card using PC/SC";
19107       homepage = "http://ludovic.rousseau.free.fr/softwares/pcsc-perl/";
19108       license = with lib.licenses; [ gpl2Plus ];
19109       maintainers = with maintainers; [ abbradar ];
19110       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.pcscperl.x86_64-darwin
19111     };
19112   };
19114   PDFAPI2 = buildPerlPackage {
19115     pname = "PDF-API2";
19116     version = "2.042";
19117     src = fetchurl {
19118       url = "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.042.tar.gz";
19119       hash = "sha256-q5kpQVAGAdwxoaL65s3hD3VTGogKKjEAyZ1VYKzVPF0=";
19120     };
19121     buildInputs = [ TestException TestMemoryCycle ];
19122     propagatedBuildInputs = [ FontTTF ];
19123     meta = {
19124       description = "Create, modify, and examine PDF files";
19125       license = with lib.licenses; [ lgpl21Plus ];
19126     };
19127   };
19129   PDFBuilder = buildPerlPackage {
19130     pname = "PDF-Builder";
19131     version = "3.023";
19132     src = fetchurl {
19133       url = "mirror://cpan/authors/id/P/PM/PMPERRY/PDF-Builder-3.022.tar.gz";
19134       hash = "sha256-SCskaQxxhfLn+7r5pIKz0SieJduAC/SPKVn1Epl3yjE=";
19135     };
19136     checkInputs = [ TestException TestMemoryCycle ];
19137     propagatedBuildInputs = [ FontTTF ];
19138     meta = {
19139       description = "Facilitates the creation and modification of PDF files";
19140       homepage = "https://metacpan.org/pod/PDF::Builder";
19141       license = with lib.licenses; [ lgpl21Plus ];
19142     };
19143   };
19145   PDL = buildPerlPackage rec {
19146     pname = "PDL";
19147     version = "2.025";
19148     src = fetchurl {
19149       url = "mirror://cpan/authors/id/E/ET/ETJ/PDL-2.025.tar.gz";
19150       hash = "sha256-G1oWfq0ndy2V2tJ/jrfQlRnSkVbu1TxvwUQVGUtaitY=";
19151     };
19152     patchPhase = ''
19153       substituteInPlace perldl.conf \
19154         --replace 'POSIX_THREADS_LIBS => undef' 'POSIX_THREADS_LIBS => "-L${pkgs.glibc.dev}/lib"' \
19155         --replace 'POSIX_THREADS_INC  => undef' 'POSIX_THREADS_INC  => "-I${pkgs.glibc.dev}/include"' \
19156         --replace 'WITH_MINUIT => undef' 'WITH_MINUIT => 0' \
19157         --replace 'WITH_SLATEC => undef' 'WITH_SLATEC => 0' \
19158         --replace 'WITH_HDF => undef' 'WITH_HDF => 0' \
19159         --replace 'WITH_GD => undef' 'WITH_GD => 0' \
19160         --replace 'WITH_PROJ => undef' 'WITH_PROJ => 0'
19161     '';
19163     nativeBuildInputs = with pkgs; [ autoPatchelfHook libGL.dev glibc.dev mesa_glu.dev ];
19165     buildInputs = [ DevelChecklib TestDeep TestException TestWarn ] ++
19166                   (with pkgs; [ gsl freeglut xorg.libXmu xorg.libXi ]);
19168     propagatedBuildInputs = [
19169       AstroFITSHeader
19170       ConvertUU
19171       ExtUtilsF77
19172       FileMap
19173       Inline
19174       InlineC
19175       ListMoreUtils
19176       ModuleCompile
19177       OpenGL
19178       PodParser
19179       TermReadKey
19180     ];
19182     meta = {
19183       description = "Perl Data Language";
19184       homepage = "https://pdl.perl.org";
19185       license = with lib.licenses; [ artistic1 gpl1Plus ];
19186       mainProgram = "pdl2";
19187       platforms = lib.platforms.linux;
19188     };
19189   };
19191   Pegex = buildPerlPackage {
19192     pname = "Pegex";
19193     version = "0.75";
19194     src = fetchurl {
19195       url = "mirror://cpan/authors/id/I/IN/INGY/Pegex-0.75.tar.gz";
19196       hash = "sha256-TcjTNd6AslJHzbP5RvDRDZugs8NLDtfQAxb9Bo/QXtw=";
19197     };
19198     buildInputs = [ TestPod TieIxHash ];
19199     propagatedBuildInputs = [ FileShareDirInstall XXX ];
19200     meta = {
19201       description = "Acmeist PEG Parser Framework";
19202       homepage = "https://github.com/ingydotnet/pegex-pm";
19203       license = with lib.licenses; [ artistic1 gpl1Plus ];
19204     };
19205   };
19207   PerconaToolkit = callPackage ../development/perl-modules/Percona-Toolkit { };
19209   Perl5lib = buildPerlPackage {
19210     pname = "perl5lib";
19211     version = "1.02";
19212     src = fetchurl {
19213       url = "mirror://cpan/authors/id/N/NO/NOBULL/perl5lib-1.02.tar.gz";
19214       hash = "sha256-JLlpJYQBU8REJBOYs2/Il24IX9sNh5yRc0cJz5F+zqw=";
19215     };
19216     meta = {
19217       description = "Honour PERL5LIB even in taint mode";
19218       license = with lib.licenses; [ artistic1 gpl1Plus ];
19219     };
19220   };
19222   Perlosnames = buildPerlPackage {
19223     pname = "Perl-osnames";
19224     version = "0.122";
19225     src = fetchurl {
19226       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Perl-osnames-0.122.tar.gz";
19227       hash = "sha256-cHWTnXR+N1F40ANI0AxS/52yzrsYuudHPcsJ34JRGKA=";
19228     };
19229     meta = {
19230       description = "List possible $^O ($OSNAME) values, with description";
19231       homepage = "https://metacpan.org/release/Perl-osnames";
19232       license = with lib.licenses; [ artistic1 gpl1Plus ];
19233     };
19234   };
19236   PerlCritic = buildPerlModule {
19237     pname = "Perl-Critic";
19238     version = "1.140";
19239     src = fetchurl {
19240       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-1.140.tar.gz";
19241       hash = "sha256-v+7wqjbwlBaCpgchJZPbUwssilSZ9tx9QffmGo69/ds=";
19242     };
19243     buildInputs = [ TestDeep ];
19244     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
19245     propagatedBuildInputs = [ BKeywords ConfigTiny FileWhich ListMoreUtils ModulePluggable PPIxQuoteLike PPIxRegexp PPIxUtilities PerlTidy PodSpell StringFormat ];
19246     postInstall = lib.optionalString stdenv.isDarwin ''
19247       shortenPerlShebang $out/bin/perlcritic
19248     '';
19249     meta = {
19250       description = "Critique Perl source code for best-practices";
19251       homepage = "http://perlcritic.com";
19252       license = with lib.licenses; [ artistic1 gpl1Plus ];
19253       mainProgram = "perlcritic";
19254     };
19255   };
19257   PerlCriticCommunity = buildPerlModule {
19258     pname = "Perl-Critic-Community";
19259     version = "1.0.0";
19260     src = fetchurl {
19261       url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-Critic-Community-v1.0.0.tar.gz";
19262       hash = "sha256-MRt3XaQZPp3pTPUiXpk8xU3Qlq4efvYHOM2uHZuIVOc=";
19263     };
19264     buildInputs = [ ModuleBuildTiny ];
19265     propagatedBuildInputs = [ PPI PathTiny PerlCritic PerlCriticPolicyVariablesProhibitLoopOnHash PerlCriticPulp ];
19266     meta = {
19267       description = "Community-inspired Perl::Critic policies";
19268       homepage = "https://github.com/Grinnz/Perl-Critic-Community";
19269       license = with lib.licenses; [ artistic2 ];
19270     };
19271   };
19273   PerlCriticMoose = buildPerlPackage rec {
19274     pname = "Perl-Critic-Moose";
19275     version = "1.05";
19276     src = fetchurl {
19277       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Perl-Critic-Moose-${version}.tar.gz";
19278       hash = "sha256-UuuOIsQmQ/F/4peiFxQBfv254phsJOMzfgMPNlD5IgE=";
19279     };
19280     propagatedBuildInputs = [ PerlCritic Readonly namespaceautoclean ];
19281     meta = {
19282       description = "Policies for Perl::Critic concerned with using Moose";
19283       homepage = "https://metacpan.org/release/Perl-Critic-Moose";
19284       license = with lib.licenses; [ artistic1 ];
19285     };
19286   };
19288   PerlCriticPolicyVariablesProhibitLoopOnHash = buildPerlPackage {
19289     pname = "Perl-Critic-Policy-Variables-ProhibitLoopOnHash";
19290     version = "0.008";
19291     src = fetchurl {
19292       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz";
19293       hash = "sha256-EvXwvpbqG9x4KAWFd70cXGPKI8F/rJw3CUUrPf9bhOA=";
19294     };
19295     propagatedBuildInputs = [ PerlCritic ];
19296     meta = {
19297       description = "Don't write loops on hashes, only on keys and values of hashes";
19298       license = with lib.licenses; [ artistic1 gpl1Plus ];
19299     };
19300   };
19302   PerlCriticPulp = buildPerlPackage {
19303     pname = "Perl-Critic-Pulp";
19304     version = "99";
19305     src = fetchurl {
19306       url = "mirror://cpan/authors/id/K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz";
19307       hash = "sha256-uP2oQvy+100hAlfAooS23HsdBVSkej3l2X59VC4j5/4=";
19308     };
19309     propagatedBuildInputs = [ IOString ListMoreUtils PPI PerlCritic PodMinimumVersion ];
19310     meta = {
19311       description = "Some add-on policies for Perl::Critic";
19312       homepage = "https://user42.tuxfamily.org/perl-critic-pulp/index.html";
19313       license = with lib.licenses; [ gpl3Plus ];
19314     };
19315   };
19317   PerlDestructLevel = buildPerlPackage {
19318     pname = "Perl-Destruct-Level";
19319     version = "0.02";
19320     src = fetchurl {
19321       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz";
19322       hash = "sha256-QLSsCykrYM47h956o5vC+yWhnRDlyfaYZpYchLP20Ts=";
19323     };
19324     meta = {
19325       description = "Allow to change perl's destruction level";
19326       license = with lib.licenses; [ artistic1 gpl1Plus ];
19327     };
19328   };
19330   PerlIOLayers = buildPerlModule {
19331     pname = "PerlIO-Layers";
19332     version = "0.012";
19333     src = fetchurl {
19334       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-Layers-0.012.tar.gz";
19335       hash = "sha256-VC2lQvo2uz/de4d24jDTzMAqpnRM6bd7Tu9MyufASt8=";
19336     };
19337     perlPreHook = "export LD=$CC";
19338     meta = {
19339       description = "Querying your filehandle's capabilities";
19340       license = with lib.licenses; [ artistic1 gpl1Plus ];
19341     };
19342   };
19344   PerlIOeol = buildPerlPackage {
19345     pname = "PerlIO-eol";
19346     version = "0.17";
19347     src = fetchurl {
19348       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/PerlIO-eol-0.17.tar.gz";
19349       hash = "sha256-zszL/kVFsZZdESqGKY3/5Q1oBhgAkMa+x9dXto+4Xrk=";
19350     };
19351     meta = {
19352       description = "PerlIO layer for normalizing line endings";
19353       license = with lib.licenses; [ artistic1 gpl1Plus ];
19354     };
19355   };
19357   PerlIOgzip = buildPerlPackage {
19358     pname = "PerlIO-gzip";
19359     version = "0.20";
19360     src = fetchurl {
19361       url = "mirror://cpan/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.20.tar.gz";
19362       hash = "sha256-SEhnmj8gHj87DF9vlSbmAq9Skj/6RxoqNlfbeGvTvcU=";
19363     };
19364     buildInputs = [ pkgs.zlib ];
19365     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
19366     meta = {
19367       description = "Perl extension to provide a PerlIO layer to gzip/gunzip";
19368       license = with lib.licenses; [ artistic1 gpl1Plus ];
19369     };
19370   };
19372   PerlIOutf8_strict = buildPerlPackage {
19373     pname = "PerlIO-utf8_strict";
19374     version = "0.008";
19375     src = fetchurl {
19376       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.008.tar.gz";
19377       hash = "sha256-X3mN7VDcx9QhtXhQ+DcxBmbYF/TGfBW6D1odOMdN9Fk=";
19378     };
19379     buildInputs = [ TestException ];
19380     meta = {
19381       description = "Fast and correct UTF-8 IO";
19382       license = with lib.licenses; [ artistic1 gpl1Plus ];
19383     };
19384   };
19386   PerlIOviadynamic = buildPerlPackage {
19387     pname = "PerlIO-via-dynamic";
19388     version = "0.14";
19389     src = fetchurl {
19390       url = "mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz";
19391       hash = "sha256-is169NivIdKLnBWuE3/nbNBk2tfSbrqKMLl+vG4fa0k=";
19392     };
19393     meta = {
19394       description = "Dynamic PerlIO layers";
19395       license = with lib.licenses; [ artistic1 gpl1Plus ];
19396     };
19397   };
19399   PerlIOviasymlink = buildPerlPackage {
19400     pname = "PerlIO-via-symlink";
19401     version = "0.05";
19402     src = fetchurl {
19403       url = "mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-symlink-0.05.tar.gz";
19404       hash = "sha256-QQfUw0pqNilFNEjCVpXZL4JSKv9k4ptxa1alr1hrLVI=";
19405     };
19407     buildInputs = [ ModuleInstall ];
19409     postPatch = ''
19410       # remove outdated inc::Module::Install included with module
19411       # causes build failure for perl5.18+
19412       rm -r  inc
19413     '';
19414     meta = {
19415       description = "PerlIO layers for create symlinks";
19416       license = with lib.licenses; [ artistic1 gpl1Plus ];
19417     };
19418   };
19420   PerlIOviaTimeout = buildPerlModule {
19421     pname = "PerlIO-via-Timeout";
19422     version = "0.32";
19423     src = fetchurl {
19424       url = "mirror://cpan/authors/id/D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz";
19425       hash = "sha256-knj572aIUNkT2Y+kwNfn1mfP81AzkfSk6uc6JG8ueRY=";
19426     };
19427     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
19428     meta = {
19429       description = "A PerlIO layer that adds read & write timeout to a handle";
19430       license = with lib.licenses; [ artistic1 gpl1Plus ];
19431     };
19432   };
19434   perlldap = buildPerlPackage {
19435     pname = "perl-ldap";
19436     version = "0.68";
19437     src = fetchurl {
19438       url = "mirror://cpan/authors/id/M/MA/MARSCHAP/perl-ldap-0.68.tar.gz";
19439       hash = "sha256-4vOJ/j56nkthSIaSkZrXI7mPO0ebUoj2ENqownmVs1E=";
19440     };
19441     # ldapi socket location should match the one compiled into the openldap package
19442     postPatch = ''
19443       for f in lib/Net/LDAPI.pm lib/Net/LDAP/Util.pm lib/Net/LDAP.pod lib/Net/LDAP.pm; do
19444         sed -i 's:/var/run/ldapi:/run/openldap/ldapi:g' "$f"
19445       done
19446     '';
19447     buildInputs = [ TextSoundex ];
19448     propagatedBuildInputs = [ ConvertASN1 ];
19449     meta = {
19450       description = "LDAP client library";
19451       homepage = "https://ldap.perl.org";
19452       license = with lib.licenses; [ artistic1 gpl1Plus ];
19453       maintainers = teams.deshaw.members;
19454     };
19455   };
19457   PerlMagick = ImageMagick; # added 2021-08-02
19458   ImageMagick = buildPerlPackage rec {
19459     pname = "Image-Magick";
19460     version = "7.0.11-1";
19461     src = fetchurl {
19462       url = "mirror://cpan/authors/id/J/JC/JCRISTY/Image-Magick-${version}.tar.gz";
19463       hash = "sha256-c0vuFmVq9bypQABBnZElGIQrpkYKwtD/B+PloBAycuI=";
19464     };
19465     buildInputs = [ pkgs.imagemagick ];
19466     preConfigure =
19467       ''
19468         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick.dev}/include/ImageMagick";|' Makefile.PL
19469       '';
19470     meta = {
19471       description = "Objected-oriented Perl interface to ImageMagick. Use it to read, manipulate, or write an image or image sequence from within a Perl script";
19472       license = with lib.licenses; [ imagemagick ];
19473     };
19474   };
19476   PerlTidy = buildPerlPackage rec {
19477     pname = "Perl-Tidy";
19478     version = "20211029";
19479     src = fetchurl {
19480       url = "mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20211029.tar.gz";
19481       hash = "sha256-7AOx42pX0JRWmjAIJoj3IiU0AcfMk0rGTS4+tN6IDto=";
19482     };
19483     meta = {
19484       description = "Indent and reformat perl scripts";
19485       license = with lib.licenses; [ gpl2Plus ];
19486       mainProgram = "perltidy";
19487     };
19488   };
19490   PHPSerialization = buildPerlPackage {
19491     pname = "PHP-Serialization";
19492     version = "0.34";
19493     src = fetchurl {
19494       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz";
19495       hash = "sha256-uRLUJumuulSRpeUC58XAOcXapXVCism9yCr/857G8Ho=";
19496     };
19497     meta = {
19498       description = "Simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa";
19499       license = with lib.licenses; [ artistic1 gpl1Plus ];
19500     };
19501   };
19503   PkgConfig = buildPerlPackage rec {
19504     pname = "PkgConfig";
19505     version = "0.25026";
19506     src = fetchurl {
19507       url = "mirror://cpan/authors/id/P/PL/PLICEASE/PkgConfig-0.25026.tar.gz";
19508       hash = "sha256-Tbpe08LWpoG5XF6/FLammVzmmRrkcZutfxqvOOmHwqA=";
19509     };
19510     # support cross-compilation by simplifying the way we get version during build
19511     postPatch = ''
19512       substituteInPlace Makefile.PL --replace \
19513         'do { require "./lib/PkgConfig.pm"; $PkgConfig::VERSION; }' \
19514         '"${version}"'
19515     '';
19516     meta = {
19517       description = "Pure-Perl Core-Only replacement for pkg-config";
19518       homepage = "https://metacpan.org/pod/PkgConfig";
19519       license = with lib.licenses; [ artistic1 gpl1Plus ];
19520       maintainers = teams.deshaw.members;
19521       mainProgram = "ppkg-config";
19522     };
19523   };
19525   Plack = buildPerlPackage {
19526     pname = "Plack";
19527     version = "1.0048";
19528     src = fetchurl {
19529       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0048.tar.gz";
19530       hash = "sha256-MPXyXhm0N4WRVqJSb2HKmrcI1Q1XMMJ5GJQDqr/lQqY=";
19531     };
19532     buildInputs = [ AuthenSimplePasswd CGIEmulatePSGI FileShareDirInstall HTTPRequestAsCGI HTTPServerSimplePSGI IOHandleUtil LWP LWPProtocolhttp10 LogDispatchArray MIMETypes TestMockTimeHiRes TestRequires TestSharedFork TestTCP ];
19533     propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPEntityParser HTTPHeadersFast HTTPMessage TryTiny ];
19534     meta = {
19535       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
19536       homepage = "https://github.com/plack/Plack";
19537       license = with lib.licenses; [ artistic1 gpl1Plus ];
19538       mainProgram = "plackup";
19539     };
19540   };
19542   PlackAppProxy = buildPerlPackage {
19543     pname = "Plack-App-Proxy";
19544     version = "0.29";
19545     src = fetchurl {
19546       url = "mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz";
19547       hash = "sha256-BKqanbVKmpAn/nBLyjU/jl6fAr5AhytB0jX86c3ypg8=";
19548     };
19549     propagatedBuildInputs = [ AnyEventHTTP LWP Plack ];
19550     buildInputs = [ TestRequires TestSharedFork TestTCP ];
19551     meta = {
19552       description = "Proxy requests";
19553       license = with lib.licenses; [ artistic1 gpl1Plus ];
19554     };
19555   };
19557   PlackMiddlewareAuthDigest = buildPerlModule {
19558     pname = "Plack-Middleware-Auth-Digest";
19559     version = "0.05";
19560     src = fetchurl {
19561       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz";
19562       hash = "sha256-mr0/kpQ2zV7N+28/DX/foRuUB6OMfWAAYWpQ7eYQFes=";
19563     };
19564     propagatedBuildInputs = [ DigestHMAC Plack ];
19565     buildInputs = [ LWP ModuleBuildTiny TestSharedFork TestTCP ];
19566     meta = {
19567       description = "Digest authentication";
19568       homepage = "https://github.com/miyagawa/Plack-Middleware-Auth-Digest";
19569       license = with lib.licenses; [ artistic1 gpl1Plus ];
19570     };
19571   };
19573   PlackMiddlewareConsoleLogger = buildPerlModule {
19574     pname = "Plack-Middleware-ConsoleLogger";
19575     version = "0.05";
19576     src = fetchurl {
19577       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz";
19578       hash = "sha256-VWc6ylBN4sw0AWpF8yyPft2k7k0oArctZ4TSxBuH+9k=";
19579     };
19580     propagatedBuildInputs = [ JavaScriptValueEscape Plack ];
19581     buildInputs = [ ModuleBuildTiny TestRequires ];
19582     meta = {
19583       description = "Write logs to Firebug or Webkit Inspector";
19584       homepage = "https://github.com/miyagawa/Plack-Middleware-ConsoleLogger";
19585       license = with lib.licenses; [ artistic1 gpl1Plus ];
19586     };
19587   };
19589   PlackMiddlewareDebug = buildPerlModule {
19590     pname = "Plack-Middleware-Debug";
19591     version = "0.18";
19592     src = fetchurl {
19593       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Debug-0.18.tar.gz";
19594       hash = "sha256-GS73nlIckMbv9vQUmtLkv8kR0sld94k1hV6Q1lnprJo=";
19595     };
19596     buildInputs = [ ModuleBuildTiny TestRequires ];
19597     propagatedBuildInputs = [ ClassMethodModifiers DataDump DataDumperConcise Plack TextMicroTemplate ];
19598     meta = {
19599       description = "Display information about the current request/response";
19600       homepage = "https://github.com/miyagawa/Plack-Middleware-Debug";
19601       license = with lib.licenses; [ artistic1 gpl1Plus ];
19602     };
19603   };
19605   PlackMiddlewareDeflater = buildPerlPackage {
19606     pname = "Plack-Middleware-Deflater";
19607     version = "0.12";
19608     src = fetchurl {
19609       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz";
19610       hash = "sha256-KNqV59pMi1WRrEVFCckhds0IQpYM4HT94w+aEHXcwnU=";
19611     };
19612     propagatedBuildInputs = [ Plack ];
19613     buildInputs = [ TestRequires TestSharedFork TestTCP ];
19614     meta = {
19615       description = "Compress response body with Gzip or Deflate";
19616       license = with lib.licenses; [ artistic1 gpl1Plus ];
19617     };
19618   };
19620   PlackMiddlewareFixMissingBodyInRedirect = buildPerlPackage {
19621     pname = "Plack-Middleware-FixMissingBodyInRedirect";
19622     version = "0.12";
19623     src = fetchurl {
19624       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz";
19625       hash = "sha256-bCLQafWlesIG1GWbKLiGm7knBkC7lV793UUdzFjNs5E=";
19626     };
19627     propagatedBuildInputs = [ HTMLParser Plack ];
19628     meta = {
19629       description = "Plack::Middleware which sets body for redirect response, if it's not already set";
19630       homepage = "https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect";
19631       license = with lib.licenses; [ artistic1 gpl1Plus ];
19632     };
19633   };
19635   PlackMiddlewareHeader = buildPerlPackage {
19636     pname = "Plack-Middleware-Header";
19637     version = "0.04";
19638     src = fetchurl {
19639       url = "mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz";
19640       hash = "sha256-Xra5/3Ly09VpUOI+K8AnFQqcXnVg1zo0GhZeGu3qXV4=";
19641     };
19642     propagatedBuildInputs = [ Plack ];
19643     meta = {
19644       description = "Modify HTTP response headers";
19645       license = with lib.licenses; [ artistic1 gpl1Plus ];
19646     };
19647   };
19649   PlackMiddlewareMethodOverride = buildPerlPackage {
19650     pname = "Plack-Middleware-MethodOverride";
19651     version = "0.20";
19652     src = fetchurl {
19653       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz";
19654       hash = "sha256-2/taLvtIv+sByzrh4cZ34VXce/4hDH5/IhuuPLaqtfE=";
19655     };
19656     propagatedBuildInputs = [ Plack ];
19657     meta = {
19658       description = "Override REST methods to Plack apps via POST";
19659       license = with lib.licenses; [ artistic1 gpl1Plus ];
19660     };
19661   };
19663   PlackMiddlewareRemoveRedundantBody = buildPerlPackage {
19664     pname = "Plack-Middleware-RemoveRedundantBody";
19665     version = "0.09";
19666     src = fetchurl {
19667       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz";
19668       hash = "sha256-gNRfk9a3KQsL2LPO3YSjf8UBRWzD3sAux6rYHAAYCH4=";
19669     };
19670     propagatedBuildInputs = [ Plack ];
19671     meta = {
19672       description = "Plack::Middleware which removes body for HTTP response if it's not required";
19673       homepage = "https://github.com/upasana-me/Plack-Middleware-RemoveRedundantBody";
19674       license = with lib.licenses; [ artistic1 gpl1Plus ];
19675     };
19676   };
19678   PlackMiddlewareReverseProxy = buildPerlPackage {
19679     pname = "Plack-Middleware-ReverseProxy";
19680     version = "0.16";
19681     src = fetchurl {
19682       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz";
19683       hash = "sha256-h0kx030HZnug0PN5A7lFEQcfQZH+tz+kV2XaK4wVoSg=";
19684     };
19685     propagatedBuildInputs = [ Plack ];
19686     meta = {
19687       description = "Supports app to run as a reverse proxy backend";
19688       homepage = "https://github.com/lopnor/Plack-Middleware-ReverseProxy";
19689       license = with lib.licenses; [ artistic1 gpl1Plus ];
19690     };
19691   };
19693   PlackMiddlewareSession = buildPerlModule {
19694     pname = "Plack-Middleware-Session";
19695     version = "0.33";
19696     src = fetchurl {
19697       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.33.tar.gz";
19698       hash = "sha256-T/miydGK2ASbRd/ze5vdQSIeLC8eFrr7gb/tyIxRpO4=";
19699     };
19700     propagatedBuildInputs = [ DigestHMAC Plack ];
19701     buildInputs = [ HTTPCookies LWP ModuleBuildTiny TestFatal TestRequires TestSharedFork TestTCP ];
19702     meta = {
19703       description = "Middleware for session management";
19704       homepage = "https://github.com/plack/Plack-Middleware-Session";
19705       license = with lib.licenses; [ artistic1 gpl1Plus ];
19706     };
19707   };
19709   PlackTestExternalServer = buildPerlPackage {
19710     pname = "Plack-Test-ExternalServer";
19711     version = "0.02";
19712     src = fetchurl {
19713       url = "mirror://cpan/authors/id/E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz";
19714       hash = "sha256-W69cV/4MBkEt7snFq+eVKrigT4xHtLvY6emYImiQPtA=";
19715     };
19716     buildInputs = [ Plack TestSharedFork TestTCP ];
19717     propagatedBuildInputs = [ LWP ];
19718     meta = {
19719       description = "Run HTTP tests on external live servers";
19720       homepage = "https://github.com/perl-catalyst/Plack-Test-ExternalServer";
19721       license = with lib.licenses; [ artistic1 gpl1Plus ];
19722     };
19723   };
19725   PLS = buildPerlPackage {
19726     pname = "PLS";
19727     version = "0.897";
19728     src = fetchurl {
19729       url = "mirror://cpan/authors/id/M/MR/MREISNER/PLS-0.897.tar.gz";
19730       hash = "sha256-3dzDrSbSgjQJ9l2NPKfCc4o4FwPiiSG1Vm8d2aJV6Ag=";
19731     };
19732     propagatedBuildInputs = [ Future IOAsync PPI PPR PathTiny PerlCritic PerlTidy PodMarkdown URI ];
19733     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
19734     postInstall = lib.optionalString stdenv.isDarwin ''
19735       shortenPerlShebang $out/bin/pls
19736     '';
19737     meta = {
19738       description = "Perl Language Server";
19739       homepage = "https://github.com/FractalBoy/perl-language-server";
19740       license = with lib.licenses; [ artistic1 gpl1Plus ];
19741       maintainers = [ maintainers.artturin ];
19742       mainProgram = "pls";
19743     };
19744   };
19746   Po4a = callPackage ../development/perl-modules/Po4a { };
19748   PodMinimumVersion = buildPerlPackage {
19749     pname = "Pod-MinimumVersion";
19750     version = "50";
19751     src = fetchurl {
19752       url = "mirror://cpan/authors/id/K/KR/KRYDE/Pod-MinimumVersion-50.tar.gz";
19753       hash = "sha256-C9KBLZqsvZm7cfoQOkuxKelVwTi6dZhzQgfcn7Z7Wm8=";
19754     };
19755     propagatedBuildInputs = [ IOString PodParser ];
19756     meta = {
19757       description = "Determine minimum Perl version of POD directives";
19758       homepage = "https://user42.tuxfamily.org/pod-minimumversion/index.html";
19759       license = with lib.licenses; [ gpl3Plus ];
19760       mainProgram = "pod-minimumversion";
19761     };
19762   };
19764   POE = buildPerlPackage {
19765     pname = "POE";
19766     version = "1.368";
19767     src = fetchurl {
19768       url = "mirror://cpan/authors/id/B/BI/BINGOS/POE-1.368.tar.gz";
19769       hash = "sha256-t7Hcdh421Is5BoNJtXba/A7MvDudtRxnfeDhqvrf4SE=";
19770     };
19771     # N.B. removing TestPodLinkCheck from buildInputs because tests requiring
19772     # this module don't disable themselves when "run_network_tests" is
19773     # not present (see below).
19774     propagatedBuildInputs = [ pkgs.cacert IOPipely IOTty POETestLoops ];
19775     preCheck = ''
19776       set -x
19778       : Makefile.PL touches the following file as a "marker" to indicate
19779       : it should perform tests which use the network. Delete this file
19780       : for sandbox builds.
19781       rm -f run_network_tests
19783       : Certs are required if not running in a sandbox.
19784       export SSL_CERT_FILE=${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt
19786       : The following flag enables extra tests not normally performed.
19787       export RELEASE_TESTING=1
19789       set +x
19790     '';
19791     meta = {
19792       description = "Portable, event-loop agnostic eventy networking and multitasking";
19793       homepage = "http://poe.perl.org";
19794       license = with lib.licenses; [ artistic1 gpl1Plus ];
19795       maintainers = teams.deshaw.members;
19796     };
19797   };
19799   POETestLoops = buildPerlPackage {
19800     pname = "POE-Test-Loops";
19801     version = "1.360";
19802     src = fetchurl {
19803       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-Test-Loops-1.360.tar.gz";
19804       hash = "sha256-vtDJb+kcmP035utZqASqrJzEqekoRQt21L9VJ6nmpHs=";
19805     };
19806     meta = {
19807       description = "Reusable tests for POE::Loop authors";
19808       homepage = "https://search.cpan.org/dist/POE-Test-Loops";
19809       license = with lib.licenses; [ artistic1 gpl1Plus ];
19810       maintainers = teams.deshaw.members;
19811       mainProgram = "poe-gen-tests";
19812     };
19813   };
19815   PPI = buildPerlPackage {
19816     pname = "PPI";
19817     version = "1.270";
19818     src = fetchurl {
19819       url = "mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.270.tar.gz";
19820       hash = "sha256-YippjHgbuF0r33u/4ED+cNM7eXdMmuAfziN13HP69Fc=";
19821     };
19822     buildInputs = [ ClassInspector TestDeep TestNoWarnings TestObject TestSubCalls ];
19823     propagatedBuildInputs = [ Clone IOString ParamsUtil TaskWeaken ];
19825     # Remove test that fails due to unexpected shebang after
19826     # patchShebang.
19827     preCheck = "rm t/03_document.t";
19829     meta = {
19830       description = "Parse, Analyze and Manipulate Perl (without perl)";
19831       homepage = "https://github.com/Perl-Critic/PPI";
19832       license = with lib.licenses; [ artistic1 gpl1Plus ];
19833     };
19834   };
19836   PPIxQuoteLike = buildPerlModule {
19837     pname = "PPIx-QuoteLike";
19838     version = "0.013";
19839     src = fetchurl {
19840       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.013.tar.gz";
19841       hash = "sha256-jR4zg4J40lKrb1hoQPzucOGbtzUgNbqF/TIkdSYtGBc=";
19842     };
19843     propagatedBuildInputs = [ PPI Readonly ];
19844     meta = {
19845       description = "Parse Perl string literals and string-literal-like things";
19846       license = with lib.licenses; [ artistic1 gpl1Plus ];
19847     };
19848   };
19850   PPIxRegexp = buildPerlModule {
19851     pname = "PPIx-Regexp";
19852     version = "0.076";
19853     src = fetchurl {
19854       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.076.tar.gz";
19855       hash = "sha256-EGB9kyJyjEs3ZMCf4dy0qTmv8Nq+psSMpPhUogd6AUo=";
19856     };
19857     propagatedBuildInputs = [ PPI ];
19858     meta = {
19859       description = "Parse regular expressions";
19860       license = with lib.licenses; [ artistic1 gpl1Plus ];
19861     };
19862   };
19864   PPIxUtilities = buildPerlModule {
19865     pname = "PPIx-Utilities";
19866     version = "1.001000";
19867     src = fetchurl {
19868       url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz";
19869       hash = "sha256-A6SDOG/WosgI8Jd41E2wawLDFA+yS6S/EvhR9G07y5s=";
19870     };
19871     buildInputs = [ TestDeep ];
19872     propagatedBuildInputs = [ ExceptionClass PPI Readonly ];
19873     meta = {
19874       description = "Extensions to PPI|PPI";
19875       license = with lib.licenses; [ artistic1 gpl1Plus ];
19876     };
19877   };
19879   PPR = buildPerlPackage {
19880     pname = "PPR";
19881     version = "0.000028";
19882     src = fetchurl {
19883       url = "mirror://cpan/authors/id/D/DC/DCONWAY/PPR-0.000028.tar.gz";
19884       hash = "sha256-032ndHxDN+TH11jHuO1dEsuXN2Q2krCfC9TZnFBouak=";
19885     };
19886     meta = {
19887       description = "Pattern-based Perl Recognizer";
19888       license = with lib.licenses; [ artistic2 ];
19889       maintainers = [ maintainers.artturin ];
19890     };
19891   };
19893   ProcBackground = buildPerlPackage {
19894     pname = "Proc-Background";
19895     version = "1.21";
19896     src = fetchurl {
19897       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz";
19898       hash = "sha256-kbalrrhBscMTSYx4+tCON9F1lXAtxiBbWtOO9plJt+4=";
19899     };
19900     meta = {
19901       description = "Run asynchronous child processes under Unix or Windows";
19902       license = with lib.licenses; [ artistic1 gpl1Plus ];
19903       mainProgram = "timed-process";
19904     };
19905   };
19907   ProcProcessTable = buildPerlPackage {
19908     pname = "Proc-ProcessTable";
19909     version = "0.59";
19910     src = fetchurl {
19911       url = "mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.59.tar.gz";
19912       hash = "sha256-+MxQVNeMNaDOOft1QwtO9ALiqZAT0uw355l/MWWUYGw=";
19913     };
19914     meta = {
19915       description = "Perl extension to access the unix process table";
19916       license = with lib.licenses; [ artistic2 ];
19917     };
19918   };
19920   ProcFind = buildPerlPackage {
19921     pname = "Proc-Find";
19922     version = "0.051";
19923     src = fetchurl {
19924       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Proc-Find-0.051.tar.gz";
19925       hash = "sha256-ZNOQceyU17ZqfKtalQJG8P/wE7WiAKY9EXZDKYfloTU=";
19926     };
19927     propagatedBuildInputs = [ ProcProcessTable ];
19928     meta = {
19929       description = "Find processes by name, PID, or some other attributes";
19930       homepage = "https://metacpan.org/release/Proc-Find";
19931       license = with lib.licenses; [ artistic1 gpl1Plus ];
19932     };
19933   };
19935   ProcSafeExec = buildPerlPackage {
19936     pname = "Proc-SafeExec";
19937     version = "1.5";
19938     src = fetchurl {
19939       url = "mirror://cpan/authors/id/B/BI/BILBO/Proc-SafeExec-1.5.tar.gz";
19940       hash = "sha256-G00JCLysVj00p+W+YcXaPu6Y5KbH+mjCZwzFhEtaLXg=";
19941     };
19942     meta = {
19943       description = "Convenient utility for executing external commands in various ways";
19944       license = with lib.licenses; [ gpl1Only bsd2 ];
19945     };
19946   };
19948   ProcSimple = buildPerlPackage {
19949     pname = "Proc-Simple";
19950     version = "1.32";
19951     src = fetchurl {
19952       url = "mirror://cpan/authors/id/M/MS/MSCHILLI/Proc-Simple-1.32.tar.gz";
19953       hash = "sha256-TI8KkksZrXihPac/4PswbTKnudEKMyxSMIf8g6IJqMQ=";
19954     };
19955     meta = {
19956       description = "Launch and control background processes";
19957       license = with lib.licenses; [ artistic1 gpl1Plus ];
19958     };
19959   };
19961   ProcWait3 = buildPerlPackage {
19962     pname = "Proc-Wait3";
19963     version = "0.05";
19964     src = fetchurl {
19965       url = "mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz";
19966       hash = "sha256-GpB/XbaTPcKTm7/v/hnurn7TnvG5eivJtyPy8l+ByvM=";
19967     };
19968     meta = {
19969       description = "Perl extension for wait3 system call";
19970       license = with lib.licenses; [ artistic1 gpl1Plus ];
19971     };
19972   };
19974   ProcWaitStat = buildPerlPackage {
19975     pname = "Proc-WaitStat";
19976     version = "1.00";
19977     src = fetchurl {
19978       url = "mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz";
19979       hash = "sha256-0HVj9eeHkJ0W5zkCQeh39Jq3ObHenQ4uoaQb0L9EdLw=";
19980     };
19981     propagatedBuildInputs = [ IPCSignal ];
19982     meta = {
19983       description = "Interpret and act on wait() status values";
19984       license = with lib.licenses; [ artistic1 gpl1Plus ];
19985     };
19986   };
19988   PrometheusTiny = buildPerlPackage {
19989     pname = "Prometheus-Tiny";
19990     version = "0.008";
19991     src = fetchurl {
19992       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.008.tar.gz";
19993       hash = "sha256-c2pmkTuYAL7skh1QoSsFyzdLXwnVcJ6vQ5hNyJJZp50=";
19994     };
19995     buildInputs = [ HTTPMessage Plack TestException ];
19996     meta = {
19997       description = "A tiny Prometheus client";
19998       homepage = "https://github.com/robn/Prometheus-Tiny";
19999       license = with lib.licenses; [ artistic1 gpl1Plus ];
20000     };
20001   };
20003   PrometheusTinyShared = buildPerlPackage {
20004     pname = "Prometheus-Tiny-Shared";
20005     version = "0.024";
20006     src = fetchurl {
20007       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.024.tar.gz";
20008       hash = "sha256-j7xUPgv9XY9zvcEhotrK/UNErupLmbcVxQ3Nqkgmggs=";
20009     };
20010     buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException ];
20011     propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ];
20012     meta = {
20013       description = "A tiny Prometheus client with a shared database behind it";
20014       homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
20015       license = with lib.licenses; [ artistic1 gpl1Plus ];
20016     };
20017   };
20019   ProtocolRedis = buildPerlPackage {
20020     pname = "Protocol-Redis";
20021     version = "1.0011";
20022     src = fetchurl {
20023       url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0011.tar.gz";
20024       hash = "sha256-fOtr2ABnyQRGXU/R8XFXJDiMm9w3xsLAA6IM5Wm39Og=";
20025     };
20026     meta = {
20027       description = "Redis protocol parser/encoder with asynchronous capabilities";
20028       homepage = "https://github.com/und3f/protocol-redis";
20029       license = with lib.licenses; [ artistic1 gpl1Plus ];
20030       maintainers = [ maintainers.sgo ];
20031     };
20032   };
20034   ProtocolRedisFaster = buildPerlPackage {
20035     pname = "Protocol-Redis-Faster";
20036     version = "0.003";
20037     src = fetchurl {
20038       url = "mirror://cpan/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-0.003.tar.gz";
20039       hash = "sha256-a5r7PelOwczX20+eai6rolSld5AwHBe8sTuz7f4YULc=";
20040     };
20041     propagatedBuildInputs = [ ProtocolRedis ];
20042     meta = {
20043       description = "Optimized pure-perl Redis protocol parser/encoder";
20044       homepage = "https://github.com/Grinnz/Protocol-Redis-Faster";
20045       license = with lib.licenses; [ artistic2 ];
20046       maintainers = [ maintainers.sgo ];
20047     };
20048   };
20050   ProtocolWebSocket = buildPerlModule {
20051     pname = "Protocol-WebSocket";
20052     version = "0.26";
20053     src = fetchurl {
20054       url = "mirror://cpan/authors/id/V/VT/VTI/Protocol-WebSocket-0.26.tar.gz";
20055       hash = "sha256-WDfQNxGnoyVPCv7LfkCeiwk3YGDDiluClejumvdXVSI=";
20056     };
20057     buildInputs = [ ModuleBuildTiny ];
20058     meta = {
20059       description = "WebSocket protocol";
20060       license = with lib.licenses; [ artistic1 gpl1Plus ];
20061     };
20062   };
20064   ProtocolHTTP2 = buildPerlModule {
20065     pname = "Protocol-HTTP2";
20066     version = "1.10";
20068     src = fetchurl {
20069       url = "mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz";
20070       hash = "sha256-wmoAWPtK+ul+S/DbxkGJ9nEURRXERH89y1l+zQOWpko=";
20071     };
20072     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
20073     meta = {
20074       description = "HTTP/2 protocol implementation (RFC 7540)";
20075       license = with lib.licenses; [ artistic1 gpl1Plus ];
20076     };
20077   };
20079   PSGI = buildPerlPackage {
20080     pname = "PSGI";
20081     version = "1.102";
20082     src = fetchurl {
20083       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/PSGI-1.102.tar.gz";
20084       hash = "sha256-pWxEZ0CRfahpJcKfxmM7nfg5shz5j2onCGWY7ZDuH0c=";
20085     };
20086     meta = {
20087       description = "Perl Web Server Gateway Interface Specification";
20088       license = with lib.licenses; [ cc-by-sa-25 ];
20089     };
20090   };
20092   PadWalker = buildPerlPackage {
20093     pname = "PadWalker";
20094     version = "2.5";
20095     src = fetchurl {
20096       url = "mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-2.5.tar.gz";
20097       hash = "sha256-B7Jqu4QRRq8yByqNaMuQF2/7F2/ZJo5vL30Qb4F6DNA=";
20098     };
20099     meta = {
20100       description = "Play with other peoples' lexical variables";
20101       license = with lib.licenses; [ artistic1 gpl1Plus ];
20102     };
20103   };
20105   Perl6Junction = buildPerlPackage {
20106     pname = "Perl6-Junction";
20107     version = "1.60000";
20108     src = fetchurl {
20109       url = "mirror://cpan/authors/id/C/CF/CFRANKS/Perl6-Junction-1.60000.tar.gz";
20110       hash = "sha256-0CN16FGX6PkbTLLTM0rpqJ9gAi949c1gdtzU7G+ycWQ=";
20111     };
20112     meta = {
20113       description = "Perl6 style Junction operators in Perl5";
20114       license = with lib.licenses; [ artistic1 gpl1Plus ];
20115     };
20116   };
20118   PerlMinimumVersion = buildPerlPackage {
20119     pname = "Perl-MinimumVersion";
20120     version = "1.38";
20121     src = fetchurl {
20122       url = "mirror://cpan/authors/id/N/NE/NEILB/Perl-MinimumVersion-1.38.tar.gz";
20123       hash = "sha256-R4tYJHkbh/x0yUqJIYBoK9Bq0s3zQDSxpLhZJzkngCo=";
20124     };
20125     buildInputs = [ TestScript ];
20126     propagatedBuildInputs = [ FileFindRulePerl PerlCritic ];
20127     meta = {
20128       description = "Find a minimum required version of perl for Perl code";
20129       homepage = "https://github.com/neilbowers/Perl-MinimumVersion";
20130       license = with lib.licenses; [ artistic1 gpl1Plus ];
20131       mainProgram = "perlver";
20132     };
20133   };
20135   PerlPrereqScanner = buildPerlPackage {
20136     pname = "Perl-PrereqScanner";
20137     version = "1.023";
20138     src = fetchurl {
20139       url = "mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.023.tar.gz";
20140       hash = "sha256-KAocRxA5CGX7nzEKhho0cgsotMvlBgnIQa9c8tOivO0=";
20141     };
20142     propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI StringRewritePrefix namespaceautoclean ];
20143     meta = {
20144       description = "A tool to scan your Perl code for its prerequisites";
20145       homepage = "https://github.com/rjbs/Perl-PrereqScanner";
20146       license = with lib.licenses; [ artistic1 gpl1Plus ];
20147       mainProgram = "scan-perl-prereqs";
20148     };
20149   };
20151   PerlPrereqScannerNotQuiteLite = buildPerlPackage {
20152     pname = "Perl-PrereqScanner-NotQuiteLite";
20153     version = "0.9913";
20154     src = fetchurl {
20155       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9913.tar.gz";
20156       hash = "sha256-lw2fxeFJOMDxdA+M/tCU1c+kxL2NR/qAxZqbATnPVI0=";
20157     };
20158     propagatedBuildInputs = [ DataDump ModuleCPANfile ModuleFind RegexpTrie URIcpan ];
20159     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings TestUseAllModules ];
20160     meta = {
20161       description = "A tool to scan your Perl code for its prerequisites";
20162       license = with lib.licenses; [ artistic1 gpl1Plus ];
20163       mainProgram = "scan-perl-prereqs-nqlite";
20164     };
20165   };
20167   PerlVersion = buildPerlPackage {
20168     pname = "Perl-Version";
20169     version = "1.013";
20170     src = fetchurl {
20171       url = "mirror://cpan/authors/id/B/BD/BDFOY/Perl-Version-1.013.tar.gz";
20172       hash = "sha256-GIdBTRyGidhkyEARQQHgQ+mdfdW5zKaTaaYOgh460Pc=";
20173     };
20174     propagatedBuildInputs = [ FileSlurpTiny ];
20175     meta = {
20176       description = "Parse and manipulate Perl version strings";
20177       license = with lib.licenses; [ artistic1 gpl1Plus ];
20178       mainProgram = "perl-reversion";
20179     };
20180   };
20182   PodAbstract = buildPerlPackage {
20183     pname = "Pod-Abstract";
20184     version = "0.20";
20185     src = fetchurl {
20186       url = "mirror://cpan/authors/id/B/BL/BLILBURNE/Pod-Abstract-0.20.tar.gz";
20187       hash = "sha256-lW73u4hMVUVuL7bn8in5qH3VCmHXAFAMc4248ronf4c=";
20188     };
20189     propagatedBuildInputs = [ IOString TaskWeaken PodParser ];
20190     meta = {
20191       description = "An abstract, tree-based interface to perl POD documents";
20192       license = with lib.licenses; [ artistic1 gpl1Plus ];
20193       mainProgram = "paf";
20194     };
20195   };
20197   PodChecker = buildPerlPackage {
20198     pname = "Pod-Checker";
20199     version = "1.74";
20200     src = fetchurl {
20201       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.74.tar.gz";
20202       hash = "sha256-LiFirwqIYORXAxiGbsGO++ezf+uNmQs0hIuffFJKpYg=";
20203     };
20204     meta = {
20205       description = "Verifies POD documentation contents for compliance with the POD format specifications";
20206       license = with lib.licenses; [ artistic1 gpl1Plus ];
20207       mainProgram = "podchecker";
20208     };
20209   };
20211   PodCoverage = buildPerlPackage {
20212     pname = "Pod-Coverage";
20213     version = "0.23";
20214     src = fetchurl {
20215       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz";
20216       hash = "sha256-MLegsMlC9Ep1UsDTTpsfLgugtnlVxh47FYnsNpB0sQc=";
20217     };
20218     propagatedBuildInputs = [ DevelSymdump PodParser ];
20219     meta = {
20220       description = "Checks if the documentation of a module is comprehensive";
20221       license = with lib.licenses; [ artistic1 gpl1Plus ];
20222       mainProgram = "pod_cover";
20223     };
20224   };
20226   PodCoverageTrustPod = buildPerlPackage {
20227     pname = "Pod-Coverage-TrustPod";
20228     version = "0.100005";
20229     src = fetchurl {
20230       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100005.tar.gz";
20231       hash = "sha256-bGiDXCTNyvuxVn5oCrErsXYWOCuvi8RM5FfkGh01cyE=";
20232     };
20233     propagatedBuildInputs = [ PodCoverage PodEventual ];
20234     meta = {
20235       description = "Allow a module's pod to contain Pod::Coverage hints";
20236       homepage = "https://github.com/rjbs/Pod-Coverage-TrustPod";
20237       license = with lib.licenses; [ artistic1 gpl1Plus ];
20238     };
20239   };
20241   PodElemental = buildPerlPackage {
20242     pname = "Pod-Elemental";
20243     version = "0.103005";
20244     src = fetchurl {
20245       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103005.tar.gz";
20246       hash = "sha256-gkM27BgybjuXDngVkis5IbCoIdLuDlCwxbK8Mn+ZYV4=";
20247     };
20248     buildInputs = [ TestDeep TestDifferences ];
20249     propagatedBuildInputs = [ MooseXTypes PodEventual StringRewritePrefix StringTruncate ];
20250     meta = {
20251       description = "Work with nestable Pod elements";
20252       homepage = "https://github.com/rjbs/Pod-Elemental";
20253       license = with lib.licenses; [ artistic1 gpl1Plus ];
20254     };
20255   };
20257   PodElementalPerlMunger = buildPerlPackage {
20258     pname = "Pod-Elemental-PerlMunger";
20259     version = "0.200006";
20260     src = fetchurl {
20261       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.200006.tar.gz";
20262       hash = "sha256-Cf07XVMRlDegHc7Wa0Lq/c1TiVs8MqKw94Hzb9oPZls=";
20263     };
20264     buildInputs = [ TestDifferences ];
20265     propagatedBuildInputs = [ PPI PodElemental ];
20266     meta = {
20267       description = "A thing that takes a string of Perl and rewrites its documentation";
20268       homepage = "https://github.com/rjbs/Pod-Elemental-PerlMunger";
20269       license = with lib.licenses; [ artistic1 gpl1Plus ];
20270     };
20271   };
20273   PodEventual = buildPerlPackage {
20274     pname = "Pod-Eventual";
20275     version = "0.094001";
20276     src = fetchurl {
20277       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094001.tar.gz";
20278       hash = "sha256-vp+4kQsQjl0aZvACtlmtIlduiNd5twPf+dFRIsP4CDQ=";
20279     };
20280     propagatedBuildInputs = [ MixinLinewise ];
20281     buildInputs = [ TestDeep ];
20282     meta = {
20283       description = "Read a POD document as a series of trivial events";
20284       homepage = "https://github.com/rjbs/Pod-Eventual";
20285       license = with lib.licenses; [ artistic1 gpl1Plus ];
20286     };
20287   };
20289   PodParser = buildPerlPackage {
20290     pname = "Pod-Parser";
20291     version = "1.63";
20292     src = fetchurl {
20293       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-1.63.tar.gz";
20294       hash = "sha256-2+C1YSmXWy+DoChB6ODtR76A8GBobGbqN+Up2XqnDM0=";
20295     };
20296     meta = {
20297       description = "Modules for parsing/translating POD format documents";
20298       license = with lib.licenses; [ artistic1 ];
20299       mainProgram = "podselect";
20300     };
20301   };
20303   PodPOM = buildPerlPackage {
20304     pname = "Pod-POM";
20305     version = "2.01";
20306     src = fetchurl {
20307       url = "mirror://cpan/authors/id/N/NE/NEILB/Pod-POM-2.01.tar.gz";
20308       hash = "sha256-G1D7qbvd4+rRkr7roOrd0MYU46+xdD+m//gF9XxW9/Q=";
20309     };
20310     buildInputs = [ FileSlurper TestDifferences TextDiff ];
20311     meta = {
20312       description = "POD Object Model";
20313       homepage = "https://github.com/neilb/Pod-POM";
20314       license = with lib.licenses; [ artistic1 gpl1Plus ];
20315       mainProgram = "pom2";
20316     };
20317   };
20319   PodPOMViewTOC = buildPerlPackage {
20320     pname = "Pod-POM-View-TOC";
20321     version = "0.02";
20322     src = fetchurl {
20323       url = "mirror://cpan/authors/id/P/PE/PERLER/Pod-POM-View-TOC-0.02.tar.gz";
20324       hash = "sha256-zLQicsdQM3nLETE5RiDuUCdtcoRODoDrSwB6nVj4diM=";
20325     };
20326     propagatedBuildInputs = [ PodPOM ];
20327     meta = {
20328       description = "Generate the TOC of a POD with Pod::POM";
20329       license = with lib.licenses; [ artistic1 gpl1Plus ];
20330     };
20331   };
20333   PodSection = buildPerlModule {
20334     pname = "Pod-Section";
20335     version = "0.02";
20336     src = fetchurl {
20337       url = "mirror://cpan/authors/id/K/KT/KTAT/Pod-Section-0.02.tar.gz";
20338       hash = "sha256-ydHXUpLzIYgRhOxWmDwW9Aj9LTEtWnIPj7DSyvpykjg=";
20339     };
20340     propagatedBuildInputs = [ PodAbstract ];
20341     meta = {
20342       description = "Select specified section from Module's POD";
20343       homepage = "https://github.com/ktat/Pod-Section";
20344       license = with lib.licenses; [ artistic1 gpl1Plus ];
20345       mainProgram = "podsection";
20346     };
20347   };
20349   PodLaTeX = buildPerlModule {
20350     pname = "Pod-LaTeX";
20351     version = "0.61";
20352     src = fetchurl {
20353       url = "mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz";
20354       hash = "sha256-FahA6hyKds08hl+78v7DOwNhXA2qUPnIAMVODPBlnUY=";
20355     };
20356     propagatedBuildInputs = [ PodParser ];
20357     meta = {
20358       description = "Convert Pod data to formatted Latex";
20359       homepage = "https://github.com/timj/perl-Pod-LaTeX/tree/master";
20360       license = with lib.licenses; [ artistic1 gpl1Plus ];
20361       mainProgram = "pod2latex";
20362     };
20363   };
20365   podlators = buildPerlPackage {
20366     pname = "podlators";
20367     version = "4.14";
20368     src = fetchurl {
20369       url = "mirror://cpan/authors/id/R/RR/RRA/podlators-4.14.tar.gz";
20370       hash = "sha256-evHEHeNLLk2/9wCinXOHVJwrbPFhQiFEUMkkcH3bD4I=";
20371     };
20372     preCheck = ''
20373       # remove failing spdx check
20374       rm t/docs/spdx-license.t
20375     '';
20376     meta = {
20377       description = "Convert POD data to various other formats";
20378       homepage = "https://www.eyrie.org/~eagle/software/podlators";
20379       license = with lib.licenses; [ artistic1 gpl1Plus ];
20380     };
20381   };
20383   podlinkcheck = buildPerlPackage {
20384     pname = "podlinkcheck";
20385     version = "15";
20386     src = fetchurl {
20387       url = "mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-15.tar.gz";
20388       hash = "sha256-Tjvr7Bv4Lb+FCpSuJqJTZEz1gG7EGvx05D4XEKNzIds=";
20389     };
20390     propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun PodParser constant-defer libintl-perl ];
20391     meta = {
20392       description = "Check POD L<> link references";
20393       homepage = "https://user42.tuxfamily.org/podlinkcheck/index.html";
20394       license = with lib.licenses; [ gpl3Plus ];
20395     };
20396   };
20398   prefork = buildPerlPackage {
20399     pname = "prefork";
20400     version = "1.05";
20401     src = fetchurl {
20402       url = "mirror://cpan/authors/id/E/ET/ETHER/prefork-1.05.tar.gz";
20403       hash = "sha256-bYe836Y7KM78+ocIA6UZtlkOPqGcMA+YzssOGQuxkwU=";
20404     };
20405     meta = {
20406       description = "Optimized module loading for forking or non-forking processes";
20407       homepage = "https://github.com/karenetheridge/prefork";
20408       license = with lib.licenses; [ artistic1 gpl1Plus ];
20409     };
20410   };
20412   PodPerldoc = buildPerlPackage {
20413     pname = "Pod-Perldoc";
20414     version = "3.28";
20415     src = fetchurl {
20416       url = "mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.28.tar.gz";
20417       hash = "sha256-zEHmBbjhPECo7mUE/0Y0e1un+9kiA7O7BVQiBRvvxk0=";
20418     };
20419     meta = {
20420       description = "Look up Perl documentation in Pod format";
20421       license = with lib.licenses; [ artistic1 gpl1Plus ];
20422       mainProgram = "perldoc";
20423     };
20424   };
20426   PodPlainer = buildPerlPackage {
20427     pname = "Pod-Plainer";
20428     version = "1.04";
20429     src = fetchurl {
20430       url = "mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz";
20431       hash = "sha256-G7+/fR1IceWoO6shN+ItCJB4IGgVGQ6x1cEmCjSZRW8=";
20432     };
20433     propagatedBuildInputs = [ PodParser ];
20434     meta = {
20435       description = "Perl extension for converting Pod to old-style Pod";
20436       license = with lib.licenses; [ artistic1 gpl1Plus ];
20437     };
20438   };
20440   PodMarkdown = buildPerlPackage {
20441     pname = "Pod-Markdown";
20442     version = "3.300";
20443     src = fetchurl {
20444       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.300.tar.gz";
20445       hash = "sha256-7HnpkIo2BXScT+tQVHY+toEt0ztUzoWlEzmqfPmZG3k=";
20446     };
20447     buildInputs = [ TestDifferences ];
20448     propagatedBuildInputs = [ URI ];
20449     meta = {
20450       description = "Convert POD to Markdown";
20451       homepage = "https://github.com/rwstauner/Pod-Markdown";
20452       license = with lib.licenses; [ artistic1 gpl1Plus ];
20453       mainProgram = "pod2markdown";
20454     };
20455   };
20457   PodMarkdownGithub = buildPerlPackage {
20458     pname = "Pod-Markdown-Github";
20459     version = "0.04";
20460     src = fetchurl {
20461       url = "mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.04.tar.gz";
20462       hash = "sha256-s34vAJxMzkkk+yPuQxRuUGcilxvqa87S2sFdCAo7xhM=";
20463     };
20464     propagatedBuildInputs = [ PodMarkdown ];
20465     buildInputs = [ TestDifferences ];
20466     meta = {
20467       description = "Convert POD to Github's specific markdown";
20468       license = with lib.licenses; [ artistic1 gpl1Plus ];
20469       mainProgram = "pod2github";
20470     };
20471   };
20473   PodSimple = buildPerlPackage {
20474     pname = "Pod-Simple";
20475     version = "3.42";
20476     src = fetchurl {
20477       url = "mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.42.tar.gz";
20478       hash = "sha256-qfzrLgMY43hlJea/IF4+FD8M82InQIGcq18FjmV+isU=";
20479     };
20480     meta = {
20481       description = "Framework for parsing Pod";
20482       license = with lib.licenses; [ artistic1 gpl1Plus ];
20483     };
20484   };
20486   PodSpell = buildPerlPackage {
20487     pname = "Pod-Spell";
20488     version = "1.20";
20489     src = fetchurl {
20490       url = "mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-1.20.tar.gz";
20491       hash = "sha256-Y4P3v+IrwNg5oIBXoM54BpiwRhhK6pNb5IM9lJht0Dw=";
20492     };
20493     propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny PodParser ];
20494     buildInputs = [ FileShareDirInstall TestDeep ];
20495     meta = {
20496       description = "A formatter for spellchecking Pod";
20497       homepage = "https://github.com/perl-pod/Pod-Spell";
20498       license = with lib.licenses; [ artistic2 ];
20499       mainProgram = "podspell";
20500     };
20501   };
20503   PodStrip = buildPerlModule {
20504     pname = "Pod-Strip";
20505     version = "1.02";
20506     src = fetchurl {
20507       url = "mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.02.tar.gz";
20508       hash = "sha256-2A2s9qeszIfTZoMBZSNNchvS827uGHrvaCtgyQR3Uv8=";
20509     };
20510     meta = {
20511       description = "Remove POD from Perl code";
20512       homepage = "https://github.com/domm/Pod-Strip";
20513       license = with lib.licenses; [ artistic1 gpl1Plus ];
20514     };
20515   };
20517   PodTidy = buildPerlModule {
20518     pname = "Pod-Tidy";
20519     version = "0.10";
20520     src = fetchurl {
20521       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/Pod-Tidy-0.10.tar.gz";
20522       hash = "sha256-iG7hQ+p81Tm0O+16KHmJ0Wc211y/ofheLMzq+eiVnb0=";
20523     };
20524     propagatedBuildInputs = [ EncodeNewlines IOString PodWrap TextGlob ];
20525     buildInputs = [ TestCmd ];
20526     meta = {
20527       description = "A reformatting Pod Processor";
20528       license = with lib.licenses; [ artistic1 gpl1Plus ];
20529       mainProgram = "podtidy";
20530     };
20531   };
20533   PodWeaver = buildPerlPackage {
20534     pname = "Pod-Weaver";
20535     version = "4.015";
20536     src = fetchurl {
20537       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.015.tar.gz";
20538       hash = "sha256-WvJbKaVXg+SVqd9e9ikyQOLJqwJ2RhPXnx7VCxLexa4=";
20539     };
20540     buildInputs = [ PPI SoftwareLicense TestDifferences ];
20541     propagatedBuildInputs = [ ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli PodElemental ];
20542     meta = {
20543       description = "Weave together a Pod document from an outline";
20544       homepage = "https://github.com/rjbs/Pod-Weaver";
20545       license = with lib.licenses; [ artistic1 gpl1Plus ];
20546     };
20547   };
20549   PodWrap = buildPerlModule {
20550     pname = "Pod-Wrap";
20551     version = "0.01";
20552     src = fetchurl {
20553       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz";
20554       hash = "sha256-UMrL4v/7tccNG6XpQn1cit7mGENuxz+W7QU5Iy4si2M=";
20555     };
20556     propagatedBuildInputs = [ PodParser ];
20557     meta = {
20558       description = "Wrap pod paragraphs, leaving verbatim text and code alone";
20559       license = with lib.licenses; [ artistic1 gpl1Plus ];
20560       mainProgram = "podwrap";
20561     };
20562   };
20564   ProbePerl = buildPerlPackage {
20565     pname = "Probe-Perl";
20566     version = "0.03";
20567     src = fetchurl {
20568       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.03.tar.gz";
20569       hash = "sha256-2eTSHi53Y4VZBF+gkEaxtv/2xAO5SZKdshPjCr6KPDE=";
20570     };
20571     meta = {
20572       description = "Information about the currently running perl";
20573       license = with lib.licenses; [ artistic1 gpl1Plus ];
20574     };
20575   };
20577   POSIXAtFork = buildPerlPackage {
20578     pname = "POSIX-AtFork";
20579     version = "0.04";
20580     src = fetchurl {
20581       url = "mirror://cpan/authors//id/N/NI/NIKOLAS/POSIX-AtFork-0.04.tar.gz";
20582       hash = "sha256-wuIpOobUhxRLyPe6COfEt2sRsOTf3EGAmEXTDvoH5g4=";
20583     };
20584     buildInputs = [ TestSharedFork ];
20585     meta = {
20586       description = "Hook registrations at fork(2)";
20587       license = with lib.licenses; [ artistic1 gpl1Plus ];
20588     };
20589   };
20591   POSIXstrftimeCompiler = buildPerlModule {
20592     pname = "POSIX-strftime-Compiler";
20593     version = "0.44";
20594     src = fetchurl {
20595       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/POSIX-strftime-Compiler-0.44.tar.gz";
20596       hash = "sha256-39PJc5jc/lHII2uF49woA1Znt2Ux96oKZTXzqlQFs1o=";
20597     };
20598     # We cannot change timezones on the fly.
20599     prePatch = "rm t/04_tzset.t";
20600     buildInputs = [ ModuleBuildTiny ];
20601     meta = {
20602       description = "GNU C library compatible strftime for loggers and servers";
20603       homepage = "https://github.com/kazeburo/POSIX-strftime-Compiler";
20604       license = with lib.licenses; [ artistic1 gpl1Plus ];
20605     };
20606   };
20608   Apprainbarf = buildPerlModule {
20609     pname = "App-rainbarf";
20610     version = "1.4";
20611     src = fetchurl {
20612       url = "mirror://cpan/authors/id/S/SY/SYP/App-rainbarf-1.4.tar.gz";
20613       hash = "sha256-TxOa01+q8t4GI9wLsd2J+lpDHlSL/sh97hlM8OJcyX0=";
20614     };
20615     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
20616     postInstall = lib.optionalString stdenv.isDarwin ''
20617       shortenPerlShebang $out/bin/rainbarf
20618     '';
20619     meta = {
20620       description = "CPU/RAM/battery stats chart bar for tmux (and GNU screen)";
20621       homepage = "https://github.com/creaktive/rainbarf";
20622       license = with lib.licenses; [ artistic1 gpl1Plus ];
20623       mainProgram = "rainbarf";
20624     };
20625   };
20627   Razor2ClientAgent = buildPerlPackage {
20628     pname = "Razor2-Client-Agent";
20629     version = "2.86";
20630     src = fetchurl {
20631       url = "mirror://cpan/authors/id/T/TO/TODDR/Razor2-Client-Agent-2.86.tar.gz";
20632       hash = "sha256-XgYuAuu2XiS3COfu+lMAxD1vZXvyDQj+xMqKCjuUhF8=";
20633     };
20634     propagatedBuildInputs = [ DigestSHA1 URI ];
20635     meta = {
20636       description = "Collaborative, content-based spam filtering network agent";
20637       homepage = "http://razor.sourceforge.net/";
20638       license = with lib.licenses; [ artistic1 gpl1Plus ];
20639     };
20640   };
20643   Readonly = buildPerlModule {
20644     pname = "Readonly";
20645     version = "2.05";
20646     src = fetchurl {
20647       url = "mirror://cpan/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz";
20648       hash = "sha256-SyNUJJGvAQ1EpcfIYSRHOKzHSrq65riDjTVN+xlGK14=";
20649     };
20650     buildInputs = [ ModuleBuildTiny ];
20651     meta = {
20652       description = "Facility for creating read-only scalars, arrays, hashes";
20653       homepage = "https://github.com/sanko/readonly";
20654       license = with lib.licenses; [ artistic2 ];
20655     };
20656   };
20658   ReadonlyX = buildPerlModule {
20659     pname = "ReadonlyX";
20660     version = "1.04";
20661     src = fetchurl {
20662       url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
20663       hash = "sha256-gbuX26k6xrXMvOBKQsNZDrBFV9dQGHc+4Y1aMPz0gYg=";
20664     };
20665     buildInputs = [ ModuleBuildTiny TestFatal ];
20666     meta = {
20667       description = "Faster facility for creating read-only scalars, arrays, hashes";
20668       homepage = "https://github.com/sanko/readonly";
20669       license = with lib.licenses; [ artistic2 ];
20670     };
20671   };
20673   ReadonlyXS = buildPerlPackage {
20674     pname = "Readonly-XS";
20675     version = "1.05";
20676     src = fetchurl {
20677       url = "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-1.05.tar.gz";
20678       hash = "sha256-iuXE6FKZ5ci93RsZby7qOPAHCeDcDLYEVNyRFK4//w0=";
20679     };
20680     propagatedBuildInputs = [ Readonly ];
20681     meta = {
20682       description = "Companion module for Readonly.pm, to speed up read-only scalar variables";
20683       license = with lib.licenses; [ artistic1 gpl1Plus ];
20684     };
20685   };
20687   Redis = buildPerlModule {
20688     pname = "Redis";
20689     version = "1.998";
20690     src = fetchurl {
20691       url = "mirror://cpan/authors/id/D/DA/DAMS/Redis-1.998.tar.gz";
20692       hash = "sha256-WfO7F2w6elTLN3lJe4mnuuH7IXVlxocR1YX8HwnXnIc=";
20693     };
20694     buildInputs = [ IOString ModuleBuildTiny TestDeep TestFatal TestSharedFork TestTCP ];
20695     propagatedBuildInputs = [ IOSocketTimeout TryTiny ];
20696     meta = {
20697       description = "Perl binding for Redis database";
20698       homepage = "https://github.com/PerlRedis/perl-redis";
20699       license = with lib.licenses; [ artistic2 ];
20700     };
20701   };
20703   RefUtil = buildPerlPackage {
20704     pname = "Ref-Util";
20705     version = "0.204";
20706     src = fetchurl {
20707       url = "mirror://cpan/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz";
20708       hash = "sha256-QV+nPbrPRPPV15wUiIzJlFYnIKtGjm9x+RzR92nxBeE=";
20709     };
20710     meta = {
20711       description = "Utility functions for checking references";
20712       license = with lib.licenses; [ mit ];
20713     };
20714   };
20716   RegexpAssemble = buildPerlPackage {
20717     pname = "Regexp-Assemble";
20718     version = "0.38";
20719     src = fetchurl {
20720       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz";
20721       hash = "sha256-oGvn+a4bc8m/1bZmKxQcDXBGnpwZu0QTpu5W+Cra5EI=";
20722     };
20723     meta = {
20724       description = "Assemble multiple Regular Expressions into a single RE";
20725       license = with lib.licenses; [ artistic1 gpl1Plus ];
20726     };
20727   };
20729   RegexpCommon = buildPerlPackage {
20730     pname = "Regexp-Common";
20731     version = "2017060201";
20732     src = fetchurl {
20733       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz";
20734       hash = "sha256-7geFOu4G8xDgQLa/GgGZoY2BiW0yGbmzXJYw0OtpCJs=";
20735     };
20736     meta = {
20737       description = "Provide commonly requested regular expressions";
20738       license = with lib.licenses; [ mit ];
20739     };
20740   };
20742   RegexpCommonnetCIDR = buildPerlPackage {
20743     pname = "Regexp-Common-net-CIDR";
20744     version = "0.03";
20745     src = fetchurl {
20746       url = "mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz";
20747       hash = "sha256-OWBqV6qyDU9EaDAPLsP6KrVX/MnLeIDsfG4H2AFi2jM=";
20748     };
20749     propagatedBuildInputs = [ RegexpCommon ];
20750     meta = {
20751       description = "Provide patterns for CIDR blocks";
20752       license = with lib.licenses; [ artistic1 gpl1Plus ];
20753     };
20754   };
20756   RegexpCommontime = buildPerlPackage {
20757     pname = "Regexp-Common-time";
20758     version = "0.16";
20759     src = fetchurl {
20760       url = "mirror://cpan/authors/id/M/MA/MANWAR/Regexp-Common-time-0.16.tar.gz";
20761       hash = "sha256-HIEHpQq1XHK/ePsRbJGIxM3xYsGGwVhsH5qu5V/xSso=";
20762     };
20763     propagatedBuildInputs = [ RegexpCommon ];
20764     meta = {
20765       description = "Date and time regexps";
20766       homepage = "https://github.com/manwar/Regexp-Common-time";
20767       license = with lib.licenses; [ artistic2 mit bsd3 ];
20768       maintainers = [ maintainers.artturin ];
20769     };
20770   };
20772   RegexpGrammars = buildPerlModule {
20773     pname = "Regexp-Grammars";
20774     version = "1.057";
20775     src = fetchurl {
20776       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-1.057.tar.gz";
20777       hash = "sha256-r1PBmBhGHNcBrrV8Sd/9tGPtxL+PZY2epObVNKwXcEE=";
20778     };
20779     meta = {
20780       description = "Add grammatical parsing features to Perl 5.10 regexes";
20781       license = with lib.licenses; [ artistic1 gpl1Plus ];
20782     };
20783   };
20785   RegexpIPv6 = buildPerlPackage {
20786     pname = "Regexp-IPv6";
20787     version = "0.03";
20788     src = fetchurl {
20789       url = "mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz";
20790       hash = "sha256-1ULRfXXOk2Md6LohVtoOC1inVcQJzUoNJ6OHOiZxLOI=";
20791     };
20792     meta = {
20793       description = "Regular expression for IPv6 addresses";
20794       license = with lib.licenses; [ artistic1 gpl1Plus ];
20795     };
20796   };
20798   RegexpParser = buildPerlPackage {
20799     pname = "Regexp-Parser";
20800     version = "0.23";
20801     src = fetchurl {
20802       url = "mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.23.tar.gz";
20803       hash = "sha256-9znauN8rBqrlxI+ZcSUbc3BEZKMtB9jQJfPA+GlUTok=";
20804     };
20805     meta = {
20806       description = "Base class for parsing regexes";
20807       homepage = "https://wiki.github.com/toddr/Regexp-Parser";
20808       license = with lib.licenses; [ artistic1 gpl1Plus ];
20809     };
20810   };
20812   RegexpTrie = buildPerlPackage {
20813     pname = "Regexp-Trie";
20814     version = "0.02";
20815     src = fetchurl {
20816       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Regexp-Trie-0.02.tar.gz";
20817       hash = "sha256-+yv5TtjbwfSpXZ/I9xDLZ7P3lsbvycS7TCz6Prqhxfo=";
20818     };
20819     meta = {
20820       description = "Builds trie-ized regexp";
20821       license = with lib.licenses; [ artistic1 gpl1Plus ];
20822     };
20823   };
20825   RESTClient = buildPerlPackage {
20826     pname = "REST-Client";
20827     version = "273";
20828     src = fetchurl {
20829       url = "mirror://cpan/authors/id/K/KK/KKANE/REST-Client-273.tar.gz";
20830       hash = "sha256-qGUqIhQwj6/yxovlzmTJBNzMxehr5/MjdsFZCGnQGEQ=";
20831     };
20832     propagatedBuildInputs = [ LWPProtocolHttps ];
20833     meta = {
20834       description = "A simple client for interacting with RESTful http/https resources";
20835       homepage = "https://github.com/milescrawford/cpan-rest-client";
20836       license = with lib.licenses; [ artistic1 gpl1Plus ];
20837     };
20838   };
20840   RESTUtils = buildPerlModule {
20841     pname = "REST-Utils";
20842     version = "0.6";
20843     src = fetchurl {
20844       url = "mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz";
20845       hash = "sha256-1OlK3YetMf71h8RxFceIx88+EiyS85YyWuLmEsZwuf0=";
20846     };
20847     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
20848     meta = {
20849       description = "Utility functions for REST applications";
20850       homepage = "https://jaldhar.github.com/REST-Utils";
20851       license = with lib.licenses; [ artistic1 gpl1Plus ];
20852     };
20853   };
20855   RpcXML = buildPerlPackage {
20856     pname = "RPC-XML";
20857     version = "0.80";
20858     src = fetchurl {
20859       url = "mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.80.tar.gz";
20860       hash = "sha256-6g18qHqrcMEoF99Yk/a/4Eks5j9uDmPAtFLjdTRMfvc=";
20861     };
20862     propagatedBuildInputs = [ XMLParser ];
20863     doCheck = false;
20864     meta = {
20865       description = "Data, client and server classes for XML-RPC";
20866       homepage = "https://github.com/rjray/rpc-xml";
20867       license = with lib.licenses; [ artistic1 gpl1Plus ];
20868       mainProgram = "make_method";
20869     };
20870   };
20872   ReturnValue = buildPerlPackage {
20873     pname = "Return-Value";
20874     version = "1.666005";
20875     src = fetchurl {
20876       url = "mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz";
20877       hash = "sha256-jiJgqWUx6TaGIAuciFDr4AXYjONp/2vHD/GnQFt1UKw=";
20878     };
20879     meta = {
20880       description = "Create context-sensitive return values";
20881       license = with lib.licenses; [ artistic1 gpl1Plus ];
20882     };
20883   };
20885   RoleBasic = buildPerlModule {
20886     pname = "Role-Basic";
20887     version = "0.13";
20888     src = fetchurl {
20889       url = "mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz";
20890       hash = "sha256-OKCVnvnxk/925ywyWp6SEbxIaGib0OKwBXePU/i282o=";
20891     };
20892     meta = {
20893       description = "Just roles. Nothing else";
20894       license = with lib.licenses; [ artistic1 gpl1Plus ];
20895     };
20896   };
20898   RoleHasMessage = buildPerlPackage {
20899     pname = "Role-HasMessage";
20900     version = "0.006";
20901     src = fetchurl {
20902       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz";
20903       hash = "sha256-9qbb4Edv+V7h/774JesY2bArBhjeukaG58Y7mdV21NM=";
20904     };
20905     propagatedBuildInputs = [ MooseXRoleParameterized StringErrf ];
20906     meta = {
20907       description = "A thing with a message method";
20908       homepage = "https://github.com/rjbs/Role-HasMessage";
20909       license = with lib.licenses; [ artistic1 gpl1Plus ];
20910     };
20911   };
20913   RoleIdentifiable = buildPerlPackage {
20914     pname = "Role-Identifiable";
20915     version = "0.007";
20916     src = fetchurl {
20917       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz";
20918       hash = "sha256-VhNG0aGgekW9hR2FmoJaf2eSWno7pbpY4M2ti7mQc60=";
20919     };
20920     propagatedBuildInputs = [ Moose ];
20921     meta = {
20922       description = "A thing you can identify somehow";
20923       homepage = "https://github.com/rjbs/Role-Identifiable";
20924       license = with lib.licenses; [ artistic1 gpl1Plus ];
20925     };
20926   };
20928   RoleTiny = buildPerlPackage {
20929     pname = "Role-Tiny";
20930     version = "2.001004";
20931     src = fetchurl {
20932       url = "mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz";
20933       hash = "sha256-krpXEoUKdBAsk8lC625/Yvek+PSDc07SidCLMkwoFoc=";
20934     };
20935     meta = {
20936       description = "Roles: a nouvelle cuisine portion size slice of Moose";
20937       license = with lib.licenses; [ artistic1 gpl1Plus ];
20938     };
20939   };
20941   RPCEPCService = buildPerlModule {
20942     pname = "RPC-EPC-Service";
20943     version = "0.0.11";
20944     src = fetchurl {
20945       url = "mirror://cpan/authors/id/K/KI/KIWANAMI/RPC-EPC-Service-v0.0.11.tar.gz";
20946       hash = "sha256-l19BNDZSWPtH+pIZGQU1E625EB8r1CD87+NF8gkSi+M=";
20947     };
20948     propagatedBuildInputs = [ AnyEvent DataSExpression ];
20949     meta = {
20950       description = "An Asynchronous Remote Procedure Stack";
20951       license = with lib.licenses; [ artistic1 gpl1Plus ];
20952     };
20953   };
20955     RPM2 = buildPerlModule {
20956     pname = "RPM2";
20957     version = "1.4";
20958     src = fetchurl {
20959       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/RPM2-1.4.tar.gz";
20960       hash = "sha256-XstCqmkyTm9AiKv64HMTkG5aq/L0bxIE8/HeWRVbtjY=";
20961     };
20962     nativeBuildInputs = [ pkgs.pkg-config ];
20963     buildInputs = [ pkgs.rpm ];
20964     doCheck = false; # Tries to open /var/lib/rpm
20965     meta = {
20966       description = "Perl bindings for the RPM Package Manager API";
20967       license = with lib.licenses; [ artistic1 gpl1Plus ];
20968       platforms = lib.platforms.linux;
20969     };
20970   };
20972   RSSParserLite = buildPerlPackage {
20973     pname = "RSS-Parser-Lite";
20974     version = "0.12";
20975     src = fetchurl {
20976       url = "mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz";
20977       hash = "sha256-idw0vKixqp/uC8QK7d5eLBYCL8eYssOryH3gczG5lbk=";
20978     };
20979     propagatedBuildInputs = [ locallib ];
20980     doCheck = false; /* creates files in HOME */
20981     meta = {
20982       description = "A simple pure perl RSS parser";
20983       license = with lib.licenses; [ artistic1 gpl1Plus ];
20984     };
20985   };
20987   RTClientREST = buildPerlModule {
20988     pname = "RT-Client-REST";
20989     version = "0.60";
20990     src = fetchurl {
20991       url = "mirror://cpan/authors/id/D/DJ/DJZORT/RT-Client-REST-0.60.tar.gz";
20992       hash = "sha256-Dm8to9lpA0kbQ7GcYSIcvuqIQUJk+QcxLyd9qvFEJIs=";
20993     };
20994     buildInputs = [ CGI HTTPServerSimple TestException ];
20995     propagatedBuildInputs = [ DateTimeFormatDateParse Error LWP ParamsValidate ];
20996     meta = {
20997       description = "Client for RT using REST API";
20998       homepage = "https://github.com/RT-Client-REST/RT-Client-REST";
20999       license = with lib.licenses; [ artistic1 gpl1Plus ];
21000     };
21001   };
21003   SafeIsa = buildPerlPackage {
21004     pname = "Safe-Isa";
21005     version = "1.000010";
21006     src = fetchurl {
21007       url = "mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000010.tar.gz";
21008       hash = "sha256-h/QUiqD/HV5lJyMyLqt9r6OAHJZ9b5GskUejxGe4pmo=";
21009     };
21010     meta = {
21011       description = "Call isa, can, does and DOES safely on things that may not be objects";
21012       license = with lib.licenses; [ artistic1 gpl1Plus ];
21013     };
21014   };
21016   ScalarListUtils = buildPerlPackage {
21017     pname = "Scalar-List-Utils";
21018     version = "1.55";
21019     src = fetchurl {
21020       url = "mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.55.tar.gz";
21021       hash = "sha256-TSvcHHKnvE1p1qXMhbx1Zkl8Oxg8YXW4MnhDKdWP60s=";
21022     };
21023     meta = {
21024       description = "Common Scalar and List utility subroutines";
21025       license = with lib.licenses; [ artistic1 gpl1Plus ];
21026     };
21027   };
21029   ScalarString = buildPerlModule {
21030     pname = "Scalar-String";
21031     version = "0.003";
21032     src = fetchurl {
21033       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz";
21034       hash = "sha256-9UoXybeHE7AsxDrfrfYLSUZ+djTTExfouenpfCbWi1I=";
21035     };
21036     meta = {
21037       description = "String aspects of scalars";
21038       license = with lib.licenses; [ artistic1 gpl1Plus ];
21039     };
21040   };
21042   SCGI = buildPerlModule {
21043     pname = "SCGI";
21044     version = "0.6";
21045     src = fetchurl {
21046       url = "mirror://cpan/authors/id/V/VI/VIPERCODE/SCGI-0.6.tar.gz";
21047       hash = "sha256-WLeMWvTuReQ38Hro87DZRckf0sAlFW7pFtgRWA+R2aQ=";
21048     };
21049     preConfigure = "export HOME=$(mktemp -d)";
21050     meta = {
21051       description = "This module is for implementing an SCGI interface for an application server";
21052       license = with lib.licenses; [ artistic1 gpl1Plus ];
21053     };
21054   };
21056   ScopeGuard = buildPerlPackage {
21057     pname = "Scope-Guard";
21058     version = "0.21";
21059     src = fetchurl {
21060       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz";
21061       hash = "sha256-jJsb6lxWRI4sP63GXQW+nkaQo4I6gPOdLxD92Pd30ng=";
21062     };
21063     meta = {
21064       description = "Lexically-scoped resource management";
21065       license = with lib.licenses; [ artistic1 gpl1Plus ];
21066     };
21067   };
21069   ScopeUpper = buildPerlPackage {
21070     pname = "Scope-Upper";
21071     version = "0.33";
21072     src = fetchurl {
21073       url = "mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.33.tar.gz";
21074       hash = "sha256-XzO+Aa1o/L7G74HusDs1EaL18HUq1RPZk6TBOl+xpkg=";
21075     };
21076     meta = {
21077       description = "Act on upper scopes";
21078       homepage = "https://search.cpan.org/dist/Scope-Upper";
21079       license = with lib.licenses; [ artistic1 gpl1Plus ];
21080     };
21081   };
21083   SDL = buildPerlModule {
21084     pname = "SDL";
21085     version = "2.548";
21086     src = fetchurl {
21087       url = "mirror://cpan/authors/id/F/FR/FROGGS/SDL-2.548.tar.gz";
21088       hash = "sha256-JSoZK/qcIHCkiDcH0TnDpF2cRRjM1moeaZtbeVm9T7U=";
21089     };
21090     perlPreHook = "export LD=$CC";
21091     preCheck = "rm t/core_audiospec.t";
21092     buildInputs = [ pkgs.SDL pkgs.SDL_gfx pkgs.SDL_mixer pkgs.SDL_image pkgs.SDL_ttf pkgs.SDL_Pango pkgs.SDL_net AlienSDL CaptureTiny TestDeep TestDifferences TestException TestMost TestWarn ];
21093     propagatedBuildInputs = [ FileShareDir TieSimple ];
21094     meta = {
21095       description = "SDL bindings to Perl";
21096       license = with lib.licenses; [ lgpl21Plus ];
21097     };
21098   };
21100   SearchXapian = buildPerlPackage rec {
21101     pname = "Search-Xapian";
21102     version = "1.2.25.4";
21103     src = fetchurl {
21104       url = "mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-1.2.25.4.tar.gz";
21105       hash = "sha256-hxlDGZuA79mOMfS0cRuwcKV2yRvmkhk9ikOv+tZFdN0=";
21106     };
21107     buildInputs = [ pkgs.xapian DevelLeak ];
21108     meta = {
21109       description = "Perl XS frontend to the Xapian C++ search library";
21110       homepage = "https://xapian.org";
21111       license = with lib.licenses; [ artistic1 gpl1Plus ];
21112     };
21113   };
21115   SerealDecoder = buildPerlPackage {
21116     pname = "Sereal-Decoder";
21117     version = "4.025";
21118     src = fetchurl {
21119       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-4.025.tar.gz";
21120       hash = "sha256-jg47mprxp3i33iFQb6MHl/sbUg3NAC8/KebctSRG3qU=";
21121     };
21122     buildInputs = [ TestDeep TestDifferences TestLongString TestWarn ];
21123     preBuild = "ls";
21124     meta = {
21125       description = "Fast, compact, powerful binary deserialization";
21126       homepage = "https://github.com/Sereal/Sereal";
21127       license = with lib.licenses; [ artistic1 gpl1Plus ];
21128       maintainers = [ maintainers.thoughtpolice ];
21129     };
21130   };
21132   SerealEncoder = buildPerlPackage {
21133     pname = "Sereal-Encoder";
21134     version = "4.025";
21135     src = fetchurl {
21136       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-4.025.tar.gz";
21137       hash = "sha256-D9UbpggwJmUNCFJnWCYRc8GKuCNMVSb6x+25GtnGAm4=";
21138     };
21139     buildInputs = [ SerealDecoder TestDeep TestDifferences TestLongString TestWarn ];
21140     meta = {
21141       description = "Fast, compact, powerful binary serialization";
21142       homepage = "https://github.com/Sereal/Sereal";
21143       license = with lib.licenses; [ artistic1 gpl1Plus ];
21144       maintainers = [ maintainers.thoughtpolice ];
21145     };
21146   };
21148   Sereal = buildPerlPackage {
21149     pname = "Sereal";
21150     version = "4.025";
21151     src = fetchurl {
21152       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-4.025.tar.gz";
21153       hash = "sha256-C+X+VStQtnhjk+Q+qczldzpItf80o6zyopWqdgmgYrk=";
21154     };
21155     buildInputs = [ TestDeep TestLongString TestWarn ];
21156     propagatedBuildInputs = [ SerealDecoder SerealEncoder ];
21157     meta = {
21158       description = "Fast, compact, powerful binary (de-)serialization";
21159       license = with lib.licenses; [ artistic1 gpl1Plus ];
21160       maintainers = [ maintainers.thoughtpolice ];
21161     };
21162   };
21164   DeviceSerialPort = buildPerlPackage rec {
21165     pname = "Device-SerialPort";
21166     version = "1.04";
21167     src = fetchurl {
21168       url = "mirror://cpan/authors/id/C/CO/COOK/Device-SerialPort-1.04.tar.gz";
21169       hash = "sha256-05JWfLObTqYGwOCsr9jtcjIDEbmVM27OX878+bFQ6dc=";
21170     };
21171     meta = {
21172       description = "Linux/POSIX emulation of Win32::SerialPort functions.";
21173       license = with lib.licenses; [ artistic1 gpl1Plus ];
21174       mainProgram = "modemtest";
21175     };
21176   };
21178   ServerStarter = buildPerlModule {
21179     pname = "Server-Starter";
21180     version = "0.35";
21181     src = fetchurl {
21182       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz";
21183       hash = "sha256-Z23A1s/0ZIU4Myxjwy+4itCe2GghPqnmLj8Z+tQbnEA=";
21184     };
21185     buildInputs = [ TestRequires TestSharedFork TestTCP ];
21186     meta = {
21187       description = "A superdaemon for hot-deploying server programs";
21188       homepage = "https://github.com/kazuho/p5-Server-Starter";
21189       license = with lib.licenses; [ artistic1 gpl1Plus ];
21190       mainProgram = "start_server";
21191     };
21192   };
21194   SessionToken = buildPerlPackage rec {
21195     pname = "Session-Token";
21196     version = "1.503";
21197     src = fetchurl {
21198       url = "mirror://cpan/authors/id/F/FR/FRACTAL/Session-Token-1.503.tar.gz";
21199       hash = "sha256-MsPflu9FXHGHA2Os2VDdxPvISMWU9LxVshtEz5efeaE=";
21200     };
21201     meta = {
21202       description = "Secure, efficient, simple random session token generation";
21203       homepage = "https://github.com/hoytech/Session-Token";
21204       license = with lib.licenses; [ artistic1 gpl1Plus ];
21205       maintainers = [ maintainers.sgo ];
21206     };
21207   };
21209   SetInfinite = buildPerlPackage {
21210     pname = "Set-Infinite";
21211     version = "0.65";
21212     src = fetchurl {
21213       url = "mirror://cpan/authors/id/F/FG/FGLOCK/Set-Infinite-0.65.tar.gz";
21214       hash = "sha256-B7yIBzRJLeQLSjqLWjMXYvZOabRikCn9mp01eyW4fh8=";
21215     };
21216     meta = {
21217       description = "Infinite Sets math";
21218       license = with lib.licenses; [ artistic1 gpl1Plus ];
21219     };
21220   };
21222   SetIntSpan = buildPerlPackage {
21223     pname = "Set-IntSpan";
21224     version = "1.19";
21225     src = fetchurl {
21226       url = "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
21227       hash = "sha256-EbdUmxPsXYfMaV3Ux3fNApg91f6YZgEod/tTD0iz39A=";
21228     };
21230     meta = {
21231       description = "Manages sets of integers, newsrc style";
21232       license = with lib.licenses; [ artistic1 gpl1Plus ];
21233     };
21234   };
21236   SetObject = buildPerlPackage {
21237     pname = "Set-Object";
21238     version = "1.40";
21239     src = fetchurl {
21240       url = "mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.40.tar.gz";
21241       hash = "sha256-HE2EZME+bZSVfPAhzmA8lhsI9S22qer1pbDTeGjNN7c=";
21242     };
21243     meta = {
21244       description = "Unordered collections (sets) of Perl Objects";
21245       license = with lib.licenses; [ artistic2 ];
21246     };
21247   };
21249   SetScalar = buildPerlPackage {
21250     pname = "Set-Scalar";
21251     version = "1.29";
21252     src = fetchurl {
21253       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz";
21254       hash = "sha256-o9wVJvPd5y08ZOoAAHuGzmCM3Nk1Z89ubkLcEP3EUR0=";
21255     };
21256     meta = {
21257       description = "Basic set operations";
21258       license = with lib.licenses; [ artistic1 gpl1Plus ];
21259     };
21260   };
21262   SmartComments = buildPerlPackage rec {
21263     pname = "Smart-Comments";
21264     version = "1.06";
21265     src = fetchurl {
21266       url = "mirror://cpan/authors/id/N/NE/NEILB/Smart-Comments-1.06.tar.gz";
21267       hash = "sha256-3PijEhNKfGuCkmoBFdk7aSRypmLSjNw6m98omEranuM=";
21268     };
21269     meta = {
21270       description = "Comments that do more than just sit there";
21271       homepage = "https://github.com/neilb/Smart-Comments";
21272       license = with lib.licenses; [ artistic1 gpl1Plus ];
21273       maintainers = [ maintainers.sgo ];
21274     };
21275   };
21277   SGMLSpm = buildPerlModule {
21278     pname = "SGMLSpm";
21279     version = "1.1";
21280     src = fetchurl {
21281       url = "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz";
21282       hash = "sha256-VQySRSkcjfIkL36I95IaD2NsfuySxkRBjn2Jz+pwsr0=";
21283     };
21284     meta = {
21285       description = "Library for parsing the output from SGMLS and NSGMLS parsers";
21286       license = with lib.licenses; [ gpl2Plus ];
21287       mainProgram = "sgmlspl.pl";
21288     };
21289   };
21291   SignalMask = buildPerlPackage {
21292     pname = "Signal-Mask";
21293     version = "0.008";
21294     src = fetchurl {
21295       url = "mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz";
21296       hash = "sha256-BD2ZW2sknZ68BMRn2zG7fdwuVfqgjohb2wULHyM2tz8=";
21297     };
21298     propagatedBuildInputs = [ IPCSignal ];
21299     meta = {
21300       description = "Signal masks made easy";
21301       license = with lib.licenses; [ artistic1 gpl1Plus ];
21302     };
21303   };
21305   SnowballNorwegian = buildPerlModule {
21306     pname = "Snowball-Norwegian";
21307     version = "1.2";
21308     src = fetchurl {
21309       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz";
21310       hash = "sha256-Hc+NfyazdSCgENzVGXAU4KWDhe5muDtP3gfqtQrZ5Rg=";
21311     };
21312     meta = {
21313       description = "Porters stemming algorithm for norwegian";
21314       license = with lib.licenses; [ artistic1 gpl1Plus ];
21315       mainProgram = "stemmer-no.pl";
21316     };
21317   };
21319   SnowballSwedish = buildPerlModule {
21320     pname = "Snowball-Swedish";
21321     version = "1.2";
21322     src = fetchurl {
21323       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz";
21324       hash = "sha256-76qSNVhZj06IjZelEtYPvMRIHB+cXn3tUnWWKUVg/Ck=";
21325     };
21326     meta = {
21327       description = "Porters stemming algorithm for swedish";
21328       license = with lib.licenses; [ artistic1 gpl1Plus ];
21329       mainProgram = "stemmer-se.pl";
21330     };
21331   };
21333   SOAPLite = buildPerlPackage {
21334     pname = "SOAP-Lite";
21335     version = "1.27";
21336     src = fetchurl {
21337       url = "mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz";
21338       hash = "sha256-41kQa6saRaFgRKTC+ASfrQNOXe0VF5kLybX42G3d0wE=";
21339     };
21340     propagatedBuildInputs = [ ClassInspector IOSessionData LWPProtocolHttps TaskWeaken XMLParser ];
21341     buildInputs = [ TestWarn XMLParserLite ];
21342     checkInputs = [ HTTPDaemon ];
21343     meta = {
21344       description = "Perl's Web Services Toolkit";
21345       license = with lib.licenses; [ artistic1 gpl1Plus ];
21346     };
21347   };
21349   Socket6 = buildPerlPackage {
21350     pname = "Socket6";
21351     version = "0.29";
21352     src = fetchurl {
21353       url = "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.29.tar.gz";
21354       hash = "sha256-RokV+joE3PZXT8lX7/SVkV4kVpQ0lwyR7o5OFFn8kRQ=";
21355     };
21356     setOutputFlags = false;
21357     buildInputs = [ pkgs.which ];
21358     patches = [ ../development/perl-modules/Socket6-sv_undef.patch ];
21359     meta = {
21360       description = "IPv6 related part of the C socket.h defines and structure manipulators";
21361       license = with lib.licenses; [ bsd3 ];
21362     };
21363   };
21365   SoftwareLicense = buildPerlPackage {
21366     pname = "Software-License";
21367     version = "0.103014";
21368     src = fetchurl {
21369       url = "mirror://cpan/authors/id/L/LE/LEONT/Software-License-0.103014.tar.gz";
21370       hash = "sha256-60XqYC11AGaDeJ+7pXoBwKH3A3Nx3pXqVLkVd1NdF4k=";
21371     };
21372     buildInputs = [ TryTiny ];
21373     propagatedBuildInputs = [ DataSection TextTemplate ];
21374     meta = {
21375       description = "Packages that provide templated software licenses";
21376       homepage = "https://github.com/Perl-Toolchain-Gang/Software-License";
21377       license = with lib.licenses; [ artistic1 gpl1Plus ];
21378     };
21379   };
21381   SoftwareLicenseCCpack = buildPerlPackage {
21382     pname = "Software-License-CCpack";
21383     version = "1.11";
21384     src = fetchurl {
21385       url = "mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz";
21386       hash = "sha256-WU9carwhbJXNRYd8Qd7FbSvDDh0DFq04VbCiqo5dU7E=";
21387     };
21388     propagatedBuildInputs = [ SoftwareLicense ];
21389     buildInputs = [ TestCheckDeps ];
21390     meta = {
21391       description = "Software::License pack for Creative Commons' licenses";
21392       homepage = "https://github.com/SineSwiper/Software-License-CCpack";
21393       license = with lib.licenses; [ lgpl3Plus ];
21394     };
21395   };
21397   SortKey = buildPerlPackage {
21398     pname = "Sort-Key";
21399     version = "1.33";
21400     src = fetchurl {
21401       url = "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz";
21402       hash = "sha256-7WpMz6sJTJzRZPVkAk6YvSHZT0MSzKxNYkbSKzQIGs8=";
21403     };
21404     meta = {
21405       description = "The fastest way to sort anything in Perl";
21406       license = with lib.licenses; [ artistic1 gpl1Plus ];
21407     };
21408   };
21410   SortVersions = buildPerlPackage {
21411     pname = "Sort-Versions";
21412     version = "1.62";
21413     src = fetchurl {
21414       url = "mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz";
21415       hash = "sha256-v18zB0BuviWBI38CWYLoyE9vZiXdd05FfAP4mU79Lqo=";
21416     };
21417     meta = {
21418       description = "A perl 5 module for sorting of revision-like numbers";
21419       license = with lib.licenses; [ artistic1 gpl1Plus ];
21420     };
21421   };
21423   Specio = buildPerlPackage {
21424     pname = "Specio";
21425     version = "0.46";
21426     src = fetchurl {
21427       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.46.tar.gz";
21428       hash = "sha256-C/QqoRYHbW78GPcrcsestWOL1BwKoJrswS/Iv5zrlZY=";
21429     };
21430     propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
21431     buildInputs = [ TestFatal TestNeeds ];
21432     meta = {
21433       description = "Type constraints and coercions for Perl";
21434       homepage = "https://metacpan.org/release/Specio";
21435       license = with lib.licenses; [ artistic2 ];
21436     };
21437   };
21439   SpecioLibraryPathTiny = buildPerlPackage {
21440     pname = "Specio-Library-Path-Tiny";
21441     version = "0.04";
21442     src = fetchurl {
21443       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.04.tar.gz";
21444       hash = "sha256-72gT6or1FyQwREmZjbIeoqk7JYJVSet50/HpFx/qzjM=";
21445     };
21446     propagatedBuildInputs = [ PathTiny Specio ];
21447     buildInputs = [ Filepushd TestFatal ];
21448     meta = {
21449       description = "Path::Tiny types and coercions for Specio";
21450       homepage = "https://metacpan.org/release/Specio-Library-Path-Tiny";
21451       license = with lib.licenses; [ asl20 ];
21452     };
21453   };
21455   Spiffy = buildPerlPackage {
21456     pname = "Spiffy";
21457     version = "0.46";
21458     src = fetchurl {
21459       url = "mirror://cpan/authors/id/I/IN/INGY/Spiffy-0.46.tar.gz";
21460       hash = "sha256-j1hiCoQgJVxJtsQ8X/WAK9JeTwkkDFHlvysCKDPUHaM=";
21461     };
21462     meta = {
21463       description = "Spiffy Perl Interface Framework For You";
21464       license = with lib.licenses; [ artistic1 gpl1Plus ];
21465     };
21466   };
21468   SpreadsheetCSV = buildPerlPackage {
21469     pname = "Spreadsheet-CSV";
21470     version = "0.20";
21471     src = fetchurl {
21472       url = "mirror://cpan/authors/id/D/DD/DDICK/Spreadsheet-CSV-0.20.tar.gz";
21473       hash = "sha256-BwuyUqj+i5OKHOT8kFJfgz1OYZttRnOwrgojQI1RSrY=";
21474     };
21475     nativeBuildInputs = [ CGI ];
21476     propagatedBuildInputs = [ ArchiveZip SpreadsheetParseExcel TextCSV_XS XMLParser ];
21477     meta = {
21478       description = "Drop-in replacement for Text::CSV_XS with spreadsheet support";
21479       license = with lib.licenses; [ artistic1 gpl1Plus ];
21480     };
21481   };
21483   SpreadsheetParseExcel = buildPerlPackage {
21484     pname = "Spreadsheet-ParseExcel";
21485     version = "0.65";
21486     src = fetchurl {
21487       url = "mirror://cpan/authors/id/D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz";
21488       hash = "sha256-bsTLQpvVjYFkD+EhFvQ1xG9R/xBAxo8JzIt2gcFnW+w=";
21489     };
21490     propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOStringy OLEStorage_Lite ];
21491     meta = {
21492       description = "Read information from an Excel file";
21493       homepage = "https://github.com/runrig/spreadsheet-parseexcel";
21494       license = with lib.licenses; [ artistic1 gpl1Plus ];
21495     };
21496   };
21498   SpreadsheetWriteExcel = buildPerlPackage {
21499     pname = "Spreadsheet-WriteExcel";
21500     version = "2.40";
21501     src = fetchurl {
21502       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz";
21503       hash = "sha256-41aq1oZs8TVzEmjuDpeaGXRDwVoEh46c8+gNAirWwH4=";
21504     };
21505     propagatedBuildInputs = [ OLEStorage_Lite ParseRecDescent ];
21506     meta = {
21507       description = "Write to a cross platform Excel binary file";
21508       license = with lib.licenses; [ artistic1 gpl1Plus ];
21509       mainProgram = "chartex";
21510     };
21511   };
21513   SQLAbstract = buildPerlPackage {
21514     pname = "SQL-Abstract";
21515     version = "2.000001";
21516     src = fetchurl {
21517       url = "mirror://cpan/authors/id/M/MS/MSTROUT/SQL-Abstract-2.000001.tar.gz";
21518       hash = "sha256-NaZCZiw0lCDUS+bg732HZep0PrEq0UOZqjojK7lObpo=";
21519     };
21520     buildInputs = [ DataDumperConcise TestDeep TestException TestWarn ];
21521     propagatedBuildInputs = [ HashMerge MROCompat Moo ];
21522     meta = {
21523       description = "Generate SQL from Perl data structures";
21524       license = with lib.licenses; [ artistic1 gpl1Plus ];
21525     };
21526   };
21528   SQLAbstractClassic = buildPerlPackage {
21529     pname = "SQL-Abstract-Classic";
21530     version = "1.91";
21531     src = fetchurl {
21532       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/SQL-Abstract-Classic-1.91.tar.gz";
21533       hash = "sha256-Tj0d/QlbISMmhYa7BrhpKepXE4jU6UGszL3NoeEI7yg=";
21534     };
21535     buildInputs = [ TestDeep TestException TestWarn ];
21536     propagatedBuildInputs = [ SQLAbstract ];
21537     meta = {
21538       description = "Generate SQL from Perl data structures";
21539       license = with lib.licenses; [ artistic1 gpl1Plus ];
21540     };
21541   };
21543   SQLAbstractLimit = buildPerlPackage {
21544     pname = "SQL-Abstract-Limit";
21545     version = "0.143";
21546     src = fetchurl {
21547       url = "mirror://cpan/authors/id/A/AS/ASB/SQL-Abstract-Limit-0.143.tar.gz";
21548       hash = "sha256-0Yr9eIk72DC6JGXArmozQlRgFZADhk3tO1rc9RGJyuk=";
21549     };
21550     propagatedBuildInputs = [ DBI SQLAbstract ];
21551     buildInputs = [ TestDeep TestException ];
21552     meta = {
21553       description = "Portable LIMIT emulation";
21554       license = with lib.licenses; [ artistic1 gpl1Plus ];
21555     };
21556   };
21558   SQLAbstractPg = buildPerlPackage {
21559     pname = "SQL-Abstract-Pg";
21560     version = "1.0";
21561     src = fetchurl {
21562       url = "mirror://cpan/authors/id/S/SR/SRI/SQL-Abstract-Pg-1.0.tar.gz";
21563       hash = "sha256-Pic2DfN7jYjzxS2smwNJP5vT7v9sjYj5sIbScRVT9Uc=";
21564     };
21565     buildInputs = [ TestDeep ];
21566     propagatedBuildInputs = [ SQLAbstract ];
21567     meta = {
21568       description = "PostgreSQL features for SQL::Abstract";
21569       homepage = "https://mojolicious.org";
21570       license = with lib.licenses; [ artistic2 ];
21571     };
21572   };
21574   SQLSplitStatement = buildPerlPackage {
21575     pname = "SQL-SplitStatement";
21576     version = "1.00020";
21577     src = fetchurl {
21578       url = "mirror://cpan/authors/id/E/EM/EMAZEP/SQL-SplitStatement-1.00020.tar.gz";
21579       hash = "sha256-93ww9E2HFY2C9lTp+pTTmlD994WcWn+9WBMnRmYhDy8=";
21580     };
21581     buildInputs = [ TestException ];
21582     propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon SQLTokenizer ];
21583     meta = {
21584       description = "Split any SQL code into atomic statements";
21585       license = with lib.licenses; [ artistic1 gpl1Plus ];
21586       mainProgram = "sql-split";
21587     };
21588   };
21590   SQLStatement = buildPerlPackage {
21591     pname = "SQL-Statement";
21592     version = "1.414";
21593     src = fetchurl {
21594       url = "mirror://cpan/authors/id/R/RE/REHSACK/SQL-Statement-1.414.tar.gz";
21595       hash = "sha256-3ei9z6ahNu7doGUZug8++uwIXDnbDfnEctwOxs14Gkk=";
21596     };
21597     buildInputs = [ MathBaseConvert TestDeep TextSoundex ];
21598     propagatedBuildInputs = [ Clone ModuleRuntime ParamsUtil ];
21599     meta = {
21600       description = "SQL parsing and processing engine";
21601       license = with lib.licenses; [ artistic1 gpl1Plus ];
21602     };
21603   };
21605   SQLTokenizer = buildPerlPackage {
21606     pname = "SQL-Tokenizer";
21607     version = "0.24";
21608     src = fetchurl {
21609       url = "mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz";
21610       hash = "sha256-+qhpvEJlc2QVNqCfU1AuVA1ePjrWp6oaxiXT9pdrQuE=";
21611     };
21612     meta = {
21613       description = "A simple SQL tokenizer";
21614       license = with lib.licenses; [ artistic1 gpl1Plus ];
21615     };
21616   };
21618   SQLTranslator = buildPerlPackage {
21619     pname = "SQL-Translator";
21620     version = "1.62";
21621     src = fetchurl {
21622       url = "mirror://cpan/authors/id/I/IL/ILMARI/SQL-Translator-1.62.tar.gz";
21623       hash = "sha256-Cs1P+aw6L41dZxmarALNwSfgOIjkecUce73CG4XBziQ=";
21624     };
21625     buildInputs = [ FileShareDirInstall JSONMaybeXS TestDifferences TestException XMLWriter YAML ];
21626     propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny GraphViz GD ];
21628     postPatch = ''
21629       patchShebangs script
21630     '';
21632     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
21633     postInstall = lib.optionalString stdenv.isDarwin ''
21634       for file in $out/bin/*; do
21635         shortenPerlShebang $file
21636       done
21637     '';
21639     meta = {
21640       description = "SQL DDL transformations and more";
21641       license = with lib.licenses; [ artistic1 gpl1Plus ];
21642       mainProgram = "sqlt";
21643     };
21644   };
21646   PackageVariant = buildPerlPackage {
21647     pname = "Package-Variant";
21648     version = "1.003002";
21649     src = fetchurl {
21650       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz";
21651       hash = "sha256-su2EnS9M3WZGdRLao/FDJm1t+BDF+ukXWyUsV7wVNtw=";
21652     };
21653     buildInputs = [ TestFatal ];
21654     propagatedBuildInputs = [ ImportInto strictures ];
21655     meta = {
21656       description = "Parameterizable packages";
21657       license = with lib.licenses; [ artistic1 gpl1Plus ];
21658     };
21659   };
21661   SortNaturally = buildPerlPackage {
21662     pname = "Sort-Naturally";
21663     version = "1.03";
21664     src = fetchurl {
21665       url = "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-1.03.tar.gz";
21666       hash = "sha256-6qscXIdXWngmCJMEqx+P+n8Y5s2LOTdiPpmOhl7B50Y=";
21667     };
21668     meta = {
21669       description = "Sort lexically, but sort numeral parts numerically";
21670       license = with lib.licenses; [ artistic1 gpl1Plus ];
21671     };
21672   };
21674   Starlet = buildPerlPackage {
21675     pname = "Starlet";
21676     version = "0.31";
21677     src = fetchurl {
21678       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz";
21679       hash = "sha256-uWA7jmKIDLRYL2p5Oer+xl5u/T2QDyx900Ll9MaNYtg=";
21680     };
21681     buildInputs = [ LWP TestSharedFork TestTCP ];
21682     propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ];
21683     doCheck = !stdenv.isDarwin;
21684     meta = {
21685       description = "A simple, high-performance PSGI/Plack HTTP server";
21686       license = with lib.licenses; [ artistic1 gpl1Plus ];
21687     };
21688   };
21690   Starman = buildPerlModule {
21691     pname = "Starman";
21692     version = "0.4015";
21693     src = fetchurl {
21694       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4015.tar.gz";
21695       hash = "sha256-EPUJe8o5pDJ/9uaec/B2CdOmWaeJa+OWS0nMJBKxM/g=";
21696     };
21697     buildInputs = [ LWP ModuleBuildTiny TestRequires TestTCP ];
21698     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
21699     propagatedBuildInputs = [ DataDump HTTPParserXS NetServer Plack NetServerSSPrefork ];
21700     postInstall = lib.optionalString stdenv.isDarwin ''
21701       shortenPerlShebang $out/bin/starman
21702     '';
21704     doCheck = false; # binds to various TCP ports
21705     meta = {
21706       description = "High-performance preforking PSGI/Plack web server";
21707       homepage = "https://github.com/miyagawa/Starman";
21708       license = with lib.licenses; [ artistic1 gpl1Plus ];
21709       mainProgram = "starman";
21710     };
21711   };
21713   StatisticsBasic = buildPerlPackage {
21714     pname = "Statistics-Basic";
21715     version = "1.6611";
21716     src = fetchurl {
21717       url = "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz";
21718       hash = "sha256-aFXOVhX9Phr0z8RRqb9E/ymjFAtOcTADTx8K8lEalPs=";
21719     };
21720     propagatedBuildInputs = [ NumberFormat ];
21721     meta = {
21722       description = "A collection of very basic statistics modules";
21723       license = with lib.licenses; [ lgpl2Only ];
21724     };
21725   };
21727   StatisticsCaseResampling = buildPerlPackage {
21728     pname = "Statistics-CaseResampling";
21729     version = "0.15";
21730     src = fetchurl {
21731       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Statistics-CaseResampling-0.15.tar.gz";
21732       hash = "sha256-hRxDvW8Q0yKJUipQxqIJw7JGz9PrVmdz5oYe2gSkkIc=";
21733     };
21734     meta = {
21735       description = "Efficient resampling and calculation of medians with confidence intervals";
21736       license = with lib.licenses; [ artistic1 gpl1Plus ];
21737     };
21738   };
21740   StatisticsChiSquare = buildPerlPackage rec {
21741     pname = "Statistics-ChiSquare";
21742     version = "1.0000";
21743     src = fetchurl {
21744       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Statistics-ChiSquare-1.0000.tar.gz";
21745       hash = "sha256-JVpaODNtBI3bkHciJpHgAJhOkHquCaTqaVqc/Umh3dA=";
21746     };
21747     meta = {
21748       description = "Implements the Chi Squared test, using pre-computed tables";
21749       license = with lib.licenses; [ artistic1 gpl1Plus ];
21750     };
21751   };
21753   StatisticsDescriptive = buildPerlModule {
21754     pname = "Statistics-Descriptive";
21755     version = "3.0800";
21756     src = fetchurl {
21757       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0800.tar.gz";
21758       hash = "sha256-sE7e6ia/7UNapgKZVnmMKB9/UtRUXz9Fsq1ElU6W+Tk=";
21759     };
21760     propagatedBuildInputs = [ ListMoreUtils ];
21761     meta = {
21762       description = "Module of basic descriptive statistical functions";
21763       homepage = "https://metacpan.org/release/Statistics-Descriptive";
21764       license = with lib.licenses; [ artistic1 gpl1Plus ];
21765     };
21766   };
21768   StatisticsDistributions = buildPerlPackage {
21769     pname = "Statistics-Distributions";
21770     version = "1.02";
21771     src = fetchurl {
21772       url = "mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz";
21773       hash = "sha256-+Z85ar+EyjeqLOoxrUXXOq7kh1LJmRNsS5E4lCjXM8g=";
21774     };
21775     meta = {
21776       description = "Perl module for calculating critical values and upper probabilities of common statistical distributions";
21777       license = with lib.licenses; [ artistic1 gpl1Plus ];
21778     };
21779   };
21781   StatisticsTTest = buildPerlPackage {
21782     pname = "Statistics-TTest";
21783     version = "1.1.0";
21784     src = fetchurl {
21785       url = "mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz";
21786       hash = "sha256-stlZ0ljHKEebfYYu4BRuWtjuqYm+JWN8vFdlUv9zcWY=";
21787     };
21788     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
21789     meta = {
21790       description = "Perl module to perform T-test on 2 independent samples Statistics::TTest::Sufficient - Perl module to perfrom T-Test on 2 indepdent samples using sufficient statistics";
21791       license = with lib.licenses; [ artistic1 gpl1Plus ];
21792     };
21793   };
21795   StreamBuffered = buildPerlPackage {
21796     pname = "Stream-Buffered";
21797     version = "0.03";
21798     src = fetchurl {
21799       url = "mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz";
21800       hash = "sha256-my1DkLXeawz0VY5K0EMXpzxeE90ZrykUnE5Hw3+yQjs=";
21801     };
21802     meta = {
21803       description = "Temporary buffer to save bytes";
21804       homepage = "https://github.com/plack/Stream-Buffered";
21805       license = with lib.licenses; [ artistic1 gpl1Plus ];
21806     };
21807   };
21809   strictures = buildPerlPackage {
21810     pname = "strictures";
21811     version = "2.000006";
21812     src = fetchurl {
21813       url = "mirror://cpan/authors/id/H/HA/HAARG/strictures-2.000006.tar.gz";
21814       hash = "sha256-CdV5dKbRsjgMgChw/tRxEI9RFw2oFFjidRhZ8nFPjVc=";
21815     };
21816     meta = {
21817       description = "Turn on strict and make most warnings fatal";
21818       homepage = "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git";
21819       license = with lib.licenses; [ artistic1 gpl1Plus ];
21820     };
21821   };
21823   StringApprox = buildPerlPackage {
21824     pname = "String-Approx";
21825     version = "3.28";
21826     src = fetchurl {
21827       url = "mirror://cpan/authors/id/J/JH/JHI/String-Approx-3.28.tar.gz";
21828       hash = "sha256-QyAedi2GmcsKwsB2SlRUvcIwbAdxAU1sj7qCFIBjE0I=";
21829     };
21830     meta = {
21831       description = "Perl extension for approximate matching (fuzzy matching)";
21832       license = with lib.licenses; [ artistic2 gpl2Only ];
21833     };
21834   };
21836   StringCamelCase = buildPerlPackage {
21837     pname = "String-CamelCase";
21838     version = "0.04";
21839     src = fetchurl {
21840       url = "mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz";
21841       hash = "sha256-icPevO7Orodk9F10Aj+Pvu4tiDma9nVB29qgsr8nEak=";
21842     };
21843     meta = {
21844       description = "Camelcase, de-camelcase";
21845       license = with lib.licenses; [ artistic1 gpl1Plus ];
21846     };
21847   };
21849   StringCompareConstantTime = buildPerlPackage {
21850     pname = "String-Compare-ConstantTime";
21851     version = "0.321";
21852     src = fetchurl {
21853       url = "mirror://cpan/authors/id/F/FR/FRACTAL/String-Compare-ConstantTime-0.321.tar.gz";
21854       hash = "sha256-Cya6KxIdgARCXUSF0dRvWQAcg3Y6omYk3/YiDXc11/c=";
21855     };
21856     meta = {
21857       description = "Timing side-channel protected string compare";
21858       license = with lib.licenses; [ artistic1 gpl1Plus ];
21859     };
21860   };
21862   StringCRC32 = buildPerlPackage {
21863     pname = "String-CRC32";
21864     version = "2";
21865     src = fetchurl {
21866       url = "mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-2.tar.gz";
21867       hash = "sha256-7bf+rlDsn9cSV9j7IeH+1/9N/jDXmLGvIm0q96a92S0=";
21868     };
21869     meta = {
21870       description = "Perl interface for cyclic redundancy check generation";
21871       license = with lib.licenses; [ publicDomain ];
21872     };
21873   };
21875   StringDiff = buildPerlModule {
21876     pname = "String-Diff";
21877     version = "0.07";
21878     src = fetchurl {
21879       url = "mirror://cpan/authors/id/Y/YA/YAPPO/String-Diff-0.07.tar.gz";
21880       hash = "sha256-chW2fLwyJuLQ4Ys47FjJO+C/YJAnhpi++VU0iCbNCvM=";
21881     };
21882     patches = [
21883       (fetchpatch {
21884         url = "https://salsa.debian.org/perl-team/modules/packages/libstring-diff-perl/-/raw/d8120a93f73f4d4aa40d10819b2f0a312608ca9b/debian/patches/0001-Fix-the-test-suite-for-YAML-1.21-compatibility.patch";
21885         hash = "sha256-RcYsn0jVa9sSF8iYPuaFTWx00LrF3m7hH9e6fC7j72U=";
21886       })
21887     ];
21888     buildInputs = [ TestBase ModuleBuildTiny ModuleInstallGithubMeta ModuleInstallRepository ModuleInstallReadmeFromPod ModuleInstallReadmeMarkdownFromPod YAML ];
21889     propagatedBuildInputs = [ AlgorithmDiff ];
21890     meta = {
21891       description = "Simple diff to String";
21892       homepage = "https://github.com/yappo/p5-String-Diff";
21893       license = with lib.licenses; [ artistic1 gpl1Plus ];
21894       maintainers = [ maintainers.sgo ];
21895     };
21896   };
21898   StringErrf = buildPerlPackage {
21899     pname = "String-Errf";
21900     version = "0.008";
21901     src = fetchurl {
21902       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.008.tar.gz";
21903       hash = "sha256-rhNveD2sZYeuotItZOwgUnIVOoP5VLB1dm49KYpO1ts=";
21904     };
21905     buildInputs = [ JSONMaybeXS TimeDate ];
21906     propagatedBuildInputs = [ StringFormatter ];
21907     meta = {
21908       description = "A simple sprintf-like dialect";
21909       homepage = "https://github.com/rjbs/String-Errf";
21910       license = with lib.licenses; [ artistic1 gpl1Plus ];
21911     };
21912   };
21914   StringEscape = buildPerlPackage {
21915     pname = "String-Escape";
21916     version = "2010.002";
21917     src = fetchurl {
21918       url = "mirror://cpan/authors/id/E/EV/EVO/String-Escape-2010.002.tar.gz";
21919       hash = "sha256-/WRfizNiJNIKha5/saOEV26sMp963DkjwyQego47moo=";
21920     };
21921     meta = {
21922       description = "Backslash escapes, quoted phrase, word elision, etc";
21923       license = with lib.licenses; [ artistic1 gpl1Plus ];
21924     };
21925   };
21927   StringFlogger = buildPerlPackage {
21928     pname = "String-Flogger";
21929     version = "1.101245";
21930     src = fetchurl {
21931       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101245.tar.gz";
21932       hash = "sha256-qgPAjgH4AqNYwXXGCTwCrflohlmgh6jd79w+nO9yZAs=";
21933     };
21934     propagatedBuildInputs = [ JSONMaybeXS SubExporter ];
21935     meta = {
21936       description = "String munging for loggers";
21937       homepage = "https://github.com/rjbs/String-Flogger";
21938       license = with lib.licenses; [ artistic1 gpl1Plus ];
21939     };
21940   };
21942   StringFormat = buildPerlPackage {
21943     pname = "String-Format";
21944     version = "1.18";
21945     src = fetchurl {
21946       url = "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz";
21947       hash = "sha256-nkF6j42epiO+6i0TpHwNWmlvyGAsBQm4Js1F+Xt253g=";
21948     };
21949     meta = {
21950       description = "sprintf-like string formatting capabilities with arbitrary format definitions";
21951       license = with lib.licenses; [ gpl2Only ];
21952     };
21953   };
21955   StringFormatter = buildPerlPackage {
21956     pname = "String-Formatter";
21957     version = "0.102084";
21958     src = fetchurl {
21959       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102084.tar.gz";
21960       hash = "sha256-gzVBEv0MZt8eEuAi33XvvzDr20NYHACJfIbsHDOonFY=";
21961     };
21962     propagatedBuildInputs = [ SubExporter ];
21963     meta = {
21964       description = "Build sprintf-like functions of your own";
21965       license = with lib.licenses; [ gpl2Only ];
21966     };
21967   };
21969   StringInterpolate = buildPerlPackage {
21970     pname = "String-Interpolate";
21971     version = "0.32";
21972     src = fetchurl {
21973       url = "mirror://cpan/authors/id/N/NE/NEILB/String-Interpolate-0.32.tar.gz";
21974       hash = "sha256-xynYmEj1WjV7z5e3m3i2uSsmPkw8knR+fe02Of5d3JU=";
21975     };
21976     meta = {
21977       # https://metacpan.org/pod/String::Interpolate
21978       description = "String::Interpolate - Wrapper for builtin the Perl interpolation engine.";
21979       license = with lib.licenses; [ gpl1Plus ];
21980     };
21981     propagatedBuildInputs = [ PadWalker SafeHole ];
21982   };
21984   StringInterpolateNamed = buildPerlPackage {
21985     pname = "String-Interpolate-Named";
21986     version = "1.00";
21987     src = fetchurl {
21988       url = "mirror://cpan/authors/id/J/JV/JV/String-Interpolate-Named-1.00.tar.gz";
21989       hash = "sha256-cnKZ+mkli2BHcOBZ7E2pBr/ecYYf3R4+ieMGdzccWoA=";
21990     };
21991     meta = {
21992       description = "Interpolated named arguments in string";
21993       license = with lib.licenses; [ artistic1 gpl1Plus ];
21994     };
21995   };
21997   StringMkPasswd = buildPerlPackage {
21998     pname = "String-MkPasswd";
21999     version = "0.05";
22000     src = fetchurl {
22001       url = "mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz";
22002       hash = "sha256-UxD4NGAEVHUHFma1Qj2y8KqC1mhcgC7Hq+bCxBBjm5Y=";
22003     };
22004     meta = {
22005       description = "Random password generator";
22006       homepage = "https://github.com/sirhc/string-mkpasswd";
22007       license = with lib.licenses; [ artistic1 gpl1Plus ];
22008       mainProgram = "mkpasswd.pl";
22009     };
22010   };
22012   StringRandom = buildPerlModule {
22013     pname = "String-Random";
22014     version = "0.31";
22015     src = fetchurl {
22016       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/String-Random-0.31.tar.gz";
22017       hash = "sha256-S0rR7mOix9xwkSrBuQRyNamdjwmkdEcZkgEwM4erl1w=";
22018     };
22019     meta = {
22020       description = "Perl module to generate random strings based on a pattern";
22021       license = with lib.licenses; [ artistic1 gpl1Plus ];
22022     };
22023   };
22025   StringRewritePrefix = buildPerlPackage {
22026     pname = "String-RewritePrefix";
22027     version = "0.008";
22028     src = fetchurl {
22029       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.008.tar.gz";
22030       hash = "sha256-5Fox1pFOj1/HIu9I2IGUANr8AhBeDGFBSqu/AbziCOs=";
22031     };
22032     propagatedBuildInputs = [ SubExporter ];
22033     meta = {
22034       description = "Rewrite strings based on a set of known prefixes";
22035       homepage = "https://github.com/rjbs/String-RewritePrefix";
22036       license = with lib.licenses; [ artistic1 gpl1Plus ];
22037     };
22038   };
22040   StringShellQuote = buildPerlPackage {
22041     pname = "String-ShellQuote";
22042     version = "1.04";
22043     src = fetchurl {
22044       url = "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz";
22045       hash = "sha256-5gY2UDjOINZG0lXIBe/90y+GR18Y1DynVFWwDk2G3TU=";
22046     };
22047     doCheck = !stdenv.isDarwin;
22048     meta = {
22049       description = "Quote strings for passing through the shell";
22050       license = with lib.licenses; [ artistic1 gpl1Plus ];
22051       mainProgram = "shell-quote";
22052     };
22053   };
22055   StringSimilarity = buildPerlPackage {
22056     pname = "String-Similarity";
22057     version = "1.04";
22058     src = fetchurl {
22059       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/String-Similarity-1.04.tar.gz";
22060       hash = "sha256-H47aIpC7y3Ia7wzhsL/hOwEgHdPaphijN/LwLikcMkU=";
22061     };
22062     doCheck = true;
22063     meta = {
22064       description = "Calculate the similarity of two strings";
22065       license = with lib.licenses; [ gpl2Only ];
22066     };
22067   };
22069   ShellCommand = buildPerlPackage {
22070     pname = "Shell-Command";
22071     version = "0.06";
22072     src = fetchurl {
22073       url = "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz";
22074       hash = "sha256-8+Te71d5RL5G+nr1rBGKwoKJEXiLAbx2p0SVNVYW7NE=";
22075     };
22076     meta = {
22077       description = "Cross-platform functions emulating common shell commands";
22078       license = with lib.licenses; [ artistic1 gpl1Plus ];
22079     };
22080   };
22082   ShellConfigGenerate = buildPerlPackage {
22083     pname = "Shell-Config-Generate";
22084     version = "0.34";
22085     src = fetchurl {
22086       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Config-Generate-0.34.tar.gz";
22087       hash = "sha256-hPRR8iIV3WjpwYqj992wOoIAfRZs+toAPQ8Wb1ceBWI=";
22088     };
22089     buildInputs = [ Test2Suite ];
22090     propagatedBuildInputs = [ ShellGuess ];
22091     meta = {
22092       description = "Portably generate config for any shell";
22093       homepage = "https://metacpan.org/pod/Shell::Config::Generate";
22094       license = with lib.licenses; [ artistic1 gpl1Plus ];
22095     };
22096   };
22098   ShellGuess = buildPerlPackage {
22099     pname = "Shell-Guess";
22100     version = "0.09";
22101     src = fetchurl {
22102       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Guess-0.09.tar.gz";
22103       hash = "sha256-QGn6JjfkQxGO2VbXECMdFmgj0jsqZOuHuKRocuhloSs=";
22104     };
22105     meta = {
22106       description = "Make an educated guess about the shell in use";
22107       homepage = "https://metacpan.org/pod/Shell::Guess";
22108       license = with lib.licenses; [ artistic1 gpl1Plus ];
22109     };
22110   };
22112   StringToIdentifierEN = buildPerlPackage {
22113     pname = "String-ToIdentifier-EN";
22114     version = "0.12";
22115     src = fetchurl {
22116       url = "mirror://cpan/authors/id/R/RK/RKITOVER/String-ToIdentifier-EN-0.12.tar.gz";
22117       hash = "sha256-OvuEIykwuaxbGto4PI3VkHrk4jrsWrsBb3D56AU83Io=";
22118     };
22119     propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
22120     meta = {
22121       description = "Convert Strings to English Program Identifiers";
22122       license = with lib.licenses; [ artistic1 gpl1Plus ];
22123     };
22124   };
22126   StringTruncate = buildPerlPackage {
22127     pname = "String-Truncate";
22128     version = "1.100602";
22129     src = fetchurl {
22130       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz";
22131       hash = "sha256-qqPU7sARNpIUhBORM+t11cVx/lGwrTKfCJ5tRpojX24=";
22132     };
22133     propagatedBuildInputs = [ SubExporter ];
22134     meta = {
22135       description = "A module for when strings are too long to be displayed in...";
22136       homepage = "https://github.com/rjbs/String-Truncate";
22137       license = with lib.licenses; [ artistic1 gpl1Plus ];
22138     };
22139   };
22141   StringTT = buildPerlPackage {
22142     pname = "String-TT";
22143     version = "0.03";
22144     src = fetchurl {
22145       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz";
22146       hash = "sha256-92BfCgT5+hI9Ot9PNFeaFMkLfai5O2XS5IkyzNPJUqs=";
22147     };
22148     buildInputs = [ TestException TestSimple13 TestTableDriven ];
22149     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
22150     meta = {
22151       description = "Use TT to interpolate lexical variables";
22152       license = with lib.licenses; [ artistic1 gpl1Plus ];
22153     };
22154   };
22156   StringUtil = buildPerlModule {
22157     pname = "String-Util";
22158     version = "1.31";
22159     src = fetchurl {
22160       url = "mirror://cpan/authors/id/B/BA/BAKERSCOT/String-Util-1.31.tar.gz";
22161       hash = "sha256-+7yafqQMgylOBCuzud6x71LMkaDUgye1RC4cT4Df0m0=";
22162     };
22163     buildInputs = [ ModuleBuildTiny ];
22164     meta = {
22165       description = "String processing utility functions";
22166       homepage = "https://github.com/scottchiefbaker/String-Util";
22167       license = with lib.licenses; [ artistic1 gpl1Plus ];
22168     };
22169   };
22171   strip-nondeterminism = callPackage ../development/perl-modules/strip-nondeterminism { };
22173   StructDumb = buildPerlModule {
22174     pname = "Struct-Dumb";
22175     version = "0.12";
22176     src = fetchurl {
22177       url = "mirror://cpan/authors/id/P/PE/PEVANS/Struct-Dumb-0.12.tar.gz";
22178       hash = "sha256-Us5wxDPmlirRwg6eKXpTkeC3SkRSD7zi5IL1RONlf3M=";
22179     };
22180     buildInputs = [ TestFatal ];
22181     meta = {
22182       description = "Make simple lightweight record-like structures";
22183       license = with lib.licenses; [ artistic1 gpl1Plus ];
22184     };
22185   };
22187   SubExporter = buildPerlPackage {
22188     pname = "Sub-Exporter";
22189     version = "0.987";
22190     src = fetchurl {
22191       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz";
22192       hash = "sha256-VDyy6AOrkT1EJyx9pqcLtiwZ5GfzsSqqxMlSMlmwg9Y=";
22193     };
22194     propagatedBuildInputs = [ DataOptList ];
22195     meta = {
22196       description = "A sophisticated exporter for custom-built routines";
22197       homepage = "https://github.com/rjbs/Sub-Exporter";
22198       license = with lib.licenses; [ artistic1 gpl1Plus ];
22199     };
22200   };
22202   SubExporterForMethods = buildPerlPackage {
22203     pname = "Sub-Exporter-ForMethods";
22204     version = "0.100052";
22205     src = fetchurl {
22206       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100052.tar.gz";
22207       hash = "sha256-Qh+7pPb/zxPEM18sIGMNcJ5vplnAdUXQlNvFpVitMAY=";
22208     };
22209     buildInputs = [ namespaceautoclean ];
22210     propagatedBuildInputs = [ SubExporter SubName ];
22211     meta = {
22212       description = "Helper routines for using Sub::Exporter to build methods";
22213       homepage = "https://github.com/rjbs/Sub-Exporter-ForMethods";
22214       license = with lib.licenses; [ artistic1 gpl1Plus ];
22215     };
22216   };
22218   SubExporterGlobExporter = buildPerlPackage {
22219     pname = "Sub-Exporter-GlobExporter";
22220     version = "0.005";
22221     src = fetchurl {
22222       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.005.tar.gz";
22223       hash = "sha256-L8Re7+beB80/2K+eeZxpf701oC7NW/m82MlM77bbemM=";
22224     };
22225     propagatedBuildInputs = [ SubExporter ];
22226     meta = {
22227       description = "Export shared globs with Sub::Exporter collectors";
22228       homepage = "https://github.com/rjbs/Sub-Exporter-GlobExporter";
22229       license = with lib.licenses; [ artistic1 gpl1Plus ];
22230     };
22231   };
22233   SubExporterProgressive = buildPerlPackage {
22234     pname = "Sub-Exporter-Progressive";
22235     version = "0.001013";
22236     src = fetchurl {
22237       url = "mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz";
22238       hash = "sha256-1TW3lU1k2hrBMFsfrfmCAnaeNZk3aFSyztkMOCvqwFY=";
22239     };
22240     meta = {
22241       description = "Only use Sub::Exporter if you need it";
22242       homepage = "https://github.com/frioux/Sub-Exporter-Progressive";
22243       license = with lib.licenses; [ artistic1 gpl1Plus ];
22244     };
22245   };
22247   SubHandlesVia = buildPerlPackage {
22248     pname = "Sub-HandlesVia";
22249     version = "0.016";
22250     src = fetchurl {
22251       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Sub-HandlesVia-0.016.tar.gz";
22252       hash = "sha256-ad7USuVHJAJ0AWZ0dsivJoqQCvTqYEf/RPKDvF4s+dU=";
22253     };
22254     propagatedBuildInputs = [ ClassMethodModifiers ClassTiny RoleTiny ScalarListUtils TypeTiny ];
22255     buildInputs = [ TestFatal TestRequires ];
22256     meta = {
22257       description = "Alternative handles_via implementation";
22258       homepage = "https://metacpan.org/release/Sub-HandlesVia";
22259       license = with lib.licenses; [ artistic1 gpl1Plus ];
22260     };
22261   };
22263   SubIdentify = buildPerlPackage {
22264     pname = "Sub-Identify";
22265     version = "0.14";
22266     src = fetchurl {
22267       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz";
22268       hash = "sha256-Bo0nIIZRTdHoQrakCxvtuv7mOQDlsIiQ72cAA53vrW8=";
22269     };
22270     meta = {
22271       description = "Retrieve names of code references";
22272       license = with lib.licenses; [ artistic1 gpl1Plus ];
22273     };
22274   };
22276   SubInfo = buildPerlPackage {
22277     pname = "Sub-Info";
22278     version = "0.002";
22279     src = fetchurl {
22280       url = "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz";
22281       hash = "sha256-6jBW1pa97/IamdNA1VcIh9OajMR7/yOt/ILfZ1jN0Oo=";
22282     };
22283     propagatedBuildInputs = [ Importer ];
22284     meta = {
22285       description = "Tool for inspecting subroutines";
22286       license = with lib.licenses; [ artistic1 gpl1Plus ];
22287     };
22288   };
22290   SubInstall = buildPerlPackage {
22291     pname = "Sub-Install";
22292     version = "0.928";
22293     src = fetchurl {
22294       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz";
22295       hash = "sha256-YeVnp2eViIh7e4bUJ7xHbqbXf//n4NF9ZA+JAH2Y7w8=";
22296     };
22297     meta = {
22298       description = "Install subroutines into packages easily";
22299       homepage = "https://github.com/rjbs/Sub-Install";
22300       license = with lib.licenses; [ artistic1 gpl1Plus ];
22301     };
22302   };
22304   SubName = buildPerlPackage {
22305     pname = "Sub-Name";
22306     version = "0.26";
22307     src = fetchurl {
22308       url = "mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.26.tar.gz";
22309       hash = "sha256-LS8taX1RbIlUfnxDB/HnlEFkHK4sc5XnMZswbTkN8QU=";
22310     };
22311     buildInputs = [ BC DevelCheckBin ];
22312     meta = {
22313       description = "(Re)name a sub";
22314       homepage = "https://github.com/p5sagit/Sub-Name";
22315       license = with lib.licenses; [ artistic1 gpl1Plus ];
22316     };
22317   };
22319   SubOverride = buildPerlPackage {
22320     pname = "Sub-Override";
22321     version = "0.09";
22322     src = fetchurl {
22323       url = "mirror://cpan/authors/id/O/OV/OVID/Sub-Override-0.09.tar.gz";
22324       hash = "sha256-k5pnwfcplo4MyBt0lY23UOG9t8AgvuGiYzMvQiwuJbU=";
22325     };
22326     buildInputs = [ TestFatal ];
22327     meta = {
22328       description = "Perl extension for easily overriding subroutines";
22329       license = with lib.licenses; [ artistic1 gpl1Plus ];
22330     };
22331   };
22333   SubQuote = buildPerlPackage {
22334     pname = "Sub-Quote";
22335     version = "2.006006";
22336     src = fetchurl {
22337       url = "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006006.tar.gz";
22338       hash = "sha256-bk4q9COI+m0mCeDoJBfefMa+RyI/V2WSxlbHPHUk2J0=";
22339     };
22340     buildInputs = [ TestFatal ];
22341     meta = {
22342       description = "Efficient generation of subroutines via string eval";
22343       license = with lib.licenses; [ artistic1 gpl1Plus ];
22344     };
22345   };
22347   SubStrictDecl = buildPerlModule {
22348     pname = "Sub-StrictDecl";
22349     version = "0.005";
22350     src = fetchurl {
22351       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Sub-StrictDecl-0.005.tar.gz";
22352       hash = "sha256-oSfa52RcGpVwzZopcMbcST1SL/BzGKNKOeQJCY9pESU=";
22353     };
22354     propagatedBuildInputs = [ LexicalSealRequireHints ];
22355     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
22356     meta = {
22357       description = "Detect undeclared subroutines in compilation";
22358       license = with lib.licenses; [ artistic1 gpl1Plus ];
22359     };
22360   };
22362   SubUplevel = buildPerlPackage {
22363     pname = "Sub-Uplevel";
22364     version = "0.2800";
22365     src = fetchurl {
22366       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz";
22367       hash = "sha256-tPP2O4D2gKQhMy2IUd2+Wo5y/Kp01dHZjzyMxKPs4pM=";
22368     };
22369     meta = {
22370       description = "Apparently run a function in a higher stack frame";
22371       homepage = "https://github.com/Perl-Toolchain-Gang/Sub-Uplevel";
22372       license = with lib.licenses; [ artistic1 gpl1Plus ];
22373     };
22374   };
22376   SVNSimple = buildPerlPackage {
22377     pname = "SVN-Simple";
22378     version = "0.28";
22379     src = fetchurl {
22380       url = "mirror://cpan/authors/id/C/CL/CLKAO/SVN-Simple-0.28.tar.gz";
22381       hash = "sha256-1jzBaeQ2m+mKU5q+nMFhG/zCs2lmplF+Z2aI/tGIT/s=";
22382     };
22383     propagatedBuildInputs = [ (pkgs.subversionClient.override { inherit perl; }) ];
22384     meta = {
22385       description = "A simple interface to subversion's editor interface";
22386       license = with lib.licenses; [ artistic1 gpl1Plus ];
22387     };
22388   };
22390   SafeHole = buildPerlModule {
22391     pname = "Safe-Hole";
22392     version = "0.14";
22393     src = fetchurl {
22394       url = "mirror://cpan/authors/id/T/TO/TODDR/Safe-Hole-0.14.tar.gz";
22395       hash = "sha256-9PVui70GxP5K4G2xIYbeyt+6wep3XqGMbAKJSB0V7AU=";
22396     };
22397     meta = {
22398       description = "Lib/Safe/Hole.pm";
22399       homepage = "https://github.com/toddr/Safe-Hole";
22400       license = with lib.licenses; [ artistic1 gpl1Plus ];
22401       broken = stdenv.isDarwin;
22402     };
22403   };
22405   Swim = buildPerlPackage {
22406     pname = "Swim";
22407     version = "0.1.48";
22408     src = fetchurl {
22409       url = "mirror://cpan/authors/id/I/IN/INGY/Swim-0.1.48.tar.gz";
22410       hash = "sha256-pfcv0vIpF/orSsuy7iw9MpA9l+5bDkSbDzhwGMd/Tww=";
22411     };
22412     propagatedBuildInputs = [ HTMLEscape HashMerge IPCRun Pegex TextAutoformat YAMLLibYAML ];
22413     meta = {
22414       description = "See What I Mean?!";
22415       homepage = "https://github.com/ingydotnet/swim-pm";
22416       license = with lib.licenses; [ artistic1 gpl1Plus ];
22417       mainProgram = "swin";
22418     };
22419   };
22421   Switch = buildPerlPackage {
22422     pname = "Switch";
22423     version = "2.17";
22424     src = fetchurl {
22425       url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz";
22426       hash = "sha256-MTVJdRQP5iNawTChCUlkka0z3UL5xiGJ4j9J91+TbXU=";
22427     };
22428     doCheck = false;                             # FIXME: 2/293 test failures
22429     meta = {
22430       description = "A switch statement for Perl, do not use if you can use given/when";
22431       license = with lib.licenses; [ artistic1 gpl1Plus ];
22432     };
22433   };
22435   SymbolGet = buildPerlPackage {
22436     pname = "Symbol-Get";
22437     version = "0.10";
22438     src = fetchurl {
22439       url = "mirror://cpan/authors/id/F/FE/FELIPE/Symbol-Get-0.10.tar.gz";
22440       hash = "sha256-DuVWjFrjVzyodOCeTQUkRmz8Gtmiwk0LyR1MewbyHZw=";
22441     };
22442     buildInputs = [ TestDeep TestException ];
22443     propagatedBuildInputs = [ CallContext ];
22444     meta = {
22445       description = "Read Perl's symbol table programmatically";
22446       license = with lib.licenses; [ artistic1 gpl1Plus ];
22447       maintainers = [ maintainers.sgo ];
22448     };
22449   };
22451   SymbolGlobalName = buildPerlPackage {
22452     pname = "Symbol-Global-Name";
22453     version = "0.05";
22454     src = fetchurl {
22455       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz";
22456       hash = "sha256-D3Yj6dckdgqmQEAiLaHYLxGIWGeRMpJhzGDa0dYNapI=";
22457     };
22458     meta = {
22459       description = "Finds name and type of a global variable";
22460       license = with lib.licenses; [ artistic1 gpl1Plus ];
22461     };
22462   };
22464   SymbolUtil = buildPerlModule {
22465     pname = "Symbol-Util";
22466     version = "0.0203";
22467     src = fetchurl {
22468       url = "mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz";
22469       hash = "sha256-VbZh3SL5zpub5afgo/UomsAM0lTCHj2GAyiaVlrm3DI=";
22470     };
22471     meta = {
22472       description = "Additional utils for Perl symbols manipulation";
22473       license = with lib.licenses; [ artistic1 gpl1Plus ];
22474     };
22475   };
22477   syntax = buildPerlPackage {
22478     pname = "syntax";
22479     version = "0.004";
22480     src = fetchurl {
22481       url = "mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz";
22482       hash = "sha256-/hm22oqPQ6WqLuVxRBvA4zn7FW0AgcFXoaJOmBLH02U=";
22483     };
22484     propagatedBuildInputs = [ DataOptList namespaceclean ];
22485     meta = {
22486       description = "Activate syntax extensions";
22487       homepage = "https://github.com/phaylon/syntax/wiki";
22488       license = with lib.licenses; [ artistic1 gpl1Plus ];
22489     };
22490   };
22492   SyntaxKeywordJunction = buildPerlPackage {
22493     pname = "Syntax-Keyword-Junction";
22494     version = "0.003008";
22495     src = fetchurl {
22496       url = "mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003008.tar.gz";
22497       hash = "sha256-i0l18hsZkqfmwt9dzJKyVMYZJVle3c368LFJhxeqle8=";
22498     };
22499     buildInputs = [ TestRequires ];
22500     propagatedBuildInputs = [ syntax ];
22501     meta = {
22502       description = "Perl6 style Junction operators in Perl5";
22503       homepage = "https://github.com/frioux/Syntax-Keyword-Junction";
22504       license = with lib.licenses; [ artistic1 gpl1Plus ];
22505     };
22506   };
22508   SyntaxKeywordTry = buildPerlModule {
22509     pname = "Syntax-Keyword-Try";
22510     version = "0.27";
22511     src = fetchurl {
22512       url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.27.tar.gz";
22513       hash = "sha256-JG4bAz4/8i/VQgVQ1Lbg1WtDjNy7nTXL6LG1uhV03iM=";
22514     };
22515     propagatedBuildInputs = [ XSParseKeyword ];
22516     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
22517     meta = {
22518       description = "A try/catch/finally syntax for perl";
22519       license = with lib.licenses; [ artistic1 gpl1Plus ];
22520       maintainers = [ maintainers.zakame ];
22521     };
22522   };
22524   SysMmap = buildPerlPackage {
22525     pname = "Sys-Mmap";
22526     version = "0.20";
22527     src = fetchurl {
22528       url = "mirror://cpan/authors/id/T/TO/TODDR/Sys-Mmap-0.20.tar.gz";
22529       hash = "sha256-GCDOLInxq3NXZE+NsPSfFC9UUmJQ+x4jXbEKqA8V4s8=";
22530     };
22531     meta = {
22532       description = "Use mmap to map in a file as a Perl variable";
22533       maintainers = with maintainers; [ peterhoeg ];
22534       license = with lib.licenses; [ gpl2Plus ];
22535     };
22536   };
22538   SysMemInfo = buildPerlPackage {
22539     pname = "Sys-MemInfo";
22540     version = "0.99";
22541     src = fetchurl {
22542       url = "mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-0.99.tar.gz";
22543       hash = "sha256-B4YxnTo6i65dcnk5JEvxfhQLcU9Sc01en2JyA+TPPjs=";
22544     };
22545     meta = {
22546       description = "Memory information";
22547       license = with lib.licenses; [ gpl2Plus ];
22548       maintainers = [ maintainers.pSub ];
22549     };
22550   };
22552   SysCPU = buildPerlPackage {
22553     pname = "Sys-CPU";
22554     version = "0.61";
22555     src = fetchurl {
22556       url = "mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz";
22557       hash = "sha256-JQqGt5wjEAHErnHS9mQoCSpPuyBwlxrK/UcapJc5yeQ=";
22558     };
22559     patches = [
22560       # Bug #95400 for Sys-CPU: Tests fail on ARM and AArch64 Linux
22561       # https://rt.cpan.org/Public/Bug/Display.html?id=95400
22562       (fetchpatch {
22563         url = "https://rt.cpan.org/Ticket/Attachment/1359669/721669/0001-Add-support-for-cpu_type-on-ARM-and-AArch64-Linux-pl.patch";
22564         hash = "sha256-oIJQX+Fz/CPmJNPuJyHVpJxJB2K5IQibnvaT4dv/qmY=";
22565       })
22566       (fetchpatch {
22567         url = "https://rt.cpan.org/Ticket/Attachment/1388036/737125/0002-cpu_clock-can-be-undefined-on-an-ARM.patch";
22568         hash = "sha256-nCypGyi6bZDEXqdb7wlGGzk9cFzmYkWGP1slBpXDfHw=";
22569       })
22570     ];
22571     buildInputs = lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Carbon;
22572     doCheck = !stdenv.isAarch64;
22573     meta = {
22574       description = "Perl extension for getting CPU information. Currently only number of CPU's supported.";
22575       license = with lib.licenses; [ artistic1 gpl1Plus ];
22576     };
22577   };
22579   SysHostnameLong = buildPerlPackage {
22580     pname = "Sys-Hostname-Long";
22581     version = "1.5";
22582     src = fetchurl {
22583       url = "mirror://cpan/authors/id/S/SC/SCOTT/Sys-Hostname-Long-1.5.tar.gz";
22584       hash = "sha256-6Rht83Bqh379YUnyxxHWz4fdbPcvark1uoEhsiWyZcs=";
22585     };
22586     doCheck = false; # no `hostname' in stdenv
22587     meta = {
22588       description = "Try every conceivable way to get full hostname";
22589       license = with lib.licenses; [ artistic1 gpl1Plus ];
22590     };
22591   };
22593   SysSigAction = buildPerlPackage {
22594     pname = "Sys-SigAction";
22595     version = "0.23";
22596     src = fetchurl {
22597       url = "mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz";
22598       hash = "sha256-xO9sk0VTQDH8u+Ktw0f8cZTUevyUXnpE+sfpVjCV01M=";
22599     };
22600     doCheck = !stdenv.isAarch64; # it hangs on Aarch64
22601     meta = {
22602       description = "Perl extension for Consistent Signal Handling";
22603       license = with lib.licenses; [ artistic1 gpl1Plus ];
22604     };
22605   };
22607   SysSyslog = buildPerlPackage {
22608     pname = "Sys-Syslog";
22609     version = "0.36";
22610     src = fetchurl {
22611       url = "mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz";
22612       hash = "sha256-7UKp5boErUhWzAy1040onDxdN2RUPsBO+vxK9+M3jfg=";
22613     };
22614     meta = {
22615       description = "Perl interface to the UNIX syslog(3) calls";
22616       license = with lib.licenses; [ artistic1 gpl1Plus ];
22617     };
22618   };
22620   SystemCommand = buildPerlPackage {
22621     pname = "System-Command";
22622     version = "1.121";
22623     src = fetchurl {
22624       url = "mirror://cpan/authors/id/B/BO/BOOK/System-Command-1.121.tar.gz";
22625       hash = "sha256-Q95ezSDB2kbopvT86rKeBGl6KJCpm/apGzygBKRookE=";
22626     };
22627     propagatedBuildInputs = [ IPCRun ];
22628     buildInputs = [ PodCoverageTrustPod TestCPANMeta TestPod TestPodCoverage ];
22629     meta = {
22630       description = "Object for running system commands";
22631       license = with lib.licenses; [ artistic1 gpl1Plus ];
22632     };
22633   };
22635   SysVirt = buildPerlModule rec {
22636     pname = "Sys-Virt";
22637     version = "8.8.0";
22638     src = fetchFromGitLab {
22639       owner = "libvirt";
22640       repo = "libvirt-perl";
22641       rev = "v${version}";
22642       hash = "sha256-8maLIW4hBbMbq+rnwEfaHsUgpppaU5K4aQTwTgUjdcI=";
22643     };
22644     nativeBuildInputs = [ pkgs.pkg-config ];
22645     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
22646     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
22647     meta = {
22648       description = "Libvirt Perl API";
22649       homepage = "https://libvirt.org";
22650       license = with lib.licenses; [ gpl2Plus artistic1 ];
22651       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.SysVirt.x86_64-darwin
22652     };
22653   };
22655   TAPParserSourceHandlerpgTAP = buildPerlModule {
22656     pname = "TAP-Parser-SourceHandler-pgTAP";
22657     version = "3.35";
22658     src = fetchurl {
22659       url = "mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.35.tar.gz";
22660       hash = "sha256-hO45b6fOw9EfD172hB1f6wl80Mz8ACAMPs2zQM8YpZg=";
22661     };
22662     doCheck = !stdenv.isDarwin;
22663     meta = {
22664       description = "Stream TAP from pgTAP test scripts";
22665       homepage = "https://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP";
22666       license = with lib.licenses; [ artistic1 gpl1Plus ];
22667     };
22668   };
22670   TaskCatalystTutorial = buildPerlPackage {
22671     pname = "Task-Catalyst-Tutorial";
22672     version = "0.06";
22673     src = fetchurl {
22674       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Task-Catalyst-Tutorial-0.06.tar.gz";
22675       hash = "sha256-dbGy2WFVZHhCWHFGzv0N4wlDuFGV6OPspR4PC4ZC1h4=";
22676     };
22677     propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystViewTT ];
22678     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
22679     meta = {
22680       description = "Everything you need to follow the Catalyst Tutorial";
22681       license = with lib.licenses; [ artistic1 gpl1Plus ];
22682     };
22683   };
22685   TaskFreecellSolverTesting = buildPerlModule {
22686     pname = "Task-FreecellSolver-Testing";
22687     version = "0.0.12";
22688     src = fetchurl {
22689       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-0.0.12.tar.gz";
22690       hash = "sha256-PRkQt64SVBfG4HeUeOtK8/yc+J4iGVhfiiBBFGP5k6c=";
22691     };
22692     buildInputs = [ CodeTidyAll TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace TestTrap ];
22693     propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify InlineC ListMoreUtils MooX StringShellQuote TaskTestRunAllPlugins TemplateToolkit YAMLLibYAML ];
22694     meta = {
22695       description = "Install the CPAN dependencies of the Freecell Solver test suite";
22696       homepage = "https://metacpan.org/release/Task-FreecellSolver-Testing";
22697       license = with lib.licenses; [ mit ];
22698     };
22699   };
22701   TaskPlack = buildPerlModule {
22702     pname = "Task-Plack";
22703     version = "0.28";
22704     src = fetchurl {
22705       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Task-Plack-0.28.tar.gz";
22706       hash = "sha256-edUriAZUjz+Vro1qyRW6Q524SJ/mOxOdCsFym7KfXCo=";
22707     };
22708     propagatedBuildInputs = [ CGICompile CGIEmulatePSGI CGIPSGI Corona FCGI FCGIClient FCGIProcManager HTTPServerSimplePSGI IOHandleUtil NetFastCGI PSGI PlackAppProxy PlackMiddlewareAuthDigest PlackMiddlewareConsoleLogger PlackMiddlewareDebug PlackMiddlewareDeflater PlackMiddlewareHeader PlackMiddlewareReverseProxy PlackMiddlewareSession Starlet Starman Twiggy ];
22709     buildInputs = [ ModuleBuildTiny TestSharedFork ];
22710     meta = {
22711       description = "Plack bundle";
22712       license = with lib.licenses; [ artistic1 gpl1Plus ];
22713     };
22714   };
22716   TaskTestRunAllPlugins = buildPerlModule {
22717     pname = "Task-Test-Run-AllPlugins";
22718     version = "0.0106";
22719     src = fetchurl {
22720       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-Test-Run-AllPlugins-0.0106.tar.gz";
22721       hash = "sha256-G40L8IhYBmWbwpiBDw1VCq/2gEWtwjepSaymshp9zng=";
22722     };
22723     buildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
22724     meta = {
22725       description = "Specifications for installing all the Test::Run";
22726       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
22727       license = with lib.licenses; [ mit ];
22728     };
22729   };
22731   TaskWeaken = buildPerlPackage {
22732     pname = "Task-Weaken";
22733     version = "1.06";
22734     src = fetchurl {
22735       url = "mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.06.tar.gz";
22736       hash = "sha256-I4P+252672RkaOqCSvv3yAEHZyDPug3yp6B0cm3NZr4=";
22737     };
22738     meta = {
22739       description = "Ensure that a platform has weaken support";
22740       homepage = "https://github.com/karenetheridge/Task-Weaken";
22741       license = with lib.licenses; [ artistic1 gpl1Plus ];
22742     };
22743   };
22745   Tcl = buildPerlPackage {
22746     pname = "Tcl";
22747     version = "1.27";
22748     src = fetchurl {
22749       url = "mirror://cpan/authors/id/V/VK/VKON/Tcl-1.27.tar.gz";
22750       hash = "sha256-+DhYd6Sp7Z89OQPS0PfNcPrDzmgyxg9gCmghzuP7WHI=";
22751     };
22752     propagatedBuildInputs = [
22753       pkgs.bwidget
22754       pkgs.tcl
22755       pkgs.tix
22756       pkgs.tk
22757     ] ++ lib.optionals stdenv.isDarwin [
22758       darwin.apple_sdk.frameworks.CoreServices ];
22759     makeMakerFlags = lib.optionals stdenv.isLinux
22760       [ "--tclsh=${pkgs.tcl}/bin/tclsh" "--nousestubs" ];
22761     meta = {
22762       description = "Tcl extension module for Perl";
22763       license = with lib.licenses; [ artistic1 gpl1Plus ];
22764     };
22765   };
22767   TclpTk = buildPerlPackage {
22768     pname = "Tcl-pTk";
22769     version = "1.09";
22770     src = fetchurl {
22771       url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.09.tar.gz";
22772       hash = "sha256-LR+YBlKS9+W7mBBy9/EkAOjxGVVe4MC5zToPr/pXl24=";
22773     };
22774     propagatedBuildInputs = [
22775       ClassISA
22776       SubName
22777       Tcl
22778       TestDeep
22779     ];
22780     buildPhase = ''
22781       perl Makefile.PL --tclsh "${pkgs.tk.tcl}/bin/tclsh" INSTALL_BASE=$out --no-test-for-tk
22782     '';
22783     postInstall = ''
22784       mkdir -p $out/lib/perl5/site_perl
22785       mv $out/lib/perl5/Tcl $out/lib/perl5/site_perl/
22786       mv $out/lib/perl5/auto $out/lib/perl5/site_perl/
22787     '' + lib.optionalString stdenv.isDarwin ''
22788       mv $out/lib/perl5/darwin-thread-multi-2level $out/lib/perl5/site_perl/
22789     '';
22790     meta = {
22791       description = "Interface to Tcl/Tk with Perl/Tk compatible syntax";
22792       license = with lib.licenses; [ artistic1 gpl1Plus ];
22793     };
22794   };
22796   TemplatePluginAutoformat = buildPerlPackage {
22797     pname = "Template-Plugin-Autoformat";
22798     version = "2.77";
22799     src = fetchurl {
22800       url = "mirror://cpan/authors/id/K/KA/KARMAN/Template-Plugin-Autoformat-2.77.tar.gz";
22801       hash = "sha256-vd+0kZ8Kuyor56lmUzPg1OCYAy8OOD268ExNiWx0hu0=";
22802     };
22803     propagatedBuildInputs = [ TemplateToolkit TextAutoformat ];
22804     meta = {
22805       description = "TT plugin for Text::Autoformat";
22806       homepage = "https://github.com/karpet/template-plugin-autoformat";
22807       license = with lib.licenses; [ artistic1 gpl1Plus ];
22808     };
22809   };
22811   TemplatePluginClass = buildPerlPackage {
22812     pname = "Template-Plugin-Class";
22813     version = "0.14";
22814     src = fetchurl {
22815       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz";
22816       hash = "sha256-BgT+iue/OtlnnmTZsa1MnpAUwXeqgOg11SqG942XB8M=";
22817     };
22818     propagatedBuildInputs = [ TemplateToolkit ];
22819     meta = {
22820       description = "Allow calling of class methods on arbitrary classes";
22821       license = with lib.licenses; [ artistic1 gpl1Plus ];
22822     };
22823   };
22825   TemplatePluginIOAll = buildPerlPackage {
22826     pname = "Template-Plugin-IO-All";
22827     version = "0.01";
22828     src = fetchurl {
22829       url = "mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz";
22830       hash = "sha256-H3RFQiohky4Ju++TV2bgr2t8zrCI6djgMM16hLzcXuQ=";
22831     };
22832     propagatedBuildInputs = [ IOAll TemplateToolkit ];
22833     meta = {
22834       description = "Perl Template Toolkit Plugin for IO::All";
22835       license = with lib.licenses; [ artistic1 gpl1Plus ];
22836       maintainers = with maintainers; [ eelco ];
22837     };
22838   };
22840   TemplatePluginJavaScript = buildPerlPackage {
22841     pname = "Template-Plugin-JavaScript";
22842     version = "0.02";
22843     src = fetchurl {
22844       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz";
22845       hash = "sha256-6iDYBq1lIoLQNTSY4oYN+BJcgLZJFjDCXSY72IDGGNc=";
22846     };
22847     propagatedBuildInputs = [ TemplateToolkit ];
22848     meta = {
22849       description = "Encodes text to be safe in JavaScript";
22850       license = with lib.licenses; [ artistic1 gpl1Plus ];
22851     };
22852   };
22854   TemplatePluginJSONEscape = buildPerlPackage {
22855     pname = "Template-Plugin-JSON-Escape";
22856     version = "0.02";
22857     src = fetchurl {
22858       url = "mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz";
22859       hash = "sha256-BRqLHTvGAdWPxR4kYGfTZFDP6XAnigRW6KthlA8TzYY=";
22860     };
22861     propagatedBuildInputs = [ JSON TemplateToolkit ];
22862     meta = {
22863       description = "Adds a .json vmethod and a json filter";
22864       license = with lib.licenses; [ bsd0 ];
22865     };
22866   };
22868   TemplateTimer = buildPerlPackage {
22869     pname = "Template-Timer";
22870     version = "1.00";
22871     src = fetchurl {
22872       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz";
22873       hash = "sha256-tzFMs2UgnZNVe4BU4DEa6MPLXRydIo0es+P8GTpbd7Q=";
22874     };
22875     propagatedBuildInputs = [ TemplateToolkit ];
22876     meta = {
22877       description = "Rudimentary profiling for Template Toolkit";
22878       license = with lib.licenses; [ artistic2 gpl3Only ];
22879     };
22880   };
22882   TemplateTiny = buildPerlPackage {
22883     pname = "Template-Tiny";
22884     version = "1.12";
22885     src = fetchurl {
22886       url = "mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-1.12.tar.gz";
22887       hash = "sha256-Bz4GLGMLUd+3Jc1khaMpFVy3LVxZboy2mOtnxFZvCko=";
22888     };
22889     meta = {
22890       description = "Template Toolkit reimplemented in as little code as possible";
22891       homepage = "https://github.com/karenetheridge/Template-Tiny";
22892       license = with lib.licenses; [ artistic1 gpl1Plus ];
22893     };
22894   };
22896   TemplateToolkit = buildPerlPackage {
22897     pname = "Template-Toolkit";
22898     version = "3.009";
22899     src = fetchurl {
22900       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Template-Toolkit-3.009.tar.gz";
22901       hash = "sha256-1q0ju/Y3pZtd/RrABkYN/LGFmC5IUs3ncVD70IXx9bY=";
22902     };
22903     doCheck = !stdenv.isDarwin;
22904     propagatedBuildInputs = [ AppConfig ];
22905     buildInputs = [ CGI TestLeakTrace ];
22906     meta = {
22907       description = "Comprehensive template processing system";
22908       homepage = "http://www.template-toolkit.org";
22909       license = with lib.licenses; [ artistic1 gpl1Plus ];
22910     };
22911   };
22913   TemplateGD = buildPerlPackage {
22914     pname = "Template-GD";
22915     version = "2.66";
22916     src = fetchurl {
22917       url = "mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz";
22918       hash = "sha256-mFI8gZLy6BhAQuWi4XK9dnrCid0uSA819oDc4yFgkFs=";
22919     };
22920     propagatedBuildInputs = [ GD TemplateToolkit ];
22921     meta = {
22922       description = "GD plugin(s) for the Template Toolkit";
22923       license = with lib.licenses; [ artistic1 gpl1Plus ];
22924     };
22925   };
22927   TermEncoding = buildPerlPackage {
22928     pname = "Term-Encoding";
22929     version = "0.03";
22930     src = fetchurl {
22931       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz";
22932       hash = "sha256-lbqWh9c10lo8vmRQjXiU8AnH+ioXJsPnhuniHaIlHQs=";
22933     };
22934     meta = {
22935       description = "Detect encoding of the current terminal";
22936       homepage = "https://github.com/miyagawa/Term-Encoding";
22937       license = with lib.licenses; [ artistic1 gpl1Plus ];
22938     };
22939   };
22941   TermProgressBar = buildPerlPackage {
22942     pname = "Term-ProgressBar";
22943     version = "2.22";
22944     src = fetchurl {
22945       url = "mirror://cpan/authors/id/M/MA/MANWAR/Term-ProgressBar-2.22.tar.gz";
22946       hash = "sha256-JkLsylsLA4wUgSvK06lhH/eRHcWckQTSIHl/g3qIDEk=";
22947     };
22948     buildInputs = [ CaptureTiny TestException TestWarnings ];
22949     propagatedBuildInputs = [ ClassMethodMaker TermReadKey ];
22950     meta = {
22951       description = "Provide a progress meter on a standard terminal";
22952       license = with lib.licenses; [ artistic1 gpl1Plus ];
22953     };
22954   };
22956   TermProgressBarQuiet = buildPerlPackage {
22957     pname = "Term-ProgressBar-Quiet";
22958     version = "0.31";
22959     src = fetchurl {
22960       url = "mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz";
22961       hash = "sha256-JWdSkvWIvCnTLnEM82Z9qaKhdR4TmAF3Cp/bGM0hhKY=";
22962     };
22963     propagatedBuildInputs = [ IOInteractive TermProgressBar ];
22964     buildInputs = [ TestMockObject ];
22965     meta = {
22966       description = "Provide a progress meter if run interactively";
22967       license = with lib.licenses; [ artistic1 gpl1Plus ];
22968     };
22969   };
22971   TermProgressBarSimple = buildPerlPackage {
22972     pname = "Term-ProgressBar-Simple";
22973     version = "0.03";
22974     src = fetchurl {
22975       url = "mirror://cpan/authors/id/E/EV/EVDB/Term-ProgressBar-Simple-0.03.tar.gz";
22976       hash = "sha256-og2zxn1b39DB+rOSxtHCaICn7oQ69gKvT5tTpwQ1eaY=";
22977     };
22978     propagatedBuildInputs = [ TermProgressBarQuiet ];
22979     buildInputs = [ TestMockObject ];
22980     meta = {
22981       description = "Simpler progress bars";
22982       license = with lib.licenses; [ artistic1 gpl1Plus ];
22983     };
22984   };
22986   TermReadKey = let
22987     cross = stdenv.hostPlatform != stdenv.buildPlatform;
22988   in buildPerlPackage {
22989     pname = "TermReadKey";
22990     version = "2.38";
22991     src = fetchurl {
22992       url = "mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.38.tar.gz";
22993       hash = "sha256-WmRYeNxXCsM2YVgfuwkP8k684X1D6lP9IuEFqFakcpA=";
22994     };
22996     # use native libraries from the host when running build commands
22997     postConfigure = lib.optionalString cross (let
22998       host_perl = buildPerl;
22999       host_self = buildPerl.pkgs.TermReadKey;
23000       perl_lib = "${host_perl}/lib/perl5/${host_perl.version}";
23001       self_lib = "${host_self}/lib/perl5/site_perl/${host_perl.version}";
23002     in ''
23003       sed -ie 's|"-I$(INST_ARCHLIB)"|"-I${perl_lib}" "-I${self_lib}"|g' Makefile
23004     '');
23006     # TermReadKey uses itself in the build process
23007     nativeBuildInputs = lib.optionals cross [
23008       buildPerl.pkgs.TermReadKey
23009     ];
23010     meta = {
23011       description = "A perl module for simple terminal control";
23012       license = with lib.licenses; [ artistic1 gpl1Plus ];
23013     };
23014   };
23016   TermReadLineGnu = buildPerlPackage {
23017     pname = "Term-ReadLine-Gnu";
23018     version = "1.36";
23019     src = fetchurl {
23020       url = "mirror://cpan/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.36.tar.gz";
23021       hash = "sha256-mgj3pAE8m4ZVQcENu6EhB3nrkSi5YSULdG0mcCuraSU=";
23022     };
23023     buildInputs = [ pkgs.readline pkgs.ncurses ];
23024     NIX_CFLAGS_LINK = "-lreadline -lncursesw";
23026     # For some crazy reason Makefile.PL doesn't generate a Makefile if
23027     # AUTOMATED_TESTING is set.
23028     AUTOMATED_TESTING = false;
23030     # Makefile.PL looks for ncurses in Glibc's prefix.
23031     preConfigure =
23032       ''
23033         substituteInPlace Makefile.PL --replace '$Config{libpth}' \
23034           "'${pkgs.ncurses.out}/lib'"
23035       '';
23037     # Tests don't work because they require /dev/tty.
23038     doCheck = false;
23040     meta = {
23041       description = "Perl extension for the GNU Readline/History Library";
23042       homepage = "https://github.com/hirooih/perl-trg";
23043       license = with lib.licenses; [ artistic1 gpl1Plus ];
23044       mainProgram = "perlsh";
23045     };
23046   };
23048   TermReadLineTTYtter = buildPerlPackage {
23049     pname = "Term-ReadLine-TTYtter";
23050     version = "1.4";
23051     src = fetchurl {
23052       url = "mirror://cpan/authors/id/C/CK/CKAISER/Term-ReadLine-TTYtter-1.4.tar.gz";
23053       hash = "sha256-rDcxM87hshIqgnP+e0JEYT0O7O/oi2aL2Y/nHR7ErJM=";
23054     };
23056     outputs = [ "out" ];
23058     meta = {
23059       description = "A Term::ReadLine driver based on Term::ReadLine::Perl, with special features for microblogging and the TTYtter client (q.v)";
23060       homepage = "https://www.floodgap.com/software/ttytter";
23061       license = with lib.licenses; [ artistic1 gpl1Plus ];
23062     };
23063   };
23065   TermReadPassword = buildPerlPackage rec {
23066     pname = "Term-ReadPassword";
23067     version = "0.11";
23068     src = fetchurl {
23069       url = "mirror://cpan/authors/id/P/PH/PHOENIX/${pname}-${version}.tar.gz";
23070       hash = "sha256-4ahmNFs1+f/vfQA34T1tTLKAMQCJ+YwgcTiAvHD7QyM=";
23071     };
23073     outputs = [ "out" ];
23075     meta = {
23076       description = "This module lets you ask the user for a password in the traditional way, from the keyboard, without echoing";
23077       license = with lib.licenses; [ artistic1 gpl1Plus ];
23078     };
23079   };
23081   TermShell = buildPerlModule {
23082     pname = "Term-Shell";
23083     version = "0.12";
23084     src = fetchurl {
23085       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Term-Shell-0.12.tar.gz";
23086       hash = "sha256-fWz1ecALZUDC2x2Sl8rXTuCzgP4B/9OPjm1uTM47Pdc=";
23087     };
23088     propagatedBuildInputs = [ TermReadKey TextAutoformat ];
23089     meta = {
23090       homepage = "https://metacpan.org/release/Term-Shell";
23091       description = "A simple command-line shell framework";
23092       license = with lib.licenses; [ artistic1 gpl1Plus ];
23093     };
23094   };
23096   TermShellUI = buildPerlPackage {
23097     pname = "Term-ShellUI";
23098     version = "0.92";
23099     src = fetchurl {
23100       url = "mirror://cpan/authors/id/B/BR/BRONSON/Term-ShellUI-0.92.tar.gz";
23101       hash = "sha256-MnnAHHYiczXu/wkDKkD0sCsoUVGzV2wEys0VvgWUK9s=";
23102     };
23103     meta = {
23104       description = "A fully-featured shell-like command line environment";
23105       license = with lib.licenses; [ mit ];
23106     };
23107   };
23109   TermSizeAny = buildPerlPackage {
23110     pname = "Term-Size-Any";
23111     version = "0.002";
23112     src = fetchurl {
23113       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz";
23114       hash = "sha256-ZPpf2xrjqCMTSqqVrsdTVLwXvdnKEroKeuNKflGz3tI=";
23115     };
23116     propagatedBuildInputs = [ DevelHide TermSizePerl ];
23117     meta = {
23118       description = "Retrieve terminal size";
23119       license = with lib.licenses; [ artistic1 gpl1Plus ];
23120     };
23121   };
23123   TermSizePerl = buildPerlPackage {
23124     pname = "Term-Size-Perl";
23125     version = "0.031";
23126     src = fetchurl {
23127       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz";
23128       hash = "sha256-rppnRssbMF3cj42MpGh4VSucESNiiXHhOidRg4IvIJ4=";
23129     };
23130     meta = {
23131       description = "Perl extension for retrieving terminal size (Perl version)";
23132       license = with lib.licenses; [ artistic1 gpl1Plus ];
23133     };
23134   };
23136   TermTable = buildPerlPackage {
23137     pname = "Term-Table";
23138     version = "0.015";
23139     src = fetchurl {
23140       url = "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz";
23141       hash = "sha256-2KGLKAH5Hw5ddHFHznhpZKdvkdGFaGUpCKPcBqm5SNU=";
23142     };
23143     propagatedBuildInputs = [ Importer ];
23144     meta = {
23145       description = "Format a header and rows into a table";
23146       license = with lib.licenses; [ artistic1 gpl1Plus ];
23147     };
23148   };
23150   TermSk = buildPerlPackage {
23151     pname = "Term-Sk";
23152     version = "0.18";
23153     src = fetchurl {
23154       url = "mirror://cpan/authors/id/K/KE/KEICHNER/Term-Sk-0.18.tar.gz";
23155       hash = "sha256-8uSReWBhIFsIaIgCsod5LX2AOwiXIzn7EHC6BWEq+IU=";
23156     };
23157     meta = {
23158       description = "Perl extension for displaying a progress indicator on a terminal";
23159       license = with lib.licenses; [ artistic1 gpl1Plus ];
23160     };
23161   };
23163   TermUI = buildPerlPackage {
23164     pname = "Term-UI";
23165     version = "0.46";
23166     src = fetchurl {
23167       url = "mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.46.tar.gz";
23168       hash = "sha256-kZRsgNf0qrDKS/7cO74KdbN8qxopvXvKOzt0VtQX6aY=";
23169     };
23170     propagatedBuildInputs = [ LogMessageSimple ];
23171     meta = {
23172       description = "User interfaces via Term::ReadLine made easy";
23173       license = with lib.licenses; [ artistic1 gpl1Plus ];
23174     };
23175   };
23177   TermVT102 = buildPerlPackage {
23178     pname = "Term-VT102";
23179     version = "0.91";
23180     src = fetchurl {
23181       url = "mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz";
23182       hash = "sha256-+VTgMQlB1FwPw+tKQPXToA1oEZ4nfTA6HmrxHe1vvZQ=";
23183     };
23184     meta = {
23185       description = "A class to emulate a DEC VT102 terminal";
23186       license = with lib.licenses; [ artistic2 ];
23187     };
23188   };
23190   TermVT102Boundless = buildPerlPackage {
23191     pname = "Term-VT102-Boundless";
23192     version = "0.05";
23193     src = fetchurl {
23194       url = "mirror://cpan/authors/id/F/FB/FBARRIOS/Term-VT102-Boundless-0.05.tar.gz";
23195       hash = "sha256-4d7YWuPXa1nAO4aX9KbLAa4xvWKpNU9bt9GPnpJ7SF8=";
23196     };
23197     propagatedBuildInputs = [ TermVT102 ];
23198     meta = {
23199       description = "A Term::VT102 that grows automatically to accomodate whatever you print to it";
23200       license = with lib.licenses; [ artistic1 gpl1Plus ];
23201     };
23202   };
23204   TermAnimation = buildPerlPackage {
23205     pname = "Term-Animation";
23206     version = "2.6";
23207     src = fetchurl {
23208       url = "mirror://cpan/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz";
23209       hash = "sha256-fVw8LU+bZXqLHc5/Xiy74CraLpfHLzoDBL88mdCEsEU=";
23210     };
23211     propagatedBuildInputs = [ Curses ];
23212     meta = {
23213       description = "ASCII sprite animation framework";
23214       license = with lib.licenses; [ artistic1 gpl1Plus ];
23215     };
23216   };
23218   Test2Harness = buildPerlPackage {
23219     pname = "Test2-Harness";
23220     version = "1.000042";
23221     src = fetchurl {
23222       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Harness-1.000042.tar.gz";
23223       hash = "sha256-qvIxporxpv/WoRGIh1/PVy43PkPIKFlFInudaHtD2y0=";
23224     };
23226     checkPhase = ''
23227       patchShebangs ./t ./scripts/yath
23228       ./scripts/yath test -j $NIX_BUILD_CORES
23229     '';
23231     propagatedBuildInputs = [ DataUUID Importer LongJump ScopeGuard TermTable Test2PluginMemUsage Test2PluginUUID Test2Suite gotofile ];
23232     meta = {
23233       description = "A new and improved test harness with better Test2 integration";
23234       license = with lib.licenses; [ artistic1 gpl1Plus ];
23235       mainProgram = "yath";
23236       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Test2Harness.x86_64-darwin
23237     };
23238   };
23240   Test2PluginMemUsage = buildPerlPackage {
23241     pname = "Test2-Plugin-MemUsage";
23242     version = "0.002003";
23243     src = fetchurl {
23244       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-MemUsage-0.002003.tar.gz";
23245       hash = "sha256-XgZi1agjrggWQfXOgoQxEe7BgxzTH4g6bG3lSv34fCU=";
23246     };
23247     buildInputs = [ Test2Suite ];
23248     meta = {
23249       description = "Collect and display memory usage information";
23250       license = with lib.licenses; [ artistic1 gpl1Plus ];
23251     };
23252   };
23254   Test2PluginUUID = buildPerlPackage {
23255     pname = "Test2-Plugin-UUID";
23256     version = "0.002001";
23257     src = fetchurl {
23258       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-UUID-0.002001.tar.gz";
23259       hash = "sha256-TGyNSE1xU9h3ncFVqZKyAwlbXFqhz7Hui87c0GAYeMk=";
23260     };
23261     buildInputs = [ Test2Suite ];
23262     propagatedBuildInputs = [ DataUUID ];
23263     meta = {
23264       description = "Use REAL UUIDs in Test2";
23265       license = with lib.licenses; [ artistic1 gpl1Plus ];
23266     };
23267   };
23269   Test2PluginNoWarnings = buildPerlPackage {
23270     pname = "Test2-Plugin-NoWarnings";
23271     version = "0.09";
23272     src = fetchurl {
23273       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz";
23274       hash = "sha256-vj3YAAQu7zYr8X0gVs+ek03ukczOmOTxeLj7V3Ly+3Q=";
23275     };
23276     buildInputs = [ IPCRun3 Test2Suite ];
23277     propagatedBuildInputs = [ TestSimple13 ];
23278     meta = {
23279       description = "Fail if tests warn";
23280       homepage = "https://metacpan.org/release/Test2-Plugin-NoWarnings";
23281       license = with lib.licenses; [ artistic2 ];
23282     };
23283   };
23285   Test2Suite = buildPerlPackage {
23286     pname = "Test2-Suite";
23287     version = "0.000138";
23288     src = fetchurl {
23289       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000138.tar.gz";
23290       hash = "sha256-DPct8s7RFkhTW/2I6lSjxwBnhqfFlSkOOPMU41E7CHU=";
23291     };
23292     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
23293     meta = {
23294       description = "Distribution with a rich set of tools built upon the Test2 framework";
23295       license = with lib.licenses; [ artistic1 gpl1Plus ];
23296     };
23297   };
23299   TestAbortable = buildPerlPackage {
23300     pname = "Test-Abortable";
23301     version = "0.002";
23302     src = fetchurl {
23303       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.002.tar.gz";
23304       hash = "sha256-l5C3+bl2mOosUwQ2xgkMJRGcb1vS9w14r8SZIsPwJ20=";
23305     };
23306     propagatedBuildInputs = [ SubExporter ];
23307     buildInputs = [ TestNeeds ];
23308     meta = {
23309       description = "Subtests that you can die your way out of ... but survive";
23310       homepage = "https://github.com/rjbs/Test-Abortable";
23311       license = with lib.licenses; [ artistic1 gpl1Plus ];
23312     };
23313   };
23315   TestAssert = buildPerlModule {
23316     pname = "Test-Assert";
23317     version = "0.0504";
23318     src = fetchurl {
23319       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz";
23320       hash = "sha256-z6NtqWxQQzH/ICZ0e6R9R37+g1z2zyNO4QywX6n7i6Q=";
23321     };
23322     buildInputs = [ ClassInspector TestUnitLite ];
23323     propagatedBuildInputs = [ ExceptionBase constantboolean ];
23324     meta = {
23325       description = "Assertion methods for those who like JUnit";
23326       license = with lib.licenses; [ artistic1 gpl1Plus ];
23327     };
23328   };
23330   TestAssertions = buildPerlPackage {
23331     pname = "Test-Assertions";
23332     version = "1.054";
23333     src = fetchurl {
23334       url = "mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz";
23335       hash = "sha256-/NzkHVcnOIFYGt9oCiCmrfUaTDt+McP2mGb7kQk3AoA=";
23336     };
23337     propagatedBuildInputs = [ LogTrace ];
23338     meta = {
23339       description = "A simple set of building blocks for both unit and runtime testing";
23340       license = with lib.licenses; [ gpl2Only ];
23341     };
23342   };
23344   TestAggregate = buildPerlModule {
23345     pname = "Test-Aggregate";
23346     version = "0.375";
23347     src = fetchurl {
23348       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz";
23349       hash = "sha256-xswKv9DU/OhTcazKk+wkU4GEHTK0yqLWR15LyBMEJ9E=";
23350     };
23351     buildInputs = [ TestMost TestNoWarnings TestTrap ];
23352     meta = {
23353       description = "Aggregate *.t tests to make them run faster";
23354       license = with lib.licenses; [ artistic1 gpl1Plus ];
23355       broken = true; # This module only works with Test::More version < 1.3, but you have 1.302133
23356     };
23357   };
23360   TestBase = buildPerlPackage {
23361     pname = "Test-Base";
23362     version = "0.89";
23363     src = fetchurl {
23364       url = "mirror://cpan/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz";
23365       hash = "sha256-J5Shqq6x06KH3SxyhiWGY3llYvfbnMxrQkvE8d6K0BQ=";
23366     };
23367     propagatedBuildInputs = [ Spiffy ];
23368     buildInputs = [ AlgorithmDiff TextDiff ];
23369     meta = {
23370       description = "A Data Driven Testing Framework";
23371       license = with lib.licenses; [ artistic1 gpl1Plus ];
23372     };
23373   };
23375   TestBits = buildPerlPackage {
23376     pname = "Test-Bits";
23377     version = "0.02";
23378     src = fetchurl {
23379       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Bits-0.02.tar.gz";
23380       hash = "sha256-qYJvVkg6J+LGMVZZDzKKNjPjA3XBDfyJ9mkOOSneC8M=";
23381     };
23382     propagatedBuildInputs = [ ListAllUtils ];
23383     buildInputs = [ TestFatal ];
23384     meta = {
23385       description = "Provides a bits_is() subroutine for testing binary data";
23386       homepage = "https://metacpan.org/release/Test-Bits";
23387       license = with lib.licenses; [ artistic2 ];
23388     };
23389   };
23391   TestCheckDeps = buildPerlPackage {
23392     pname = "Test-CheckDeps";
23393     version = "0.010";
23394     src = fetchurl {
23395       url = "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.010.tar.gz";
23396       hash = "sha256-ZvzMpsbzMOfsyJi9alGEbiFFs+AteMSZe6a33iO1Ue4=";
23397     };
23398     propagatedBuildInputs = [ CPANMetaCheck ];
23399     meta = {
23400       description = "Check for presence of dependencies";
23401       license = with lib.licenses; [ artistic1 gpl1Plus ];
23402     };
23403   };
23405   TestClass = buildPerlPackage {
23406     pname = "Test-Class";
23407     version = "0.50";
23408     src = fetchurl {
23409       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Class-0.50.tar.gz";
23410       hash = "sha256-CZFU7YyvP/l8cSN/q5UiZKwcA9knBzelYHHKvmWZE1A=";
23411     };
23412     buildInputs = [ TestException ];
23413     propagatedBuildInputs = [ MROCompat ModuleRuntime TryTiny ];
23414     meta = {
23415       description = "Easily create test classes in an xUnit/JUnit style";
23416       license = with lib.licenses; [ artistic1 gpl1Plus ];
23417     };
23418   };
23420   TestClassMost = buildPerlModule {
23421     pname = "Test-Class-Most";
23422     version = "0.08";
23423     src = fetchurl {
23424       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz";
23425       hash = "sha256-Y0ze2Gu6Xd4Hztcv+4pGcF/5OqhEuY6WveBVQCNMff8=";
23426     };
23427     buildInputs = [ TestClass TestDeep TestDifferences TestException TestMost TestWarn ];
23428     meta = {
23429       description = "Test Classes the easy way";
23430       license = with lib.licenses; [ artistic1 gpl1Plus ];
23431     };
23432   };
23434   TestCleanNamespaces = buildPerlPackage {
23435     pname = "Test-CleanNamespaces";
23436     version = "0.24";
23437     src = fetchurl {
23438       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.24.tar.gz";
23439       hash = "sha256-M41VaejommVJNfhD7AvISqpIb+jdGJj7nKs+zOzVMno=";
23440     };
23441     buildInputs = [ Filepushd Moo Mouse RoleTiny SubExporter TestDeep TestNeeds TestWarnings namespaceclean ];
23442     propagatedBuildInputs = [ PackageStash SubIdentify ];
23443     meta = {
23444       description = "Check for uncleaned imports";
23445       homepage = "https://github.com/karenetheridge/Test-CleanNamespaces";
23446       license = with lib.licenses; [ artistic1 gpl1Plus ];
23447     };
23448   };
23450   TestCmd = buildPerlPackage {
23451     pname = "Test-Cmd";
23452     version = "1.09";
23453     src = fetchurl {
23454       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Cmd-1.09.tar.gz";
23455       hash = "sha256-zzMg7N3nkeC4lFogwfbyZdkPHj2rGPHiPLZ3x51yloQ=";
23456     };
23457       doCheck = false; /* test fails */
23458     meta = {
23459       description = "Perl module for portable testing of commands and scripts";
23460       homepage = "https://github.com/neilb/Test-Cmd";
23461       license = with lib.licenses; [ artistic1 gpl1Plus ];
23462     };
23463   };
23465   TestCommand = buildPerlModule {
23466     pname = "Test-Command";
23467     version = "0.11";
23468     src = fetchurl {
23469       url = "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz";
23470       hash = "sha256-KKP8b+pzoZ9WPxG9DygYZ1bUx0IHvm3qyq0m0ggblTM=";
23471     };
23472     meta = {
23473       description = "Test routines for external commands";
23474       homepage = "https://metacpan.org/release/Test-Command";
23475       license = with lib.licenses; [ artistic1 gpl1Plus ];
23476     };
23477   };
23479   TestCompile = buildPerlModule {
23480     pname = "Test-Compile";
23481     version = "2.4.1";
23482     src = fetchurl {
23483       url = "mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.4.1.tar.gz";
23484       hash = "sha256-VqejRZ213g+SQZApzxtNUcRN0C1GkM/zxO7fZm9tjUY=";
23485     };
23486     propagatedBuildInputs = [ UNIVERSALrequire ];
23487     meta = {
23488       description = "Assert that your Perl files compile OK";
23489       license = with lib.licenses; [ artistic1 gpl1Plus ];
23490     };
23491   };
23493   TestCPANMeta = buildPerlPackage {
23494     pname = "Test-CPAN-Meta";
23495     version = "0.25";
23496     src = fetchurl {
23497       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz";
23498       hash = "sha256-9VtPnPa8OW0P6AJyZ2hcsqxK/86JfQlnoxf6xttajbU=";
23499     };
23500     meta = {
23501       description = "Validate your CPAN META.json files";
23502       license = with lib.licenses; [ artistic2 ];
23503     };
23504   };
23506   TestCPANMetaJSON = buildPerlPackage {
23507     pname = "Test-CPAN-Meta-JSON";
23508     version = "0.16";
23509     src = fetchurl {
23510       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz";
23511       hash = "sha256-Z6xQmt/7HSslao+MBSPgB2HZYBZhksYHApj3CIqa6ck=";
23512     };
23513     propagatedBuildInputs = [ JSON ];
23514     meta = {
23515       description = "Validate your CPAN META.json files";
23516       license = with lib.licenses; [ artistic2 ];
23517     };
23518   };
23520   TestDataSplit = buildPerlModule {
23521     pname = "Test-Data-Split";
23522     version = "0.2.2";
23523     src = fetchurl {
23524       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Data-Split-0.2.2.tar.gz";
23525       hash = "sha256-5Qg4kK2tMNfeUHA1adX1zvF0oZhZNSLqe0bOOHuCgCI=";
23526     };
23527     buildInputs = [ TestDifferences ];
23528     propagatedBuildInputs = [ IOAll ListMoreUtils MooX MooXlate ];
23529     meta = {
23530       description = "Split data-driven tests into several test scripts";
23531       homepage = "https://metacpan.org/release/Test-Data-Split";
23532       license = with lib.licenses; [ mit ];
23533     };
23534   };
23536   TestDeep = buildPerlPackage {
23537     pname = "Test-Deep";
23538     version = "1.130";
23539     src = fetchurl {
23540       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.130.tar.gz";
23541       hash = "sha256-QGT0lPX2JYfQrlAcpDkQWCHuWEbGh9xlAyM/VTAKfFY=";
23542     };
23543     meta = {
23544       description = "Extremely flexible deep comparison";
23545       homepage = "https://github.com/rjbs/Test-Deep";
23546       license = with lib.licenses; [ artistic1 gpl1Plus ];
23547     };
23548   };
23550   TestDeepJSON = buildPerlModule {
23551     pname = "Test-Deep-JSON";
23552     version = "0.05";
23553     src = fetchurl {
23554       url = "mirror://cpan/authors/id/M/MO/MOTEMEN/Test-Deep-JSON-0.05.tar.gz";
23555       hash = "sha256-rshXG54xtzAeJhMsEyxoAJUtwInGRddpVKOtGms1CFg=";
23556     };
23557     buildInputs = [ ModuleBuildTiny ];
23558     propagatedBuildInputs = [ ExporterLite JSONMaybeXS TestDeep ];
23559     meta = {
23560       description = "Compare JSON with Test::Deep";
23561       homepage = "https://github.com/motemen/perl5-Test-Deep-JSON";
23562       license = with lib.licenses; [ artistic1 gpl1Plus ];
23563     };
23564   };
23566   TestDeepType = buildPerlPackage {
23567     pname = "Test-Deep-Type";
23568     version = "0.008";
23569     src = fetchurl {
23570       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Deep-Type-0.008.tar.gz";
23571       hash = "sha256-bnvqGi8edTGaItHFGZbrrFDKXjZj0bwiMTCIfmLpWfE=";
23572     };
23573     buildInputs = [ TestFatal TestNeeds ];
23574     propagatedBuildInputs = [ TestDeep TryTiny ];
23575     meta = {
23576       description = "A Test::Deep plugin for validating type constraints";
23577       homepage = "https://github.com/karenetheridge/Test-Deep-Type";
23578       license = with lib.licenses; [ artistic1 gpl1Plus ];
23579     };
23580   };
23582   TestDir = buildPerlPackage {
23583     pname = "Test-Dir";
23584     version = "1.16";
23585     src = fetchurl {
23586       url = "mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz";
23587       hash = "sha256-czKzI5E+tqJoTQlHVRljBLL4YG9w6quRNlTKkfJz6sI=";
23588     };
23589     meta = {
23590       description = "Test directory attributes";
23591       license = with lib.licenses; [ artistic1 gpl1Plus ];
23592     };
23593   };
23595   TestDifferences = buildPerlPackage {
23596     pname = "Test-Differences";
23597     version = "0.67";
23598     src = fetchurl {
23599       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.67.tar.gz";
23600       hash = "sha256-yI27tIuTSwaShIdPM6u6qkOKoxIEqj+nO/wvSurIeNo=";
23601     };
23602     propagatedBuildInputs = [ CaptureTiny TextDiff ];
23603     meta = {
23604       description = "Test strings and data structures and show differences if not ok";
23605       license = with lib.licenses; [ artistic1 gpl1Plus ];
23606     };
23607   };
23609   TestDistManifest = buildPerlModule {
23610     pname = "Test-DistManifest";
23611     version = "1.014";
23612     src = fetchurl {
23613       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz";
23614       hash = "sha256-PSbCDfQmKJgcv8+lscoCjGzq2zRMHc+XolrWqItz18U=";
23615     };
23616     buildInputs = [ ModuleBuildTiny ];
23617     propagatedBuildInputs = [ ModuleManifest ];
23618     meta = {
23619       description = "Author test that validates a package MANIFEST";
23620       homepage = "https://github.com/jawnsy/Test-DistManifest";
23621       license = with lib.licenses; [ artistic1 gpl1Plus ];
23622     };
23623   };
23625   TestEOL = buildPerlPackage {
23626     pname = "Test-EOL";
23627     version = "2.02";
23628     src = fetchurl {
23629       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.02.tar.gz";
23630       hash = "sha256-KDGZ1/sngH/iImr3sSVxxtwlCNjlwP61BdCJ0xcgr8Q=";
23631     };
23632     meta = {
23633       description = "Check the correct line endings in your project";
23634       homepage = "https://github.com/karenetheridge/Test-EOL";
23635       license = with lib.licenses; [ artistic1 gpl1Plus ];
23636     };
23637   };
23639   TestException = buildPerlPackage {
23640     pname = "Test-Exception";
23641     version = "0.43";
23642     src = fetchurl {
23643       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz";
23644       hash = "sha256-FWsT8Hdk92bYtFpDco8kOa+Bo1EmJUON6reDt4g+tTM=";
23645     };
23646     propagatedBuildInputs = [ SubUplevel ];
23647     meta = {
23648       description = "Test exception-based code";
23649       license = with lib.licenses; [ artistic1 gpl1Plus ];
23650     };
23651   };
23653   TestExpect = buildPerlPackage {
23654     pname = "Test-Expect";
23655     version = "0.34";
23656     src = fetchurl {
23657       url = "mirror://cpan/authors/id/B/BP/BPS/Test-Expect-0.34.tar.gz";
23658       hash = "sha256-Jij87N2l9km9JTI/ZGuWoaB+RVfK3LMnybrU3EG7uZk=";
23659     };
23660     propagatedBuildInputs = [ ClassAccessorChained ExpectSimple ];
23661     meta = {
23662       description = "Automated driving and testing of terminal-based programs";
23663       license = with lib.licenses; [ artistic1 gpl1Plus ];
23664     };
23665   };
23667   TestFailWarnings = buildPerlPackage {
23668     pname = "Test-FailWarnings";
23669     version = "0.008";
23670     src = fetchurl {
23671       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz";
23672       hash = "sha256-2jTvkCn2hJ1gJiAdSRJ9BU7mrEuXnIIhAxX1chlkqW8=";
23673     };
23674     buildInputs = [ CaptureTiny ];
23675     meta = {
23676       description = "Add test failures if warnings are caught";
23677       homepage = "https://github.com/dagolden/Test-FailWarnings";
23678       license = with lib.licenses; [ asl20 ];
23679     };
23680   };
23682   TestFakeHTTPD = buildPerlModule {
23683     pname = "Test-Fake-HTTPD";
23684     version = "0.09";
23685     src = fetchurl {
23686       url = "mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.09.tar.gz";
23687       hash = "sha256-FPecsGepCSLpvlVPjks509aXeK5Mj/9E9WD2N/tvLR4=";
23688     };
23689     propagatedBuildInputs = [ HTTPDaemon Plack ];
23690     buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
23691     meta = {
23692       description = "A fake HTTP server";
23693       homepage = "https://github.com/masaki/Test-Fake-HTTPD";
23694       license = with lib.licenses; [ artistic1 gpl1Plus ];
23695     };
23696   };
23698   TestFatal = buildPerlPackage {
23699     pname = "Test-Fatal";
23700     version = "0.016";
23701     src = fetchurl {
23702       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.016.tar.gz";
23703       hash = "sha256-coPUMPK6IDC4zZea4wOdPxsuw93hoRymrgn5kqZveI8=";
23704     };
23705     propagatedBuildInputs = [ TryTiny ];
23706     meta = {
23707       description = "Incredibly simple helpers for testing code with exceptions";
23708       homepage = "https://github.com/rjbs/Test-Fatal";
23709       license = with lib.licenses; [ artistic1 gpl1Plus ];
23710     };
23711   };
23713   TestFile = buildPerlPackage {
23714     pname = "Test-File";
23715     version = "1.443";
23716     src = fetchurl {
23717       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.443.tar.gz";
23718       hash = "sha256-YbSmq49hfIx7WXUWTPYZRo3DBLa6quo1J4KShvpYvNU=";
23719     };
23720     buildInputs = [ Testutf8 ];
23721     meta = {
23722       description = "Test file attributes";
23723       homepage = "https://github.com/briandfoy/test-file";
23724       license = with lib.licenses; [ artistic2 ];
23725     };
23726   };
23728   TestFileContents = buildPerlModule {
23729     pname = "Test-File-Contents";
23730     version = "0.23";
23731     src = fetchurl {
23732       url = "mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.23.tar.gz";
23733       hash = "sha256-zW+t+5ELNLS1OZH/Ix2tmZKcqIUKvsOtDigQxL17Hz0=";
23734     };
23735     propagatedBuildInputs = [ TextDiff ];
23736     meta = {
23737       description = "Test routines for examining the contents of files";
23738       license = with lib.licenses; [ artistic1 gpl1Plus ];
23739     };
23740   };
23742   TestFileShareDir = buildPerlPackage {
23743     pname = "Test-File-ShareDir";
23744     version = "1.001002";
23745     src = fetchurl {
23746       url = "mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz";
23747       hash = "sha256-szZHy7Sy8vz73k+LtDg9CslcL4nExXcOtpHxZDozeq0=";
23748     };
23749     buildInputs = [ TestFatal ];
23750     propagatedBuildInputs = [ ClassTiny FileCopyRecursive FileShareDir PathTiny ScopeGuard ];
23751     meta = {
23752       description = "Create a Fake ShareDir for your modules for testing";
23753       homepage = "https://github.com/kentnl/Test-File-ShareDir";
23754       license = with lib.licenses; [ artistic1 gpl1Plus ];
23755     };
23756   };
23758   TestFilename = buildPerlPackage {
23759     pname = "Test-Filename";
23760     version = "0.03";
23761     src = fetchurl {
23762       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-0.03.tar.gz";
23763       hash = "sha256-akUMxMYoHtESnzKhwHQfIoln/touMqKRX/Yhw2Ul/L4=";
23764     };
23765     propagatedBuildInputs = [ PathTiny ];
23766     meta = {
23767       description = "Portable filename comparison";
23768       homepage = "https://metacpan.org/release/Test-Filename";
23769       license = with lib.licenses; [ asl20 ];
23770     };
23771   };
23773   TestFork = buildPerlModule {
23774     pname = "Test-Fork";
23775     version = "0.02";
23776     src = fetchurl {
23777       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz";
23778       hash = "sha256-/P77+yT4havoJ8KtB6w9Th/s8hOhRxf8rzw3F1BF0D4=";
23779     };
23780     meta = {
23781       description = "Test code which forks";
23782       license = with lib.licenses; [ artistic1 gpl1Plus ];
23783     };
23784   };
23786   TestHarnessStraps = buildPerlModule {
23787     pname = "Test-Harness-Straps";
23788     version = "0.30";
23789     src = fetchurl {
23790       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Harness-Straps-0.30.tar.gz";
23791       hash = "sha256-iwDvqjVyPBo1yMj1+kapnkvFKN+lIDUrVKxBjvbRz6g=";
23792     };
23793     meta = {
23794       description = "Detailed analysis of test results";
23795       license = with lib.licenses; [ artistic1 gpl1Plus ];
23796     };
23797   };
23799   TestHexDifferences = buildPerlPackage {
23800     pname = "Test-HexDifferences";
23801     version = "1.001";
23802     src = fetchurl {
23803       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz";
23804       hash = "sha256-pjlF7N1CCvwxEJT5OiIM+zXfIyQt5hnlO6Z0d6E2kKI=";
23805     };
23806     propagatedBuildInputs = [ SubExporter TextDiff ];
23807     buildInputs = [ TestDifferences TestNoWarnings ];
23808     meta = {
23809       description = "Test binary as hexadecimal string";
23810       license = with lib.licenses; [ artistic1 gpl1Plus ];
23811     };
23812   };
23814   TestHexString = buildPerlModule {
23815     pname = "Test-HexString";
23816     version = "0.03";
23817     src = fetchurl {
23818       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz";
23819       hash = "sha256-fUxM3BkvJZTceP916yz00FYfeUs27g6s7oxKGqigP0A=";
23820     };
23821     meta = {
23822       description = "Test binary strings with hex dump diagnostics";
23823       license = with lib.licenses; [ artistic1 gpl1Plus ];
23824     };
23825   };
23827   TestIdentity = buildPerlModule {
23828     pname = "Test-Identity";
23829     version = "0.01";
23830     src = fetchurl {
23831       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Identity-0.01.tar.gz";
23832       hash = "sha256-LwIFAJrtFSZoGCqvoWNXqx9HtMvAAeiYcbZzh++OXyM=";
23833     };
23834     meta = {
23835       description = "Assert the referential identity of a reference";
23836       license = with lib.licenses; [ artistic1 gpl1Plus ];
23837     };
23838   };
23840   TestHTTPServerSimple = buildPerlPackage {
23841     pname = "Test-HTTP-Server-Simple";
23842     version = "0.11";
23843     src = fetchurl {
23844       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz";
23845       hash = "sha256-hcl+vU3rgFKRsXJ3Ay2kiAcijyT4mxzi+zwJ96iWu3g=";
23846     };
23847     propagatedBuildInputs = [ HTTPServerSimple ];
23848     meta = {
23849       description = "Test::More functions for HTTP::Server::Simple";
23850       license = with lib.licenses; [ artistic1 gpl1Plus ];
23851     };
23852   };
23854   TestJSON = buildPerlModule {
23855     pname = "Test-JSON";
23856     version = "0.11";
23857     src = fetchurl {
23858       url = "mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz";
23859       hash = "sha256-B8CKsvzBKFDRrVT89q/prRoloJgxDD5xQq8dPLgh17M=";
23860     };
23861     propagatedBuildInputs = [ JSONAny ];
23862     buildInputs = [ TestDifferences ];
23863     meta = {
23864       description = "Test JSON data";
23865       license = with lib.licenses; [ artistic1 gpl1Plus ];
23866     };
23867   };
23869   TestKwalitee = buildPerlPackage {
23870     pname = "Test-Kwalitee";
23871     version = "1.28";
23872     src = fetchurl {
23873       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.28.tar.gz";
23874       hash = "sha256-tFNs3XVbWXciMtQyXae9T7f1vlC0WF27r3WO7DBiQ6M=";
23875     };
23876     propagatedBuildInputs = [ ModuleCPANTSAnalyse ];
23877     buildInputs = [ CPANMetaCheck TestDeep TestWarnings ];
23878     meta = {
23879       description = "Test the Kwalitee of a distribution before you release it";
23880       homepage = "https://github.com/karenetheridge/Test-Kwalitee";
23881       license = with lib.licenses; [ artistic1 gpl1Plus ];
23882       mainProgram = "kwalitee-metrics";
23883     };
23884   };
23886   TestLWPUserAgent = buildPerlPackage {
23887     pname = "Test-LWP-UserAgent";
23888     version = "0.036";
23889     src = fetchurl {
23890       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-LWP-UserAgent-0.036.tar.gz";
23891       hash = "sha256-BTJ1MNNGuAphpulD+9dJmGvcqJIRpOswHAjC0XkxThE=";
23892     };
23893     propagatedBuildInputs = [ LWP SafeIsa namespaceclean ];
23894     buildInputs = [ PathTiny Plack TestDeep TestFatal TestNeeds TestRequiresInternet TestWarnings ];
23895     meta = {
23896       description = "A LWP::UserAgent suitable for simulating and testing network calls";
23897       homepage = "https://github.com/karenetheridge/Test-LWP-UserAgent";
23898       license = with lib.licenses; [ artistic1 gpl1Plus ];
23899     };
23900   };
23902   TestLeakTrace = buildPerlPackage {
23903     pname = "Test-LeakTrace";
23904     version = "0.16";
23905     src = fetchurl {
23906       url = "mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.16.tar.gz";
23907       hash = "sha256-Xwie7ZFfHsjHQ/bSd3w+zQygHfL3ueEAONMWlSWD5AM=";
23908     };
23909     meta = {
23910       description = "Traces memory leaks";
23911       homepage = "https://metacpan.org/release/Test-LeakTrace";
23912       license = with lib.licenses; [ artistic1 gpl1Plus ];
23913     };
23914   };
23916   TestLectroTest = buildPerlPackage {
23917     pname = "Test-LectroTest";
23918     version = "0.5001";
23919     src = fetchurl {
23920       url = "mirror://cpan/authors/id/T/TM/TMOERTEL/Test-LectroTest-0.5001.tar.gz";
23921       hash = "sha256-rCtPDZWJmvGhoex4TLdAsrkCVqvuEcg+eykRA+ye1zU=";
23922     };
23923     meta = {
23924       description = "Easy, automatic, specification-based tests";
23925       license = with lib.licenses; [ artistic1 gpl1Plus ];
23926     };
23927   };
23929   TestLoadAllModules = buildPerlPackage {
23930     pname = "Test-LoadAllModules";
23931     version = "0.022";
23932     src = fetchurl {
23933       url = "mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz";
23934       hash = "sha256-G4YfVVAgZIp0gdStKBqJ5iQYf4lDepizRjVpGyZeXP4=";
23935     };
23936     propagatedBuildInputs = [ ListMoreUtils ModulePluggable ];
23937     meta = {
23938       description = "Do use_ok for modules in search path";
23939       license = with lib.licenses; [ artistic1 gpl1Plus ];
23940     };
23941   };
23943   TestLongString = buildPerlPackage {
23944     pname = "Test-LongString";
23945     version = "0.17";
23946     src = fetchurl {
23947       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz";
23948       hash = "sha256-q8Q0nq8E0b7B5GQWajAYWR6oRtjzxcnIr0rEkF0+l08=";
23949     };
23950     meta = {
23951       description = "Tests strings for equality, with more helpful failures";
23952       license = with lib.licenses; [ artistic1 gpl1Plus ];
23953     };
23954   };
23956   TestMemoryCycle = buildPerlPackage {
23957     pname = "Test-Memory-Cycle";
23958     version = "1.06";
23959     src = fetchurl {
23960       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz";
23961       hash = "sha256-nVPd/clkzYRUyw2kxpW2o65HtFg5KRw0y52NHPqrMgI=";
23962     };
23963     propagatedBuildInputs = [ DevelCycle PadWalker ];
23964     meta = {
23965       description = "Verifies code hasn't left circular references";
23966       license = with lib.licenses; [ artistic2 ];
23967     };
23968   };
23970   TestMemoryGrowth = buildPerlModule {
23971     pname = "Test-MemoryGrowth";
23972     version = "0.04";
23973     src = fetchurl {
23974       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-MemoryGrowth-0.04.tar.gz";
23975       hash = "sha256-oGWFJ1Kr1J5BFbmPbbRsdSy71ePkjtAUXO45L3k9LtA=";
23976     };
23977     meta = {
23978       description = "Assert that code does not cause growth in memory usage";
23979       license = with lib.licenses; [ artistic1 gpl1Plus ];
23980       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TestMemoryGrowth.x86_64-darwin
23981     };
23982   };
23984   TestMetricsAny = buildPerlModule {
23985     pname = "Test-Metrics-Any";
23986     version = "0.01";
23987     src = fetchurl {
23988       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Metrics-Any-0.01.tar.gz";
23989       hash = "sha256-JQbIjU6yGydLEIX4BskY3Ml//2nhbRJJ5uGdlDYl5Gg=";
23990     };
23991     propagatedBuildInputs = [ MetricsAny ];
23992     meta = {
23993       description = "Assert that code produces metrics via Metrics::Any";
23994       license = with lib.licenses; [ artistic1 gpl1Plus ];
23995     };
23996   };
23998   TestMockClass = buildPerlModule {
23999     pname = "Test-Mock-Class";
24000     version = "0.0303";
24001     src = fetchurl {
24002       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz";
24003       hash = "sha256-zS5S/inKCrtsLmGvvDP7Qui+tCGzhL5rwGSs8xl28wI=";
24004     };
24005     buildInputs = [ ClassInspector TestAssert TestUnitLite ];
24006     propagatedBuildInputs = [ FatalException Moose namespaceclean ];
24007     meta = {
24008       description = "Simulating other classes";
24009       license = with lib.licenses; [ lgpl2Plus ];
24010     };
24011   };
24013   TestMockGuard = buildPerlModule {
24014     pname = "Test-Mock-Guard";
24015     version = "0.10";
24016     src = fetchurl {
24017       url = "mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-0.10.tar.gz";
24018       hash = "sha256-fyKKY/jWzrkqp4QIChPoUHMSGyg17KBteU+XCZUNvT0=";
24019     };
24020     propagatedBuildInputs = [ ClassLoad ];
24021     meta = {
24022       description = "Simple mock test library using RAII";
24023       homepage = "https://github.com/zigorou/p5-test-mock-guard";
24024       license = with lib.licenses; [ artistic1 gpl1Plus ];
24025     };
24026   };
24028   TestMockHTTPTiny = buildPerlPackage {
24029     pname = "Test-Mock-HTTP-Tiny";
24030     version = "0.002";
24031     src = fetchurl {
24032       url = "mirror://cpan/authors/id/O/OD/ODYNIEC/Test-Mock-HTTP-Tiny-0.002.tar.gz";
24033       hash = "sha256-+c+tfYUEZQvtNJO8bSyoLXuRvDcTyGxDXnXriKxb5eY=";
24034     };
24035     propagatedBuildInputs = [ TestDeep URI ];
24036     meta = {
24037       description = "Record and replay HTTP requests/responses with HTTP::Tiny";
24038       homepage = "https://github.com/odyniec/p5-Test-Mock-HTTP-Tiny";
24039       license = with lib.licenses; [ artistic1 gpl1Plus ];
24040     };
24041   };
24043   TestMockModule = buildPerlModule {
24044     pname = "Test-MockModule";
24045     version = "0.175.0";
24046     src = fetchurl {
24047       url = "mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.175.0.tar.gz";
24048       hash = "sha256-B7KE1xPdgs7RtCxgzLFiGjx3xUshsTuGlKdZRcBF7v4=";
24049     };
24050     propagatedBuildInputs = [ SUPER ];
24051     buildInputs = [ TestWarnings ];
24052     meta = {
24053       description = "Override subroutines in a module for unit testing";
24054       license = with lib.licenses; [ artistic1 gpl1Plus ];
24055     };
24056   };
24058   SUPER = buildPerlModule {
24059     pname = "SUPER";
24060     version = "1.20190531";
24061     src = fetchurl {
24062       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz";
24063       hash = "sha256-aF0e525/DpAGlCkjv334sRwQcTKZKRdZPc9zl9QX05o=";
24064     };
24065     propagatedBuildInputs = [ SubIdentify ];
24066     meta = {
24067       description = "Control superclass method dispatch";
24068       license = with lib.licenses; [ artistic1 gpl1Plus ];
24069     };
24070   };
24073   TestMockObject = buildPerlPackage {
24074     pname = "Test-MockObject";
24075     version = "1.20200122";
24076     src = fetchurl {
24077       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz";
24078       hash = "sha256-K3+A2of1pv4DYNnuUhBRBTAXRCw6Juhdto36yfgwdiM=";
24079     };
24080     buildInputs = [ TestException TestWarn ];
24081     propagatedBuildInputs = [ UNIVERSALcan UNIVERSALisa ];
24082     meta = {
24083       description = "Perl extension for emulating troublesome interfaces";
24084       license = with lib.licenses; [ artistic1 gpl1Plus ];
24085     };
24086   };
24088   TestMockTime = buildPerlPackage {
24089     pname = "Test-MockTime";
24090     version = "0.17";
24091     src = fetchurl {
24092       url = "mirror://cpan/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz";
24093       hash = "sha256-M2PhGLJgbx1qvJVvIrDQkQl3K3CGFV+1ycf5gzUGAvk=";
24094     };
24095     meta = {
24096       description = "Replaces actual time with simulated time";
24097       license = with lib.licenses; [ artistic1 gpl1Plus ];
24098     };
24099   };
24101   TestMockTimeHiRes = buildPerlModule {
24102     pname = "Test-MockTime-HiRes";
24103     version = "0.08";
24104     src = fetchurl {
24105       url = "mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz";
24106       hash = "sha256-X0n3rviV0yfa/fJ0TznBdsirDkuCJ9LW495omiWb3sE=";
24107     };
24108     buildInputs = [ AnyEvent ModuleBuildTiny TestClass TestMockTime TestRequires ];
24109     meta = {
24110       description = "Replaces actual time with simulated high resolution time";
24111       homepage = "https://github.com/tarao/perl5-Test-MockTime-HiRes";
24112       license = with lib.licenses; [ artistic1 gpl1Plus ];
24113     };
24114   };
24116   TestMojibake = buildPerlPackage {
24117     pname = "Test-Mojibake";
24118     version = "1.3";
24119     src = fetchurl {
24120       url = "mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz";
24121       hash = "sha256-j/51/5tpNSSIcn3Kc9uR+KoUtZ8voQTrdxfA1xpfGzM=";
24122     };
24123     meta = {
24124       description = "Check your source for encoding misbehavior";
24125       homepage = "https://github.com/creaktive/Test-Mojibake";
24126       license = with lib.licenses; [ artistic1 gpl1Plus ];
24127       mainProgram = "scan_mojibake";
24128     };
24129   };
24131   TestMoreUTF8 = buildPerlPackage {
24132     pname = "Test-More-UTF8";
24133     version = "0.05";
24134     src = fetchurl {
24135       url = "mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-0.05.tar.gz";
24136       hash = "sha256-ufHEs2qXzf76pT7REV3Tj0tIMDd3X2VZ7h3xSs/RzgQ=";
24137     };
24138     meta = {
24139       description = "Enhancing Test::More for UTF8-based projects";
24140       license = with lib.licenses; [ artistic1 gpl1Plus ];
24141     };
24142   };
24144   TestMost = buildPerlPackage {
24145     pname = "Test-Most";
24146     version = "0.37";
24147     src = fetchurl {
24148       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.37.tar.gz";
24149       hash = "sha256-UzNwFB658Yz0rDgPbe0qtXgCpuGEAIqA/SMEv8xHT8c=";
24150     };
24151     propagatedBuildInputs = [ ExceptionClass ];
24152     buildInputs = [ TestDeep TestDifferences TestException TestWarn ];
24153     meta = {
24154       description = "Most commonly needed test functions and features";
24155       license = with lib.licenses; [ artistic1 gpl1Plus ];
24156     };
24157   };
24159   Testmysqld = buildPerlModule {
24160     pname = "Test-mysqld";
24161     version = "1.0013";
24162     src = fetchurl {
24163       url = "mirror://cpan/authors/id/S/SO/SONGMU/Test-mysqld-1.0013.tar.gz";
24164       hash = "sha256-V61BoJBXyWO1gsgaB276UPpW664hd9gwd33oOGBePu8=";
24165     };
24166     buildInputs = [ pkgs.which ModuleBuildTiny TestSharedFork ];
24167     propagatedBuildInputs = [ ClassAccessorLite DBDmysql FileCopyRecursive ];
24168     meta = {
24169       description = "Mysqld runner for tests";
24170       homepage = "https://github.com/kazuho/p5-test-mysqld";
24171       license = with lib.licenses; [ artistic1 gpl1Plus ];
24172       maintainers = [ maintainers.sgo ];
24173     };
24174   };
24176   TestNeeds = buildPerlPackage {
24177     pname = "Test-Needs";
24178     version = "0.002006";
24179     src = fetchurl {
24180       url = "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-0.002006.tar.gz";
24181       hash = "sha256-d/n/8MlsXgnzTQQWs1M8Mxn3zQux9/6PgHKtWfQz8OU=";
24182     };
24183     meta = {
24184       description = "Skip tests when modules not available";
24185       license = with lib.licenses; [ artistic1 gpl1Plus ];
24186     };
24187   };
24189   TestNoTabs = buildPerlPackage {
24190     pname = "Test-NoTabs";
24191     version = "2.02";
24192     src = fetchurl {
24193       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.02.tar.gz";
24194       hash = "sha256-+3XGo4ch8BaeEcHn2+UyntchaIWgsBEj80LdhtM1YDA=";
24195     };
24196     meta = {
24197       description = "Check the presence of tabs in your project";
24198       homepage = "https://github.com/karenetheridge/Test-NoTabs";
24199       license = with lib.licenses; [ artistic1 gpl1Plus ];
24200     };
24201   };
24203   TestNoWarnings = buildPerlPackage {
24204     pname = "Test-NoWarnings";
24205     version = "1.04";
24206     src = fetchurl {
24207       url = "mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz";
24208       hash = "sha256-Y4pXZYyxGa8f5bFec9R8JUTc/vhK8Maxsul/CCAraGw=";
24209     };
24210     meta = {
24211       description = "Make sure you didn't emit any warnings while testing";
24212       license = with lib.licenses; [ lgpl21Only ];
24213     };
24214   };
24216   TestObject = buildPerlPackage {
24217     pname = "Test-Object";
24218     version = "0.08";
24219     src = fetchurl {
24220       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz";
24221       hash = "sha256-ZSeJZBR4NzE/QQjlW1lnboo2TW7fAbPcGYruiUqx0Ls=";
24222     };
24223     meta = {
24224       description = "Thoroughly testing objects via registered handlers";
24225       license = with lib.licenses; [ artistic1 gpl1Plus ];
24226     };
24227   };
24229   TestOutput = buildPerlPackage {
24230     pname = "Test-Output";
24231     version = "1.031";
24232     src = fetchurl {
24233       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.031.tar.gz";
24234       hash = "sha256-+LjzcYVxeHJyfQb2wHj6d9t5RBD68vbaTTewt2UPfqQ=";
24235     };
24236     propagatedBuildInputs = [ CaptureTiny ];
24237     meta = {
24238       description = "Utilities to test STDOUT and STDERR messages";
24239       license = with lib.licenses; [ artistic2 ];
24240     };
24241   };
24243   TestPAUSEPermissions = buildPerlPackage {
24244     pname = "Test-PAUSE-Permissions";
24245     version = "0.07";
24246     src = fetchurl {
24247       url = "mirror://cpan/authors/id/S/SK/SKAJI/Test-PAUSE-Permissions-0.07.tar.gz";
24248       hash = "sha256-VXDBu/KbxjeoRWcIuaJ0bPT8usE3SF7f82D48I5xBz4=";
24249     };
24250     propagatedBuildInputs = [ ConfigIdentity PAUSEPermissions ParseLocalDistribution ];
24251     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
24252     meta = {
24253       description = "Tests module permissions in your distribution";
24254       license = with lib.licenses; [ artistic1 gpl1Plus ];
24255     };
24256   };
24258   TestPerlCritic = buildPerlModule {
24259     pname = "Test-Perl-Critic";
24260     version = "1.04";
24261     src = fetchurl {
24262       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz";
24263       hash = "sha256-KPgGtUEseQi1bPFnMIS4tEzhy1TJQX14TZFCjhoECW4=";
24264     };
24265     propagatedBuildInputs = [ MCE PerlCritic ];
24266     meta = {
24267       description = "Use Perl::Critic in test programs";
24268       license = with lib.licenses; [ artistic1 gpl1Plus ];
24269     };
24270   };
24272   TestPerlTidy = buildPerlModule rec {
24273     pname = "Test-PerlTidy";
24274     version = "20200930";
24275     src = fetchurl {
24276       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-PerlTidy-${version}.tar.gz";
24277       hash = "sha256-n29omXRe17bNtREFsJSUp/ohdVBMxAgWrkYGfUp0V7Y=";
24278     };
24279     propagatedBuildInputs = [ PathTiny PerlTidy TextDiff ];
24280     buildInputs = [ TestPerlCritic ];
24281     meta = {
24282       description = "Check that all your files are tidy";
24283       homepage = "https://metacpan.org/release/Test-PerlTidy";
24284       license = with lib.licenses; [ artistic1 gpl1Plus ];
24285     };
24286   };
24288   TestPod = buildPerlPackage {
24289     pname = "Test-Pod";
24290     version = "1.52";
24291     src = fetchurl {
24292       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz";
24293       hash = "sha256-YKjbzGAWi/HapcwjUCNt+TQ+mHj0q5gwlwpd3m/o5fw=";
24294     };
24295     meta = {
24296       description = "Check for POD errors in files";
24297       homepage = "https://search.cpan.org/dist/Test-Pod";
24298       license = with lib.licenses; [ artistic1 gpl1Plus ];
24299     };
24300   };
24302   TestPodCoverage = buildPerlPackage {
24303     pname = "Test-Pod-Coverage";
24304     version = "1.10";
24305     src = fetchurl {
24306       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz";
24307       hash = "sha256-SMnMqffZnu50EXZEW0Ma3wnAKeGqV8RwPJ9G92AdQNQ=";
24308     };
24309     propagatedBuildInputs = [ PodCoverage ];
24310     meta = {
24311       description = "Check for pod coverage in your distribution";
24312       license = with lib.licenses; [ artistic2 ];
24313     };
24314   };
24316   TestPodLinkCheck = buildPerlModule {
24317     pname = "Test-Pod-LinkCheck";
24318     version = "0.008";
24319     src = fetchurl {
24320       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.008.tar.gz";
24321       hash = "sha256-K/53EXPDi2nusIlQTj92URuOReap5trD5hbkAOpnvPA=";
24322     };
24323     buildInputs = [ ModuleBuildTiny TestPod ];
24324     propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck ];
24325     meta = {
24326       description = "Tests POD for invalid links";
24327       homepage = "https://search.cpan.org/dist/Test-Pod-LinkCheck";
24328       license = with lib.licenses; [ artistic1 gpl1Plus ];
24329     };
24330   };
24332   TestPodNo404s = buildPerlModule {
24333     pname = "Test-Pod-No404s";
24334     version = "0.02";
24335     src = fetchurl {
24336       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-No404s-0.02.tar.gz";
24337       hash = "sha256-EcYGBW/WK9ROB5977wbEWapYnuhc3tv6DMMl6jV8jnk=";
24338     };
24339     propagatedBuildInputs = [ LWP URIFind ];
24340     buildInputs = [ ModuleBuildTiny TestPod ];
24341     meta = {
24342       description = "Using this test module will check your POD for any http 404 links";
24343       homepage = "https://search.cpan.org/dist/Test-Pod-No404s";
24344       license = with lib.licenses; [ artistic1 gpl1Plus ];
24345     };
24346   };
24348   TestPortabilityFiles = buildPerlPackage {
24349     pname = "Test-Portability-Files";
24350     version = "0.10";
24351     src = fetchurl {
24352       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.10.tar.gz";
24353       hash = "sha256-COS0MkktwbRLVdXbV5Uut2N5x/Q07o8WrKZNSR9AGhY=";
24354     };
24355     meta = {
24356       description = "Check file names portability";
24357       license = with lib.licenses; [ artistic1 gpl1Plus ];
24358     };
24359   };
24361   TestRefcount = buildPerlModule {
24362     pname = "Test-Refcount";
24363     version = "0.10";
24364     src = fetchurl {
24365       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Refcount-0.10.tar.gz";
24366       hash = "sha256-BFfCCklWRz0VfE+q/4gUFUvJP24rVDwoEqGf+OM3DrI=";
24367     };
24368     meta = {
24369       description = "Assert reference counts on objects";
24370       license = with lib.licenses; [ artistic1 gpl1Plus ];
24371     };
24372   };
24374   TestRequires = buildPerlPackage {
24375     pname = "Test-Requires";
24376     version = "0.11";
24377     src = fetchurl {
24378       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz";
24379       hash = "sha256-S4jeVJWX7s3ffDw4pNAgShb1mtgEV3tnGJasBOJOBA8=";
24380     };
24381     meta = {
24382       description = "Checks to see if the module can be loaded";
24383       homepage = "https://github.com/tokuhirom/Test-Requires";
24384       license = with lib.licenses; [ artistic1 gpl1Plus ];
24385     };
24386   };
24388   TestRequiresGit = buildPerlPackage {
24389     pname = "Test-Requires-Git";
24390     version = "1.008";
24391     src = fetchurl {
24392       url = "mirror://cpan/authors/id/B/BO/BOOK/Test-Requires-Git-1.008.tar.gz";
24393       hash = "sha256-cJFiEJcNhNdJFFEVmri2fhUlHIwNrnw99sjYhULqQqY=";
24394     };
24395     propagatedBuildInputs = [ GitVersionCompare ];
24396     meta = {
24397       description = "Check your test requirements against the available version of Git";
24398       license = with lib.licenses; [ artistic1 gpl1Plus ];
24399     };
24400   };
24402   TestRequiresInternet = buildPerlPackage {
24403     pname = "Test-RequiresInternet";
24404     version = "0.05";
24405     src = fetchurl {
24406       url = "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz";
24407       hash = "sha256-u6ezKhzA1Yzi7CCyAKc0fGljFkHoyuj/RWetJO8egz4=";
24408     };
24409     meta = {
24410       description = "Easily test network connectivity";
24411       homepage = "https://metacpan.org/dist/Test-RequiresInternet";
24412       license = with lib.licenses; [ artistic1 gpl1Plus ];
24413     };
24414   };
24416   TestRoo = buildPerlPackage {
24417     pname = "Test-Roo";
24418     version = "1.004";
24419     src = fetchurl {
24420       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-1.004.tar.gz";
24421       hash = "sha256-IRKaPOy1B7AJSOFs8V/N5dxNsjWrqEr9f0fSIBOp3tY=";
24422     };
24424     propagatedBuildInputs = [ Moo MooXTypesMooseLike SubInstall strictures ];
24425     buildInputs = [ CaptureTiny ];
24426     meta = {
24427       description = "Composable, reusable tests with roles and Moo";
24428       license = with lib.licenses; [ asl20 ];
24429     };
24430   };
24432   TestRoutine = buildPerlPackage {
24433     pname = "Test-Routine";
24434     version = "0.027";
24435     src = fetchurl {
24436       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.027.tar.gz";
24437       hash = "sha256-utQOEupgikPogy9W5BqLSfNmN7L5wz3pQcdfsUEY01g=";
24438     };
24439     buildInputs = [ TestAbortable TestFatal ];
24440     propagatedBuildInputs = [ Moose namespaceautoclean ];
24441     meta = {
24442       description = "Composable units of assertion";
24443       homepage = "https://github.com/rjbs/Test-Routine";
24444       license = with lib.licenses; [ artistic1 gpl1Plus ];
24445     };
24446   };
24448   TestRun = buildPerlModule {
24449     pname = "Test-Run";
24450     version = "0.0305";
24451     src = fetchurl {
24452       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-0.0305.tar.gz";
24453       hash = "sha256-+Jpx3WD44qd26OYBd8ntXlkJbUAF1QvSmJuSeeCHwkg=";
24454     };
24455     buildInputs = [ TestTrap ];
24456     propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
24457     meta = {
24458       description = "Base class to run standard TAP scripts";
24459       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24460       license = with lib.licenses; [ mit ];
24461     };
24462   };
24464   TestRunCmdLine = buildPerlModule {
24465     pname = "Test-Run-CmdLine";
24466     version = "0.0132";
24467     src = fetchurl {
24468       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-CmdLine-0.0132.tar.gz";
24469       hash = "sha256-ssORzVRjV378dti/so6tKz1OOm+pLbDvNMANyfTPpwc=";
24470     };
24471     buildInputs = [ TestRun TestTrap ];
24472     propagatedBuildInputs = [ MooseXGetopt UNIVERSALrequire YAMLLibYAML ];
24473     doCheck = !stdenv.isDarwin;
24474     meta = {
24475       description = "Analyze tests from the command line using Test::Run";
24476       homepage = "http://web-cpan.berlios.de/modules/Test-Run";
24477       license = with lib.licenses; [ mit ];
24478       mainProgram = "runprove";
24479     };
24480   };
24482   TestRunPluginAlternateInterpreters = buildPerlModule {
24483     pname = "Test-Run-Plugin-AlternateInterpreters";
24484     version = "0.0125";
24485     src = fetchurl {
24486       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-AlternateInterpreters-0.0125.tar.gz";
24487       hash = "sha256-UsNomxRdgh8XCj8uXPM6DCkoKE3d6W1sN88VAA8ymbs=";
24488     };
24489     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
24490     propagatedBuildInputs = [ Moose ];
24491     meta = {
24492       description = "Define different interpreters for different test scripts with Test::Run";
24493       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24494       license = with lib.licenses; [ mit ];
24495     };
24496   };
24498   TestRunPluginBreakOnFailure = buildPerlModule {
24499     pname = "Test-Run-Plugin-BreakOnFailure";
24500     version = "0.0.6";
24501     src = fetchurl {
24502       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.6.tar.gz";
24503       hash = "sha256-oBgO4+LwwUQSkFXaBeKTFRC59QcXTQ+6yjwMndBNE6k=";
24504     };
24505     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
24506     propagatedBuildInputs = [ Moose ];
24507     meta = {
24508       description = "Stop processing the entire test suite";
24509       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24510       license = with lib.licenses; [ mit ];
24511     };
24512   };
24514   TestRunPluginColorFileVerdicts = buildPerlModule {
24515     pname = "Test-Run-Plugin-ColorFileVerdicts";
24516     version = "0.0125";
24517     src = fetchurl {
24518       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorFileVerdicts-0.0125.tar.gz";
24519       hash = "sha256-HCQaLBSm/WZLRy5Lb2iP1gyHlzsxjITgFIccBn8uHkY=";
24520     };
24521     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
24522     propagatedBuildInputs = [ Moose ];
24523     moreInputs = [ TestTrap ]; # Added because tests were failing without it
24524     doCheck=true;
24525     meta = {
24526       description = "Make the file verdict ('ok', 'NOT OK')";
24527       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24528       license = with lib.licenses; [ mit ];
24529     };
24530   };
24532   TestRunPluginColorSummary = buildPerlModule {
24533     pname = "Test-Run-Plugin-ColorSummary";
24534     version = "0.0203";
24535     src = fetchurl {
24536       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorSummary-0.0203.tar.gz";
24537       hash = "sha256-e9l5N5spa1EPxVuxwAuKEM00hQ5OIZf1cBtUYAY/iv0=";
24538     };
24539     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
24540     moreInputs = [ TestTrap ]; # Added because tests were failing without it
24541     doCheck=true;
24542     meta = {
24543       description = "A Test::Run plugin that";
24544       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24545       license = with lib.licenses; [ mit ];
24546     };
24547   };
24549   TestRunPluginTrimDisplayedFilenames = buildPerlModule {
24550     pname = "Test-Run-Plugin-TrimDisplayedFilenames";
24551     version = "0.0126";
24552     src = fetchurl {
24553       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-TrimDisplayedFilenames-0.0126.tar.gz";
24554       hash = "sha256-ioZJw8anmIp3N65KcW1g4MazIXMBtAFT6tNquPTqkCg=";
24555     };
24556     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
24557     propagatedBuildInputs = [ Moose ];
24558     meta = {
24559       description = "Trim the first components";
24560       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24561       license = with lib.licenses; [ mit ];
24562     };
24563   };
24565   TestRunValgrind = buildPerlModule {
24566     pname = "Test-RunValgrind";
24567     version = "0.2.2";
24568     src = fetchurl {
24569       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-0.2.2.tar.gz";
24570       hash = "sha256-aRPRTK3CUbI8W3I1+NSsPeKHE41xK3W9lLACrwuPpe4=";
24571     };
24572     buildInputs = [ TestTrap ];
24573     propagatedBuildInputs = [ PathTiny ];
24574     meta = {
24575       description = "Tests that an external program is valgrind-clean";
24576       homepage = "https://metacpan.org/release/Test-RunValgrind";
24577       license = with lib.licenses; [ mit ];
24578     };
24579   };
24581   TestScript = buildPerlPackage {
24582     pname = "Test-Script";
24583     version = "1.26";
24584     src = fetchurl {
24585       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz";
24586       hash = "sha256-bUIjeuzi8NxB+mZTN5V0Z0BhhI8CCs1NY962uBtac7c=";
24587     };
24589     buildInputs = [ Test2Suite ];
24591     propagatedBuildInputs = [ CaptureTiny ProbePerl ];
24592     meta = {
24593       description = "Basic cross-platform tests for scripts";
24594       license = with lib.licenses; [ artistic1 gpl1Plus ];
24595     };
24596   };
24598   TestScriptRun = buildPerlPackage {
24599     pname = "Test-Script-Run";
24600     version = "0.08";
24601     src = fetchurl {
24602       url = "mirror://cpan/authors/id/S/SU/SUNNAVY/Test-Script-Run-0.08.tar.gz";
24603       hash = "sha256-H+8hbnC8QlrOPixDcN/N3bXnmLCZ77omeSRKTVvBqwo=";
24604     };
24605     propagatedBuildInputs = [ IPCRun3 TestException ];
24606     meta = {
24607       description = "Test scripts with run";
24608       license = with lib.licenses; [ artistic1 gpl1Plus ];
24609     };
24610   };
24612   TestSharedFork = buildPerlPackage {
24613     pname = "Test-SharedFork";
24614     version = "0.35";
24615     src = fetchurl {
24616       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.35.tar.gz";
24617       hash = "sha256-KTLoZWEOgHWPdkxYZ1fvjhHbEoTZWOJeS3qFCYQUxZ8=";
24618     };
24619     buildInputs = [ TestRequires ];
24620     meta = {
24621       description = "Fork test";
24622       homepage = "https://github.com/tokuhirom/Test-SharedFork";
24623       license = with lib.licenses; [ artistic1 gpl1Plus ];
24624     };
24625   };
24627   TestSimple13 = buildPerlPackage {
24628     pname = "Test-Simple";
24629     version = "1.302183";
24630     src = fetchurl {
24631       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302183.tar.gz";
24632       hash = "sha256-mgO9pexCCuqWkrZQQ39NW1dPpQX91/9gzbXz7ANBBv8=";
24633     };
24634     meta = {
24635       description = "Basic utilities for writing tests";
24636       license = with lib.licenses; [ artistic1 gpl1Plus ];
24637     };
24638   };
24640   TestSnapshot = buildPerlPackage {
24641     pname = "Test-Snapshot";
24642     version = "0.06";
24643     src = fetchurl {
24644       url = "mirror://cpan/authors/id/E/ET/ETJ/Test-Snapshot-0.06.tar.gz";
24645       hash = "sha256-9N16mlW6oiR1QK40IQzQWgT50QYb7+yXockO2pW/rkU=";
24646     };
24647     buildInputs = [ CaptureTiny ];
24648     propagatedBuildInputs = [ TextDiff ];
24649     meta = {
24650       description = "Test against data stored in automatically-named file";
24651       license = with lib.licenses; [ artistic2 ];
24652     };
24653   };
24655   TestSpec = buildPerlPackage {
24656     pname = "Test-Spec";
24657     version = "0.54";
24658     src = fetchurl {
24659       url = "mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz";
24660       hash = "sha256-CjHPEmXc7pC7xCRWrWC7Njr8f6xml//7D9SbupKhZdI=";
24661     };
24662     propagatedBuildInputs = [ DevelGlobalPhase PackageStash TieIxHash ];
24663     buildInputs = [ TestDeep TestTrap ];
24664     meta = {
24665       description = "Write tests in a declarative specification style";
24666       license = with lib.licenses; [ artistic1 gpl1Plus ];
24667     };
24668   };
24670   TestSubCalls = buildPerlPackage {
24671     pname = "Test-SubCalls";
24672     version = "1.10";
24673     src = fetchurl {
24674       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz";
24675       hash = "sha256-y8Hps1oF5x/rwT5e9UejHIJJiZu2AR29ydn/Nm3atsI=";
24676     };
24677     propagatedBuildInputs = [ HookLexWrap ];
24678     meta = {
24679       description = "Track the number of times subs are called";
24680       license = with lib.licenses; [ artistic1 gpl1Plus ];
24681     };
24682   };
24684   TestSynopsis = buildPerlPackage {
24685     pname = "Test-Synopsis";
24686     version = "0.16";
24687     src = fetchurl {
24688       url = "mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.16.tar.gz";
24689       hash = "sha256-GxPsc7z3JGLAYPiBlJFETXRz8+qK60wO2CgmPu0OCSU=";
24690     };
24691     meta = {
24692       description = "Test your SYNOPSIS code";
24693       homepage = "https://metacpan.org/release/Test-Synopsis";
24694       license = with lib.licenses; [ artistic1 gpl1Plus ];
24695     };
24696   };
24698   TestTableDriven = buildPerlPackage {
24699     pname = "Test-TableDriven";
24700     version = "0.02";
24701     src = fetchurl {
24702       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz";
24703       hash = "sha256-Qlh4r88qFOBHyviRsZFen1/7A2lBYJxDjg370bWxhZo=";
24704     };
24705     meta = {
24706       description = "Write tests, not scripts that run them";
24707       license = with lib.licenses; [ artistic1 gpl1Plus ];
24708     };
24709   };
24711   TestTempDirTiny = buildPerlPackage {
24712     pname = "Test-TempDir-Tiny";
24713     version = "0.018";
24714     src = fetchurl {
24715       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-TempDir-Tiny-0.018.tar.gz";
24716       hash = "sha256-17eh/X/M4BaNRPuIdpGP6KmvSa4OuLCWJbZ7GNcfXoE=";
24717     };
24718     meta = {
24719       description = "Temporary directories that stick around when tests fail";
24720       homepage = "https://github.com/dagolden/Test-TempDir-Tiny";
24721       license = with lib.licenses; [ asl20 ];
24722     };
24723   };
24725   TestTCP = buildPerlPackage {
24726     pname = "Test-TCP";
24727     version = "2.22";
24728     src = fetchurl {
24729       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz";
24730       hash = "sha256-PlPDwG1tCYCiv+uRVgK3FOaC7iEa6IwRdIzyzHFOe1c=";
24731     };
24732     buildInputs = [ TestSharedFork ];
24733     meta = {
24734       description = "Testing TCP program";
24735       homepage = "https://github.com/tokuhirom/Test-TCP";
24736       license = with lib.licenses; [ artistic1 gpl1Plus ];
24737     };
24738   };
24740   TestUNIXSock = buildPerlModule rec {
24741     pname = "Test-UNIXSock";
24742     version = "0.4";
24743     src = fetchurl {
24744       url = "mirror://cpan/authors/id/F/FU/FUJIWARA/${pname}-${version}.tar.gz";
24745       hash = "sha256-NzC0zBA0Es+/b+JHvbwwC+l94wnMmxxcvVc3E7hojz8=";
24746     };
24747     buildInputs = [ ModuleBuildTiny ];
24748     propagatedBuildInputs = [ TestSharedFork TestTCP ];
24749     meta = {
24750       description = "Testing UNIX domain socket program";
24751       homepage = "https://github.com/fujiwara/Test-UNIXSock";
24752       license = with lib.licenses; [ artistic1 gpl1Plus ];
24753     };
24754   };
24756   TestTime = buildPerlPackage {
24757     pname = "Test-Time";
24758     version = "0.08";
24759     src = fetchurl {
24760       url = "mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz";
24761       hash = "sha256-uLw7B0uyJH6FiDmcHlXQcfBJz2zhyLQZLDjPPCRVlUg=";
24762     };
24763     meta = {
24764       description = "Overrides the time() and sleep() core functions for testing";
24765       homepage = "https://github.com/cho45/Test-Time";
24766       license = with lib.licenses; [ artistic1 gpl1Plus ];
24767     };
24768   };
24770   TestToolbox = buildPerlModule {
24771     pname = "Test-Toolbox";
24772     version = "0.4";
24773     src = fetchurl {
24774       url = "mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz";
24775       hash = "sha256-QCC1x/OhWsmxh9Bd/ZgWuAMOwNSkf/g3P3Yzu2FOvcM=";
24776     };
24777     meta = {
24778       description = "Test::Toolbox - tools for testing";
24779       license = with lib.licenses; [ artistic1 gpl1Plus ];
24780     };
24781   };
24783   TestTrailingSpace = buildPerlModule {
24784     pname = "Test-TrailingSpace";
24785     version = "0.0600";
24786     src = fetchurl {
24787       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0600.tar.gz";
24788       hash = "sha256-8J0mOt7AZwCkOiTin1SEz20pOZFMYH3sUVkPS7j6WhE=";
24789     };
24790     propagatedBuildInputs = [ FileFindObjectRule ];
24791     meta = {
24792       description = "Test for trailing space in source files";
24793       homepage = "https://metacpan.org/release/Test-TrailingSpace";
24794       license = with lib.licenses; [ mit ];
24795     };
24796   };
24798   TestUnitLite = buildPerlModule {
24799     pname = "Test-Unit-Lite";
24800     version = "0.1202";
24801     src = fetchurl {
24802       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz";
24803       hash = "sha256-NR0l7nExYoqvfjmV/h//uJOuf+bvWM8zcO0yCVP1sqg=";
24804     };
24805     meta = {
24806       description = "Unit testing without external dependencies";
24807       license = with lib.licenses; [ artistic1 gpl1Plus ];
24808     };
24809   };
24811   TestWarn = buildPerlPackage {
24812     pname = "Test-Warn";
24813     version = "0.36";
24814     src = fetchurl {
24815       url = "mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.36.tar.gz";
24816       hash = "sha256-7LyjRtN5zvjTwOSsDI6zsmE9c3/6rq5SJxw41788bNo=";
24817     };
24818     propagatedBuildInputs = [ SubUplevel ];
24819     meta = {
24820       description = "Perl extension to test methods for warnings";
24821       license = with lib.licenses; [ artistic1 gpl1Plus ];
24822     };
24823   };
24825   TestWarnings = buildPerlPackage {
24826     pname = "Test-Warnings";
24827     version = "0.030";
24828     src = fetchurl {
24829       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.030.tar.gz";
24830       hash = "sha256-iaSUfd8VZK4BEiJ1WEQz1/bENwNwvPN2iSLXlpVq4k8=";
24831     };
24832     buildInputs = [ CPANMetaCheck PadWalker ];
24833     meta = {
24834       description = "Test for warnings and the lack of them";
24835       homepage = "https://github.com/karenetheridge/Test-Warnings";
24836       license = with lib.licenses; [ artistic1 gpl1Plus ];
24837     };
24838   };
24840   TestWeaken = buildPerlPackage {
24841     pname = "Test-Weaken";
24842     version = "3.022000";
24843     src = fetchurl {
24844       url = "mirror://cpan/authors/id/K/KR/KRYDE/Test-Weaken-3.022000.tar.gz";
24845       hash = "sha256-JjGocSExAmLg6WEHpvoO1pSHt3AVIHc77l+prMwpX1s=";
24846     };
24847     propagatedBuildInputs = [ ScalarListUtils ];
24848     meta = {
24849       description = "Test that freed memory objects were, indeed, freed";
24850       license = with lib.licenses; [ artistic1 gpl1Plus ];
24851     };
24852   };
24854   TestWithoutModule = buildPerlPackage {
24855     pname = "Test-Without-Module";
24856     version = "0.20";
24857     src = fetchurl {
24858       url = "mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.20.tar.gz";
24859       hash = "sha256-jprrfDKmxtC4qTEU2yqMBychJzqdmi3U+cqGz9KKpSQ=";
24860     };
24861     meta = {
24862       description = "Test fallback behaviour in absence of modules";
24863       license = with lib.licenses; [ artistic1 gpl1Plus ];
24864     };
24865   };
24867   TestWWWMechanize = buildPerlPackage {
24868     pname = "Test-WWW-Mechanize";
24869     version = "1.54";
24870     src = fetchurl {
24871       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.54.tar.gz";
24872       hash = "sha256-3KiLWxdBFL9apseC/58OzFDBRCuDJMEdORd1LqNDmvw=";
24873     };
24874     buildInputs = [ TestLongString ];
24875     propagatedBuildInputs = [ CarpAssertMore HTTPServerSimple WWWMechanize ];
24876     meta = {
24877       description = "Testing-specific WWW::Mechanize subclass";
24878       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
24879       license = with lib.licenses; [ artistic2 ];
24880     };
24881   };
24883   TestWWWMechanizeCatalyst = buildPerlPackage {
24884     pname = "Test-WWW-Mechanize-Catalyst";
24885     version = "0.62";
24886     src = fetchurl {
24887       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz";
24888       hash = "sha256-GDveGuerpw3LPtd3xVSCN/QsPtVR/VvGWM7obQIWrLE=";
24889     };
24890     doCheck = false; # listens on an external port
24891     propagatedBuildInputs = [ CatalystRuntime WWWMechanize ];
24892     buildInputs = [ CatalystPluginSession CatalystPluginSessionStateCookie TestException TestWWWMechanize Testutf8 ];
24893     meta = {
24894       description = "Test::WWW::Mechanize for Catalyst";
24895       license = with lib.licenses; [ artistic1 gpl1Plus ];
24896     };
24897   };
24899   TestWWWMechanizeCGI = buildPerlPackage {
24900     pname = "Test-WWW-Mechanize-CGI";
24901     version = "0.1";
24902     src = fetchurl {
24903       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz";
24904       hash = "sha256-pXagsi470a/JJ0/FY7A3ru53cThJyev2pq1EFcFsnC8=";
24905     };
24906     propagatedBuildInputs = [ WWWMechanizeCGI ];
24907     buildInputs = [ TestLongString TestWWWMechanize ];
24908     meta = {
24909       description = "Test CGI applications with Test::WWW::Mechanize";
24910       license = with lib.licenses; [ artistic1 gpl1Plus ];
24911     };
24912   };
24914   TestWWWMechanizePSGI = buildPerlPackage {
24915     pname = "Test-WWW-Mechanize-PSGI";
24916     version = "0.39";
24917     src = fetchurl {
24918       url = "mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.39.tar.gz";
24919       hash = "sha256-R2s6s7R9U05Nag9JkAIdXTTGnsk3rAcW5mzop7yHmVg=";
24920     };
24921     buildInputs = [ CGI TestLongString TestWWWMechanize ];
24922     propagatedBuildInputs = [ Plack ];
24923     meta = {
24924       description = "Test PSGI programs using WWW::Mechanize";
24925       homepage = "https://github.com/acme/test-www-mechanize-psgi";
24926       license = with lib.licenses; [ artistic1 gpl1Plus ];
24927     };
24928   };
24930   TestXPath = buildPerlModule {
24931     pname = "Test-XPath";
24932     version = "0.19";
24933     src = fetchurl {
24934       url = "mirror://cpan/authors/id/M/MA/MANWAR/Test-XPath-0.19.tar.gz";
24935       hash = "sha256-3vzMDBRY569dkrxzAD5oZ8Z+L6SVWqccVLOE5xEiwPM=";
24936     };
24937     propagatedBuildInputs = [ XMLLibXML ];
24938     meta = {
24939       description = "Test XML and HTML content and structure with XPath expressions";
24940       license = with lib.licenses; [ artistic1 gpl1Plus ];
24941     };
24942   };
24944   TestYAML = buildPerlPackage {
24945     pname = "Test-YAML";
24946     version = "1.07";
24947     src = fetchurl {
24948       url = "mirror://cpan/authors/id/T/TI/TINITA/Test-YAML-1.07.tar.gz";
24949       hash = "sha256-HzANA09GKYy5KWCRLMBLrDP7J/BbiFLY8FHhELnNmV8=";
24950     };
24951     buildInputs = [ TestBase ];
24952     meta = {
24953       description = "Testing Module for YAML Implementations";
24954       license = with lib.licenses; [ artistic1 gpl1Plus ];
24955       mainProgram = "test-yaml";
24956     };
24957   };
24959   TextAligner = buildPerlModule {
24960     pname = "Text-Aligner";
24961     version = "0.16";
24962     src = fetchurl {
24963       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.16.tar.gz";
24964       hash = "sha256-XIV9vOWG9X+j18Tr0yACOrOyljsgSUKK4BvTvE8hVyU=";
24965     };
24966     meta = {
24967       description = "Module to align text";
24968       homepage = "https://metacpan.org/release/Text-Aligner";
24969       license = with lib.licenses; [ isc ];
24970     };
24971   };
24973   TextAspell = buildPerlPackage {
24974     pname = "Text-Aspell";
24975     version = "0.09";
24976     src = fetchurl {
24977       url = "mirror://cpan/authors/id/H/HA/HANK/Text-Aspell-0.09.tar.gz";
24978       hash = "sha256-K+oyCfGOJzsZPjF1pC0mk5GRnkmrEGtuJSOV0nIYL2U=";
24979     };
24980     propagatedBuildInputs = [ pkgs.aspell ];
24981     ASPELL_CONF = "dict-dir ${pkgs.aspellDicts.en}/lib/aspell";
24982     NIX_CFLAGS_COMPILE = "-I${pkgs.aspell}/include";
24983     NIX_CFLAGS_LINK = "-L${pkgs.aspell}/lib -laspell";
24984     meta = {
24985       description = "Perl interface to the GNU Aspell library";
24986       license = with lib.licenses; [ artistic1 gpl1Plus ];
24987     };
24988   };
24990   TextAutoformat = buildPerlPackage {
24991     pname = "Text-Autoformat";
24992     version = "1.75";
24993     src = fetchurl {
24994       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz";
24995       hash = "sha256-ndT0zj2uxLTb9bWdrEVoqJRq7RLCi05ZiMjoxgLGt3E=";
24996     };
24997     propagatedBuildInputs = [ TextReform ];
24998     meta = {
24999       description = "Automatic text wrapping and reformatting";
25000       homepage = "https://github.com/neilb/Text-Autoformat";
25001       license = with lib.licenses; [ artistic1 gpl1Plus ];
25002     };
25003   };
25005   TextBalanced = buildPerlPackage {
25006     pname = "Text-Balanced";
25007     version = "2.04";
25008     src = fetchurl {
25009       url = "mirror://cpan/authors/id/S/SH/SHAY/Text-Balanced-2.04.tar.gz";
25010       hash = "sha256-9JxAi4XIC6dieFQoqHWZvtItwP1rt2XJ+m3fqjLk5+I=";
25011     };
25012     meta = {
25013       description = "Extract delimited text sequences from strings";
25014       license = with lib.licenses; [ artistic1 gpl1Plus ];
25015     };
25016   };
25018   TextBibTeX = buildPerlModule {
25019     pname = "Text-BibTeX";
25020     version = "0.88";
25021     buildInputs = [ CaptureTiny ConfigAutoConf ExtUtilsLibBuilder ];
25022     src = fetchurl {
25023       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-0.88.tar.gz";
25024       hash = "sha256-sBRYbmi9vK+wos+gQB6woE6l3oxNW8Nt0Pf66ras9Cw=";
25025     };
25026     # libbtparse.so: cannot open shared object file (aarch64 only)
25027     patches = [ ../development/perl-modules/TextBibTeX-use-lib-on-aarch64.patch ];
25028     perlPreHook = "export LD=$CC";
25029     perlPostHook = lib.optionalString stdenv.isDarwin ''
25030       oldPath="$(pwd)/btparse/src/libbtparse.dylib"
25031       newPath="$out/lib/libbtparse.dylib"
25033       install_name_tool -id "$newPath" "$newPath"
25034       install_name_tool -change "$oldPath" "$newPath" "$out/bin/biblex"
25035       install_name_tool -change "$oldPath" "$newPath" "$out/bin/bibparse"
25036       install_name_tool -change "$oldPath" "$newPath" "$out/bin/dumpnames"
25037       install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin"*"-2level/auto/Text/BibTeX/BibTeX.bundle"
25038     '';
25039     meta = {
25040       description = "Interface to read and parse BibTeX files";
25041       license = with lib.licenses; [ artistic1 gpl1Plus ];
25042     };
25043   };
25045   TextBrew = buildPerlPackage {
25046     pname = "Text-Brew";
25047     version = "0.02";
25048     src = fetchurl {
25049       url = "mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-0.02.tar.gz";
25050       hash = "sha256-qhuFhBz5/G/jODZrvIcKTpMEonZB5j+Sof2Wvujr9kw=";
25051     };
25052     meta = {
25053       description = "An implementation of the Brew edit distance";
25054       license = with lib.licenses; [ artistic1 gpl1Plus ];
25055     };
25056   };
25058   TextCharWidth = buildPerlPackage {
25059     pname = "Text-CharWidth";
25060     version = "0.04";
25061     src = fetchurl {
25062       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-0.04.tar.gz";
25063       hash = "sha256-q97V9P3ZM46J/S8dgnHESYna5b9Qrs5BthedjiMHBPg=";
25064     };
25065     meta = {
25066       description = "Get number of occupied columns of a string on terminal";
25067       license = with lib.licenses; [ artistic1 gpl1Plus ];
25068     };
25069   };
25071   TextCSV = buildPerlPackage {
25072     pname = "Text-CSV";
25073     version = "2.00";
25074     src = fetchurl {
25075       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz";
25076       hash = "sha256-jMvZGVgFIi2ZWEQRTQ5ZW7JM4Yj4UoTb8lYIAxHLssI=";
25077     };
25078     meta = {
25079       description = "Comma-separated values manipulator (using XS or PurePerl)";
25080       license = with lib.licenses; [ artistic1 gpl1Plus ];
25081     };
25082   };
25084   TextCSVEncoded = buildPerlPackage {
25085     pname = "Text-CSV-Encoded";
25086     version = "0.25";
25087     src = fetchurl {
25088       url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/Text-CSV-Encoded-0.25.tar.gz";
25089       hash = "sha256-JIpZg6IN1XeGY56I2v3WVPO5OSVJASDW1xLaayvludA=";
25090     };
25091     propagatedBuildInputs = [ TextCSV ];
25092     meta = {
25093       description = "Encoding aware Text::CSV";
25094       homepage = "https://github.com/singingfish/Text-CSV-Encoded";
25095       license = with lib.licenses; [ artistic1 gpl1Plus ];
25096     };
25097   };
25099   TextCSV_XS = buildPerlPackage {
25100     pname = "Text-CSV_XS";
25101     version = "1.44";
25102     src = fetchurl {
25103       url = "mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.44.tgz";
25104       hash = "sha256-xIEt3KjiZUc2xEvCzmCyekKKG8TVNksO0frTYJyPm8Q=";
25105     };
25106     meta = {
25107       description = "Comma-Separated Values manipulation routines";
25108       homepage = "https://metacpan.org/pod/Text::CSV_XS";
25109       license = with lib.licenses; [ artistic1 gpl1Plus ];
25110     };
25111   };
25113   TextDiff = buildPerlPackage {
25114     pname = "Text-Diff";
25115     version = "1.45";
25116     src = fetchurl {
25117       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz";
25118       hash = "sha256-6Lqgexs/U+AK82NomLv3OuyaD/OPlFNu3h2+lu8IbwQ=";
25119     };
25120     propagatedBuildInputs = [ AlgorithmDiff ];
25121     meta = {
25122       description = "Perform diffs on files and record sets";
25123       license = with lib.licenses; [ artistic1 gpl1Plus ];
25124     };
25125   };
25127   TextFormat = buildPerlModule {
25128     pname = "Text-Format";
25129     version = "0.62";
25130     src = fetchurl {
25131       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-0.62.tar.gz";
25132       hash = "sha256-fUKQVzGeEjxZC6B2UzTwreSl656o23wOxNOQLeX5BAQ=";
25133     };
25134     meta = {
25135       description = "Various subroutines to format text";
25136       homepage = "https://www.shlomifish.org/open-source/projects/Text-Format";
25137       license = with lib.licenses; [ artistic1 gpl1Plus ];
25138       maintainers = with maintainers; [ bcdarwin ];
25139     };
25140   };
25142   TextDiffFormattedHTML = buildPerlPackage {
25143     pname = "Text-Diff-FormattedHTML";
25144     version = "0.08";
25145     src = fetchurl {
25146       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-Diff-FormattedHTML-0.08.tar.gz";
25147       hash = "sha256-Oat3WlwFZ0Xyq9jMfBy8VJbf735SqfS9itpqpsnHtw0=";
25148     };
25149     propagatedBuildInputs = [ FileSlurp StringDiff ];
25150     meta = {
25151       description = "Generate a colorful HTML diff of strings/files";
25152       license = with lib.licenses; [ artistic1 gpl1Plus ];
25153       maintainers = [ maintainers.sgo ];
25154     };
25155   };
25157   TextFuzzy = buildPerlPackage {
25158     pname = "Text-Fuzzy";
25159     version = "0.29";
25160     src = fetchurl {
25161       url = "mirror://cpan/authors/id/B/BK/BKB/Text-Fuzzy-0.29.tar.gz";
25162       hash = "sha256-PfXP0soaTFyn/3urPMjVOtIGThNMvxEATzz4xLkFW/8=";
25163     };
25164     meta = {
25165       description = "Partial string matching using edit distances";
25166       license = with lib.licenses; [ artistic1 gpl1Plus ];
25167     };
25168   };
25170   TextGerman = buildPerlPackage {
25171     pname = "Text-German";
25172     version = "0.06";
25173     src = fetchurl {
25174       url = "mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz";
25175       hash = "sha256-ki1PGQEtl3OxH0pvZCEF6fkT9YZvRGG2BZymdNW7B90=";
25176     };
25177     meta = {
25178       description = "German grundform reduction";
25179       license = with lib.licenses; [ artistic1 gpl1Plus ];
25180     };
25181   };
25183   TextGlob = buildPerlPackage {
25184     pname = "Text-Glob";
25185     version = "0.11";
25186     src = fetchurl {
25187       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz";
25188       hash = "sha256-BpzNSdPwot7bEV9L3J+6wHqDWShAlT0fzfw5650wUoc=";
25189     };
25190     meta = {
25191       description = "Match globbing patterns against text";
25192       license = with lib.licenses; [ artistic1 gpl1Plus ];
25193     };
25194   };
25196   TextHogan = buildPerlPackage {
25197     pname = "Text-Hogan";
25198     version = "2.03";
25199     src = fetchurl {
25200       url = "mirror://cpan/authors/id/K/KA/KAORU/Text-Hogan-2.03.tar.gz";
25201       hash = "sha256-WNkj7eTFmEiI75u7JW2IVMxdIqRwikd0sxPLU4jFYXo=";
25202     };
25203     propagatedBuildInputs = [ Clone RefUtil TextTrim ];
25204     buildInputs = [ DataVisitor PathTiny TryTiny YAML ];
25205     meta = {
25206       description = "Text::Hogan - A mustache templating engine statement-for-statement cloned from hogan.js";
25207       license = with lib.licenses; [ artistic1 gpl1Plus ];
25208     };
25209   };
25211   TextIconv = buildPerlPackage {
25212     pname = "Text-Iconv";
25213     version = "1.7";
25214     src = fetchurl {
25215       url = "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz";
25216       hash = "sha256-W4C31ecJ00OTvLqIlxhkoXtEpb8PnkvO44PQKefS1cM=";
25217     };
25218     meta = {
25219       description = "Perl interface to iconv() codeset conversion function";
25220       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from el6
25221       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextIconv.x86_64-darwin
25222     };
25223   };
25225   TestInDistDir = buildPerlPackage {
25226     pname = "Test-InDistDir";
25227     version = "1.112071";
25228     src = fetchurl {
25229       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz";
25230       hash = "sha256-kixcYzFPQG9MuzXsQjrCFU0sK3GmWt23cyydJAqD/vs=";
25231     };
25232     meta = {
25233       description = "Test environment setup for development with IDE";
25234       homepage = "https://github.com/wchristian/Test-InDistDir";
25235       license = with lib.licenses; [ wtfpl ];
25236       maintainers = [ maintainers.sgo ];
25237     };
25238   };
25240   TestInter = buildPerlPackage {
25241     pname = "Test-Inter";
25242     version = "1.09";
25243     src = fetchurl {
25244       url = "mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.09.tar.gz";
25245       hash = "sha256-Hp8SnMGgAfuVRJ04UlOzivq/W0ZuOzvTPk5DDyFuF3o=";
25246     };
25247     buildInputs = [ FileFindRule TestPod TestPodCoverage ];
25248     meta = {
25249       description = "Framework for more readable interactive test scripts";
25250       license = with lib.licenses; [ artistic1 gpl1Plus ];
25251     };
25252   };
25254   TextLayout = buildPerlPackage {
25255     pname = "Text-Layout";
25256     version = "0.019";
25257     src = fetchurl {
25258       url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.019.tar.gz";
25259       hash = "sha256-oEPyqJ4ROynFI6nvpx+oOY7XXt1IIZOQGzjQjdSkEI4=";
25260     };
25261     buildInputs = [ PDFAPI2 ];
25262     meta = {
25263       description = "Pango style markup formatting";
25264       license = with lib.licenses; [ artistic1 gpl1Plus ];
25265     };
25266   };
25268   TextLevenshteinXS = buildPerlPackage {
25269     pname = "Text-LevenshteinXS";
25270     version = "0.03";
25271     src = fetchurl {
25272       url = "mirror://cpan/authors/id/J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz";
25273       hash = "sha256-43T/eyN5Gc5eqSRfNW0ctSzIf9JrOlo4s/Pl/4KgFJE=";
25274     };
25275     meta = {
25276       description = "Levenshtein edit distance in a XS way";
25277       license = with lib.licenses; [ artistic1 gpl1Plus ];
25278     };
25279   };
25281   TextLorem = buildPerlModule {
25282     pname = "Text-Lorem";
25283     version = "0.3";
25284     src = fetchurl {
25285       url = "mirror://cpan/authors/id/A/AD/ADEOLA/Text-Lorem-0.3.tar.gz";
25286       hash = "sha256-ZLtjb7ISExAaZGtBTsvcG1Xt+QXLzcf10kd07FBh/i0=";
25287     };
25288     meta = {
25289       description = "Generate random Latin looking text";
25290       license = with lib.licenses; [ artistic1 gpl1Plus ];
25291       maintainers = [ maintainers.sgo ];
25292       mainProgram = "lorem";
25293     };
25294   };
25296   TestManifest = buildPerlPackage {
25297     pname = "Test-Manifest";
25298     version = "2.021";
25299     src = fetchurl {
25300       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.021.tar.gz";
25301       hash = "sha256-pHqq1xxYDhbm5j2MA3zd3NkZh2dUvrLJXZqIaC3TMtk=";
25302     };
25303     meta = {
25304       description = "Interact with a t/test_manifest file";
25305       homepage = "https://github.com/briandfoy/test-manifest";
25306       license = with lib.licenses; [ artistic2 ];
25307     };
25308   };
25310   TextMarkdown = buildPerlPackage {
25311     pname = "Text-Markdown";
25312     version = "1.000031";
25313     src = fetchurl {
25314       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz";
25315       hash = "sha256-wZHG1ezrjLdcBWUZI2BmLSAtcWutB6IzxLMppChNxxs=";
25316     };
25317     nativeBuildInputs = [ shortenPerlShebang ];
25318     checkInputs = [ ListMoreUtils TestDifferences TestException ];
25319     postInstall = ''
25320       shortenPerlShebang $out/bin/Markdown.pl
25321     '';
25322     meta = {
25323       description = "Convert Markdown syntax to (X)HTML";
25324       license = with lib.licenses; [ bsd3 ];
25325       mainProgram = "Markdown.pl";
25326     };
25327   };
25329   TextMarkdownHoedown = buildPerlModule {
25330     pname = "Text-Markdown-Hoedown";
25331     version = "1.03";
25332     src = fetchurl {
25333       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Text-Markdown-Hoedown-1.03.tar.gz";
25334       hash = "sha256-U6cw/29IgrmavYVW8mqRH1gvZ1tZ8OFnJe0ey8CE7lA=";
25335     };
25336     buildInputs = [ Filepushd ];
25337     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
25338     meta = {
25339       description = "Hoedown for Perl5";
25340       homepage = "https://github.com/tokuhirom/Text-Markdown-Hoedown";
25341       license = with lib.licenses; [ artistic1 gpl1Plus ];
25342     };
25343   };
25345   TestMinimumVersion = buildPerlPackage {
25346     pname = "Test-MinimumVersion";
25347     version = "0.101082";
25348     src = fetchurl {
25349       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101082.tar.gz";
25350       hash = "sha256-P7pOj890gGJZqmOb59kOcDRq0ODkuLYZWTSQ43gkGXA=";
25351     };
25352     propagatedBuildInputs = [ PerlMinimumVersion ];
25353     meta = {
25354       description = "Does your code require newer perl than you think?";
25355       homepage = "https://github.com/rjbs/Test-MinimumVersion";
25356       license = with lib.licenses; [ artistic1 gpl1Plus ];
25357     };
25358   };
25360   TextMicroTemplate = buildPerlPackage {
25361     pname = "Text-MicroTemplate";
25362     version = "0.24";
25363     src = fetchurl {
25364       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz";
25365       hash = "sha256-MoAecfNe6Kqg1XbOwSXO5Gs9SRWuZCvGSWISDU+XtMg=";
25366     };
25367     meta = {
25368       description = "Micro template engine with Perl5 language";
25369       license = with lib.licenses; [ artistic1 gpl1Plus ];
25370     };
25371   };
25373   TextMultiMarkdown = buildPerlPackage {
25374     pname = "Text-MultiMarkdown";
25375     version = "1.000035";
25376     src = fetchurl {
25377       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-MultiMarkdown-1.000035.tar.gz";
25378       hash = "sha256-JGfdE3UdwpedfIgLJOdilSEw/fQqHtPuBP33LUtSZGo=";
25379     };
25380     buildInputs = [ ListMoreUtils TestException ];
25381     propagatedBuildInputs = [ HTMLParser TextMarkdown ];
25382     meta = {
25383       description = "Convert MultiMarkdown syntax to (X)HTML";
25384       license = with lib.licenses; [ bsd3 ];
25385       mainProgram = "MultiMarkdown.pl";
25386     };
25387   };
25389   TestNumberDelta = buildPerlPackage {
25390     pname = "Test-Number-Delta";
25391     version = "1.06";
25392     src = fetchurl {
25393       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz";
25394       hash = "sha256-U1QwkZ5v32zlX/dumJKvzLo7fUFg20XzrEOw+S/80Ek=";
25395     };
25396     meta = {
25397       description = "Compare the difference between numbers against a given tolerance";
25398       homepage = "https://github.com/dagolden/Test-Number-Delta";
25399       license = with lib.licenses; [ asl20 ];
25400     };
25401   };
25403   TextParsewords = buildPerlPackage {
25404     pname = "Text-ParseWords";
25405     version = "3.30";
25406     src = fetchurl {
25407       url = "mirror://cpan/authors/id/C/CH/CHORNY/Text-ParseWords-3.30.tar.gz";
25408       hash = "sha256-heAjgXndQ5l+WMZr1RYRGCvH1TNQUCmi2w0yMu2v9eg=";
25409     };
25410     meta = {
25411       description = "Parse text into an array of tokens or array of arrays";
25412       license = with lib.licenses; [ artistic1 gpl1Plus ];
25413     };
25414   };
25416   TextPasswordPronounceable = buildPerlPackage {
25417     pname = "Text-Password-Pronounceable";
25418     version = "0.30";
25419     src = fetchurl {
25420       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz";
25421       hash = "sha256-wYalAlbgvt+vsX584VfnxS8ZUDu3nhjr8GJVkR9urRo=";
25422     };
25423     meta = {
25424       description = "Generate pronounceable passwords";
25425       license = with lib.licenses; [ artistic1 gpl1Plus ];
25426     };
25427   };
25429   TextPatch = buildPerlPackage {
25430     pname = "Text-Patch";
25431     version = "1.8";
25432     src = fetchurl {
25433       url = "mirror://cpan/authors/id/C/CA/CADE/Text-Patch-1.8.tar.gz";
25434       hash = "sha256-6vGOYbpqPhQ4RqfMZvCM5YoMT72pKssxrt4lyztcPcw=";
25435     };
25436     propagatedBuildInputs = [ TextDiff ];
25437     meta = {
25438       description = "Patches text with given patch";
25439       license = with lib.licenses; [ gpl2Only ];
25440     };
25441   };
25443   TextPDF = buildPerlPackage {
25444     pname = "Text-PDF";
25445     version = "0.31";
25446     src = fetchurl {
25447       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz";
25448       hash = "sha256-359RXuFZgEsNWnXVrbk8RYTH7EAdjFnCfp9zkl2NrGg=";
25449     };
25450     meta = {
25451       description = "Module for manipulating PDF files";
25452       license = with lib.licenses; [ artistic1 gpl1Plus ];
25453     };
25454   };
25456   TextQuoted = buildPerlPackage {
25457     pname = "Text-Quoted";
25458     version = "2.10";
25459     src = fetchurl {
25460       url = "mirror://cpan/authors/id/B/BP/BPS/Text-Quoted-2.10.tar.gz";
25461       hash = "sha256-CBv5XskiCvJs7IkWHmG/c/n7y/7uHZrxUTnl17cI9EU=";
25462     };
25463     propagatedBuildInputs = [ TextAutoformat ];
25464     meta = {
25465       description = "Extract the structure of a quoted mail message";
25466       license = with lib.licenses; [ artistic1 gpl1Plus ];
25467     };
25468   };
25470   TextRecordParser = buildPerlPackage {
25471     pname = "Text-RecordParser";
25472     version = "1.6.5";
25473     src = fetchurl {
25474       url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-1.6.5.tar.gz";
25475       hash = "sha256-2juBQUxj+NkhjRFnRaiLlIxGyYsYdjT2KYkuVAAbw1o=";
25476     };
25478     # In a NixOS chroot build, the tests fail because the font configuration
25479     # at /etc/fonts/font.conf is not available.
25480     doCheck = false;
25482     propagatedBuildInputs = [ ClassAccessor IOStringy ListMoreUtils Readonly TextAutoformat ];
25483     buildInputs = [ TestException ];
25484     meta = {
25485       description = "Read record-oriented files";
25486       license = with lib.licenses; [ gpl2Only ];
25487     };
25488   };
25490   TextReflow = buildPerlPackage {
25491     pname = "Text-Reflow";
25492     version = "1.17";
25493     src = fetchurl {
25494       url = "mirror://cpan/authors/id/M/MW/MWARD/Text-Reflow-1.17.tar.gz";
25495       hash = "sha256-S/ITn/YX1uWcwOWc3s18tyPs/SjVrDh6+1U//cBxuGA=";
25496     };
25497     meta = {
25498       description = "Reflow text files using Knuth's paragraphing algorithm";
25499       license = with lib.licenses; [ artistic1 gpl1Plus ];
25500     };
25501   };
25503   TextReform = buildPerlModule {
25504     pname = "Text-Reform";
25505     version = "1.20";
25506     src = fetchurl {
25507       url = "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz";
25508       hash = "sha256-qHkt2MGqyXABAyM3s2o1a+luLXTE8DnvmjY7ZB20rmE=";
25509     };
25510     meta = {
25511       description = "Manual text wrapping and reformatting";
25512       license = with lib.licenses; [ artistic1 gpl1Plus ];
25513     };
25514   };
25516   TextRoman = buildPerlPackage {
25517     pname = "Text-Roman";
25518     version = "3.5";
25519     src = fetchurl {
25520       url = "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz";
25521       hash = "sha256-y0oIo7FRgC/7L84yWKQWVCq4HbD3Oe5HSpWD/7c+BGo=";
25522     };
25523     meta = {
25524       description = "Allows conversion between Roman and Arabic algarisms";
25525       homepage = "https://github.com/creaktive/Text-Roman";
25526       license = with lib.licenses; [ artistic1 gpl1Plus ];
25527     };
25528   };
25530   TextSimpleTable = buildPerlPackage {
25531     pname = "Text-SimpleTable";
25532     version = "2.07";
25533     src = fetchurl {
25534       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz";
25535       hash = "sha256-JW0/OHZOljMxWLFKsYJXuS8xVcYNZYyvuAOJ9y9GGe0=";
25536     };
25537     propagatedBuildInputs = [ UnicodeLineBreak ];
25538     meta = {
25539       description = "Simple eyecandy ASCII tables";
25540       license = with lib.licenses; [ artistic2 ];
25541     };
25542   };
25544   TextSoundex = buildPerlPackage {
25545     pname = "Text-Soundex";
25546     version = "3.05";
25547     src = fetchurl {
25548       url = "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz";
25549       hash = "sha256-9t1VtCgLJd6peCIYOYZDglYAdOHWkzOV+u4lEMLbYO0=";
25550     };
25551     meta = {
25552       description = "Implementation of the soundex algorithm";
25553       license = with lib.licenses; [ artistic1 gpl1Plus ];
25554     };
25555   };
25557   TextSprintfNamed = buildPerlModule {
25558     pname = "Text-Sprintf-Named";
25559     version = "0.0405";
25560     src = fetchurl {
25561       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Sprintf-Named-0.0405.tar.gz";
25562       hash = "sha256-m0cNeP/PxAqz+ZgjGzNrnTQXIw+3zlW0fNewVXOnD/w=";
25563     };
25564     buildInputs = [ TestWarn ];
25565     meta = {
25566       description = "Sprintf-like function with named conversions";
25567       homepage = "https://metacpan.org/release/Text-Sprintf-Named";
25568       license = with lib.licenses; [ mit ];
25569     };
25570   };
25572   TextTable = buildPerlModule {
25573     pname = "Text-Table";
25574     version = "1.134";
25575     src = fetchurl {
25576       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.134.tar.gz";
25577       hash = "sha256-us9Cmxi3wLIsCIIZBVBj45AnSVMdSI69exfqt3V80Qs=";
25578     };
25579     propagatedBuildInputs = [ TextAligner ];
25580     meta = {
25581       description = "Organize Data in Tables";
25582       homepage = "https://metacpan.org/release/Text-Table";
25583       license = with lib.licenses; [ isc ];
25584     };
25585   };
25587   TextTabularDisplay = buildPerlPackage {
25588     pname = "Text-TabularDisplay";
25589     version = "1.38";
25590     src = fetchurl {
25591       url = "mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz";
25592       hash = "sha256-6wmQ+vpWtmfyPbdkvdpaTcX0sd3EsTg6pe7W8i7Rhug=";
25593     };
25594     meta = {
25595       description = "Display text in formatted table output";
25596       license = with lib.licenses; [ gpl2Plus ];
25597     };
25598   };
25600   TextTemplate = buildPerlPackage {
25601     pname = "Text-Template";
25602     version = "1.59";
25603     src = fetchurl {
25604       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.59.tar.gz";
25605       hash = "sha256-HdLHiMBTA+2alw4YgRCWQhUfqT4Cx6gNTHBggna6se4=";
25606     };
25607     buildInputs = [ TestMoreUTF8 TestWarnings ];
25608     meta = {
25609       description = "Expand template text with embedded Perl";
25610       license = with lib.licenses; [ artistic1 gpl1Plus ];
25611     };
25612   };
25614   TestTrap = buildPerlModule {
25615     pname = "Test-Trap";
25616     version = "0.3.4";
25617     src = fetchurl {
25618       url = "mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.4.tar.gz";
25619       hash = "sha256-CwRlbzO2yW2o7sTP/lKGFQtOS14pkdOINoaxCRAQWuI=";
25620     };
25621     propagatedBuildInputs = [ DataDump ];
25622     meta = {
25623       description = "Trap exit codes, exceptions, output, etc";
25624       license = with lib.licenses; [ artistic1 gpl1Plus ];
25625     };
25626   };
25628   TestVars = buildPerlModule {
25629     pname = "Test-Vars";
25630     version = "0.014";
25631     src = fetchurl {
25632       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Vars-0.014.tar.gz";
25633       hash = "sha256-p/ehLpdx/SH8HsPePjdSJ6dL/uOye70480WkrCfAKGM=";
25634     };
25636     buildInputs = [ ModuleBuildTiny ];
25638     meta = {
25639       description = "Detects unused variables in perl modules";
25640       homepage = "https://github.com/houseabsolute/p5-Test-Vars";
25641       license = with lib.licenses; [ artistic1 gpl1Plus ];
25642     };
25643   };
25645   TestVersion = buildPerlPackage {
25646     pname = "Test-Version";
25647     version = "2.09";
25648     src = fetchurl {
25649       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-2.09.tar.gz";
25650       hash = "sha256-nOHdKJel8w4bf4lm7Gb1fY2PKA9gXyjHyiIfp5rKOOA=";
25651     };
25652     buildInputs = [ TestException ];
25653     propagatedBuildInputs = [ FileFindRulePerl ];
25654     meta = {
25655       description = "Check to see that version's in modules are sane";
25656       license = with lib.licenses; [ artistic2 ];
25657     };
25658   };
25660   TextTrim = buildPerlPackage {
25661     pname = "Text-Trim";
25662     version = "1.03";
25663     src = fetchurl {
25664       url = "mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.03.tar.gz";
25665       hash = "sha256-oPz8HUbd3sQcCYggdF6DxosG/YKfc5T6NSuw1LdTSU8=";
25666     };
25667     meta = {
25668       description = "Remove leading and/or trailing whitespace from strings";
25669       license = with lib.licenses; [ artistic1 gpl1Plus ];
25670     };
25671   };
25673   TextUnaccent = buildPerlPackage {
25674     pname = "Text-Unaccent";
25675     version = "1.08";
25676     src = fetchurl {
25677       url = "mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz";
25678       hash = "sha256-J45u/Jsk82mclh77NuvmAqNAi1QVcgF97hMdFScocys=";
25679     };
25680     # https://rt.cpan.org/Public/Bug/Display.html?id=124815
25681     NIX_CFLAGS_COMPILE = "-DHAS_VPRINTF";
25682     meta = {
25683       description = "Remove accents from a string";
25684       license = with lib.licenses; [ gpl2Only ];
25685       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextUnaccent.x86_64-darwin
25686     };
25687   };
25689   TextUnidecode = buildPerlPackage {
25690     pname = "Text-Unidecode";
25691     version = "1.30";
25692     src = fetchurl {
25693       url = "mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz";
25694       hash = "sha256-bCTxTdwdIOJhYcIHtzyhhO7S71fwi1+y7hlubi6IscY=";
25695     };
25696     meta = {
25697       description = "Plain ASCII transliterations of Unicode tex";
25698       license = with lib.licenses; [ artistic1 gpl1Plus ];
25699     };
25700   };
25702   Testutf8 = buildPerlPackage {
25703     pname = "Test-utf8";
25704     version = "1.02";
25705     src = fetchurl {
25706       url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz";
25707       hash = "sha256-34LwnFlAgwslpJ8cgWL6JNNx5gKIDt742aTUv9Zri9c=";
25708     };
25709     meta = {
25710       description = "Handy utf8 tests";
25711       homepage = "https://github.com/2shortplanks/Test-utf8/tree";
25712       license = with lib.licenses; [ artistic1 gpl1Plus ];
25713     };
25714   };
25716   TextNSP = buildPerlPackage {
25717     pname = "Text-NSP";
25718     version = "1.31";
25719     src = fetchurl {
25720       url = "mirror://cpan/authors/id/T/TP/TPEDERSE/Text-NSP-1.31.tar.gz";
25721       hash = "sha256-oBIBvrKWNrPkHs2ips9lIv0mVBa9bZlPrQL1n7Sc9ZU=";
25722     };
25723     meta = {
25724       description = "Extract collocations and Ngrams from text";
25725       license = with lib.licenses; [ gpl2Plus ];
25726       maintainers = [ maintainers.bzizou ];
25727     };
25728   };
25730   TextvFileasData = buildPerlPackage {
25731     pname = "Text-vFile-asData";
25732     version = "0.08";
25733     src = fetchurl {
25734       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz";
25735       hash = "sha256-spGrXg+YfFFyVgppIjRxGnXkWW2DR19y0BJ4NpUy+Co=";
25736     };
25737     propagatedBuildInputs = [ ClassAccessorChained ];
25738     meta = {
25739       description = "Parse vFile formatted files into data structures";
25740       license = with lib.licenses; [ artistic1 gpl1Plus ];
25741     };
25742   };
25744   TextWikiFormat = buildPerlModule {
25745     pname = "Text-WikiFormat";
25746     version = "0.81";
25747     src = fetchurl {
25748       url = "mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz";
25749       hash = "sha256-5DzZla2RV6foOdmT7ntsTRhUlH5VfQltnVqvdFB/qzM=";
25750     };
25751     propagatedBuildInputs = [ URI ];
25752     meta = {
25753       description = "Module for translating Wiki formatted text into other formats";
25754       license = with lib.licenses; [ artistic1 gpl1Plus ];
25755     };
25756   };
25758   TextWordDiff = buildPerlPackage {
25759     pname = "Text-WordDiff";
25760     version = "0.09";
25761     src = fetchurl {
25762       url = "mirror://cpan/authors/id/T/TI/TIMK/Text-WordDiff-0.09.tar.gz";
25763       hash = "sha256-/uaZynY63KL04Y9KioNv0hArwoIK9wj460M1bVrg1Q4=";
25764     };
25765     propagatedBuildInputs = [ AlgorithmDiff HTMLParser ];
25766     meta = {
25767       description = "Track changes between documents";
25768       homepage = "https://metacpan.org/release/Text-WordDiff";
25769       license = with lib.licenses; [ artistic1 gpl1Plus ];
25770     };
25771   };
25773   TextWrapI18N = buildPerlPackage {
25774     pname = "Text-WrapI18N";
25775     version = "0.06";
25776     src = fetchurl {
25777       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz";
25778       hash = "sha256-S9KaF/DCx5LRLBAFs8J28qsPrjnACFmuF0HXlBhGpIg=";
25779     };
25780     buildInputs = [ pkgs.glibcLocales ];
25781     propagatedBuildInputs = [ TextCharWidth ];
25782     preConfigure = ''
25783       substituteInPlace WrapI18N.pm --replace '/usr/bin/locale' '${pkgs.glibc.bin}/bin/locale'
25784     '';
25785     meta = {
25786       description = "Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words";
25787       license = with lib.licenses; [ artistic1 gpl1Plus ];
25788     };
25789   };
25791   TextWrapper = buildPerlPackage {
25792     pname = "Text-Wrapper";
25793     version = "1.05";
25794     src = fetchurl {
25795       url = "mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz";
25796       hash = "sha256-ZCaOFZg6nfR+HZGZpJHzlOifVC5Ur7M/S3jz8xjgmrk=";
25797     };
25798     buildInputs = [ TestDifferences ];
25799     meta = {
25800       description = "Word wrap text by breaking long lines";
25801       license = with lib.licenses; [ artistic1 gpl1Plus ];
25802     };
25803   };
25805   Throwable = buildPerlPackage {
25806     pname = "Throwable";
25807     version = "0.200013";
25808     src = fetchurl {
25809       url = "mirror://cpan/authors/id/R/RJ/RJBS/Throwable-0.200013.tar.gz";
25810       hash = "sha256-mYfQ3rW93TUqYzDO++ky+ILjbdjIpFZLz9Ny3Dlrj6A=";
25811     };
25812     propagatedBuildInputs = [ DevelStackTrace Moo ];
25813     meta = {
25814       description = "A role for classes that can be thrown";
25815       homepage = "https://github.com/rjbs/Throwable";
25816       license = with lib.licenses; [ artistic1 gpl1Plus ];
25817     };
25818   };
25820   TieCacheLRU = buildPerlPackage {
25821     pname = "Tie-Cache-LRU";
25822     version = "20150301";
25823     src = fetchurl {
25824       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Tie-Cache-LRU-20150301.tar.gz";
25825       hash = "sha256-G/dARQ06bXwStIwl99pZZOROfMOLKFcs+3b/IkZPRGk=";
25826     };
25827     propagatedBuildInputs = [ ClassVirtual enum ];
25828     meta = {
25829       description = "A Least-Recently Used cache";
25830       license = with lib.licenses; [ artistic1 gpl1Plus ];
25831     };
25832   };
25834   TieCacheLRUExpires = buildPerlPackage {
25835     pname = "Tie-Cache-LRU-Expires";
25836     version = "0.55";
25837     src = fetchurl {
25838       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Tie-Cache-LRU-Expires-0.55.tar.gz";
25839       hash = "sha256-sxbYSazSXyQ0bVWplQ0oH+4HRjmHZ8YBI0EiFZVz65o=";
25840     };
25841     propagatedBuildInputs = [ TieCacheLRU ];
25842     meta = {
25843       description = "Extends Tie::Cache::LRU with expiring";
25844       license = with lib.licenses; [ artistic1 ];
25845     };
25846   };
25848   TieCycle = buildPerlPackage {
25849     pname = "Tie-Cycle";
25850     version = "1.225";
25851     src = fetchurl {
25852       url = "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.225.tar.gz";
25853       hash = "sha256-8zDYIWlK+bJptgg1cNXBDqIubrOyGEEEjOKCUrHAPUU=";
25854     };
25855     meta = {
25856       description = "Cycle through a list of values via a scalar";
25857       homepage = "https://github.com/briandfoy/tie-cycle";
25858       license = with lib.licenses; [ artistic2 ];
25859     };
25860   };
25862   TieEncryptedHash = buildPerlPackage {
25863     pname = "Tie-EncryptedHash";
25864     version = "1.24";
25865     src = fetchurl {
25866       url = "mirror://cpan/authors/id/V/VI/VIPUL/Tie-EncryptedHash-1.24.tar.gz";
25867       hash = "sha256-qpoIOiMeQEYXCliUZE48WWecfb0KotEhfchRUN8sHiE=";
25868     };
25869     propagatedBuildInputs = [ CryptBlowfish CryptCBC CryptDES ];
25870     meta = {
25871       description = "Hashes (and objects based on hashes) with encrypting fields";
25872       license = with lib.licenses; [ artistic1 gpl1Plus ];
25873       maintainers = [ maintainers.sgo ];
25874     };
25875   };
25877   TieFile = buildPerlPackage {
25878     pname = "Tie-File";
25879     version = "1.05";
25880     src = fetchurl {
25881       url = "mirror://cpan/authors/id/T/TO/TODDR/Tie-File-1.05.tar.gz";
25882       hash = "sha256-ipgLV3/0sQ/hEGLtjHdIV/qMmDPFMF8ui/szR69j8Tk=";
25883     };
25884     meta = {
25885       description = "Access the lines of a disk file via a Perl array";
25886       license = with lib.licenses; [ artistic1 gpl1Plus ];
25887     };
25888   };
25890   TieIxHash = buildPerlModule {
25891     pname = "Tie-IxHash";
25892     version = "1.23";
25893     src = fetchurl {
25894       url = "mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz";
25895       hash = "sha256-+rsLjJfmfJs0tswY7Wb2xeAcVbJX3PAHVV4LAn1Mr1Y=";
25896     };
25897     meta = {
25898       description = "Ordered associative arrays for Perl";
25899       license = with lib.licenses; [ artistic1 gpl1Plus ];
25900     };
25901   };
25903   TieHandleOffset = buildPerlPackage {
25904     pname = "Tie-Handle-Offset";
25905     version = "0.004";
25906     src = fetchurl {
25907       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-0.004.tar.gz";
25908       hash = "sha256-7p85BV3GlaokSiUvVv/Tf4vgcgmzN604eCRyEgbSqJ4=";
25909     };
25910     meta = {
25911       description = "Tied handle that hides the beginning of a file";
25912       homepage = "https://github.com/dagolden/tie-handle-offset";
25913       license = with lib.licenses; [ asl20 ];
25914     };
25915   };
25917   TieHashIndexed = buildPerlPackage {
25918     pname = "Tie-Hash-Indexed";
25919     version = "0.08";
25920     src = fetchurl {
25921       url = "mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.08.tar.gz";
25922       hash = "sha256-N7xigV9ahIrHeRK5v0eIqfJyiE6DpS4gk9q0qDpKexA=";
25923     };
25924     doCheck = false; /* test fails on some machines */
25925     meta = {
25926       description = "Ordered hashes for Perl";
25927       license = with lib.licenses; [ artistic1 gpl1Plus ];
25928     };
25929   };
25931   TieHashMethod = buildPerlPackage {
25932     pname = "Tie-Hash-Method";
25933     version = "0.02";
25934     src = fetchurl {
25935       url = "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-0.02.tar.gz";
25936       hash = "sha256-1RP7tRQT98oeZKG9zmGU337GB23qVQZtZ7lQGR7sMqk=";
25937     };
25938     meta = {
25939       description = "Tied hash with specific methods overriden by callbacks";
25940       license = with lib.licenses; [ artistic1 ];
25941     };
25942   };
25944   TieRefHash = buildPerlPackage {
25945     pname = "Tie-RefHash";
25946     version = "1.40";
25947     src = fetchurl {
25948       url = "mirror://cpan/authors/id/E/ET/ETHER/Tie-RefHash-1.40.tar.gz";
25949       hash = "sha256-Ws8fUY0vtfYgyq16Gy/x9vdRb++PQLprdD7si5aSftc=";
25950     };
25951     meta = {
25952       description = "Use references as hash keys";
25953       license = with lib.licenses; [ artistic1 gpl1Plus ];
25954     };
25955   };
25957   TieRegexpHash = buildPerlPackage {
25958     pname = "Tie-RegexpHash";
25959     version = "0.17";
25960     src = fetchurl {
25961       url = "mirror://cpan/authors/id/A/AL/ALTREUS/Tie-RegexpHash-0.17.tar.gz";
25962       hash = "sha256-DCB4UOd++xZhjgqgFVB5JqNCWzSq1apuPkDYOYmghaM=";
25963     };
25964     meta = {
25965       description = "Use regular expressions as hash keys";
25966       license = with lib.licenses; [ artistic1 ];
25967     };
25968   };
25970   TieSimple = buildPerlPackage {
25971     pname = "Tie-Simple";
25972     version = "1.04";
25973     src = fetchurl {
25974       url = "mirror://cpan/authors/id/H/HA/HANENKAMP/Tie-Simple-1.04.tar.gz";
25975       hash = "sha256-KeniEzlRBGx48gXxs+jfYskOEU8OCPoGuBd2ag+AixI=";
25976     };
25977     meta = {
25978       description = "Variable ties made much easier: much, much, much easier..";
25979       license = with lib.licenses; [ artistic1 gpl1Plus ];
25980     };
25981   };
25983   TieSub = buildPerlPackage {
25984     pname = "Tie-Sub";
25985     version = "1.001";
25986     src = fetchurl {
25987       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz";
25988       hash = "sha256-73GgSCbRNisrduyyHOFzw304pHqf7Cg6qYJDWJD08bE=";
25989     };
25990     propagatedBuildInputs = [ ParamsValidate ];
25991     buildInputs = [ ModuleBuild TestDifferences TestException TestNoWarnings ];
25992     meta = {
25993       description = "Tie::Sub - Tying a subroutine, function or method to a hash";
25994       license = with lib.licenses; [ artistic1 gpl1Plus ];
25995     };
25996   };
25998   TieToObject = buildPerlPackage {
25999     pname = "Tie-ToObject";
26000     version = "0.03";
26001     src = fetchurl {
26002       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz";
26003       hash = "sha256-oxoNRDD+FPWWIvMdt/JbInXa0uxS8QQL6wMNPoOtOvQ=";
26004     };
26005     meta = {
26006       description = "Tie to an existing object";
26007       license = with lib.licenses; [ artistic1 gpl1Plus ];
26008     };
26009   };
26011   TimeDate = buildPerlPackage {
26012     pname = "TimeDate";
26013     version = "2.33";
26014     src = fetchurl {
26015       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz";
26016       hash = "sha256-wLacSwOd5vUBsNnxPsWMhrBAwffpsn7ySWUcFD1gXrI=";
26017     };
26018     meta = {
26019       description = "Miscellaneous timezone manipulations routines";
26020       license = with lib.licenses; [ artistic1 gpl1Plus ];
26021     };
26022   };
26024   TimeDuration = buildPerlPackage {
26025     pname = "Time-Duration";
26026     version = "1.21";
26027     src = fetchurl {
26028       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-1.21.tar.gz";
26029       hash = "sha256-/jQOuodl+SY2lGdOXf8UgzRD4Zhl5f9Ce715t7X4qbg=";
26030     };
26031     meta = {
26032       description = "Rounded or exact English expression of durations";
26033       homepage = "https://github.com/neilbowers/Time-Duration";
26034       license = with lib.licenses; [ artistic1 gpl1Plus ];
26035     };
26036   };
26038   TimeDurationParse = buildPerlPackage {
26039     pname = "Time-Duration-Parse";
26040     version = "0.15";
26041     src = fetchurl {
26042       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-Parse-0.15.tar.gz";
26043       hash = "sha256-YdgUOo5pgcwfepdIBNSSA55eVnFnZ4KdXkvNntdK44E=";
26044     };
26045     buildInputs = [ TimeDuration ];
26046     propagatedBuildInputs = [ ExporterLite ];
26047     meta = {
26048       description = "Parse string that represents time duration";
26049       homepage = "https://github.com/neilb/Time-Duration-Parse";
26050       license = with lib.licenses; [ artistic1 gpl1Plus ];
26051     };
26052   };
26054   TimeLocal = buildPerlPackage {
26055     pname = "Time-Local";
26056     version = "1.30";
26057     src = fetchurl {
26058       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.30.tar.gz";
26059       hash = "sha256-x3RPaymGuUbT4s8DTfNxvuFs26/lPpRauxpULE+JIMs=";
26060     };
26061     meta = {
26062       description = "Efficiently compute time from local and GMT time";
26063       homepage = "https://metacpan.org/release/Time-Local";
26064       license = with lib.licenses; [ artistic1 gpl1Plus ];
26065     };
26066   };
26068   TimeMoment = buildPerlPackage {
26069     pname = "Time-Moment";
26070     version = "0.44";
26071     src = fetchurl {
26072       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Time-Moment-0.44.tar.gz";
26073       hash = "sha256-ZKz6BC9jT8742t9V5/QrpOqriq631SEuuJgVox949v0=";
26074     };
26075     buildInputs = [ TestFatal TestNumberDelta TestRequires ];
26076     meta = {
26077       description = "Represents a date and time of day with an offset from UTC";
26078       license = with lib.licenses; [ artistic1 gpl1Plus ];
26079     };
26080   };
26082   TimeOut = buildPerlPackage {
26083     pname = "Time-Out";
26084     version = "0.11";
26085     src = fetchurl {
26086       url = "mirror://cpan/authors/id/P/PA/PATL/Time-Out-0.11.tar.gz";
26087       hash = "sha256-k5baaY/UUtnOYNZCzaIQjxHyDtdsiWF3muEbiXroFdI=";
26088     };
26089     meta = {
26090       description = "Easily timeout long running operations";
26091       license = with lib.licenses; [ artistic1 gpl1Plus ];
26092     };
26093   };
26095   TimeParseDate = buildPerlPackage {
26096     pname = "Time-ParseDate";
26097     version = "2015.103";
26098     src = fetchurl {
26099       url = "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz";
26100       hash = "sha256-LBoGI1v4EYE8qsnqqdqnGvdYZnzfewgstZhjIg/K7tE=";
26101     };
26102     doCheck = false;
26103     meta = {
26104       description = "Parse and format time values";
26105       license = with lib.licenses; [ publicDomain ];
26106     };
26107   };
26109   TimePeriod = buildPerlPackage {
26110     pname = "Time-Period";
26111     version = "1.25";
26112     src = fetchurl {
26113       url = "mirror://cpan/authors/id/P/PB/PBOYD/Time-Period-1.25.tar.gz";
26114       hash = "sha256-0H+lgFKb6sapyCdMa/IgtMOq3mhd9lwWadUzOb9u8eg=";
26115     };
26116     meta = {
26117       description = "A Perl module to deal with time periods";
26118       license = with lib.licenses; [ artistic1 gpl1Plus ];
26119       maintainers = [ maintainers.winpat ];
26120     };
26121   };
26123   TimePiece = buildPerlPackage {
26124     pname = "Time-Piece";
26125     version = "1.3401";
26126     src = fetchurl {
26127       url = "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-1.3401.tar.gz";
26128       hash = "sha256-S1W3uw6rRc8jmlTf6tJ336BhIaQ+Y7P84IU67P2wTCc=";
26129     };
26130     meta = {
26131       description = "Object Oriented time objects";
26132       homepage = "https://metacpan.org/release/Time-Piece";
26133       license = with lib.licenses; [ artistic1 gpl1Plus ];
26134       maintainers = with maintainers; [ sgo ];
26135     };
26136   };
26138   Tirex = buildPerlPackage rec {
26139     pname = "Tirex";
26140     version = "0.7.0";
26142     src = fetchFromGitHub {
26143       owner = "openstreetmap";
26144       repo = "tirex";
26145       rev = "v${version}";
26146       hash = "sha256-0QbPfCPBdNBbUiZ8Ppg2zao98+Ddl3l+yX6y1/J50rg=";
26147     };
26149     buildInputs = [
26150       GD
26151       IPCShareLite
26152       JSON
26153       LWP
26154       HTTPDaemon
26155       pkgs.cairo
26156       pkgs.mapnik
26157       pkgs.zlib
26158     ];
26160     installPhase = ''
26161       install -m 755 -d $out/usr/libexec
26162       make install DESTDIR=$out INSTALLOPTS=""
26163       mv $out/$out/lib $out/$out/share $out
26164       rmdir $out/$out $out/nix/store $out/nix
26165     '';
26167     meta = {
26168       description = "Tools for running a map tile server";
26169       homepage = "https://wiki.openstreetmap.org/wiki/Tirex";
26170       maintainers = with maintainers; [ jglukasik ];
26171       license = with lib.licenses; [ gpl2Only ];
26172     };
26173   };
26175   Tk = buildPerlPackage {
26176     pname = "Tk";
26177     version = "804.035";
26178     src = fetchurl {
26179       url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.035.tar.gz";
26180       hash = "sha256-TSuAKRum3jTY7IhqCFptvSt5C5JgNaCH6ZAlYUxf/dQ=";
26181     };
26182     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
26183     buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
26184     doCheck = false;            # Expects working X11.
26185     meta = {
26186       description = "Tk - a Graphical User Interface Toolkit";
26187       license = with lib.licenses; [ tcltk ];
26188     };
26189   };
26191   TkToolBar = buildPerlPackage {
26192     pname = "Tk-ToolBar";
26193     version = "0.12";
26194     src = fetchurl {
26195       url = "mirror://cpan/authors/id/A/AS/ASB/Tk-ToolBar-0.12.tar.gz";
26196       hash = "sha256-Rj4oTsRxN+fEJclpGwKo3sXOJytY6h9jWa6AQaI53Q8=";
26197     };
26198     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
26199     buildInputs = [ Tk ];
26200     doCheck = false;            # Expects working X11.
26201     meta = {
26202       description = "A toolbar widget for Perl/Tk";
26203       license = with lib.licenses; [ artistic1 gpl1Plus ];
26204     };
26205   };
26207   TreeDAGNode = buildPerlPackage {
26208     pname = "Tree-DAG_Node";
26209     version = "1.31";
26210     src = fetchurl {
26211       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.31.tgz";
26212       hash = "sha256-HIuml3JWizdYBUJHCXUSxVDv4xUXwyn7Ze73r8zJ0wQ=";
26213     };
26214     propagatedBuildInputs = [ FileSlurpTiny ];
26215     meta = {
26216       description = "An N-ary tree";
26217       license = with lib.licenses; [ artistic1 gpl1Plus ];
26218     };
26219   };
26221   TreeSimple = buildPerlPackage {
26222     pname = "Tree-Simple";
26223     version = "1.33";
26224     src = fetchurl {
26225       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-1.33.tgz";
26226       hash = "sha256-2zrXFCjsbDI9DL8JAWkQ5bft2bbTs1RDoorYw8zilqo=";
26227     };
26228     buildInputs = [ TestException ];
26229     meta = {
26230       description = "A simple tree object";
26231       license = with lib.licenses; [ artistic1 gpl1Plus ];
26232     };
26233   };
26235   TreeSimpleVisitorFactory = buildPerlPackage {
26236     pname = "Tree-Simple-VisitorFactory";
26237     version = "0.15";
26238     src = fetchurl {
26239       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.15.tgz";
26240       hash = "sha256-Nn6C7OfOPioWbDjc+mYI59xxV4HpTgtTmQcMOr/awhs=";
26241     };
26242     propagatedBuildInputs = [ TreeSimple ];
26243     buildInputs = [ TestException ];
26244     meta = {
26245       description = "A factory object for dispensing Visitor objects";
26246       license = with lib.licenses; [ artistic1 gpl1Plus ];
26247     };
26248   };
26250   TryTiny = buildPerlPackage {
26251     pname = "Try-Tiny";
26252     version = "0.30";
26253     src = fetchurl {
26254       url = "mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz";
26255       hash = "sha256-2lvQ1ckDUZu/ELuboMt7ysBWOIK8/kUDruP7FD7d72s=";
26256     };
26257     buildInputs = [ CPANMetaCheck CaptureTiny ];
26258     meta = {
26259       description = "Minimal try/catch with proper preservation of $@";
26260       homepage = "https://github.com/p5sagit/Try-Tiny";
26261       license = with lib.licenses; [ mit ];
26262     };
26263   };
26265   TryTinyByClass = buildPerlPackage {
26266     pname = "Try-Tiny-ByClass";
26267     version = "0.01";
26268     src = fetchurl {
26269       url = "mirror://cpan/authors/id/M/MA/MAUKE/Try-Tiny-ByClass-0.01.tar.gz";
26270       hash = "sha256-A45O9SkpXyacKA/vmZpeTbkVaULwkaw8rXabHkVw8UY=";
26271     };
26272     propagatedBuildInputs = [ DispatchClass TryTiny ];
26273     meta = {
26274       description = "Selectively catch exceptions by class name";
26275       license = with lib.licenses; [ artistic1 gpl1Plus ];
26276     };
26277   };
26279   Twiggy = buildPerlPackage {
26280     pname = "Twiggy";
26281     version = "0.1025";
26282     src = fetchurl {
26283       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1025.tar.gz";
26284       hash = "sha256-11rfljqoFclx8PFxxpTtAI2mAWszfA0/zYdZz5edp6g=";
26285     };
26286     propagatedBuildInputs = [ AnyEvent Plack ];
26287     buildInputs = [ TestRequires TestSharedFork TestTCP ];
26288     meta = {
26289       description = "AnyEvent HTTP server for PSGI";
26290       homepage = "https://github.com/miyagawa/Twiggy";
26291       license = with lib.licenses; [ artistic1 gpl1Plus ];
26292       mainProgram = "twiggy";
26293     };
26294   };
26296   TypeTiny = buildPerlPackage {
26297     pname = "Type-Tiny";
26298     version = "1.012000";
26299     src = fetchurl {
26300       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.012000.tar.gz";
26301       hash = "sha256-09sSIBYcKuprC4oiJcT+9Sbo275WtL/+naq8A+Lv6pA=";
26302     };
26303     propagatedBuildInputs = [ ExporterTiny ];
26304     buildInputs = [ TestMemoryCycle ];
26305     meta = {
26306       description = "Tiny, yet Moo(se)-compatible type constraint";
26307       homepage = "https://typetiny.toby.ink";
26308       license = with lib.licenses; [ artistic1 gpl1Plus ];
26309     };
26310   };
26312   TypeTinyXS = buildPerlPackage {
26313     pname = "Type-Tiny-XS";
26314     version = "0.022";
26315     src = fetchurl {
26316       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-XS-0.022.tar.gz";
26317       hash = "sha256-vMNKMffcHTDMgDiJtcj5Dkdztztb7L2zhg9avn4i/wA=";
26318     };
26319     meta = {
26320       description = "Provides an XS boost for some of Type::Tiny's built-in type constraints";
26321       homepage = "https://metacpan.org/release/Type-Tiny-XS";
26322       license = with lib.licenses; [ artistic1 gpl1Plus ];
26323     };
26324   };
26326   TypesSerialiser = buildPerlPackage {
26327     pname = "Types-Serialiser";
26328     version = "1.01";
26329     src = fetchurl {
26330       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.01.tar.gz";
26331       hash = "sha256-+McXOwkU0OPZVyggd7Nm8MjHAlZxXq7zKY/zK5I4ioA=";
26332     };
26333     propagatedBuildInputs = [ commonsense ];
26334     meta = {
26335       description = "Simple data types for common serialisation formats";
26336       license = with lib.licenses; [ artistic1 gpl1Plus ];
26337     };
26338   };
26340   UNIVERSALcan = buildPerlPackage {
26341     pname = "UNIVERSAL-can";
26342     version = "1.20140328";
26343     src = fetchurl {
26344       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz";
26345       hash = "sha256-Ui2p8nR4b+LLqZvHfMHIHSFhlHkD1/rRC9Yt+38RmQ8=";
26346     };
26347     meta = {
26348       description = "Work around buggy code calling UNIVERSAL::can() as a function";
26349       homepage = "https://github.com/chromatic/UNIVERSAL-can";
26350       license = with lib.licenses; [ artistic1 gpl1Plus ];
26351     };
26352   };
26354   UNIVERSALisa = buildPerlPackage {
26355     pname = "UNIVERSAL-isa";
26356     version = "1.20171012";
26357     src = fetchurl {
26358       url = "mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz";
26359       hash = "sha256-0WlWA2ywHIGd7H0pT274kb4Ltkh2mJYBNUspMWTafys=";
26360     };
26361     meta = {
26362       description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
26363       homepage = "https://github.com/karenetheridge/UNIVERSAL-isa";
26364       license = with lib.licenses; [ artistic1 gpl1Plus ];
26365     };
26366   };
26368   UNIVERSALrequire = buildPerlPackage {
26369     pname = "UNIVERSAL-require";
26370     version = "0.18";
26371     src = fetchurl {
26372       url = "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.18.tar.gz";
26373       hash = "sha256-sqc2qHlnoUPatYyKEQUB1SNbzdLIsqO//808C9BrOO0=";
26374     };
26375     meta = {
26376       description = "Require() modules from a variable [deprecated]";
26377       license = with lib.licenses; [ artistic1 gpl1Plus ];
26378     };
26379   };
26381   UnicodeCaseFold = buildPerlModule {
26382     pname = "Unicode-CaseFold";
26383     version = "1.01";
26384     src = fetchurl {
26385       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz";
26386       hash = "sha256-QYohKAj50Li7MwrJBQltLdNkl2dT1McVNNq5g2pjGU0=";
26387     };
26388     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
26389     meta = {
26390       description = "Unicode case-folding for case-insensitive lookups";
26391       homepage = "https://metacpan.org/release/Unicode-CaseFold";
26392       license = with lib.licenses; [ artistic1 gpl1Plus ];
26393     };
26394   };
26396   UnicodeCheckUTF8 = buildPerlPackage {
26397     pname = "Unicode-CheckUTF8";
26398     version = "1.03";
26399     src = fetchurl {
26400       url = "mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz";
26401       hash = "sha256-l/hNrwM+ubSc2P4x2yIf7wNaXC7h11fzEiyIz5diQUw=";
26402     };
26403     meta = {
26404       description = "Checks if scalar is valid UTF-8";
26405       license = with lib.licenses; [ ucd /* and */ artistic1 gpl1Plus ];
26406     };
26407   };
26409   UnicodeLineBreak = buildPerlPackage {
26410     pname = "Unicode-LineBreak";
26411     version = "2019.001";
26412     src = fetchurl {
26413       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz";
26414       hash = "sha256-SGdi5MrN3Md7E5ifl5oCn4RjC4F15/7xeYnhV9S2MYo=";
26415     };
26416     propagatedBuildInputs = [ MIMECharset ];
26417     meta = {
26418       description = "UAX #14 Unicode Line Breaking Algorithm";
26419       license = with lib.licenses; [ artistic1 gpl1Plus ];
26420     };
26421   };
26423   UnicodeString = buildPerlPackage {
26424     pname = "Unicode-String";
26425     version = "2.10";
26426     src = fetchurl {
26427       url = "mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz";
26428       hash = "sha256-iUoRDs5HlUaviv7Aly7scyDIbE3qTms1Tf88dSa6m2g=";
26429     };
26430     meta = {
26431       description = "String of Unicode characters (UTF-16BE)";
26432       license = with lib.licenses; [ artistic1 gpl1Plus ];
26433     };
26434   };
26436   UnicodeStringprep = buildPerlModule {
26437     pname = "Unicode-Stringprep";
26438     version = "1.105";
26439     src = fetchurl {
26440       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Unicode-Stringprep-1.105.tar.gz";
26441       hash = "sha256-5r67xYQIIx/RMX25ECRJs+faT6Q3559jc4LTYxPv0BE=";
26442     };
26443     buildInputs = [ TestNoWarnings ];
26444     meta = {
26445       description = "Preparation of Internationalized Strings (RFC 3454)";
26446       license = with lib.licenses; [ artistic1 gpl1Plus ];
26447       maintainers = [ maintainers.sgo ];
26448     };
26449   };
26451   UnicodeUTF8 = buildPerlPackage {
26452     pname = "Unicode-UTF8";
26453     version = "0.62";
26454     src = fetchurl {
26455       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Unicode-UTF8-0.62.tar.gz";
26456       hash = "sha256-+oci0LdGluMy/d1EKZRDbqk9O/x5gtS6vc7f3dZX0PY=";
26457     };
26458     buildInputs = [ TestFatal ];
26459     meta = {
26460       description = "Encoding and decoding of UTF-8 encoding form";
26461       homepage = "https://github.com/chansen/p5-unicode-utf8";
26462       license = with lib.licenses; [ artistic1 gpl1Plus ];
26463       maintainers = with maintainers; [ sgo ];
26464     };
26465   };
26467   UnixGetrusage = buildPerlPackage {
26468     pname = "Unix-Getrusage";
26469     version = "0.03";
26470     src = fetchurl {
26471       url = "mirror://cpan/authors/id/T/TA/TAFFY/Unix-Getrusage-0.03.tar.gz";
26472       hash = "sha256-ds3hzuJFMmC4WrvdwnzcmHXwHSRX4XbgPcq/BftETRI=";
26473     };
26474     meta = {
26475       description = "Perl interface to the Unix getrusage system call";
26476       license = with lib.licenses; [ artistic1 gpl1Plus ];
26477     };
26478   };
26480   URI = buildPerlPackage {
26481     pname = "URI";
26482     version = "5.05";
26483     src = fetchurl {
26484       url = "mirror://cpan/authors/id/O/OA/OALDERS/URI-5.05.tar.gz";
26485       hash = "sha256-pcET0tAnBtn73KaobykMWwWy+Gg21Of+FEfwYyYbeew=";
26486     };
26487     buildInputs = [ TestNeeds ];
26488     meta = {
26489       description = "Uniform Resource Identifiers (absolute and relative)";
26490       homepage = "https://github.com/libwww-perl/URI";
26491       license = with lib.licenses; [ artistic1 gpl1Plus ];
26492     };
26493   };
26495   URIdb = buildPerlModule {
26496     pname = "URI-db";
26497     version = "0.19";
26498     src = fetchurl {
26499       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.19.tar.gz";
26500       hash = "sha256-xJmd6vRRZSIWAyyOMn/25tZVU56sN5CVu2mww2nvplg=";
26501     };
26502     propagatedBuildInputs = [ URINested ];
26503     meta = {
26504       description = "Database URIs";
26505       homepage = "https://search.cpan.org/dist/URI-db";
26506       license = with lib.licenses; [ artistic1 gpl1Plus ];
26507     };
26508   };
26510   URIFind = buildPerlModule {
26511     pname = "URI-Find";
26512     version = "20160806";
26513     src = fetchurl {
26514       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20160806.tar.gz";
26515       hash = "sha256-4hOkJaUbX1UyQhHzeQnXh0nQus3qJZulGphV0NGWY9Y=";
26516     };
26517     propagatedBuildInputs = [ URI ];
26518     meta = {
26519       description = "Find URIs in arbitrary text";
26520       homepage = "https://metacpan.org/release/URI-Find";
26521       license = with lib.licenses; [ artistic1 gpl1Plus ];
26522       mainProgram = "urifind";
26523     };
26524   };
26526   URIFromHash = buildPerlPackage {
26527     pname = "URI-FromHash";
26528     version = "0.05";
26529     src = fetchurl {
26530       url = "mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz";
26531       hash = "sha256-p8rFvM7p8uLYrQ9gVAAWNxLNCsZN8vuDT3YPtJ8vb9A=";
26532     };
26533     propagatedBuildInputs = [ ParamsValidate URI ];
26534     buildInputs = [ TestFatal ];
26535     meta = {
26536       description = "Build a URI from a set of named parameters";
26537       homepage = "https://metacpan.org/release/URI-FromHash";
26538       license = with lib.licenses; [ artistic2 ];
26539     };
26540   };
26542   UriGoogleChart = buildPerlPackage {
26543     pname = "URI-GoogleChart";
26544     version = "1.02";
26545     src = fetchurl {
26546       url = "mirror://cpan/authors/id/G/GA/GAAS/URI-GoogleChart-1.02.tar.gz";
26547       hash = "sha256-WoLCLsYBejXQ/IJv7xNBIiaHL8SiPA4sAUqfqS8rGAI=";
26548     };
26549     propagatedBuildInputs = [ URI ];
26550     meta = {
26551       description = "Generate Google Chart URIs";
26552       license = with lib.licenses; [ artistic1 gpl1Plus ];
26553     };
26554   };
26556   UserIdentity = buildPerlPackage {
26557     pname = "User-Identity";
26558     version = "1.00";
26559     src = fetchurl {
26560       url = "mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-1.00.tar.gz";
26561       hash = "sha256-khm0Jxz+tyYzDpVkWJ6jp9tLbdb29EI3RgSN8aCOn0o=";
26562     };
26563     meta = {
26564       description = "Collect information about a user";
26565       homepage = "http://perl.overmeer.net/CPAN";
26566       license = with lib.licenses; [ artistic1 gpl1Plus ];
26567     };
26568   };
26570   URIIMAP = buildPerlPackage {
26571     pname = "URI-imap";
26572     version = "1.01";
26573     src = fetchurl {
26574       url = "mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz";
26575       hash = "sha256-uxSZiW7ONKe08JFinC5yw2imcwDoVzqyIZjJ2HI1uy0=";
26576     };
26577     propagatedBuildInputs = [ URI ];
26578     meta = {
26579       description = "Support IMAP URI";
26580       license = with lib.licenses; [ artistic1 gpl1Plus ];
26581     };
26582   };
26584   URINested = buildPerlModule {
26585     pname = "URI-Nested";
26586     version = "0.10";
26587     src = fetchurl {
26588       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz";
26589       hash = "sha256-4ZcTOaZfusY6uHFC1LWdPSWdUUF3U8d8tY6jGoIz768=";
26590     };
26591     propagatedBuildInputs = [ URI ];
26592     meta = {
26593       description = "Nested URIs";
26594       homepage = "https://metacpan.org/release/URI-Nested";
26595       license = with lib.licenses; [ artistic1 gpl1Plus ];
26596     };
26597   };
26599   URISmartURI = buildPerlPackage {
26600     pname = "URI-SmartURI";
26601     version = "0.032";
26602     src = fetchurl {
26603       url = "mirror://cpan/authors/id/R/RK/RKITOVER/URI-SmartURI-0.032.tar.gz";
26604       hash = "sha256-6xdLeUYi4UK30JT2p+Nqe6T8i7zySF4QPuPaNevMTyw=";
26605     };
26606     propagatedBuildInputs = [ ClassC3Componentised FileFindRule ListMoreUtils Moose URI namespaceclean ];
26607     buildInputs = [ TestFatal TestNoWarnings ];
26608     meta = {
26609       description = "Subclassable and hostless URIs";
26610       license = with lib.licenses; [ artistic1 gpl1Plus ];
26611     };
26612   };
26614   URITemplate = buildPerlPackage {
26615     pname = "URI-Template";
26616     version = "0.24";
26617     src = fetchurl {
26618       url = "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-0.24.tar.gz";
26619       hash = "sha256-aK4tYbV+FNytD4Kvr/3F7AW1B6HpyN9aphOKqipbEd4=";
26620     };
26621     propagatedBuildInputs = [ URI ];
26622     meta = {
26623       description = "Object for handling URI templates (RFC 6570)";
26624       license = with lib.licenses; [ artistic1 gpl1Plus ];
26625     };
26626   };
26628   URIcpan = buildPerlPackage {
26629     pname = "URI-cpan";
26630     version = "1.007";
26631     src = fetchurl {
26632       url = "mirror://cpan/authors/id/R/RJ/RJBS/URI-cpan-1.007.tar.gz";
26633       hash = "sha256-EloTlGYuCkXiaWl3SWwdAnsUOH/245tgwH4PlurhUtM=";
26634     };
26635     propagatedBuildInputs = [ CPANDistnameInfo URI ];
26636     meta = {
26637       description = "URLs that refer to things on the CPAN";
26638       homepage = "https://github.com/rjbs/URI-cpan";
26639       license = with lib.licenses; [ artistic1 gpl1Plus ];
26640     };
26641   };
26643   URIws = buildPerlPackage {
26644     pname = "URI-ws";
26645     version = "0.03";
26646     src = fetchurl {
26647       url = "mirror://cpan/authors/id/P/PL/PLICEASE/URI-ws-0.03.tar.gz";
26648       hash = "sha256-bmsOQXKstqU8IiY5wABgjC3WHVCEhkdIKshgDVDlQe8=";
26649     };
26650     propagatedBuildInputs = [ URI ];
26651     meta = {
26652       description = "WebSocket support for URI package";
26653       homepage = "http://perl.wdlabs.com/URI-ws";
26654       license = with lib.licenses; [ artistic1 gpl1Plus ];
26655     };
26656   };
26658   UUID4Tiny = buildPerlPackage {
26659     pname = "UUID4-Tiny";
26660     version = "0.002";
26661     src = fetchurl {
26662       url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.002.tar.gz";
26663       hash = "sha256-51NbMeOG1DLex63eIUNIOJ4dXPdT5+0H8a4ExDYIQM8=";
26664     };
26665     postPatch = lib.optionalString (stdenv.isAarch64) ''
26666       # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h
26667       # printf SYS_getrandom | gcc -include sys/syscall.h -E -
26668       substituteInPlace lib/UUID4/Tiny.pm \
26669         --replace "syscall( 318" "syscall( 278"
26670     '';
26671     meta = {
26672       description = "Cryptographically secure v4 UUIDs for Linux x64";
26673       license = with lib.licenses; [ artistic1 gpl1Plus ];
26674       platforms = lib.platforms.linux; # configure phase fails with "OS unsupported"
26675     };
26676   };
26678   UUIDTiny = buildPerlPackage {
26679     pname = "UUID-Tiny";
26680     version = "1.04";
26681     src = fetchurl {
26682       url = "mirror://cpan/authors/id/C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz";
26683       hash = "sha256-bc2SYE1k6WzGwYgZSuFqnTpGVWIk93tvPR0TEraPmj0=";
26684     };
26685     meta = {
26686       description = "Pure Perl UUID Support With Functional Interface";
26687       license = with lib.licenses; [ artistic1 gpl1Plus ];
26688     };
26689   };
26691   UUIDURandom = buildPerlPackage {
26692     pname = "UUID-URandom";
26693     version = "0.001";
26694     src = fetchurl {
26695       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/UUID-URandom-0.001.tar.gz";
26696       hash = "sha256-PxNjGxO5YE+0ieKYlJDJnxA3Q6g3I5va+unWuvVfj0Y=";
26697     };
26698     propagatedBuildInputs = [ CryptURandom ];
26699     meta = {
26700       description = "UUIDs based on /dev/urandom or the Windows Crypto API";
26701       homepage = "https://github.com/dagolden/UUID-URandom";
26702       license = with lib.licenses; [ asl20 ];
26703     };
26704   };
26706   VariableMagic = buildPerlPackage {
26707     pname = "Variable-Magic";
26708     version = "0.62";
26709     src = fetchurl {
26710       url = "mirror://cpan/authors/id/V/VP/VPIT/Variable-Magic-0.62.tar.gz";
26711       hash = "sha256-P5oYUX4z8AapwvxPQ/AbVKv+b/Lq5zIkJPMQaSlrYVw=";
26712     };
26713     meta = {
26714       description = "Associate user-defined magic to variables from Perl";
26715       homepage = "https://search.cpan.org/dist/Variable-Magic";
26716       license = with lib.licenses; [ artistic1 gpl1Plus ];
26717     };
26718   };
26720   Version = buildPerlPackage {
26721     pname = "version";
26722     version = "0.9928";
26723     src = fetchurl {
26724       url = "mirror://cpan/authors/id/L/LE/LEONT/version-0.9928.tar.gz";
26725       hash = "sha256-JA4Ujct24WVH7/hcflx/fuBBZLgbiiOhppzDfABdqo4=";
26726     };
26727     meta = {
26728       description = "Structured version objects";
26729       license = with lib.licenses; [ artistic1 gpl1Plus ];
26730     };
26731   };
26733   vidir = buildPerlPackage {
26734     pname = "App-vidir";
26735     version = "0.050";
26736     src = fetchurl {
26737       url = "mirror://cpan/authors/id/W/WO/WOLDRICH/App-vidir-0.050.tar.gz";
26738       hash = "sha256-cEYIQDTAkYMTQ/S7UJMQ4pEaMl0NUG8vUlj1uZbaQ/U=";
26739     };
26740     outputs = [ "out" ];
26741     meta = {
26742       description = "File manager USING vim itself";
26743       license = with lib.licenses; [ artistic1 gpl1Plus ];
26744       maintainers = [ maintainers.chreekat ];
26745       mainProgram = "vidir";
26746     };
26747   };
26749   VMEC2 = buildPerlModule {
26750     pname = "VM-EC2";
26751     version = "1.28";
26752     src = fetchurl {
26753       url = "mirror://cpan/authors/id/L/LD/LDS/VM-EC2-1.28.tar.gz";
26754       hash = "sha256-srazF0XFdDH8oO+5udC48WjWCBdV4Ej9nWxEab0Qis0=";
26755     };
26756     propagatedBuildInputs = [ AnyEventCacheDNS AnyEventHTTP JSON StringApprox XMLSimple ];
26757     meta = {
26758       description = "Perl interface to Amazon EC2, Virtual Private Cloud, Elastic Load Balancing, Autoscaling, and Relational Database services";
26759       license = with lib.licenses; [ artistic1 gpl1Plus ];
26760     };
26761   };
26763   VMEC2SecurityCredentialCache = buildPerlPackage {
26764     pname = "VM-EC2-Security-CredentialCache";
26765     version = "0.25";
26766     src = fetchurl {
26767       url = "mirror://cpan/authors/id/R/RC/RCONOVER/VM-EC2-Security-CredentialCache-0.25.tar.gz";
26768       hash = "sha256-/H6cFS/ytyHMsiGsQAiZNHdc9YNmrttcwWk2CfhAk3s=";
26769     };
26770     propagatedBuildInputs = [ DateTimeFormatISO8601 VMEC2 ];
26771     meta = {
26772       description = "Cache credentials respecting expiration time for IAM roles";
26773       homepage = "https://search.cpan.org/dist/VM-EC2-Security-CredentialCache";
26774       license = with lib.licenses; [ artistic1 gpl1Plus ];
26775     };
26776   };
26778   W3CLinkChecker = buildPerlPackage {
26779     pname = "W3C-LinkChecker";
26780     version = "4.81";
26781     src = fetchurl {
26782       url = "mirror://cpan/authors/id/S/SC/SCOP/W3C-LinkChecker-4.81.tar.gz";
26783       hash = "sha256-Yjn2GyDZHc57IeTU9iark6jx4vIH2lAVWQ1QjPbGamU=";
26784     };
26785     outputs = [ "out" ];
26786     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP LocaleCodes NetIP TermReadKey ];
26787     meta = {
26788       description = "W3C Link Checker";
26789       homepage = "https://validator.w3.org/checklink";
26790       license = with lib.licenses; [ w3c ];
26791       mainProgram = "checklink";
26792     };
26793   };
26795   WWWCurl = buildPerlPackage {
26796     pname = "WWW-Curl";
26797     version = "4.17";
26798     src = fetchurl {
26799       url = "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz";
26800       hash = "sha256-Uv+rEQ4yNI13XyQclz61b5awju28EQ130lfNsKJKt7o=";
26801     };
26802     patches = [
26803       (fetchpatch {
26804         url = "https://aur.archlinux.org/cgit/aur.git/plain/curl-7.71.0.patch?h=perl-www-curl&id=261d84887d736cc097abef61164339216fb79180";
26805         hash = "sha256-2lHV8qKZPdM/WnuvNYphCGRAq7UOTdPKH0k56iYtPMI=";
26806         name = "WWWCurl-curl-7.71.0.patch";
26807       })
26808     ];
26809     NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-return-type";
26810     buildInputs = [ pkgs.curl ];
26811     doCheck = false; # performs network access
26812     meta = {
26813       description = "Perl extension interface for libcurl";
26814       license = with lib.licenses; [ mit ];
26815     };
26816   };
26818   WWWFormUrlEncoded = buildPerlModule {
26819     pname = "WWW-Form-UrlEncoded";
26820     version = "0.26";
26821     src = fetchurl {
26822       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz";
26823       hash = "sha256-wEgLXx8VtxFj7DJ7jnhCKY8Ms6zpfmPXA0rx6UotkPQ=";
26824     };
26825     meta = {
26826       description = "Parser and builder for application/x-www-form-urlencoded";
26827       homepage = "https://github.com/kazeburo/WWW-Form-UrlEncoded";
26828       license = with lib.licenses; [ artistic1 gpl1Plus ];
26829     };
26830   };
26832   WWWMechanize = buildPerlPackage {
26833     pname = "WWW-Mechanize";
26834     version = "2.03";
26835     src = fetchurl {
26836       url = "mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-2.03.tar.gz";
26837       hash = "sha256-Px3XTfYdYVIsAnDxluzG6AxAj4xNGDW5nh/OCg2ThF4=";
26838     };
26839     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
26840     doCheck = false;
26841     buildInputs = [ CGI HTTPServerSimple PathTiny TestDeep TestFatal TestOutput TestWarnings ];
26842     meta = {
26843       description = "Handy web browsing in a Perl object";
26844       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
26845       license = with lib.licenses; [ artistic1 gpl1Plus ];
26846       mainProgram = "mech-dump";
26847     };
26848   };
26850   WWWMechanizeCGI = buildPerlPackage {
26851     pname = "WWW-Mechanize-CGI";
26852     version = "0.3";
26853     src = fetchurl {
26854       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz";
26855       hash = "sha256-weBNi/Hh8NfP9Rl7I2Z2kyrLgCgJNq7a5PngSFGo0hA=";
26856     };
26857     propagatedBuildInputs = [ HTTPRequestAsCGI WWWMechanize ];
26858     preConfigure = ''
26859       substituteInPlace t/cgi-bin/script.cgi \
26860         --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
26861     '';
26862     meta = {
26863       description = "Use WWW::Mechanize with CGI applications";
26864       license = with lib.licenses; [ artistic1 gpl1Plus ];
26865       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.WWWMechanizeCGI.x86_64-darwin
26866     };
26867   };
26869   WWWRobotRules = buildPerlPackage {
26870     pname = "WWW-RobotRules";
26871     version = "6.02";
26872     src = fetchurl {
26873       url = "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz";
26874       hash = "sha256-RrUC56KI1VlCmJHutdl5Rh3T7MalxJHq2F0WW24DpR4=";
26875     };
26876     propagatedBuildInputs = [ URI ];
26877     meta = {
26878       description = "Database of robots.txt-derived permissions";
26879       license = with lib.licenses; [ artistic1 gpl1Plus ];
26880     };
26881   };
26883   WWWTwilioAPI = buildPerlPackage {
26884     pname = "WWW-Twilio-API";
26885     version = "0.21";
26886     src = fetchurl {
26887       url = "mirror://cpan/authors/id/S/SC/SCOTTW/WWW-Twilio-API-0.21.tar.gz";
26888       hash = "sha256-WC21OgkfjaNnDAN3MzFPJRCvXo7gukKg45Hi8uPKdzQ=";
26889     };
26890     prePatch = "rm examples.pl";
26891     propagatedBuildInputs = [ LWPProtocolHttps ];
26892     meta = {
26893       description = "Accessing Twilio's REST API with Perl";
26894       license = with lib.licenses; [ artistic1 gpl1Plus ];
26895     };
26896   };
26898   WWWYoutubeViewer = callPackage ../development/perl-modules/WWW-YoutubeViewer { };
26900   Want = buildPerlPackage {
26901     pname = "Want";
26902     version = "0.29";
26903     src = fetchurl {
26904       url = "mirror://cpan/authors/id/R/RO/ROBIN/Want-0.29.tar.gz";
26905       hash = "sha256-tOR0C41Mt4NZEnPGNr1oMEiS4o2J6Iq/knOx3hf1Uvc=";
26906     };
26907     meta = {
26908       description = "A generalisation of wantarray";
26909       license = with lib.licenses; [ artistic1 gpl1Plus ];
26910     };
26911   };
26913   Win32ShellQuote = buildPerlPackage {
26914     pname = "Win32-ShellQuote";
26915     version = "0.003001";
26916     src = fetchurl {
26917       url = "mirror://cpan/authors/id/H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz";
26918       hash = "sha256-qnSw49wtQc1j9i+FPlIf/Xa42CNHmiYZ4i7bQEm0wNw=";
26919     };
26920     meta = {
26921       description = "Quote argument lists for Win32";
26922       license = with lib.licenses; [ artistic1 gpl1Plus ];
26923     };
26924   };
26926   Workflow = buildPerlModule {
26927     pname = "Workflow";
26928     version = "1.48";
26929     src = fetchurl {
26930       url = "mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.48.tar.gz";
26931       hash = "sha256-TgSwvHYuWYzMCwzD1N9qYfWkWzTIVQRnLPD5mmh85i8=";
26932     };
26933     buildInputs = [ DBDMock ListMoreUtils PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
26934     propagatedBuildInputs = [ ClassAccessor ClassFactory ClassObservable DBI DataUUID DateTimeFormatStrptime FileSlurp LogDispatch LogLog4perl XMLSimple ];
26935     meta = {
26936       description = "Simple, flexible system to implement workflows";
26937       homepage = "https://github.com/jonasbn/perl-workflow";
26938       license = with lib.licenses; [ artistic1 gpl1Plus ];
26939     };
26940   };
26942   Wx = buildPerlPackage {
26943     pname = "Wx";
26944     version = "0.9932";
26945     src = fetchurl {
26946       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Wx-0.9932.tar.gz";
26947       hash = "sha256-HP22U1oPRnbm8aqyydjhbVd74+s7fMBMgHTWheZlG3A=";
26948     };
26949     propagatedBuildInputs = [ AlienWxWidgets ];
26950     # Testing requires an X server:
26951     #   Error: Unable to initialize GTK, is DISPLAY set properly?"
26952     doCheck = false;
26953     buildInputs = [ ExtUtilsXSpp ];
26954     meta = {
26955       description = "Interface to the wxWidgets cross-platform GUI toolkit";
26956       license = with lib.licenses; [ artistic1 gpl1Plus ];
26957     };
26958   };
26960   WxGLCanvas = buildPerlPackage {
26961     pname = "Wx-GLCanvas";
26962     version = "0.09";
26963     src = fetchurl {
26964       url = "mirror://cpan/authors/id/M/MB/MBARBON/Wx-GLCanvas-0.09.tar.gz";
26965       hash = "sha256-atLCn/Bv+Apci0udHWvwrtV0iegxvlnJRJT09ojcj+A=";
26966     };
26967     propagatedBuildInputs = [ pkgs.libGLU Wx ];
26968     doCheck = false;
26969     meta = {
26970       description = "wxPerl demo helper for Wx::GLCanvas";
26971       license = with lib.licenses; [ artistic1 gpl1Plus ];
26972     };
26973   };
26975   X11IdleTime = buildPerlPackage {
26976     pname = "X11-IdleTime";
26977     version = "0.09";
26978     src = fetchurl {
26979       url = "mirror://cpan/authors/id/A/AW/AWENDT/X11-IdleTime-0.09.tar.gz";
26980       hash = "sha256-2P3cB455ge4xt2CMZTZFyyDwFr3dx8VQtNUn79NiR0g=";
26981     };
26982     buildInputs = [ pkgs.xorg.libXext pkgs.xorg.libXScrnSaver pkgs.xorg.libX11 ];
26983     propagatedBuildInputs = [ InlineC ];
26984     patchPhase = "sed -ie 's,-L/usr/X11R6/lib/,-L${pkgs.xorg.libX11.out}/lib/ -L${pkgs.xorg.libXext.out}/lib/ -L${pkgs.xorg.libXScrnSaver}/lib/,' IdleTime.pm";
26985     meta = {
26986       description = "Get the idle time of X11";
26987       license = with lib.licenses; [ artistic1 gpl1Plus ];
26988     };
26989   };
26991   X11Protocol = buildPerlPackage {
26992     pname = "X11-Protocol";
26993     version = "0.56";
26994     src = fetchurl {
26995       url = "mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-0.56.tar.gz";
26996       hash = "sha256-3pbdbHwfJfMoeqevZJAr+ErKqo4MO7dqoWdjZ+BKCLc=";
26997     };
26998     doCheck = false; # requires an X server
26999     meta = {
27000       description = "Perl module for the X Window System Protocol, version 11";
27001       license = with lib.licenses; [ artistic1 gpl1Plus ];
27002     };
27003   };
27005   X11ProtocolOther = buildPerlPackage {
27006     pname = "X11-Protocol-Other";
27007     version = "31";
27008     src = fetchurl {
27009       url = "mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-31.tar.gz";
27010       hash = "sha256-PGJZk9x6jrHQLgcQimZjAkWcb8b589J2FfdJUVjcc/Q=";
27011     };
27012     propagatedBuildInputs = [ X11Protocol ];
27013     buildInputs = [ EncodeHanExtra ModuleUtil ];
27014     meta = {
27015       description = "Miscellaneous helpers for X11::Protocol connections";
27016       homepage = "https://user42.tuxfamily.org/x11-protocol-other/index.html";
27017       license = with lib.licenses; [ gpl1Plus gpl3Plus ];
27018     };
27019   };
27021   X11GUITest = buildPerlPackage {
27022     pname = "X11-GUITest";
27023     version = "0.28";
27024     src = fetchurl {
27025       url = "mirror://cpan/authors/id/C/CT/CTRONDLP/X11-GUITest-0.28.tar.gz";
27026       hash = "sha256-3O7eU3AGEP/xQtydXE5M0DcMiKTysTcfnL9NjYzm9ks=";
27027     };
27028     buildInputs = [ pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXt pkgs.xorg.libXtst ];
27029     NIX_CFLAGS_LINK = "-lX11";
27030     doCheck = false; # requires an X server
27031     meta = {
27032       description = "Provides GUI testing/interaction routines";
27033       license = with lib.licenses; [ gpl2Only ];
27034     };
27035   };
27037   X11XCB = buildPerlPackage {
27038     pname = "X11-XCB";
27039     version = "0.18";
27040     src = fetchurl {
27041       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/X11-XCB-0.18.tar.gz";
27042       hash = "sha256-rtvML3GhEeEVcqJ8nu0qfwoh6venLQoEn0xZdjh8V7I=";
27043     };
27044     patches = [
27045       # Pull upstream fix for parallel build failure
27046       (fetchpatch {
27047         url = "https://github.com/stapelberg/X11-XCB/commit/813608dacdae1ae35c9eb0f171a958617e014520.patch";
27048         hash = "sha256-gxxY8549/ebS3QORjSs8IgdBs2aD05Tu+9Bn70gu7gQ=";
27049       })
27050     ];
27051     AUTOMATED_TESTING = false;
27052     nativeBuildInputs = [ pkgs.pkg-config ];
27053     buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException XSObjectMagic ];
27054     propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple ];
27055     NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm";
27056     doCheck = false; # requires an X server
27057     meta = {
27058       description = "Perl bindings for libxcb";
27059       license = with lib.licenses; [ artistic1 gpl1Plus ];
27060     };
27061   };
27063   XMLCanonicalizeXML = buildPerlPackage {
27064     pname = "XML-CanonicalizeXML";
27065     version = "0.10";
27066     src = fetchurl {
27067       url = "mirror://cpan/authors/id/S/SJ/SJZASADA/XML-CanonicalizeXML-0.10.tar.gz";
27068       hash = "sha256-5yhGSIDLtMHz/XceCQOoUmzWV7OUuzchYDUkXPHihu4=";
27069     };
27070     buildInputs = [ pkgs.libxml2 ];
27071     meta = {
27072       description = "Perl extension for inclusive (1.0 and 1.1) and exclusive canonicalization of XML using libxml2";
27073       license = with lib.licenses; [ artistic1 gpl1Plus ];
27074       maintainers = [ maintainers.sgo ];
27075     };
27076   };
27078   XMLDescent = buildPerlModule {
27079     pname = "XML-Descent";
27080     version = "1.04";
27081     src = fetchurl {
27082       url = "mirror://cpan/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz";
27083       hash = "sha256-pxG4VvjN9eZHpExx+WfUjAlgNbnb0/Hvvb6kBgWvvVA=";
27084     };
27085     buildInputs = [ TestDifferences ];
27086     propagatedBuildInputs = [ XMLTokeParser ];
27087     meta = {
27088       description = "Recursive descent XML parsing";
27089       license = with lib.licenses; [ artistic1 gpl1Plus ];
27090     };
27091   };
27093   XMLEncoding = buildPerlPackage {
27094     pname = "XML-Encoding";
27095     version = "2.11";
27096     src = fetchurl {
27097       url = "mirror://cpan/authors/id/S/SH/SHAY/XML-Encoding-2.11.tar.gz";
27098       hash = "sha256-pQ5Brwp5uILUiBa5VoHzilWvHmqIgo3NljdKi94jBaE=";
27099     };
27100     propagatedBuildInputs = [ XMLParser ];
27101     meta = {
27102       description = "A perl module for parsing XML encoding maps";
27103       license = with lib.licenses; [ artistic1 gpl1Plus ];
27104     };
27105   };
27107   XMLDOM = buildPerlPackage {
27108     pname = "XML-DOM";
27109     version = "1.46";
27110     src = fetchurl {
27111       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz";
27112       hash = "sha256-i6JLC0WbAdbF5bBAiCnH1d/kf/ebNUjIE3WQSAmbF14=";
27113     };
27114     propagatedBuildInputs = [ XMLRegExp libxml_perl ];
27115     meta = {
27116       description = "Interface to XML::DOM toolset";
27117       license = with lib.licenses; [ gpl2Only ];
27118     };
27119   };
27121   XMLFeedPP = buildPerlPackage {
27122     pname = "XML-FeedPP";
27123     version = "0.95";
27124     src = fetchurl {
27125       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-FeedPP-0.95.tar.gz";
27126       hash = "sha256-kMOVm/GmC3aimnSac5QfOgx7mllUwTZbyB2vyrsBqPQ=";
27127     };
27128     propagatedBuildInputs = [ XMLTreePP ];
27129     meta = {
27130       description = "Parse/write/merge/edit RSS/RDF/Atom syndication feeds";
27131       homepage = "http://perl.overmeer.net/CPAN";
27132       license = with lib.licenses; [ artistic1 gpl1Plus ];
27133     };
27134   };
27136   XMLFilterBufferText = buildPerlPackage {
27137     pname = "XML-Filter-BufferText";
27138     version = "1.01";
27139     src = fetchurl {
27140       url = "mirror://cpan/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz";
27141       hash = "sha256-j9ISbTvuxVTfhSkZ9HOeaJICy7pqF1Bum2bqFlhBp1w=";
27142     };
27143     doCheck = false;
27144     meta = {
27145       description = "Filter to put all characters() in one event";
27146       license = with lib.licenses; [ artistic1 gpl1Plus ];
27147     };
27148   };
27150   XMLFilterXInclude = buildPerlPackage {
27151     pname = "XML-Filter-XInclude";
27152     version = "1.0";
27153     src = fetchurl {
27154       url = "mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Filter-XInclude-1.0.tar.gz";
27155       hash = "sha256-mHRvPB9vBJSR/sID1FW7j4ycbiUPBBkE3aXXjiEYf5M=";
27156     };
27157     doCheck = false;
27158     meta = {
27159       description = "XInclude as a SAX Filter";
27160       license = with lib.licenses; [ artistic1 gpl1Plus ];
27161     };
27162   };
27164   XMLFilterSort = buildPerlPackage {
27165     pname = "XML-Filter-Sort";
27166     version = "1.01";
27167     src = fetchurl {
27168       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Filter-Sort-1.01.tar.gz";
27169       hash = "sha256-UQWF85pJFszV+o1UXpYXnJHq9vx8l6QBp1aOhBFi+l8=";
27170     };
27171     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
27172     propagatedBuildInputs = [
27173       XMLSAX
27174       XMLSAXWriter
27175     ];
27176     postInstall = lib.optionalString stdenv.isDarwin ''
27177       shortenPerlShebang $out/bin/xmlsort
27178     '';
27179     meta = {
27180       description = "SAX filter for sorting elements in XML";
27181       license = with lib.licenses; [ artistic1 gpl1Plus ];
27182       mainProgram = "xmlsort";
27183     };
27184   };
27186   XMLGrove = buildPerlPackage {
27187     pname = "XML-Grove";
27188     version = "0.46alpha";
27189     src = fetchurl {
27190       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/XML-Grove-0.46alpha.tar.gz";
27191       hash = "sha256-/LZtffSsKcsO3B6mLBdQcCyqaob8lHkKlPyxo2vQ0Rc=";
27192     };
27193     buildInputs = [ pkgs.libxml2 ];
27194     propagatedBuildInputs = [ libxml_perl ];
27196     #patch from https://bugzilla.redhat.com/show_bug.cgi?id=226285
27197     patches = [ ../development/perl-modules/xml-grove-utf8.patch ];
27198     meta = {
27199       description = "Perl-style XML objects";
27200       license = with lib.licenses; [ artistic1 gpl1Plus ];
27201     };
27202   };
27204   XMLHandlerYAWriter = buildPerlPackage {
27205     pname = "XML-Handler-YAWriter";
27206     version = "0.23";
27207     src = fetchurl {
27208       url = "mirror://cpan/authors/id/K/KR/KRAEHE/XML-Handler-YAWriter-0.23.tar.gz";
27209       hash = "sha256-50y7vl41wapyYZC/re8cePN7ThV3+JyT2sKgr4MqpIU=";
27210     };
27211     propagatedBuildInputs = [ libxml_perl ];
27212     meta = {
27213       description = "Yet another Perl SAX XML Writer";
27214       license = with lib.licenses; [ gpl1Only ];
27215       mainProgram = "xmlpretty";
27216     };
27217   };
27219   XMLLibXML = buildPerlPackage {
27220     pname = "XML-LibXML";
27221     version = "2.0207";
27222     src = fetchurl {
27223       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0207.tar.gz";
27224       hash = "sha256-kDQ2yYWYdb71WTJDquhc7TKa0PtLV7v0WXXjJUfFDBU=";
27225     };
27226     SKIP_SAX_INSTALL = 1;
27227     buildInputs = [ AlienBuild AlienLibxml2 ]
27228       ++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
27229     propagatedBuildInputs = [ XMLSAX ];
27230     meta = {
27231       description = "Perl Binding for libxml2";
27232       license = with lib.licenses; [ artistic1 gpl1Plus ];
27233     };
27234   };
27236   XMLLibXMLSimple = buildPerlPackage {
27237     pname = "XML-LibXML-Simple";
27238     version = "1.01";
27239     src = fetchurl {
27240       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz";
27241       hash = "sha256-zZjIEEtw12cr+ia0UTt4rfK0uSIOWGqovrGlCFADZaY=";
27242     };
27243     propagatedBuildInputs = [ XMLLibXML ];
27244     meta = {
27245       description = "An API for simple XML files";
27246       license = with lib.licenses; [ artistic1 gpl1Plus ];
27247     };
27248   };
27250   XMLLibXSLT = buildPerlPackage {
27251     pname = "XML-LibXSLT";
27252     version = "1.99";
27253     src = fetchurl {
27254       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.99.tar.gz";
27255       hash = "sha256-En4XqHf7YeR7nouHv42q0xM5pioAEh+XUdUitDiw9/A=";
27256     };
27257     nativeBuildInputs = [ pkgs.pkg-config ];
27258     buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
27259     propagatedBuildInputs = [ XMLLibXML ];
27260     meta = {
27261       description = "Interface to the GNOME libxslt library";
27262       license = with lib.licenses; [ artistic1 gpl1Plus ];
27263     };
27264   };
27266   XMLMini = buildPerlPackage {
27267     pname = "XML-Mini";
27268     version = "1.38";
27269     src = fetchurl {
27270       url = "mirror://cpan/authors/id/P/PD/PDEEGAN/XML-Mini-1.38.tar.gz";
27271       hash = "sha256-r4A9OANqMYThJKaC5UZvG8EH9IqJ7zWwx2R+EaBz/i0=";
27272     };
27273     meta = {
27274       description = "Perl implementation of the XML::Mini XML create/parse interface";
27275       license = with lib.licenses; [ gpl3Plus ];
27276     };
27277   };
27279   XMLNamespaceSupport = buildPerlPackage {
27280     pname = "XML-NamespaceSupport";
27281     version = "1.12";
27282     src = fetchurl {
27283       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz";
27284       hash = "sha256-R+mVhZ+N0EE6o/ItNQxKYtplLoVCZ6oFhq5USuK65e8=";
27285     };
27286     meta = {
27287       description = "A simple generic namespace processor";
27288       license = with lib.licenses; [ artistic1 gpl1Plus ];
27289     };
27290   };
27292   XMLParser = buildPerlPackage {
27293     pname = "XML-Parser";
27294     version = "2.46";
27295     src = fetchurl {
27296       url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz";
27297       hash = "sha256-0zEzJJHFHMz7TLlP/ET5zXM3jmGEmNSjffngQ2YcUV0=";
27298     };
27299     patches = [ ../development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch ];
27300     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
27301       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
27302     '' + lib.optionalString stdenv.isCygwin ''
27303       sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm
27304     '';
27305     makeMakerFlags = [ "EXPATLIBPATH=${pkgs.expat.out}/lib" "EXPATINCPATH=${pkgs.expat.dev}/include" ];
27306     propagatedBuildInputs = [ LWP ];
27307     meta = {
27308       description = "A perl module for parsing XML documents";
27309       license = with lib.licenses; [ artistic1 gpl1Plus ];
27310     };
27311   };
27313   XMLParserLite = buildPerlPackage {
27314     pname = "XML-Parser-Lite";
27315     version = "0.722";
27316     src = fetchurl {
27317       url = "mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz";
27318       hash = "sha256-b5CgJ+FTGg5UBs8d4Txwm1IWlm349z0Lq5q5GSCXY+4=";
27319     };
27320     buildInputs = [ TestRequires ];
27321     meta = {
27322       description = "Lightweight pure-perl XML Parser (based on regexps)";
27323       license = with lib.licenses; [ artistic1 gpl1Plus ];
27324     };
27325   };
27327   XMLXPath = buildPerlPackage {
27328     pname = "XML-XPath";
27329     version = "1.44";
27330     src = fetchurl {
27331       url = "mirror://cpan/authors/id/M/MA/MANWAR/XML-XPath-1.44.tar.gz";
27332       hash = "sha256-HMkRBwUWXcCd0Jl03XwLZwnJNR1raxzvWnEQVfiR3Q8=";
27333     };
27334     buildInputs = [ PathTiny ];
27335     propagatedBuildInputs = [ XMLParser ];
27336     meta = {
27337       description = "Parse and evaluate XPath statements";
27338       license = with lib.licenses; [ artistic2 ];
27339       mainProgram = "xpath";
27340     };
27341   };
27343   XMLXPathEngine = buildPerlPackage {
27344     pname = "XML-XPathEngine";
27345     version = "0.14";
27346     src = fetchurl {
27347       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz";
27348       hash = "sha256-0v57y70L66FET0pzNAHnuKpSgvrUJm1Cc13XRYKy4mQ=";
27349     };
27350     meta = {
27351       description = "A re-usable XPath engine for DOM-like trees";
27352       license = with lib.licenses; [ artistic1 gpl1Plus ];
27353     };
27354   };
27356   XMLRegExp = buildPerlPackage {
27357     pname = "XML-RegExp";
27358     version = "0.04";
27359     src = fetchurl {
27360       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz";
27361       hash = "sha256-3xmQCWA2CFyOLUWQT+GA+Cv+1A8afgUkPzNOoQCQ/FQ=";
27362     };
27363     meta = {
27364       description = "Regular expressions for XML tokens";
27365       license = with lib.licenses; [ gpl2Plus];
27366     };
27367   };
27369   XMLRPCLite = buildPerlPackage {
27370     pname = "XMLRPC-Lite";
27371     version = "0.717";
27372     src = fetchurl {
27373       url = "mirror://cpan/authors/id/P/PH/PHRED/XMLRPC-Lite-0.717.tar.gz";
27374       hash = "sha256-Op+l8ssfr4t8ZrTDhuqzXKxgiK/E28dX1Pd9KE2rRSQ=";
27375     };
27376     propagatedBuildInputs = [ SOAPLite ];
27377     # disable tests that require network
27378     preCheck = "rm t/{26-xmlrpc.t,37-mod_xmlrpc.t}";
27379     meta = {
27380       description = "Client and server implementation of XML-RPC protocol";
27381       license = with lib.licenses; [ artistic1 gpl1Plus ];
27382     };
27383   };
27385   XMLRSS = buildPerlModule {
27386     pname = "XML-RSS";
27387     version = "1.62";
27388     src = fetchurl {
27389       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.62.tar.gz";
27390       hash = "sha256-0ycGNELH/3FDmTqgwtFv3lEhSRyXFmHrbLcA0uBDi04=";
27391     };
27392     propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
27393     meta = {
27394       description = "Creates and updates RSS files";
27395       homepage = "https://metacpan.org/release/XML-RSS";
27396       license = with lib.licenses; [ artistic1 gpl1Plus ];
27397     };
27398   };
27400   XMLRules = buildPerlModule {
27401     pname = "XML-Rules";
27402     version = "1.16";
27403     src = fetchurl {
27404       url = "mirror://cpan/authors/id/J/JE/JENDA/XML-Rules-1.16.tar.gz";
27405       hash = "sha256-N4glXAev5BlaDecs4FBlIyDYF1KP8tEMYR9uOSBDhos=";
27406     };
27407     propagatedBuildInputs = [ XMLParser ];
27408     meta = {
27409       description = "Parse XML and specify what and how to keep/process for individual tags";
27410       license = with lib.licenses; [ artistic1 gpl1Plus ];
27411     };
27412   };
27414   XMLSAX = buildPerlPackage {
27415     pname = "XML-SAX";
27416     version = "1.02";
27417     src = fetchurl {
27418       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz";
27419       hash = "sha256-RQbDhwQ6pqd7RV8A9XQJ83IKp+VTSVqyU1JjtO0eoSo=";
27420     };
27421     propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ];
27422     postInstall = ''
27423       perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
27424       '';
27425     meta = {
27426       description = "Simple API for XML";
27427       license = with lib.licenses; [ artistic1 gpl1Plus ];
27428     };
27429   };
27431   XMLSAXBase = buildPerlPackage {
27432     pname = "XML-SAX-Base";
27433     version = "1.09";
27434     src = fetchurl {
27435       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz";
27436       hash = "sha256-Zss1W6TvR8EMpzi9NZmXI2RDhqyFOrvrUTKEH16KKtA=";
27437     };
27438     meta = {
27439       description = "Base class for SAX Drivers and Filters";
27440       homepage = "https://github.com/grantm/XML-SAX-Base";
27441       license = with lib.licenses; [ artistic1 gpl1Plus ];
27442     };
27443   };
27445   XMLSAXExpat = buildPerlPackage {
27446     pname = "XML-SAX-Expat";
27447     version = "0.51";
27448     src = fetchurl {
27449       url = "mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz";
27450       hash = "sha256-TAFiE9DOfbLElOMAhrWZF7MC24wpLc0h853uvZeAyD8=";
27451     };
27452     propagatedBuildInputs = [ XMLParser XMLSAX ];
27453     # Avoid creating perllocal.pod, which contains a timestamp
27454     installTargets = [ "pure_install" ];
27455     meta = {
27456       description = "SAX Driver for Expat";
27457       license = with lib.licenses; [ artistic1 gpl1Plus ];
27458     };
27459   };
27461   XMLSAXWriter = buildPerlPackage {
27462     pname = "XML-SAX-Writer";
27463     version = "0.57";
27464     src = fetchurl {
27465       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz";
27466       hash = "sha256-PWHQfvQ7ASb1tN5PQVolb6hZ+ojcT9q6rXC3vnxoLPA=";
27467     };
27468     propagatedBuildInputs = [ XMLFilterBufferText XMLNamespaceSupport XMLSAXBase ];
27469     meta = {
27470       description = "SAX2 XML Writer";
27471       homepage = "https://github.com/perigrin/xml-sax-writer";
27472       license = with lib.licenses; [ artistic1 gpl1Plus ];
27473     };
27474   };
27476   XMLSemanticDiff = buildPerlModule {
27477     pname = "XML-SemanticDiff";
27478     version = "1.0007";
27479     src = fetchurl {
27480       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz";
27481       hash = "sha256-Bf3v77vD9rYvx8m1+rr7a2le1o8KPZWFdyUdHwQCoPU=";
27482     };
27483     propagatedBuildInputs = [ XMLParser ];
27484     meta = {
27485       description = "Perl extension for comparing XML documents";
27486       license = with lib.licenses; [ artistic1 gpl1Plus ];
27487     };
27488   };
27490   XMLSimple = buildPerlPackage {
27491     pname = "XML-Simple";
27492     version = "2.25";
27493     src = fetchurl {
27494       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz";
27495       hash = "sha256-Ux/drr6iQWdD61xP36sCj1AhI9miIEBaQQDmj8SA2/g=";
27496     };
27497     propagatedBuildInputs = [ XMLSAXExpat ];
27498     meta = {
27499       description = "An API for simple XML files";
27500       license = with lib.licenses; [ artistic1 gpl1Plus ];
27501     };
27502   };
27504   XMLTokeParser = buildPerlPackage {
27505     pname = "XML-TokeParser";
27506     version = "0.05";
27507     src = fetchurl {
27508       url = "mirror://cpan/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz";
27509       hash = "sha256-hTm0+YQ2sabQiDQai0Uwt5IqzWUfPyk3f4sZSMfi18I=";
27510     };
27511     propagatedBuildInputs = [ XMLParser ];
27512     meta = {
27513       description = "Simplified interface to XML::Parser";
27514       license = with lib.licenses; [ artistic1 gpl1Plus ];
27515     };
27516   };
27518   XMLTreePP = buildPerlPackage {
27519     pname = "XML-TreePP";
27520     version = "0.43";
27521     src = fetchurl {
27522       url = "mirror://cpan/authors/id/K/KA/KAWASAKI/XML-TreePP-0.43.tar.gz";
27523       hash = "sha256-f74tZDCGAFmJSu7r911MrPG/jXt1KU64fY4VAvgb12A=";
27524     };
27525     propagatedBuildInputs = [ LWP ];
27526     meta = {
27527       description = "Pure Perl implementation for parsing/writing XML documents";
27528       license = with lib.licenses; [ artistic1 gpl1Plus ];
27529     };
27530   };
27532   XMLTwig = buildPerlPackage {
27533     pname = "XML-Twig";
27534     version = "3.52";
27535     src = fetchurl {
27536       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz";
27537       hash = "sha256-/vdYJsJPK4d9Cg0mRSEvxPuXVu1NJxFhSsFcSX6GgK0=";
27538     };
27539     postInstall = ''
27540       mkdir -p $out/bin
27541       cp tools/xml_grep/xml_grep $out/bin
27542     '';
27543     propagatedBuildInputs = [ XMLParser ];
27544     doCheck = false;  # requires lots of extra packages
27545     meta = {
27546       description = "A Perl module for processing huge XML documents in tree mode";
27547       license = with lib.licenses; [ artistic1 gpl1Plus ];
27548       mainProgram = "xml_grep";
27549     };
27550   };
27552   XMLValidatorSchema = buildPerlPackage {
27553     pname = "XML-Validator-Schema";
27554     version = "1.10";
27555     src = fetchurl {
27556       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz";
27557       hash = "sha256-YUJnlYAVCokffTIjK14x4rTl5T6Kb6nL7stcI4FPFCI=";
27558     };
27559     propagatedBuildInputs = [ TreeDAGNode XMLFilterBufferText XMLSAX ];
27560     meta = {
27561       description = "Validate XML against a subset of W3C XML Schema";
27562       license = with lib.licenses; [ artistic1 gpl1Plus ];
27563     };
27564   };
27566   XMLWriter = buildPerlPackage {
27567     pname = "XML-Writer";
27568     version = "0.900";
27569     src = fetchurl {
27570       url = "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.900.tar.gz";
27571       hash = "sha256-c8j1vT7PKzUPStrm1mdtUuCOzC199KnwifpoNg1ADR8=";
27572     };
27573     meta = {
27574       description = "Module for creating a XML document object oriented with on the fly validating towards the given DTD";
27575       license = with lib.licenses; [ gpl1Only ];
27576     };
27577   };
27579   XSObjectMagic = buildPerlPackage {
27580     pname = "XS-Object-Magic";
27581     version = "0.05";
27582     src = fetchurl {
27583       url = "mirror://cpan/authors/id/E/ET/ETHER/XS-Object-Magic-0.05.tar.gz";
27584       hash = "sha256-PcnkYM7pLhF0QGJ1RkOjN3jKUqVNIF/K/6SrDzzxXlo=";
27585     };
27586     buildInputs = [ ExtUtilsDepends TestFatal TestSimple13 ];
27587     meta = {
27588       description = "Opaque, extensible XS pointer backed objects using sv_magic";
27589       homepage = "https://github.com/karenetheridge/XS-Object-Magic";
27590       license = with lib.licenses; [ artistic1 gpl1Plus ];
27591     };
27592   };
27594   XSParseKeyword = buildPerlModule {
27595     pname = "XS-Parse-Keyword";
27596     version = "0.25";
27597     src = fetchurl {
27598       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.25.tar.gz";
27599       hash = "sha256-9e2zDPfH8iDQxsMdwetVQDKECpnHwpgxT1zD/vZscsc=";
27600     };
27601     buildInputs = [ ExtUtilsCChecker ];
27602     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
27603     meta = {
27604       description = "XS functions to assist in parsing keyword syntax";
27605       license = with lib.licenses; [ artistic1 gpl1Plus ];
27606       maintainers = [ maintainers.zakame ];
27607     };
27608   };
27610   XSParseSublike = buildPerlModule {
27611     pname = "XS-Parse-Sublike";
27612     version = "0.16";
27613     src = fetchurl {
27614       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.16.tar.gz";
27615       hash = "sha256-IV5AmzmFgdJfDv8DeFBjvCUTu4YbrL6Z/m1VNTRvZt8=";
27616     };
27617     buildInputs = [ TestFatal ];
27618     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
27619     meta = {
27620       description = "XS functions to assist in parsing sub-like syntax";
27621       license = with lib.licenses; [ artistic1 gpl1Plus ];
27622       maintainers = [ maintainers.zakame ];
27623     };
27624   };
27626   XXX = buildPerlPackage {
27627     pname = "XXX";
27628     version = "0.35";
27629     src = fetchurl {
27630       url = "mirror://cpan/authors/id/I/IN/INGY/XXX-0.35.tar.gz";
27631       hash = "sha256-pmY2DEl9zgf0HL5FtfjExW24G8iPDHU/Qaxv0QYU86s=";
27632     };
27633     propagatedBuildInputs = [ YAMLPP ];
27634     meta = {
27635       description = "See Your Data in the Nude";
27636       homepage = "https://github.com/ingydotnet/xxx-pm";
27637       license = with lib.licenses; [ artistic1 gpl1Plus ];
27638     };
27639   };
27641   YAML = buildPerlPackage {
27642     pname = "YAML";
27643     version = "1.30";
27644     src = fetchurl {
27645       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-1.30.tar.gz";
27646       hash = "sha256-UDCm1sv/rxJYMFC/VSqoANRkbKlnjBh63WSSJ/V0ec0=";
27647     };
27649     buildInputs = [ TestBase TestDeep TestYAML ];
27651     meta = {
27652       description = "YAML Ain't Markup Language (tm)";
27653       homepage = "https://github.com/ingydotnet/yaml-pm";
27654       license = with lib.licenses; [ artistic1 gpl1Plus ];
27655     };
27656   };
27658   YAMLOld = buildPerlPackage {
27659     pname = "YAML-Old";
27660     version = "1.23";
27661     src = fetchurl {
27662       url = "mirror://cpan/authors/id/I/IN/INGY/YAML-Old-1.23.tar.gz";
27663       hash = "sha256-+lRvzZrMWjm8iHGQL3/B66UOfceBxc1cCr8a7ObRfs0=";
27664     };
27665     buildInputs = [ TestYAML TestBase ];
27666     meta = {
27667       description = "Old YAML.pm Legacy Code";
27668       homepage = "https://github.com/ingydotnet/yaml-old-pm";
27669       license = with lib.licenses; [ artistic1 gpl1Plus ];
27670     };
27671   };
27673   YAMLSyck = buildPerlPackage {
27674     pname = "YAML-Syck";
27675     version = "1.34";
27676     src = fetchurl {
27677       url = "mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.34.tar.gz";
27678       hash = "sha256-zJFWzK69p5jr/i8xthnoBld/hg7RcEJi8X/608bjQVk=";
27679     };
27680     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
27681     meta = {
27682       description = "Fast, lightweight YAML loader and dumper";
27683       homepage = "https://github.com/toddr/YAML-Syck";
27684       license = with lib.licenses; [ mit ];
27685     };
27686   };
27688   YAMLTiny = buildPerlPackage {
27689     pname = "YAML-Tiny";
27690     version = "1.73";
27691     src = fetchurl {
27692       url = "mirror://cpan/authors/id/E/ET/ETHER/YAML-Tiny-1.73.tar.gz";
27693       hash = "sha256-vDFfoS6PHj7l4vQw2Qtwil3H5HyGfbqNzjprj74ld0Q=";
27694     };
27695     meta = {
27696       description = "Read/Write YAML files with as little code as possible";
27697       license = with lib.licenses; [ artistic1 gpl1Plus ];
27698     };
27699   };
27701   YAMLLibYAML = buildPerlPackage {
27702     pname = "YAML-LibYAML";
27703     version = "0.83";
27704     src = fetchurl {
27705       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.83.tar.gz";
27706       hash = "sha256-tHF1tP85etdaT3eB09g8CGN9pv8LrjJq87OJ2FS+xJA=";
27707     };
27708     meta = {
27709       description = "Perl YAML Serialization using XS and libyaml";
27710       license = with lib.licenses; [ artistic1 gpl1Plus ];
27711     };
27712   };
27714   YAMLPP = buildPerlPackage {
27715     pname = "YAML-PP";
27716     version = "0.026";
27717     src = fetchurl {
27718       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-PP-0.026.tar.gz";
27719       hash = "sha256-S4WOZxzz6WbsxUQI6AMXQMLyj4fClO6WefsC4C1aRes=";
27720     };
27721     buildInputs = [ TestDeep TestWarn ];
27722     meta = {
27723       description = "YAML 1.2 Processor";
27724       license = with lib.licenses; [ artistic1 gpl1Plus ];
27725     };
27726   };
27728   WebMachine = buildPerlPackage {
27729     pname = "Web-Machine";
27730     version = "0.17";
27731     src = fetchurl {
27732       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Web-Machine-0.17.tar.gz";
27733       hash = "sha256-8TnSsxFMVJ6RhH2qq4t1y2meV9r1u/Db0TKT8z/l4io=";
27734     };
27735     buildInputs = [ NetHTTP TestFailWarnings TestFatal ];
27736     propagatedBuildInputs = [ HTTPHeadersActionPack HTTPMessage HashMultiValue IOHandleUtil ModuleRuntime Plack SubExporter TryTiny ];
27737     meta = {
27738       description = "A Perl port of Webmachine";
27739       homepage = "https://metacpan.org/release/Web-Machine";
27740       license = with lib.licenses; [ artistic1 gpl1Plus ];
27741     };
27742   };
27744   WebServiceLinode = buildPerlModule {
27745     pname = "WebService-Linode";
27746     version = "0.29";
27747     src = fetchurl {
27748       url = "mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz";
27749       hash = "sha256-EDqrJFME8I6eh6x7yITdtEpjDea6wHfckh9xbXEVSSI=";
27750     };
27751     buildInputs = [ ModuleBuildTiny ];
27752     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
27753     meta = {
27754       description = "Perl Interface to the Linode.com API";
27755       homepage = "https://github.com/mikegrb/WebService-Linode";
27756       license = with lib.licenses; [ artistic1 gpl1Plus ];
27757     };
27758   };
27760   WebServiceValidatorHTMLW3C = buildPerlModule {
27761     pname = "WebService-Validator-HTML-W3C";
27762     version = "0.28";
27763     src = fetchurl {
27764       url = "mirror://cpan/authors/id/S/ST/STRUAN/WebService-Validator-HTML-W3C-0.28.tar.gz";
27765       hash = "sha256-zLB60zegOuyBob6gqJzSlUaR/1uzZ9+aMrnZEw8XURA=";
27766     };
27767     buildInputs = [ ClassAccessor LWP ];
27768     meta = {
27769       description = "Access the W3Cs online HTML validator";
27770       license = with lib.licenses; [ artistic1 gpl1Plus ];
27771     };
27772   };
27774   ZonemasterCLI = buildPerlPackage {
27775     pname = "Zonemaster-CLI";
27776     version = "4.0.1";
27777     src = fetchurl {
27778       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-CLI-v4.0.1.tar.gz";
27779       hash = "sha256-7dNPe4E35JLmzoR0xFpVBXLcpQVqve/EXAdt+daWXKA=";
27780     };
27781     propagatedBuildInputs = [
27782       JSONXS
27783       MooseXGetopt
27784       TextReflow
27785       ZonemasterEngine
27786       ZonemasterLDNS
27787       libintl-perl
27788     ];
27790     preConfigure = ''
27791       patchShebangs script/
27792     '';
27794     meta = {
27795       description = "Run Zonemaster tests from the command line";
27796       license = with lib.licenses; [ bsd3 ];
27797       maintainers = with lib.maintainers; [ qbit ];
27798     };
27799   };
27801   ZonemasterEngine = buildPerlPackage {
27802     pname = "Zonemaster-Engine";
27803     version = "4.5.1";
27804     src = fetchurl {
27805       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-Engine-v4.5.1.tar.gz";
27806       hash = "sha256-RdIExtrXzZAXYIS/JCe6qM5QNoSlaZ6+sjbk0zvAuoY=";
27807     };
27808     buildInputs = [ PodCoverage TestDifferences TestException TestFatal TestNoWarnings TestPod ];
27809     propagatedBuildInputs = [ ClassAccessor Clone EmailValid FileShareDir FileSlurp IOSocketInet6 ListMoreUtils ModuleFind Moose MooseXSingleton NetIP Readonly TextCSV ZonemasterLDNS libintl-perl ];
27811     preCheck = ''
27812       # disable dnssec test as it fails
27813       rm -f t/Test-dnssec.t t/manifest.t
27814     '';
27816     meta = {
27817       description = "A tool to check the quality of a DNS zone";
27818       license = with lib.licenses; [ bsd3 ];
27819     };
27820   };
27822   ZonemasterLDNS = buildPerlPackage {
27823     pname = "Zonemaster-LDNS";
27824     version = "2.2.2";
27825     src = fetchurl {
27826       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-LDNS-2.2.2.tar.gz";
27827       hash = "sha256-4KccPjWqdhkJvjI9QQGCPX/B8vRUGw91eUUgxhHk788=";
27828     };
27829     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl_1_1.dev}/include -I${pkgs.libidn2}.dev}/include";
27830     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl_1_1}/lib -L${lib.getLib pkgs.libidn2}/lib -lcrypto -lidn2";
27832     makeMakerFlags = [ "--prefix-openssl=${pkgs.openssl_1_1.dev}" ];
27834     nativeBuildInputs = [ pkgs.pkg-config ];
27835     buildInputs = [ DevelChecklib ModuleInstall ModuleInstallXSUtil TestFatal pkgs.ldns pkgs.libidn2 pkgs.openssl_1_1 ];
27836     meta = {
27837       description = "Perl wrapper for the ldns DNS library";
27838       license = with lib.licenses; [ bsd3 ];
27839     };
27840   };
27842 } // lib.optionalAttrs config.allowAliases {
27843   autodie = null; # part of Perl
27844   AutoLoader = null; # part of Perl 5.22
27845   constant = null; # part of Perl 5.22
27846   DevelSelfStubber = null; # part of Perl 5.22
27847   Digest = null; # part of Perl 5.22
27848   Exporter = null; # part of Perl 5.22
27849   I18NCollate = null; # part of Perl 5.22
27850   lib_ = null; # part of Perl 5.22
27851   LocaleMaketextSimple = null; # part of Perl 5.22
27852   MathComplex = null; # part of Perl 5.22
27853   MIMEBase64 = null; # part of Perl 5.22
27854   PerlIOviaQuotedPrint = null; # part of Perl 5.22
27855   PodEscapes = null; # part of Perl 5.22
27856   Safe = null; # part of Perl 5.22
27857   SearchDict = null; # part of Perl 5.22
27858   Test = null; # part of Perl 5.22
27859   TextAbbrev = null; # part of Perl 5.22
27860   TextTabsWrap = null; # part of Perl 5.22
27861   DigestSHA = null;
27862   "if" = null;
27863   TestSimple = null;
27864   AttributeHandlers = null; # part of Perl 5.26
27865   base = null; # part of Perl 5.26
27866   CPANMeta = null; # part of Perl 5.26
27867   CPANMetaRequirements = null; # part of Perl 5.26
27868   CPANMetaYAML = null; # part of Perl 5.26
27869   DigestMD5 = null; # part of Perl 5.26
27870   LocaleMaketext = null; # part of Perl 5.26
27871   ModuleLoadConditional = null; # part of Perl 5.26
27872   ModuleMetadata = null; # part of Perl 5.26
27873   PerlOSType = null; # part of Perl 5.26
27874   PodUsage = null; # part of Perl 5.26
27875   TermANSIColor = null; # part of Perl 5.26
27876   TermCap = null; # part of Perl 5.26
27877   ThreadSemaphore = null; # part of Perl 5.26
27878   UnicodeNormalize = null; # part of Perl 5.26
27879   XSLoader = null; # part of Perl 5.26
27881   Carp = null; # part of Perl 5.28
27882   ExtUtilsCBuilder = null; # part of Perl 5.28
27883   ExtUtilsParseXS = null; # part of Perl 5.28
27884   FilterSimple = null; # part of Perl 5.28
27885   IOSocketIP = null; # part of Perl 5.28
27886   SelfLoader = null; # part of Perl 5.28
27887   Socket = null; # part of Perl 5.28
27888   TestHarness = null; # part of Perl 5.28
27889   threads = null; # part of Perl 5.28
27890   TimeHiRes = null; # part of Perl 5.28
27891   UnicodeCollate = null; # part of Perl 5.28
27892   ModuleCoreList = null; # part of Perl 5.28.2
27894   bignum = null; # part of Perl 5.30.3
27895   DataDumper = null; # part of Perl 5.30.3
27896   ExtUtilsManifest = null; # part of Perl 5.30.3
27897   FileTemp = null; # part of Perl 5.30.3
27898   MathBigRat = null; # part of Perl 5.30.3
27899   Storable = null; # part of Perl 5.30.3
27900   threadsshared = null; # part of Perl 5.30.3
27901   ThreadQueue = null; # part of Perl 5.30.3
27903   ArchiveZip_1_53 = self.ArchiveZip;
27904   Autobox = self.autobox;
27905   CommonSense = self.commonsense; # For backwards compatibility.
27906   if_ = self."if"; # For backwards compatibility.
27907   Log4Perl = self.LogLog4perl; # For backwards compatibility.
27908   MouseXGetOpt = self.MouseXGetopt;
27909   NamespaceAutoclean = self.namespaceautoclean; # Deprecated.
27910   NamespaceClean = self.namespaceclean; # Deprecated.
27911   CatalystPluginUnicodeEncoding = self.CatalystRuntime;
27912   ClassAccessorFast = self.ClassAccessor;
27913   ClassMOP = self.Moose;
27914   CompressZlib = self.IOCompress;
27915   constantdefer = self.constant-defer;
27916   DigestHMAC_SHA1 = self.DigestHMAC;
27917   DistZillaPluginNoTabsTests = self.DistZillaPluginTestNoTabs;
27918   EmailMIMEModifier = self.EmailMIME;
27919   ExtUtilsCommand = self.ExtUtilsMakeMaker;
27920   IOstringy = self.IOStringy;
27921   libintl_perl = self.libintl-perl;
27922   libintlperl = self.libintl-perl;
27923   LWPProtocolconnect = self.LWPProtocolConnect;
27924   LWPProtocolhttps = self.LWPProtocolHttps;
27925   LWPUserAgent = self.LWP;
27926   MIMEtools = self.MIMETools;
27927   NetLDAP = self.perlldap;
27928   NetSMTP = self.libnet;
27929   OLEStorageLight = self.OLEStorage_Lite; # For backwards compatibility. Please use OLEStorage_Lite instead.
27930   ParseCPANMeta = self.CPANMeta;
27931   TestMoose = self.Moose;
27932   TestMore = self.TestSimple;
27933   TestTester = self.TestSimple;
27934   Testuseok = self.TestSimple;
27935   SubExporterUtil = self.SubExporter;
27936   version = self.Version;
27938   Gtk2GladeXML = throw "Gtk2GladeXML has been removed"; # 2022-01-15
27939 }; in self