pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / top-level / perl-packages.nix
blob705d6014a23cff0d2ec6ab313ba54a27e73175a2
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, fetchpatch2, fetchFromGitHub, fetchFromGitLab
11 , perl, shortenPerlShebang
12 , nixosTests
15 self:
17 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.30.3 or above
18 assert lib.versionAtLeast perl.version "5.30.3";
19 let
20   inherit (lib) maintainers teams;
23 with self; {
25   inherit perl;
26   perlPackages = self // { perlPackages = self.perlPackages // { __attrsFailEvaluation = true; }; };
28   # Check whether a derivation provides a perl module.
29   hasPerlModule = drv: drv ? perlModule ;
31   requiredPerlModules = drvs: let
32     modules = lib.filter hasPerlModule drvs;
33   in lib.unique ([perl] ++ modules ++ lib.concatLists (lib.catAttrs "requiredPerlModules" modules));
35   # Convert derivation to a perl module.
36   toPerlModule = drv:
37     drv.overrideAttrs( oldAttrs: {
38       # Use passthru in order to prevent rebuilds when possible.
39       passthru = (oldAttrs.passthru or {}) // {
40         perlModule = perl;
41         requiredPerlModules = requiredPerlModules drv.propagatedBuildInputs;
42       };
43     });
45   buildPerlPackage = callPackage ../development/perl-modules/generic { };
47   # Helper functions for packages that use Module::Build to build.
48   buildPerlModule = args:
49     buildPerlPackage ({
50       buildPhase = ''
51         runHook preBuild
52         perl Build.PL --prefix=$out; ./Build build
53         runHook postBuild
54       '';
55       installPhase = ''
56         runHook preInstall
57         ./Build install
58         runHook postInstall
59       '';
60       checkPhase = ''
61         runHook preCheck
62         ./Build test
63         runHook postCheck
64       '';
65     } // args // {
66       preConfigure = ''
67         touch Makefile.PL
68         ${args.preConfigure or ""}
69       '';
70       buildInputs = (args.buildInputs or []) ++ [ ModuleBuild ];
71     });
73   /* Construct a perl search path (such as $PERL5LIB)
75      Example:
76        pkgs = import <nixpkgs> { }
77        makePerlPath [ pkgs.perlPackages.libnet ]
78        => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
79   */
80   makePerlPath = lib.makeSearchPathOutput "lib" perl.libPrefix;
82   /* Construct a perl search path recursively including all dependencies (such as $PERL5LIB)
84      Example:
85        pkgs = import <nixpkgs> { }
86        makeFullPerlPath [ pkgs.perlPackages.CGI ]
87        => "/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"
88   */
89   makeFullPerlPath = deps: makePerlPath (lib.misc.closePropagation deps);
92   ack = buildPerlPackage rec {
93     pname = "ack";
94     version = "3.7.0";
96     src = fetchurl {
97       url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v${version}.tar.gz";
98       hash = "sha256-6nyqFPdX3ggzEO0suimGYd3Mpd7gbsjxgEPqYlp53yA=";
99     };
101     outputs = [ "out" "man" ];
103     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
104     propagatedBuildInputs = [ FileNext ];
105     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
106       shortenPerlShebang $out/bin/ack
107     '';
109     # tests fails on nixos and hydra because of different purity issues
110     doCheck = false;
112     meta = {
113       description = "Grep-like tool tailored to working with large trees of source code";
114       homepage = "https://beyondgrep.com";
115       license = with lib.licenses; [ artistic2 ];
116     };
117   };
119   ActionCircuitBreaker = buildPerlPackage {
120     pname = "Action-CircuitBreaker";
121     version = "0.1";
122     src = fetchurl {
123       url = "mirror://cpan/authors/id/H/HA/HANGY/Action-CircuitBreaker-0.1.tar.gz";
124       hash = "sha256-P49dcm+uU3qzNuAKaBmuSoWW5MXyQ+dypTbvLrbmBrE=";
125     };
126     buildInputs = [ ActionRetry TryTiny ];
127     propagatedBuildInputs = [ Moo ];
128     meta = {
129       description = "Module to try to perform an action, with an option to suspend execution after a number of failures";
130       homepage = "https://github.com/hangy/Action-CircuitBreaker";
131       license = with lib.licenses; [ artistic1 gpl1Plus ];
132     };
133   };
135   ActionRetry = buildPerlPackage {
136     pname = "Action-Retry";
137     version = "0.24";
138     src = fetchurl {
139       url = "mirror://cpan/authors/id/D/DA/DAMS/Action-Retry-0.24.tar.gz";
140       hash = "sha256-o3WXQsW+8tGXWrc9NUmdgRMySRmySTYTAlXP8H0ClPc=";
141     };
142     propagatedBuildInputs = [ MathFibonacci ModuleRuntime Moo ];
143     meta = {
144       description = "Module to try to perform an action, with various ways of retrying and sleeping between retries";
145       license = with lib.licenses; [ artistic1 gpl1Plus ];
146     };
147   };
149   AlgorithmAnnotate = buildPerlPackage {
150     pname = "Algorithm-Annotate";
151     version = "0.10";
152     src = fetchurl {
153       url = "mirror://cpan/authors/id/C/CL/CLKAO/Algorithm-Annotate-0.10.tar.gz";
154       hash = "sha256-ybF2RkOTPrGjNWkGzDctSDqZQWIHox3z5Y7piS2ZIvk=";
155     };
156     propagatedBuildInputs = [ AlgorithmDiff ];
157     meta = {
158       description = "Represent a series of changes in annotate form";
159       license = with lib.licenses; [ artistic1 gpl1Plus ];
160     };
161   };
163   AlgorithmBackoff = buildPerlPackage {
164     pname = "Algorithm-Backoff";
165     version = "0.009";
166     src = fetchurl {
167       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Algorithm-Backoff-0.009.tar.gz";
168       sha256 = "9f0ffcdf1e65a88022d6412f46ad977ede5a7b64be663009d13948fe8c9d180b";
169     };
170     buildInputs = [ TestException TestNumberDelta ];
171     meta = {
172       homepage = "https://metacpan.org/release/Algorithm-Backoff";
173       description = "Various backoff strategies for retry";
174       license = with lib.licenses; [ artistic1 gpl1Plus ];
175     };
176   };
178   AlgorithmC3 = buildPerlPackage {
179     pname = "Algorithm-C3";
180     version = "0.11";
181     src = fetchurl {
182       url = "mirror://cpan/authors/id/H/HA/HAARG/Algorithm-C3-0.11.tar.gz";
183       hash = "sha256-qvSEZ3Zd7qbkgFS8fUPkbk1Ay82hZVLGKdN74Jgokwk=";
184     };
185     meta = {
186       description = "Module for merging hierarchies using the C3 algorithm";
187       license = with lib.licenses; [ artistic1 gpl1Plus ];
188     };
189   };
191   AlgorithmCheckDigits = buildPerlModule {
192     pname = "Algorithm-CheckDigits";
193     version = "1.3.6";
194     src = fetchurl {
195       url = "mirror://cpan/authors/id/M/MA/MAMAWE/Algorithm-CheckDigits-v1.3.6.tar.gz";
196       hash = "sha256-DySHqP0fMbGcUbJlCELyJkwed9liSHoTtSG74GbEtLw=";
197     };
198     buildInputs = [ ProbePerl ];
199     meta = {
200       description = "Perl extension to generate and test check digits";
201       license = with lib.licenses; [ artistic1 gpl1Plus ];
202       mainProgram = "checkdigits.pl";
203     };
204   };
206   AlgorithmDiff = buildPerlPackage {
207     pname = "Algorithm-Diff";
208     version = "1.1903";
209     src = fetchurl {
210       url = "mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz";
211       hash = "sha256-MOhKxLMdQLZik/exIhMxxaUFYaOdWA2FAE2cH/+ZF1E=";
212     };
213     buildInputs = [ pkgs.unzip ];
214     meta = {
215       description = "Compute 'intelligent' differences between two files / lists";
216       license = with lib.licenses; [ artistic1 gpl1Plus ];
217     };
218   };
220   AlgorithmLCSS = buildPerlPackage {
221     pname = "Algorithm-LCSS";
222     version = "0.01";
223     src = fetchurl {
224       url = "mirror://cpan/authors/id/J/JF/JFREEMAN/Algorithm-LCSS-0.01.tar.gz";
225       hash = "sha256-cXzvzHhCoXGrVXbyLrcuVm7fBhzq+H3Mvn8ggfVgH3g=";
226     };
227     propagatedBuildInputs = [ AlgorithmDiff ];
228     meta = {
229       description = "Perl extension for getting the Longest Common Sub-Sequence";
230       license = with lib.licenses; [ artistic1 gpl1Plus ];
231       maintainers = [ maintainers.sgo ];
232     };
233   };
235   AlgorithmMerge = buildPerlPackage {
236     pname = "Algorithm-Merge";
237     version = "0.08";
238     src = fetchurl {
239       url = "mirror://cpan/authors/id/J/JS/JSMITH/Algorithm-Merge-0.08.tar.gz";
240       hash = "sha256-nAaIJYodxLg5iAU7n5qY53KM25tppQCNy9JR0PgIFs8=";
241     };
242     propagatedBuildInputs = [ AlgorithmDiff ];
243     meta = {
244       description = "Three-way merge and diff";
245       license = with lib.licenses; [ artistic1 gpl1Plus ];
246     };
247   };
249   AlienBaseModuleBuild = buildPerlModule {
250     pname = "Alien-Base-ModuleBuild";
251     version = "1.17";
252     src = fetchurl {
253       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Base-ModuleBuild-1.17.tar.gz";
254       hash = "sha256-/nJwrHNa3ehk5GjiHGQqRxuoi6Ja0w2pRXiDITLyufQ=";
255     };
256     buildInputs = [ Test2Suite ];
257     propagatedBuildInputs = [ AlienBuild ArchiveExtract CaptureTiny Filechdir PathTiny ShellConfigGenerate ShellGuess SortVersions URI ];
258     meta = {
259       description = "Module::Build subclass for building Alien:: modules and their libraries";
260       homepage = "https://metacpan.org/pod/Alien::Base::ModuleBuild";
261       license = with lib.licenses; [ artistic1 gpl1Plus ];
262     };
263   };
265   AlienBuild = buildPerlPackage {
266     pname = "Alien-Build";
267     version = "2.80";
268     src = fetchurl {
269       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-2.80.tar.gz";
270       hash = "sha256-2e3JNrBnBbtcte5aLqi89hEaPogVkU8XfhXjwP7TAfM=";
271     };
272     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
273     buildInputs = [ DevelHide Test2Suite ];
274     meta = {
275       description = "Build external dependencies for use in CPAN";
276       homepage = "https://metacpan.org/pod/Alien::Build";
277       license = with lib.licenses; [ artistic1 gpl1Plus ];
278     };
279   };
281   AlienBuildPluginDownloadGitLab = buildPerlPackage {
282     pname = "Alien-Build-Plugin-Download-GitLab";
283     version = "0.01";
284     src = fetchurl {
285       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-Plugin-Download-GitLab-0.01.tar.gz";
286       hash = "sha256-wfCJyOoVKniZCdSKg9v88mJvdz2vMEMchiJYKyarqQI=";
287     };
288     buildInputs = [ Test2Suite ];
289     propagatedBuildInputs = [ AlienBuild PathTiny URI ];
290     meta = {
291       homepage = "https://metacpan.org/pod/Alien::Build::Plugin::Download::GitLab";
292       description = "Alien::Build plugin to download from GitLab";
293       license = with lib.licenses; [ artistic1 gpl1Plus ];
294     };
295   };
297   AlienFFI = buildPerlPackage {
298     pname = "Alien-FFI";
299     version = "0.27";
300     src = fetchurl {
301       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-FFI-0.27.tar.gz";
302       hash = "sha256-Kbsgg/P5gqOfSFIkP09qEZFpZvIObneGTpkmnRHotl4=";
303     };
304     patches = [ ../development/perl-modules/Alien-FFI-dont-download.patch ];
305     nativeBuildInputs = [ pkgs.pkg-config ];
306     buildInputs = [ pkgs.libffi CaptureTiny Test2Suite NetSSLeay MojoDOM58 IOSocketSSL ];
307     propagatedBuildInputs = [ AlienBuild ];
308     meta = {
309       homepage = "https://metacpan.org/pod/Alien::FFI";
310       description = "Build and make available libffi";
311       license = with lib.licenses; [ artistic1 gpl1Plus ];
312       maintainers = with maintainers; [ tomasajt ];
313     };
314   };
316   AlienGMP = buildPerlPackage {
317     pname = "Alien-GMP";
318     version = "1.16";
319     src = fetchurl {
320       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-GMP-1.16.tar.gz";
321       hash = "sha256-CQzUjuU1v2LxeIlWF6hReDrhGqTGAGof1NhKQy8RPaU=";
322     };
323     propagatedBuildInputs = [ AlienBuild ];
324     buildInputs = [ pkgs.gmp Alienm4 DevelChecklib IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
325     meta = {
326       description = "Alien package for the GNU Multiple Precision library";
327       homepage = "https://metacpan.org/pod/Alien::GMP";
328       license = with lib.licenses; [ lgpl3Plus ];
329     };
330   };
332   AlienLibGumbo = buildPerlModule {
333     pname = "Alien-LibGumbo";
334     version = "0.05";
335     src = fetchurl {
336       url = "mirror://cpan/authors/id/R/RU/RUZ/Alien-LibGumbo-0.05.tar.gz";
337       hash = "sha256-D76RarEfaA5cKM0ayAA3IyPioOBq/8bIs2J5/GTXZRc=";
338     };
339     buildInputs = [ AlienBaseModuleBuild ];
340     propagatedBuildInputs = [ AlienBuild FileShareDir PathClass ];
341     meta = {
342       description = "Gumbo parser library";
343       license = with lib.licenses; [ artistic1 gpl1Plus ];
344       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.AlienLibGumbo.x86_64-darwin
345     };
346   };
348   AlienLibxml2 = buildPerlPackage {
349     pname = "Alien-Libxml2";
350     version = "0.19";
351     src = fetchurl {
352       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz";
353       hash = "sha256-9KZ0CZu9V0fAw7derYQfOyRJNdnvQro1NoAkvWERdMk=";
354     };
355     strictDeps = true;
356     nativeBuildInputs = [ pkgs.pkg-config ];
357     propagatedBuildInputs = [ AlienBuild ];
358     buildInputs = [ pkgs.libxml2 AlienBuildPluginDownloadGitLab MojoDOM58 SortVersions Test2Suite URI ];
359     meta = {
360       description = "Install the C libxml2 library on your system";
361       homepage = "https://metacpan.org/pod/Alien::Libxml2";
362       license = with lib.licenses; [ artistic1 gpl1Plus ];
363     };
364   };
366   aliased = buildPerlModule {
367     pname = "aliased";
368     version = "0.34";
369     src = fetchurl {
370       url = "mirror://cpan/authors/id/E/ET/ETHER/aliased-0.34.tar.gz";
371       hash = "sha256-w1BSRQfNgn+rhk5dTCzDULG6uqEvqVrsDKAIQ/zH3us=";
372     };
373     buildInputs = [ ModuleBuildTiny ];
374     meta = {
375       description = "Use shorter versions of class names";
376       license = with lib.licenses; [ artistic1 gpl1Plus ];
377     };
378   };
380   asa = buildPerlPackage {
381     pname = "asa";
382     version = "1.04";
383     src = fetchurl {
384       url = "mirror://cpan/authors/id/E/ET/ETHER/asa-1.04.tar.gz";
385       hash = "sha256-5YM7dOczuu4Z0e9eBLEmPBz/nBdGmVrXL8QJGPRAZ14=";
386     };
387     meta = {
388       description = "Lets your class/object say it works like something else";
389       homepage = "https://github.com/karenetheridge/asa";
390       license = with lib.licenses; [ artistic1 gpl1Plus ];
391     };
392   };
394   AlienSDL = buildPerlModule {
395     pname = "Alien-SDL";
396     version = "1.446";
397     src = fetchurl {
398       url = "mirror://cpan/authors/id/F/FR/FROGGS/Alien-SDL-1.446.tar.gz";
399       hash = "sha256-yaosncPGPYl3PH1yA/KkbRuSTQxy2fgBrxR6Pci8USo=";
400     };
401     patches = [ ../development/perl-modules/alien-sdl.patch ];
403     installPhase = "./Build install --prefix $out";
405     SDL_INST_DIR = lib.getDev pkgs.SDL;
406     buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
407     propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
409     meta = {
410       description = "Get, Build and Use SDL libraries";
411       license = with lib.licenses; [ artistic1 gpl1Plus ];
412     };
413   };
415   AlienTidyp = buildPerlModule {
416     pname = "Alien-Tidyp";
417     version = "1.4.7";
418     src = fetchurl {
419       url = "mirror://cpan/authors/id/K/KM/KMX/Alien-Tidyp-v1.4.7.tar.gz";
420       hash = "sha256-uWTL2nH79sDqaaTztBUEwUXygWga/hmewrSUQC6/SmU=";
421     };
423     buildInputs = [ ArchiveExtract ];
424     TIDYP_DIR = pkgs.tidyp;
425     propagatedBuildInputs = [ FileShareDir ];
426     meta = {
427       description = "Building, finding and using tidyp library";
428       license = with lib.licenses; [ artistic1 gpl1Plus ];
429     };
430   };
432   AlienWxWidgets = buildPerlModule {
433     pname = "Alien-wxWidgets";
434     version = "0.69";
435     src = fetchurl {
436       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Alien-wxWidgets-0.69.tar.gz";
437       hash = "sha256-UyJOS7vv/0z3tj7ZpiljiTuf/Ull1w2WcQNI+Gdt4kk=";
438     };
439     postPatch = ''
440       substituteInPlace Build.PL \
441         --replace "gtk+-2.0" "gtk+-3.0"
442     '';
443     propagatedBuildInputs = [ pkgs.pkg-config pkgs.gtk3 pkgs.wxGTK32 ModulePluggable ];
444     buildInputs = [ LWPProtocolHttps ];
445     meta = {
446       description = "Building, finding and using wxWidgets binaries";
447       license = with lib.licenses; [ artistic1 gpl1Plus ];
448     };
449   };
451   Alienm4 = buildPerlPackage {
452     pname = "Alien-m4";
453     version = "0.21";
454     src = fetchurl {
455       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-m4-0.21.tar.gz";
456       hash = "sha256-qypAXIA5RP0BxR+h6fK+/VhxqwPxdE3sKlZonyFI02E=";
457     };
458     propagatedBuildInputs = [ AlienBuild ];
459     buildInputs = [ pkgs.gnum4 Alienpatch IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
460     meta = {
461       description = "Find or build GNU m4";
462       homepage = "https://metacpan.org/pod/Alien::m4";
463       license = with lib.licenses; [ artistic1 gpl1Plus ];
464     };
465   };
467   Alienpatch = buildPerlPackage {
468     pname = "Alien-patch";
469     version = "0.15";
470     src = fetchurl {
471       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-patch-0.15.tar.gz";
472       hash = "sha256-/tZyJbLZamZpL30vQ+DTRykhRSnbHWsTsNykYgquANA=";
473     };
474     propagatedBuildInputs = [ AlienBuild ];
475     buildInputs = [ IOSocketSSL MojoDOM58 NetSSLeay SortVersions Test2Suite URI ];
476     meta = {
477       description = "Find or build patch";
478       homepage = "https://metacpan.org/pod/Alien::patch";
479       license = with lib.licenses; [ artistic1 gpl1Plus ];
480     };
481   };
483   AltCryptRSABigInt = buildPerlPackage {
484     pname = "Alt-Crypt-RSA-BigInt";
485     version = "0.06";
486     src = fetchurl {
487       url = "mirror://cpan/authors/id/D/DA/DANAJ/Alt-Crypt-RSA-BigInt-0.06.tar.gz";
488       hash = "sha256-dvQ0yrNpmc3wmBE0W7Oda3y+1+CFsCM4Mox/RuCLOPM=";
489     };
490     propagatedBuildInputs = [ ClassLoader ConvertASCIIArmour DataBuffer DigestMD2 MathBigIntGMP MathPrimeUtil SortVersions TieEncryptedHash ];
491     meta = {
492       description = "RSA public-key cryptosystem, using Math::BigInt";
493       homepage = "https://github.com/danaj/Alt-Crypt-RSA-BigInt";
494       license = with lib.licenses; [ artistic1 gpl1Plus ];
495       maintainers = [ maintainers.sgo ];
496     };
497   };
499   AnyEvent = buildPerlPackage {
500     pname = "AnyEvent";
501     version = "7.17";
502     src = fetchurl {
503       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz";
504       hash = "sha256-UL7qaJwJj+Sq64OAbEC5/n+UbVdprPmfhJ8JkJGkuYU=";
505     };
506     buildInputs = [ CanaryStability ];
507     meta = {
508       description = "DBI of event loop programming";
509       license = with lib.licenses; [ artistic1 gpl1Plus ];
510     };
511   };
513   AnyEventAIO = buildPerlPackage {
514     pname ="AnyEvent-AIO";
515     version = "1.1";
516     src = fetchurl {
517       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-AIO-1.1.tar.gz";
518       hash = "sha256-axBbjGQVYWMfUz7DQj6AZ6PX1YBDv4Xw9eCdcGkFcGs=";
519     };
520     propagatedBuildInputs = [ AnyEvent IOAIO ];
521     meta = {
522       description = "Truly asynchronous file and directory I/O";
523       license = with lib.licenses; [ artistic1 gpl1Plus ];
524     };
525   };
527   AnyEventBDB = buildPerlPackage rec {
528     pname = "AnyEvent-BDB";
529     version = "1.1";
530     src = fetchurl {
531       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
532       hash = "sha256-k+NgEJQEZGJuXzG5+u3WXhLtjRq/Fs4FL+vyP0la78g=";
533     };
534     buildInputs = [ CanaryStability ];
535     propagatedBuildInputs = [ BDB AnyEvent ];
536     meta = {
537       description = "Truly asynchronous berkeley db access";
538       license = with lib.licenses; [ artistic1 gpl1Plus ];
539     };
540   };
542   AnyEventCacheDNS = buildPerlModule {
543     pname = "AnyEvent-CacheDNS";
544     version = "0.08";
545     src = fetchurl {
546       url = "mirror://cpan/authors/id/P/PO/POTYL/AnyEvent-CacheDNS-0.08.tar.gz";
547       hash = "sha256-QcH68YO2GAa1WInO6hI3dQwfYbnOJzX98z3AVTZxLa4=";
548     };
549     propagatedBuildInputs = [ AnyEvent ];
550     doCheck = false; # does an DNS lookup
551     meta = {
552       description = "Simple DNS resolver with caching";
553       homepage = "https://github.com/potyl/perl-AnyEvent-CacheDNS";
554       license = with lib.licenses; [ artistic1 gpl1Plus ];
555     };
556   };
558   AnyEventFastPing = buildPerlPackage {
559     pname = "AnyEvent-FastPing";
560     version = "2.1";
561     src = fetchurl {
562       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-FastPing-2.1.tar.gz";
563       hash = "sha256-5ZIbj3rTXJg6ACWuAKSPyVyQwX/uw+WFmBhwSwxScCw=";
564     };
565     propagatedBuildInputs = [ AnyEvent commonsense ];
566     meta = {
567       description = "Quickly ping a large number of hosts";
568       license = with lib.licenses; [ artistic1 gpl2Plus ];
569       mainProgram = "fastping";
570     };
571   };
573   AnyEventHTTP = buildPerlPackage {
574     pname = "AnyEvent-HTTP";
575     version = "2.25";
576     src = fetchurl {
577       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-HTTP-2.25.tar.gz";
578       hash = "sha256-XPpTQWEkF29vTNMrAOqMp5otXfUSWGg5ic0E/obiUBM=";
579     };
580     propagatedBuildInputs = [ AnyEvent commonsense ];
581     meta = {
582       description = "Simple but non-blocking HTTP/HTTPS client";
583       license = with lib.licenses; [ artistic1 gpl1Plus ];
584     };
585   };
587   AnyEventI3 = buildPerlPackage {
588     pname = "AnyEvent-I3";
589     version = "0.19";
590     src = fetchurl {
591       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/AnyEvent-I3-0.19.tar.gz";
592       hash = "sha256-G807YNs9VWAUjeeRNT6K8RciZPWoXncZe5/8BB2sSDo=";
593     };
594     propagatedBuildInputs = [ AnyEvent JSONXS ];
595     meta = {
596       description = "Communicate with the i3 window manager";
597       license = with lib.licenses; [ artistic1 gpl1Plus ];
598     };
599   };
601   AnyEventIRC = buildPerlPackage rec {
602     pname = "AnyEvent-IRC";
603     version = "0.97";
604     src = fetchurl {
605       url = "mirror://cpan/authors/id/E/EL/ELMEX/${pname}-${version}.tar.gz";
606       hash = "sha256-v9fPZFw8jGEUcQVxKGEUR+IPGt8BUWxpYky9i8d/W/A=";
607     };
608     propagatedBuildInputs = [ AnyEvent ObjectEvent commonsense ];
609     meta = {
610       description = "Event based IRC protocol client API";
611       license = with lib.licenses; [ artistic1 gpl1Plus ];
612     };
613   };
615   AnyEventRabbitMQ = buildPerlPackage {
616     pname = "AnyEvent-RabbitMQ";
617     version = "1.22";
618     src = fetchurl {
619       url = "mirror://cpan/authors/id/D/DL/DLAMBLEY/AnyEvent-RabbitMQ-1.22.tar.gz";
620       hash = "sha256-mMUqH+cAcQ8+W8VaOLJd5iXpsug0HSeNz54bPz0ZrO4=";
621     };
622     buildInputs = [ FileShareDirInstall TestException ];
623     propagatedBuildInputs = [ AnyEvent DevelGlobalDestruction FileShareDir ListMoreUtils NetAMQP Readonly namespaceclean ];
624     meta = {
625       description = "Asynchronous and multi channel Perl AMQP client";
626       license = with lib.licenses; [ artistic1 gpl1Plus ];
627     };
628   };
630   AnyMoose = buildPerlPackage {
631     pname = "Any-Moose";
632     version = "0.27";
633     src = fetchurl {
634       url = "mirror://cpan/authors/id/E/ET/ETHER/Any-Moose-0.27.tar.gz";
635       hash = "sha256-qKY+N/qALoJYvpmYORbN5FElgdyAYt5Q5z1mr24thTU=";
636     };
637     propagatedBuildInputs = [ Moose Mouse ];
638     meta = {
639       description = "(DEPRECATED) use Moo instead!";
640       license = with lib.licenses; [ artistic1 gpl1Plus ];
641     };
642   };
644   AnyURIEscape = buildPerlPackage {
645     pname = "Any-URI-Escape";
646     version = "0.01";
647     src = fetchurl {
648       url = "mirror://cpan/authors/id/P/PH/PHRED/Any-URI-Escape-0.01.tar.gz";
649       hash = "sha256-44E87J8Qj6XAvmbgjBmGv7pNJCFRsPn07F4MXhcQjEw=";
650     };
651     propagatedBuildInputs = [ URI ];
652     meta = {
653       description = "Load URI::Escape::XS preferentially over URI::Escape";
654       license = with lib.licenses; [ artistic1 gpl1Plus ];
655     };
656   };
658   URIEscapeXS = buildPerlPackage {
659     pname = "URI-Escape-XS";
660     version = "0.14";
661     src = fetchurl {
662       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/URI-Escape-XS-0.14.tar.gz";
663       hash = "sha256-w5rFDGwrgxrkvwhpLmyl1KP5xX3E1/nEywZj4shsJ1k=";
664     };
665     meta = {
666       description = "Drop-In replacement for URI::Escape";
667       license = with lib.licenses; [ artistic1 gpl1Plus ];
668     };
669   };
671   ApacheAuthCookie = buildPerlPackage {
672     pname = "Apache-AuthCookie";
673     version = "3.31";
674     src = fetchurl {
675       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.31.tar.gz";
676       hash = "sha256-ByhnLrmLzWZSWWenXXxNYXwLTEEWIBOsmkzv5G99/3w=";
677     };
678     buildInputs = [ ApacheTest ];
679     propagatedBuildInputs = [ ClassLoad HTTPBody HashMultiValue WWWFormUrlEncoded ];
681     # Fails because /etc/protocols is not available in sandbox and make
682     # getprotobyname('tcp') in ApacheTest fail.
683     doCheck = !stdenv.hostPlatform.isLinux;
685     meta = {
686       description = "Perl Authentication and Authorization via cookies";
687       homepage = "https://github.com/mschout/apache-authcookie";
688       license = with lib.licenses; [ artistic1 gpl1Plus ];
689     };
690   };
692   ApacheDB = buildPerlPackage {
693     pname = "Apache-DB";
694     version = "0.18";
695     src = fetchurl {
696       url = "mirror://cpan/authors/id/L/LZ/LZE/Apache-DB-0.18.tar.gz";
697       hash = "sha256-ZSf08VmCcL6ge+x4e3G98OwrVyVIvnQ4z3TyuaYAv+0=";
698     };
699     meta = {
700       description = "Run the interactive Perl debugger under mod_perl";
701       license = with lib.licenses; [ artistic1 gpl1Plus ];
702       broken = true; # DB.c:(.text+0x153): undefined reference to `Perl_init_debugger'
703     };
704   };
706   ApacheLogFormatCompiler = buildPerlModule {
707     pname = "Apache-LogFormat-Compiler";
708     version = "0.36";
709     src = fetchurl {
710       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz";
711       hash = "sha256-lFCVA+506oIBg9BwwRYw7lvA/YwSy3T66VPtYuShrBc=";
712     };
713     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
714     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
715     # We cannot change the timezone on the fly.
716     prePatch = "rm t/04_tz.t";
717     meta = {
718       description = "Compile a log format string to perl-code";
719       homepage = "https://github.com/kazeburo/Apache-LogFormat-Compiler";
720       license = with lib.licenses; [ artistic1 gpl1Plus ];
721     };
722   };
724   ApacheSession = buildPerlModule {
725     pname = "Apache-Session";
726     version = "1.94";
727     src = fetchurl {
728       url = "mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.94.tar.gz";
729       hash = "sha256-/mm3aJmv6QuK5bgt4qqnV1rakIk39EhbgKrvMXVj6Z8=";
730     };
731     buildInputs = [ TestDeep TestException ];
732     meta = {
733       description = "Persistence framework for session data";
734       license = with lib.licenses; [ artistic1 gpl1Plus ];
735     };
736   };
738   ApacheTest = buildPerlPackage {
739     pname = "Apache-Test";
740     version = "1.43";
741     src = fetchurl {
742       url = "mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.43.tar.gz";
743       hash = "sha256-qZmfAqeBpYkhi1ibGHnBHEladFrwlXXly7It/LZWgKw=";
744     };
745     doCheck = false;
746     meta = {
747       description = "Test.pm wrapper with helpers for testing Apache";
748       license = with lib.licenses; [ asl20 ];
749     };
750   };
752   AppCLI = buildPerlPackage {
753     pname = "App-CLI";
754     version = "0.52";
755     src = fetchurl {
756       url = "mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.52.tar.gz";
757       hash = "sha256-Ur1D9VWRPML/1kBfmVHSqr1Gr2PXAdm140amMycJ8M4=";
758     };
759     propagatedBuildInputs = [ CaptureTiny ClassLoad ];
760     buildInputs = [ TestKwalitee TestPod ];
761     meta = {
762       description = "Dispatcher module for command line interface programs";
763       license = with lib.licenses; [ artistic1 gpl1Plus ];
764     };
765   };
767   AppClusterSSH = buildPerlModule {
768     pname = "App-ClusterSSH";
769     version = "4.16";
770     src = fetchurl {
771       url = "mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.16.tar.gz";
772       hash = "sha256-G3y4q2BoViRK34vZrE0nUHwuQWh7OvGiJs4dsvP9VXg=";
773     };
774     propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
775     buildInputs = [ DataDump FileWhich Readonly TestDifferences TestTrap ];
776     preCheck = "rm t/30cluster.t t/15config.t"; # do not run failing tests
777     postInstall = ''
778       mkdir -p $out/share/bash-completion/completions
779       mv $out/bin/clusterssh_bash_completion.dist \
780         $out/share/bash-completion/completions/clusterssh_bash_completion
781       substituteInPlace $out/share/bash-completion/completions/clusterssh_bash_completion \
782         --replace '/bin/true' '${pkgs.coreutils}/bin/true' \
783         --replace 'grep' '${pkgs.gnugrep}/bin/grep' \
784         --replace 'sed' '${pkgs.gnused}/bin/sed'
785     '';
786     meta = {
787       description = "Cluster administration tool";
788       homepage = "https://github.com/duncs/clusterssh/wiki";
789       license = with lib.licenses; [ artistic1 gpl1Plus ];
790       mainProgram = "cssh";
791     };
792   };
794   AppCmd = buildPerlPackage {
795     pname = "App-Cmd";
796     version = "0.336";
797     src = fetchurl {
798       url = "mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.336.tar.gz";
799       hash = "sha256-35ZrV9WauxluADBIheW/EXypWBgq4/Tu3xchjqKDjoE=";
800     };
801     buildInputs = [ TestFatal ];
802     propagatedBuildInputs = [ CaptureTiny ClassLoad GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix ];
803     meta = {
804       description = "Write command line apps with less suffering";
805       homepage = "https://github.com/rjbs/App-Cmd";
806       license = with lib.licenses; [ artistic1 gpl1Plus ];
807     };
808   };
810   AppConfig = buildPerlPackage {
811     pname = "AppConfig";
812     version = "1.71";
813     src = fetchurl {
814       url = "mirror://cpan/authors/id/N/NE/NEILB/AppConfig-1.71.tar.gz";
815       hash = "sha256-EXcCcCXssJ7mTZ+fJVYVwE214U91NsNEr2MgMuuIew8=";
816     };
817     buildInputs = [ TestPod ];
818     meta = {
819       description = "Bundle of Perl5 modules for reading configuration files and parsing command line arguments";
820       license = with lib.licenses; [ artistic1 gpl1Plus ];
821     };
822   };
824   AppFatPacker = buildPerlPackage {
825     pname = "App-FatPacker";
826     version = "0.010008";
827     src = fetchurl {
828       url = "mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010008.tar.gz";
829       hash = "sha256-Ep2zbchFZhpYIoaBDP4tUhbrLOCCutQK4fzc4PRd7M8=";
830     };
831     meta = {
832       description = "Pack your dependencies onto your script file";
833       license = with lib.licenses; [ artistic1 gpl1Plus ];
834       mainProgram = "fatpack";
835     };
836   };
838   Appcpanminus = buildPerlPackage {
839     pname = "App-cpanminus";
840     version = "1.7047";
841     src = fetchurl {
842       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7047.tar.gz";
843       hash = "sha256-lj5jxuGocl/y9iTpCGOWrhUNtR3QozfDeB0JqZSvBaU=";
844     };
845     # CVE-2024-45321: Use TLS endpoints for downloads and metadata
846     preConfigure = ''
847       substituteInPlace bin/cpanm \
848         --replace-fail http://www.cpan.org https://www.cpan.org \
849         --replace-fail http://cpan.metacpan.org https://cpan.metacpan.org \
850         --replace-fail http://backpan.perl.org https://backpan.perl.org \
851         --replace-fail http://fastapi.metacpan.org https://fastapi.metacpan.org \
852         --replace-fail http://cpanmetadb.plackperl.org https://cpanmetadb.plackperl.org
853     '';
854     propagatedBuildInputs = [ IOSocketSSL ];
855     meta = {
856       description = "Get, unpack, build and install modules from CPAN";
857       homepage = "https://github.com/miyagawa/cpanminus";
858       license = with lib.licenses; [ artistic1 gpl1Plus ];
859       mainProgram = "cpanm";
860     };
861   };
863   Appcpm = buildPerlModule {
864     pname = "App-cpm";
865     version = "0.997018";
866     src = fetchurl {
867       url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997018.tar.gz";
868       hash = "sha256-ePvZawR9A4O2p/iJWxk/CziworVQuS8YwH91Lql8Tv0=";
869     };
870     buildInputs = [ ModuleBuildTiny ];
871     propagatedBuildInputs = [ CPAN02PackagesSearch CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy Modulecpmfile ModuleCPANfile ParsePMFile ParallelPipes locallib ];
872     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
873     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
874       shortenPerlShebang $out/bin/cpm
875     '';
876     meta = {
877       description = "Fast CPAN module installer";
878       homepage = "https://github.com/skaji/cpm";
879       license = with lib.licenses; [ artistic1 gpl1Plus ];
880       maintainers = [ maintainers.zakame ];
881       mainProgram = "cpm";
882     };
883   };
885   Applify = buildPerlPackage {
886     pname = "Applify";
887     version = "0.23";
888     src = fetchurl {
889       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Applify-0.23.tar.gz";
890       hash = "sha256-fI3Z55e9DsJgDTAOzUnul4EZgxxlay0L3q7OoENIoRI=";
891     };
892     meta = {
893       description = "Write object oriented scripts with ease";
894       homepage = "https://github.com/jhthorsen/applify";
895       license = with lib.licenses; [ artistic2 ];
896       maintainers = [ maintainers.sgo ];
897     };
898   };
900   AppMusicChordPro = buildPerlPackage {
901     pname = "App-Music-ChordPro";
902     version = "6.050.7";
903     src = fetchurl {
904       url = "mirror://cpan/authors/id/J/JV/JV/App-Music-ChordPro-6.050.7.tar.gz";
905       hash = "sha256-tpNsqhoWOPIwprK3ou5tb9oXKih3HEQjm/2c5F9rOoQ=";
906     };
907     buildInputs = [ ObjectPad ];
908     propagatedBuildInputs = [ AppPackager DataPrinter FileLoadLines FileHomeDir IOString ImageInfo PDFAPI2 StringInterpolateNamed TextLayout ]
909       ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ Wx ];
910     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
912     # Delete tests that fail when version env var is set, see
913     # https://github.com/ChordPro/chordpro/issues/293
914     patchPhase = ''
915       rm t/320_subst.t t/321_subst.t t/322_subst.t
916     '';
918     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
919       shortenPerlShebang $out/bin/chordpro
920       rm $out/bin/wxchordpro # Wx not supported on darwin
921     '';
922     meta = {
923       description = "Lyrics and chords formatting program";
924       homepage = "https://www.chordpro.org";
925       license = with lib.licenses; [ artistic1 gpl1Plus ];
926       mainProgram = "chordpro";
927     };
928   };
930   AppPackager =  buildPerlPackage {
931     pname = "App-Packager";
932     version = "1.440";
933     src = fetchurl {
934       url = "mirror://cpan/authors/id/J/JV/JV/App-Packager-1.440.tar.gz";
935       hash = "sha256-VoFBa+b9eJe+mEg8TqKOsN3gzGWzwg5o1HswRN7PKHo=";
936     };
937     meta = {
938       description = "Abstraction for Packagers";
939       license = with lib.licenses; [ artistic1 gpl1Plus ];
940     };
941   };
943   Apppapersway = buildPerlPackage rec {
944     pname = "App-papersway";
945     version = "1.001";
946     src = fetchurl {
947       url = "mirror://cpan/authors/id/S/SP/SPWHITTON/App-papersway-${version}.tar.gz";
948       hash = "sha256-61OMfvEhgwFbNlOFjm9p3QxDOn31jQZdN8i1nIsWlns=";
949     };
950     buildInputs = [ AnyEvent AnyEventI3 GetoptLong JSON ];
951     meta = {
952       description = "PaperWM-like scrollable tiling window management for Sway/i3wm";
953       homepage = "https://spwhitton.name/tech/code/papersway/";
954       license = lib.licenses.gpl3Plus;
955       mainProgram = "papersway";
956       maintainers = with lib.maintainers; [ fgaz ];
957     };
958   };
960   Appperlbrew = buildPerlModule {
961     pname = "App-perlbrew";
962     version = "1.00";
963     src = fetchurl {
964       url = "mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-1.00.tar.gz";
965       hash = "sha256-PKNFnK6f/VHef2i95CEtBx1hOLZEUo9izJDHikhSyss=";
966     };
967     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
968     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl PodParser locallib ];
970     doCheck = false;
972     meta = {
973       description = "Manage perl installations in your $HOME";
974       license = with lib.licenses; [ mit ];
975       mainProgram = "perlbrew";
976     };
977   };
979   ArchiveAnyLite = buildPerlPackage {
980     pname = "Archive-Any-Lite";
981     version = "0.11";
982     src = fetchurl {
983       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz";
984       hash = "sha256-FcGIJTmTpLZuVZnweJsTJvCmbAkr2/rJMTcG1BwoUXA=";
985     };
986     propagatedBuildInputs = [ ArchiveZip ];
987     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
988     meta = {
989       description = "Simple CPAN package extractor";
990       license = with lib.licenses; [ artistic1 gpl1Plus ];
991     };
992   };
994   AppSqitch = buildPerlModule {
995     version = "1.4.1";
996     pname = "App-Sqitch";
997     src = fetchurl {
998       url = "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v1.4.1.tar.gz";
999       hash = "sha256-yvMcyPdy46TJ1LP/Oo9oSm61sbPCYfTdwPkKiMNgB8Y=";
1000     };
1001     buildInputs = [ CaptureTiny TestExit TestDeep TestDir TestException TestFile TestFileContents TestMockModule TestMockObject TestNoWarnings TestWarn ];
1002     propagatedBuildInputs = [ Clone ConfigGitLike DBI DateTime EncodeLocale HashMerge IOPager IPCRun3 IPCSystemSimple ListMoreUtils PathClass PerlIOutf8_strict PodParser StringFormatter StringShellQuote TemplateTiny Throwable TypeTiny URIdb libintl-perl AlgorithmBackoff ];
1003     meta = {
1004       description = "Sensible database change management";
1005       homepage = "https://sqitch.org";
1006       license = with lib.licenses; [ mit ];
1007       mainProgram = "sqitch";
1008     };
1009   };
1011   AppSt = buildPerlPackage {
1012     pname = "App-St";
1013     version = "1.1.4";
1014     src = fetchurl {
1015       url = "https://github.com/nferraz/st/archive/v1.1.4.tar.gz";
1016       hash = "sha256-wCoW9n5MNXaQpUODGYQxSf1wDCIxKPn/6+yrKEnFi7g=";
1017     };
1018     postInstall =
1019       ''
1020         ($out/bin/st --help || true) | grep Usage
1021       '';
1022     meta = {
1023       description = "Simple Statistics";
1024       homepage = "https://github.com/nferraz/st";
1025       license = with lib.licenses; [ mit ];
1026       maintainers = [ ];
1027       mainProgram = "st";
1028     };
1029   };
1031   AttributeParamsValidate = buildPerlPackage {
1032     pname = "Attribute-Params-Validate";
1033     version = "1.21";
1034     src = fetchurl {
1035       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Attribute-Params-Validate-1.21.tar.gz";
1036       hash = "sha256-WGuTnO/9s3GIt8Rh3RqPnzVpUYTIcDsFw19tUIyAkPU=";
1037     };
1038     buildInputs = [ TestFatal ];
1039     propagatedBuildInputs = [ ParamsValidate ];
1040     doCheck = false;
1041     meta = {
1042       description = "Validate method/function parameters";
1043       homepage = "https://metacpan.org/release/Params-Validate";
1044       license = with lib.licenses; [ artistic2 ];
1045     };
1046   };
1048   ArchiveLibarchive = buildPerlPackage {
1049     pname = "Archive-Libarchive";
1050     version = "0.09";
1051     src = fetchurl {
1052       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-0.09.tar.gz";
1053       hash = "sha256-avdG7P9/GjUwzmtaWNCtR0MaaZjUWduw8VYqEiPn3v8=";
1054     };
1055     patches = [ ../development/perl-modules/ArchiveLibarchive-set-findlib-path.patch ];
1056     postPatch = ''
1057       substituteInPlace lib/Archive/Libarchive/Lib.pm --replace-fail "@@libarchive@@" "${lib.getLib pkgs.libarchive}/lib"
1058     '';
1059     buildInputs = [ FFIC Filechdir PathTiny SubIdentify Test2ToolsMemoryCycle TestArchiveLibarchive TestScript ];
1060     propagatedBuildInputs = [ FFICStat FFICheckLib FFIPlatypus FFIPlatypusTypeEnum FFIPlatypusTypePtrObject RefUtil ];
1061     meta = {
1062       homepage = "https://metacpan.org/pod/Archive::Libarchive";
1063       description = "Modern Perl bindings to libarchive";
1064       license = with lib.licenses; [ artistic1 gpl1Plus ];
1065       maintainers = with maintainers; [ tomasajt ];
1066     };
1067   };
1069   ArchiveLibarchiveExtract = buildPerlPackage {
1070     pname = "Archive-Libarchive-Extract";
1071     version = "0.03";
1072     src = fetchurl {
1073       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-Extract-0.03.tar.gz";
1074       hash = "sha256-yXfAR0hnIX6zJvte5pA04e9spBQUkWHjEpAblf0SwIE=";
1075     };
1076     buildInputs = [ Test2Suite TestScript ];
1077     propagatedBuildInputs = [ ArchiveLibarchive Filechdir PathTiny RefUtil ];
1078     meta = {
1079       homepage = "https://metacpan.org/pod/Archive::Libarchive::Extract";
1080       description = "Archive extracting mechanism (using libarchive)";
1081       license = with lib.licenses; [ artistic1 gpl1Plus ];
1082       maintainers = with maintainers; [ tomasajt ];
1083     };
1084   };
1086   ArchiveLibarchivePeek = buildPerlPackage {
1087     pname = "Archive-Libarchive-Peek";
1088     version = "0.04";
1089     src = fetchurl {
1090       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-Peek-0.04.tar.gz";
1091       hash = "sha256-DYhJ4xG2RsozWz6gGodTtAIkK5XOgAo7zNXHCC4nJPo=";
1092     };
1093     buildInputs = [ Filechdir Test2Suite TestScript ];
1094     propagatedBuildInputs = [ ArchiveLibarchive PathTiny RefUtil ];
1095     meta = {
1096       homepage = "https://metacpan.org/pod/Archive::Libarchive::Peek";
1097       description = "Peek into archives without extracting them";
1098       license = with lib.licenses; [ artistic1 gpl1Plus ];
1099       maintainers = with maintainers; [ tomasajt ];
1100     };
1101   };
1103   ArrayCompare = buildPerlModule {
1104     pname = "Array-Compare";
1105     version = "3.0.8";
1106     src = fetchurl {
1107       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.8.tar.gz";
1108       hash = "sha256-MEc7XpEBU4QNJDHqlGO55W5SPN56PFBhadaaK5dC2DQ=";
1109     };
1111     buildInputs = [ TestNoWarnings ];
1112     propagatedBuildInputs = [ Moo TypeTiny ];
1113     meta = {
1114       description = "Perl extension for comparing arrays";
1115       license = with lib.licenses; [ artistic1 gpl1Plus ];
1116     };
1117   };
1119   ArrayDiff = buildPerlPackage {
1120     pname = "Array-Diff";
1121     version = "0.09";
1122     src = fetchurl {
1123       url = "mirror://cpan/authors/id/N/NE/NEILB/Array-Diff-0.09.tar.gz";
1124       hash = "sha256-gAY5Lphh50FTfCu8kRbI5CuWLy4H6NZBov9qEcZEUHc=";
1125     };
1126     propagatedBuildInputs = [ AlgorithmDiff ClassAccessor ];
1127     meta = {
1128       description = "Find the differences between two arrays";
1129       homepage = "https://github.com/neilb/array-diff-perl";
1130       license = with lib.licenses; [ artistic1 gpl1Plus ];
1131     };
1132   };
1134   ArrayFIFO = buildPerlPackage {
1135     pname = "Array-FIFO";
1136     version = "0.13";
1137     src = fetchurl {
1138       url = "mirror://cpan/authors/id/D/DB/DBURKE/Array-FIFO-0.13.tar.gz";
1139       hash = "sha256-virrX1qa8alvADNQilacqTrRmtFdx8a5mObXvHQMZvc=";
1140     };
1141     buildInputs = [ TestDeep TestSpec TestTrap ];
1142     propagatedBuildInputs = [ Moose namespaceautoclean ];
1143     meta = {
1144       description = "Simple limitable FIFO array, with sum and average methods";
1145       homepage = "https://github.com/dwburke/perl-Array-FIFO";
1146       license = with lib.licenses; [ artistic2 ];
1147     };
1148   };
1150   ArrayRefElem = buildPerlPackage {
1151     pname = "Array-RefElem";
1152     version = "1.00";
1153     src = fetchurl {
1154       url = "mirror://cpan/authors/id//G/GA/GAAS/Array-RefElem-1.00.tar.gz";
1155       hash = "sha256-U7iAo67AQ+TjcM4SaCtHVt5F3XQtq1cpT+IaFUU87+M=";
1156     };
1157     meta = {
1158       description = "Set up array elements as aliases";
1159       license = with lib.licenses; [ artistic1 gpl1Plus ];
1160     };
1161   };
1163   ArrayUtils = buildPerlPackage {
1164     pname = "ArrayUtils";
1165     version = "0.5";
1166     src = fetchurl {
1167       url = "mirror://cpan/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-0.5.tar.gz";
1168       hash = "sha256-id0bf82bQ3lJKjp3SW45/mzTebdz/QOmsWDdJu3mN3A=";
1169     };
1170     meta = {
1171       description = "Small utils for array manipulation";
1172       homepage = "https://metacpan.org/pod/Array::Utils";
1173       license = with lib.licenses; [ artistic1 gpl1Plus ];
1174     };
1175   };
1177   AsyncPing = buildPerlPackage {
1178     pname = "AsyncPing";
1179     version = "2016.1207";
1180     src = fetchurl {
1181       url = "mirror://cpan/authors/id/X/XI/XINFWANG/AsyncPing-2016.1207.tar.gz";
1182       hash = "sha256-b76a/sF6d3B2+K2JksjSMAr2WpUDRD0dT/nD+NKZyVo=";
1183     };
1184     meta = {
1185       description = "Ping a huge number of servers in several seconds";
1186       license = with lib.licenses; [ artistic2 ];
1187     };
1188   };
1190   AsyncUtil = buildPerlPackage {
1191     pname = "Async-Util";
1192     version = "0.01";
1193     src = fetchurl {
1194       url = "mirror://cpan/authors/id/W/WH/WHITNEY/Async-Util-0.01.tar.gz";
1195       hash = "sha256-jzKxHKvFD2Xjh79W8mWBV6IsNah5Nmbhtfis/hMQkQY=";
1196     };
1197     buildInputs = [ AnyEvent ListMoreUtils ];
1198     meta = {
1199       description = "Utilities for doing common async operations";
1200       license = with lib.licenses; [ artistic1 gpl1Plus ];
1201     };
1202   };
1204   ArchiveCpio = buildPerlPackage {
1205     pname = "Archive-Cpio";
1206     version = "0.10";
1207     src = fetchurl {
1208       url = "mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.10.tar.gz";
1209       hash = "sha256-JG+zFml2TngzayGRE0Ei4HxE8tgtxPN9VSqyj4ZovtM=";
1210     };
1211     meta = {
1212       description = "Module for manipulations of cpio archives";
1213       license = with lib.licenses; [ artistic1 gpl1Plus ]; # See https://rt.cpan.org/Public/Bug/Display.html?id=43597#txn-569710
1214       mainProgram = "cpio-filter";
1215     };
1216   };
1218   ArchiveExtract = buildPerlPackage {
1219     pname = "Archive-Extract";
1220     version = "0.88";
1221     src = fetchurl {
1222       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.88.tar.gz";
1223       hash = "sha256-z/zxNc0GIih9OwIVT31nFklUSfyu0DlmYhlI4l6l90I=";
1224     };
1225     meta = {
1226       description = "Generic archive extracting mechanism";
1227       license = with lib.licenses; [ artistic1 gpl1Plus ];
1228     };
1229   };
1231   ArchiveTar = buildPerlPackage {
1232     pname = "Archive-Tar";
1233     version = "3.02";
1234     src = fetchurl {
1235       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Tar-3.02.tar.gz";
1236       hash = "sha256-gWM8h/c3hGGD01wPTJ1ALalHqEa0iBswzObZ6+PInRk=";
1237     };
1238     meta = {
1239       description = "Manipulates TAR archives";
1240       license = with lib.licenses; [ artistic1 gpl1Plus ];
1241       mainProgram = "ptar";
1242     };
1243   };
1245   ArchiveTarWrapper = buildPerlPackage {
1246     pname = "Archive-Tar-Wrapper";
1247     version = "0.38";
1248     src = fetchurl {
1249       url = "mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.38.tar.gz";
1250       hash = "sha256-GfPQ2qi5XP+2jHBDUN0GdKI+HS8U0DKQO36WCe23s3o=";
1251     };
1252     propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
1253     meta = {
1254       description = "API wrapper around the 'tar' utility";
1255       license = with lib.licenses; [ gpl3Plus ];
1256     };
1257   };
1259   ArchiveZip = buildPerlPackage {
1260     pname = "Archive-Zip";
1261     version = "1.68";
1262     src = fetchurl {
1263       url = "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.68.tar.gz";
1264       hash = "sha256-mE4YXXhbr2EpxudfjrREEXRawAv2Ei+xyOgio4YexlA=";
1265     };
1266     buildInputs = [ TestMockModule ];
1267     meta = {
1268       description = "Provide an interface to ZIP archive files";
1269       license = with lib.licenses; [ artistic1 gpl1Plus ];
1270       mainProgram = "crc32";
1271     };
1272   };
1274   AstroFITSHeader = buildPerlModule {
1275     pname = "Astro-FITS-Header";
1276     version = "3.09";
1277     src = fetchurl {
1278       url = "mirror://cpan/authors/id/G/GS/GSB/Astro-FITS-Header-3.09.tar.gz";
1279       hash = "sha256-cq1oveWku+zv8VFtZ3A/4tACFDlwQpo81pplFlLVaYY=";
1280     };
1281     meta = {
1282       description = "Object-oriented interface to FITS HDUs";
1283       homepage = "https://github.com/timj/perl-Astro-FITS-Header";
1284       license = with lib.licenses; [ gpl3Plus ];
1285     };
1286   };
1288   AudioCuefileParser = buildPerlPackage {
1289     pname = "Audio-Cuefile-Parser";
1290     version = "0.02";
1291     src = fetchurl {
1292       url = "mirror://cpan/authors/id/M/MA/MATTK/Audio-Cuefile-Parser-0.02.tar.gz";
1293       hash = "sha256-ulbQcMhz2WxoatmoH99P6JuETkPrSd/gAL+c70PFtmk=";
1294     };
1295     meta = {
1296       license = with lib.licenses; [ artistic1 gpl1Plus ];
1297     };
1298   };
1300   AudioFLACHeader = buildPerlPackage {
1301     pname = "Audio-FLAC-Header";
1302     version = "2.4";
1303     src = fetchurl {
1304       url = "mirror://cpan/authors/id/D/DA/DANIEL/Audio-FLAC-Header-2.4.tar.gz";
1305       hash = "sha256-+6WRHWwi2BUGVlzZoUOOhgVCD/eYbPA9GhLQBqQHBUM=";
1306     };
1307     meta = {
1308       description = "Interface to FLAC header metadata";
1309       license = with lib.licenses; [ artistic1 gpl1Plus ];
1310     };
1311   };
1313   AudioScan = buildPerlPackage {
1314     pname = "Audio-Scan";
1315     version = "1.05";
1316     src = fetchurl {
1317         url = "https://github.com/Logitech/slimserver-vendor/raw/public/8.3/CPAN/Audio-Scan-1.05.tar.gz";
1318         hash = "sha256-9YXC8GHPRWKlV8emmTke7RB0HhiCbALmZQqtQFLcBi4=";
1319     };
1320     buildInputs = [ pkgs.zlib TestWarn ];
1321     env.NIX_CFLAGS_COMPILE = "-I${pkgs.zlib.dev}/include";
1322     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
1323     meta = {
1324       description = "Fast C metadata and tag reader for all common audio file formats, slimserver fork";
1325       homepage = "https://github.com/Logitech/slimserver-vendor";
1326       license = with lib.licenses; [ gpl2Plus ];
1327     };
1328   };
1330   AuthenDecHpwd = buildPerlModule {
1331     pname = "Authen-DecHpwd";
1332     version = "2.007";
1333     src = fetchurl {
1334       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz";
1335       hash = "sha256-9DqTuwK0H3Mn2S+eljtpUF9nNQpS6PUHlvmK/E+z8Xc=";
1336     };
1337     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
1338     propagatedBuildInputs = [ DataInteger DigestCRC ScalarString ];
1339     meta = {
1340       description = "DEC VMS password hashing";
1341       license = with lib.licenses; [ gpl1Plus ];
1342     };
1343   };
1345   AuthenHtpasswd = buildPerlPackage {
1346     pname = "Authen-Htpasswd";
1347     version = "0.171";
1348     src = fetchurl {
1349       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz";
1350       hash = "sha256-tfr0fj+UikUoEGzLiMxxBIz+WY5bAmpEQ2i8fjk0gGc=";
1351     };
1352     propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ];
1353     # Remove test files that fail after DES support was removed from crypt()
1354     postPatch = ''
1355       rm t/04core.t t/05edit.t
1356     '';
1357     meta = {
1358       description = "Interface to read and modify Apache .htpasswd files";
1359       license = with lib.licenses; [ artistic1 gpl1Plus ];
1360     };
1361   };
1363   AuthenKrb5 = buildPerlModule {
1364     pname = "Authen-Krb5";
1365     version = "1.905";
1366     src = fetchurl {
1367       url = "mirror://cpan/authors/id/I/IO/IOANR/Authen-Krb5-1.905.tar.gz";
1368       hash = "sha256-13sAuxUBpW9xGOkarAx+Qi2888QY+c6YuAF3HDqg900=";
1369     };
1370     perlPreHook = "export LD=$CC";
1371     propagatedBuildInputs = [ pkgs.libkrb5 ];
1372     buildInputs = [ DevelChecklib FileWhich PkgConfig ];
1373     meta = {
1374       description = "XS bindings for Kerberos 5";
1375       license = with lib.licenses; [ artistic1 gpl1Plus ];
1376     };
1377   };
1379   AuthenKrb5Admin = buildPerlPackage {
1380     pname = "Authen-Krb5-Admin";
1381     version = "0.17";
1382     src = fetchurl {
1383       url = "mirror://cpan/authors/id/S/SJ/SJQUINNEY/Authen-Krb5-Admin-0.17.tar.gz";
1384       hash = "sha256-XdScrNmD79YajD8aVlcbtzeF6xVZCLXXvsl+7XjfDFQ=";
1385     };
1386     propagatedBuildInputs = [ pkgs.krb5.dev AuthenKrb5 ];
1387     # The following ENV variables are required by Makefile.PL to find
1388     # programs in krb5.dev. It is not enough to just specify the
1389     # path to krb5-config as this tool returns the prefix of krb5,
1390     # which implies a working value for KRB5_LIBDIR, but not the others.
1391     perlPreHook = ''
1392       export KRB5_CONFTOOL=${pkgs.krb5.dev}/bin/krb5-config
1393       export KRB5_BINDIR=${pkgs.krb5.dev}/bin
1394       export KRB5_INCDIR=${pkgs.krb5.dev}/include
1395     '';
1396     # Tests require working Kerberos infrastructure so replace with a
1397     # simple attempt to exercise the module.
1398     checkPhase = ''
1399       perl -I blib/lib -I blib/arch -MAuthen::Krb5::Admin -e 'print "1..1\nok 1\n"'
1400     '';
1401     meta = {
1402       description = "Perl extension for MIT Kerberos 5 admin interface";
1403       license = with lib.licenses; [ bsd3 ];
1404     };
1405   };
1407   AuthenModAuthPubTkt = buildPerlPackage {
1408     pname = "Authen-ModAuthPubTkt";
1409     version = "0.1.1";
1410     src = fetchurl {
1411       url = "mirror://cpan/authors/id/A/AG/AGORDON/Authen-ModAuthPubTkt-0.1.1.tar.gz";
1412       hash = "sha256-eZbhpCxRIWADzPA8S1JQKGtMVWhCV5cYUfXs6RYdx90=";
1413     };
1414     propagatedBuildInputs = [ pkgs.openssl IPCRun3 ];
1415     patchPhase = ''
1416       sed -i 's|my $openssl_bin = "openssl";|my $openssl_bin = "${pkgs.openssl}/bin/openssl";|' lib/Authen/ModAuthPubTkt.pm
1417       # -dss1 doesn't exist for dgst in openssl 1.1, -sha1 can also handle DSA keys now
1418       sed -i 's|-dss1|-sha1|' lib/Authen/ModAuthPubTkt.pm
1419     '';
1420     preCheck = "rm t/04-verify-dsa.t"; # remove unstable test: https://rt.cpan.org/Ticket/Display.html?id=110752
1421     meta = {
1422       description = "Generate Tickets (Signed HTTP Cookies) for mod_auth_pubtkt protected websites";
1423       license = with lib.licenses; [ artistic1 gpl1Plus ];
1424       mainProgram = "mod_auth_pubtkt.pl";
1425     };
1426   };
1428   AuthenOATH = buildPerlPackage {
1429     pname = "Authen-OATH";
1430     version = "2.0.1";
1431     src = fetchurl {
1432       url = "mirror://cpan/authors/id/O/OA/OALDERS/Authen-OATH-2.0.1.tar.gz";
1433       hash = "sha256-GoE9vcBcP72d0528/YXiz7C6PQ9lLPaybsg6uBRt3Hc=";
1434     };
1435     buildInputs = [ TestNeeds ];
1436     propagatedBuildInputs = [ DigestHMAC Moo TypeTiny ];
1437     meta = {
1438       description = "OATH One Time Passwords";
1439       homepage = "https://github.com/oalders/authen-oath";
1440       license = with lib.licenses; [ artistic1 gpl1Plus ];
1441       maintainers = [ maintainers.sgo ];
1442     };
1443   };
1445   AuthenPassphrase = buildPerlModule {
1446     pname = "Authen-Passphrase";
1447     version = "0.008";
1448     src = fetchurl {
1449       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz";
1450       hash = "sha256-VdtFIGF9hZ2IwO5Ull2oFbcibXkrjNyN6/kgc1WeBGM=";
1451     };
1452     propagatedBuildInputs = [ AuthenDecHpwd CryptDES CryptEksblowfish CryptMySQL CryptPasswdMD5 CryptUnixCryptXS DataEntropy DigestMD4 ModuleRuntime ];
1453     meta = {
1454       description = "Hashed passwords/passphrases as objects";
1455       license = with lib.licenses; [ artistic1 gpl1Plus ];
1456     };
1457   };
1459   AuthenRadius = buildPerlPackage {
1460     pname = "Authen-Radius";
1461     version = "0.32";
1462     src = fetchurl {
1463       url = "mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.32.tar.gz";
1464       hash = "sha256-eyCPmDfIOhhCZyVIklNlh+7Qvd5J577euj1ypmUjF0A=";
1465     };
1466     buildInputs = [ TestNoWarnings ];
1467     propagatedBuildInputs = [ DataHexDump NetIP ];
1468     meta = {
1469       description = "Provide simple Radius client facilities";
1470       license = with lib.licenses; [ artistic2 ];
1471     };
1472   };
1474   AuthenSASL = buildPerlPackage {
1475     pname = "Authen-SASL";
1476     version = "2.1700";
1477     src = fetchurl {
1478       url = "mirror://cpan/authors/id/E/EH/EHUELS/Authen-SASL-2.1700.tar.gz";
1479       hash = "sha256-uG1aV2uNOHruJPOfR6VK/RS7ZrCQA9tQZQAfHeA6js4=";
1480     };
1481     propagatedBuildInputs = [ DigestHMAC ];
1482     meta = {
1483       description = "SASL Authentication framework";
1484       license = with lib.licenses; [ artistic1 gpl1Plus ];
1485     };
1486   };
1488   AuthenSASLSASLprep = buildPerlModule {
1489     pname = "Authen-SASL-SASLprep";
1490     version = "1.100";
1491     src = fetchurl {
1492       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Authen-SASL-SASLprep-1.100.tar.gz";
1493       hash = "sha256-pMzMNLs/U6zwunjJ/GGvjRVtEJ0cEEh7pZiKVQd9H3A=";
1494     };
1495     buildInputs = [ TestNoWarnings ];
1496     propagatedBuildInputs = [ UnicodeStringprep ];
1497     meta = {
1498       description = "Stringprep Profile for User Names and Passwords (RFC 4013)";
1499       license = with lib.licenses; [ artistic1 gpl1Plus ];
1500       maintainers = [ maintainers.sgo ];
1501     };
1502   };
1504   AuthenSCRAM = buildPerlPackage {
1505     pname = "Authen-SCRAM";
1506     version = "0.011";
1507     src = fetchurl {
1508       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Authen-SCRAM-0.011.tar.gz";
1509       hash = "sha256-RRCMI5pzc9AJQdzw0XGs0D58FqY85vfZVo/wUrF89ag=";
1510     };
1511     buildInputs = [ TestFailWarnings TestFatal ];
1512     propagatedBuildInputs = [ AuthenSASLSASLprep CryptURandom Moo PBKDF2Tiny TypeTiny namespaceclean ];
1513     meta = {
1514       description = "Salted Challenge Response Authentication Mechanism (RFC 5802)";
1515       homepage = "https://github.com/dagolden/Authen-SCRAM";
1516       license = with lib.licenses; [ asl20 ];
1517       maintainers = [ maintainers.sgo ];
1518     };
1519   };
1521   AuthenSimple = buildPerlPackage {
1522     pname = "Authen-Simple";
1523     version = "0.5";
1524     src = fetchurl {
1525       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-0.5.tar.gz";
1526       hash = "sha256-As3atH+L8aHL1Mm/jSWPbQURFJnDP4MV5yRIEvcmE6o=";
1527     };
1528     # Our C crypt() doesn't support this weak "crypt" algorithm anymore.
1529     postPatch = ''
1530       patch -p1 <<-EOF
1531         --- a/t/09password.t
1532         +++ b/t/09password.t
1533         @@ -10 +10 @@
1534         -use Test::More tests => 16;
1535         +use Test::More tests => 14;
1536         @@ -14 +13,0 @@
1537         -    [ 'crypt',     'lk9Mh5KHGjAaM',                          'crypt'        ],
1538         @@ -18 +16,0 @@
1539         -    [ 'crypt',     '{CRYPT}lk9Mh5KHGjAaM',                   '{CRYPT}'      ],
1540       EOF
1541     '';
1542     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable CryptPasswdMD5 ParamsValidate ];
1543     meta = {
1544       description = "Simple Authentication";
1545       license = with lib.licenses; [ artistic1 gpl1Plus ];
1546     };
1547   };
1549   AuthenSimplePasswd = buildPerlModule {
1550     pname = "Authen-Simple-Passwd";
1551     version = "0.6";
1552     src = fetchurl {
1553       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz";
1554       hash = "sha256-z1W8NiWe3w/Wr5rSusgbMdxbVqFixmBZDsuWnHwWdLI=";
1555     };
1556     # Our C crypt() doesn't support this weak "crypt" algorithm anymore.
1557     postPatch = ''
1558       sed -e 's/tests => 8/tests => 7/' -e "/'crypt'/d" -i t/04basic.t
1559     '';
1560     propagatedBuildInputs = [ AuthenSimple ];
1561     meta = {
1562       description = "Simple Passwd authentication";
1563       license = with lib.licenses; [ artistic1 gpl1Plus ];
1564     };
1565   };
1567   autobox = buildPerlPackage {
1568     pname = "autobox";
1569     version = "3.0.1";
1570     src = fetchurl {
1571       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-v3.0.1.tar.gz";
1572       hash = "sha256-wwO3/M+qH/TUxCmrPxXlyip3VU74yfw7jGK6hZ6HTJg=";
1573     };
1574     propagatedBuildInputs = [ ScopeGuard ];
1575     buildInputs = [ IPCSystemSimple TestFatal ];
1576     meta = {
1577       description = "Call methods on native types";
1578       license = with lib.licenses; [ artistic2 ];
1579     };
1580   };
1582   Autodia = buildPerlPackage {
1583     pname = "Autodia";
1584     version = "2.14";
1585     src = fetchurl {
1586       url = "mirror://cpan/authors/id/T/TE/TEEJAY/Autodia-2.14.tar.gz";
1587       hash = "sha256-rIElyIq+Odn+Aco6zBOgCinzM2pLt+9gRH5ri4Iv9CI=";
1588     };
1589     propagatedBuildInputs = [ TemplateToolkit XMLSimple ];
1590     buildInputs = [ DBI ];
1592     meta = {
1593       description = "AutoDia, create UML diagrams from source code";
1594       longDescription = ''
1595         AutoDia is a modular application that parses source code, XML or data
1596         and produces an XML document in Dia format (or images via graphviz
1597         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
1598         package.  The diagrams its creates are standard UML diagrams showing
1599         dependencies, superclasses, packages, classes and inheritances, as
1600         well as the methods, etc of each class.
1602         AutoDia supports any language that a Handler has been written for,
1603         which includes C, C++, Java, Perl, Python, and more.
1604       '';
1605       homepage = "http://www.aarontrevena.co.uk/opensource/autodia/";
1606       license = with lib.licenses; [ gpl2Plus ];
1607       mainProgram = "autodia.pl";
1608     };
1609   };
1611   AWSSignature4 = buildPerlModule {
1612     pname = "AWS-Signature4";
1613     version = "1.02";
1614     src = fetchurl {
1615       url = "mirror://cpan/authors/id/L/LD/LDS/AWS-Signature4-1.02.tar.gz";
1616       hash = "sha256-ILvBbLNFT+XozzT+YfGpH+JsPxfkSf9mX8u7kqtEPr0=";
1617     };
1618     propagatedBuildInputs = [ LWP TimeDate URI ];
1619     meta = {
1620       description = "Create a version4 signature for Amazon Web Services";
1621       license = with lib.licenses; [ artistic1 gpl1Plus ];
1622     };
1623   };
1625   autovivification = buildPerlPackage {
1626     pname = "autovivification";
1627     version = "0.18";
1628     src = fetchurl {
1629       url = "mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz";
1630       hash = "sha256-LZmXVoUkKYDQqZBPY5FEwFnW7OFYme/eSst0LTJT8QU=";
1631     };
1632     meta = {
1633       description = "Lexically disable autovivification";
1634       homepage = "https://search.cpan.org/dist/autovivification";
1635       license = with lib.licenses; [ artistic1 gpl1Plus ];
1636     };
1637   };
1639   BarcodeZBar = buildPerlPackage {
1640     pname = "Barcode-ZBar";
1641     version = "0.04pre";
1642     # The meta::cpan version of this module has been unmaintained from 2009
1643     # This uses an updated version from the ZBar repo that works with the current ZBar library
1644     src = "${pkgs.zbar.src}/perl";
1645     postPatch = ''
1646       substituteInPlace Makefile.PL --replace "-lzbar" "-L${pkgs.zbar.lib}/lib -lzbar"
1647       rm t/Processor.t
1648     '';
1649     buildInputs =[ ExtUtilsMakeMaker ];
1650     propagatedBuildInputs = [ pkgs.zbar PerlMagick ];
1651     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
1652     meta = {
1653       description = "Perl interface to the ZBar Barcode Reader";
1654       homepage = "https://metacpan.org/pod/Barcode::ZBar";
1655       license = with lib.licenses; [ lgpl21Plus ];
1656     };
1657   };
1659   BC = buildPerlPackage {
1660     pname = "B-C";
1661     version = "1.57";
1662     src = fetchurl {
1663       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-C-1.57.tar.gz";
1664       hash = "sha256-BFKmEdNDrfnZX86ra6a2YXbjrX/MzlKAkiwOQx9RSf8=";
1665     };
1666     propagatedBuildInputs = [ BFlags IPCRun Opcodes ];
1667     env = lib.optionalAttrs stdenv.cc.isGNU {
1668       NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
1669     };
1670     doCheck = false; /* test fails */
1671     meta = {
1672       description = "Perl compiler";
1673       homepage = "https://github.com/rurban/perl-compiler";
1674       license = with lib.licenses; [ artistic1 gpl1Plus ];
1675       mainProgram = "perlcc";
1676     };
1677   };
1679   BCOW = buildPerlPackage {
1680     pname = "B-COW";
1681     version = "0.007";
1682     src = fetchurl {
1683       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/B-COW-0.007.tar.gz";
1684       hash = "sha256-EpDa8ifosJiJoxzxguKRBvHPnxpOm/d1L53pLtEVi0Q=";
1685     };
1686     meta = {
1687       description = "B::COW additional B helpers to check COW status";
1688       license = with lib.licenses; [ artistic1 gpl1Plus ];
1689     };
1690   };
1692   BFlags = buildPerlPackage {
1693     pname = "B-Flags";
1694     version = "0.17";
1695     src = fetchurl {
1696       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Flags-0.17.tar.gz";
1697       hash = "sha256-wduX0BMVvtEJtMSJWM0yGVz8nvXTt3B+tHhAwdV8ELI=";
1698     };
1699     meta = {
1700       description = "Friendlier flags for B";
1701       license = with lib.licenses; [ artistic1 gpl1Only ];
1702     };
1703   };
1705   BeanstalkClient = buildPerlPackage {
1706     pname = "Beanstalk-Client";
1707     version = "1.07";
1708     src = fetchurl {
1709       url = "mirror://cpan/authors/id/G/GB/GBARR/Beanstalk-Client-1.07.tar.gz";
1710       hash = "sha256-MYirESfyyrqX32XIT2nbDscMZOXXDylvmiZ0+nnBEsw=";
1711     };
1712     propagatedBuildInputs = [ ClassAccessor YAMLSyck ];
1713     meta = {
1714       description = "Client to communicate with beanstalkd server";
1715       license = with lib.licenses; [ artistic1 gpl1Plus ];
1716     };
1717   };
1719   BerkeleyDB = buildPerlPackage {
1720     pname = "BerkeleyDB";
1721     version = "0.65";
1723     src = fetchurl {
1724       url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.65.tar.gz";
1725       hash = "sha256-QQqonnIylB1JEGyeBI1jN0dVQ+wdIz6nzbcly1uWNQQ=";
1726     };
1728     preConfigure = ''
1729       echo "LIB = ${pkgs.db.out}/lib" > config.in
1730       echo "INCLUDE = ${pkgs.db.dev}/include" >> config.in
1731     '';
1732     meta = {
1733       description = "Perl extension for Berkeley DB version 2, 3, 4, 5 or 6";
1734       license = with lib.licenses; [ artistic1 gpl1Plus ];
1735     };
1736   };
1738   BDB = buildPerlPackage rec {
1739     pname = "BDB";
1740     version = "1.92";
1741     src = fetchurl {
1742       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
1743       hash = "sha256-o/LKnSuu/BqqQJCLL5y5KS/aPn15fji7146rudna62s=";
1744     };
1745     env.NIX_CFLAGS_COMPILE = "-I${pkgs.db4.dev}/include";
1746     NIX_CFLAGS_LINK = "-L${pkgs.db4.out}/lib -ldb";
1747     buildInputs = [ pkgs.db4 ];
1748     propagatedBuildInputs = [ commonsense ];
1749     meta = {
1750       description = "Asynchronous Berkeley DB access";
1751       license = with lib.licenses; [ artistic1 gpl1Plus ];
1752     };
1753   };
1755   BHooksEndOfScope = buildPerlPackage {
1756     pname = "B-Hooks-EndOfScope";
1757     version = "0.26";
1758     src = fetchurl {
1759       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.26.tar.gz";
1760       hash = "sha256-Od8vjAB6dUZyB1+VuQeXuuvpetptlEsZemNScJyzBnE=";
1761     };
1762     propagatedBuildInputs = [ ModuleImplementation SubExporterProgressive ];
1763     meta = {
1764       description = "Execute code after a scope finished compilation";
1765       homepage = "https://github.com/karenetheridge/B-Hooks-EndOfScope";
1766       license = with lib.licenses; [ artistic1 gpl1Plus ];
1767     };
1768   };
1770   BHooksOPAnnotation = buildPerlPackage {
1771     pname = "B-Hooks-OP-Annotation";
1772     version = "0.44";
1773     src = fetchurl {
1774       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/B-Hooks-OP-Annotation-0.44.tar.gz";
1775       hash = "sha256-bib5k2f06pRBac9uBc9NBngyCCQkyo7O/Mt7WmMhexY=";
1776     };
1777     propagatedBuildInputs = [ ExtUtilsDepends ];
1778     meta = {
1779       description = "Annotate and delegate hooked OPs";
1780       license = with lib.licenses; [ artistic1 gpl1Plus ];
1781     };
1782   };
1784   BHooksOPCheck = buildPerlPackage {
1785     pname = "B-Hooks-OP-Check";
1786     version = "0.22";
1787     src = fetchurl {
1788       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz";
1789       hash = "sha256-x7XRvvWe+Qh/9n6zFo0mJL6UrlRkRp4lmtEb+4rYzc0=";
1790     };
1791     buildInputs = [ ExtUtilsDepends ];
1792     meta = {
1793       description = "Wrap OP check callbacks";
1794       homepage = "https://github.com/karenetheridge/B-Hooks-OP-Check";
1795       license = with lib.licenses; [ artistic1 gpl1Plus ];
1796     };
1797   };
1799   BioExtAlign = callPackage ../development/perl-modules/Bio-Ext-Align { };
1801   BioDBHTS = buildPerlModule {
1802     pname = "Bio-DB-HTS";
1803     version = "3.01";
1804     src = fetchurl {
1805       url = "mirror://cpan/authors/id/A/AV/AVULLO/Bio-DB-HTS-3.01.tar.gz";
1806       sha256 = "12a6bc1f579513cac8b9167cce4e363655cc8eba26b7d9fe1170dfe95e044f42";
1807     };
1809     buildInputs = [ pkgs.htslib pkgs.zlib ];
1811     propagatedBuildInputs = [ BioPerl ];
1812     htslibStore = toString pkgs.htslib;
1814     postPatch = ''
1815       # -Wl,-rpath not recognized : replaced by -rpath=
1816       sed -i 's/Wl,-rpath,/rpath=/' Build.PL
1817     '';
1819     preBuild = ''
1820       export HTSLIB_DIR=${pkgs.htslib}
1821     '';
1823     meta = {
1824       description = "Perl interface to HTS library for DNA sequencing";
1825       license = lib.licenses.asl20;
1826     };
1827   };
1829   BioBigFile = callPackage ../development/perl-modules/Bio-BigFile { };
1831   BioPerl = buildPerlPackage {
1832     pname = "BioPerl";
1833     version = "1.7.8";
1834     src = fetchurl {
1835       url = "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-1.7.8.tar.gz";
1836       hash = "sha256-xJCjvncV6m5DBe/ZcQ5e2rgtq8Vf14a2UFtVCjDXFzg=";
1837     };
1838     buildInputs = [ ModuleBuild TestMemoryCycle TestWeaken TestDeep TestWarn TestException TestDifferences ];
1839     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 ];
1840     meta = {
1841       description = "Perl modules for biology";
1842       homepage = "https://metacpan.org/release/BioPerl";
1843       license = with lib.licenses; [ artistic1 gpl1Plus ];
1844     };
1845   };
1847   BitVector = buildPerlPackage {
1848     pname = "Bit-Vector";
1849     version = "7.4";
1850     src = fetchurl {
1851       url = "mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz";
1852       hash = "sha256-PG2qZx/s+8Nfkqk4W1Y9ZfUN/Gvci0gF+e9GwNA1qSY=";
1853     };
1854     propagatedBuildInputs = [ CarpClan ];
1855     meta = {
1856       description = "Efficient bit vector, set of integers and 'big int' math library";
1857       license = with lib.licenses; [ artistic1 gpl1Plus lgpl2Only ];
1858     };
1859   };
1861   BKeywords = buildPerlPackage {
1862     pname = "B-Keywords";
1863     version = "1.27";
1864     src = fetchurl {
1865       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.27.tar.gz";
1866       hash = "sha256-7xC5CF5nTqpBfMt9aS+2zZj3u2feKhJ+ujRX2K5YfP8=";
1867     };
1868     meta = {
1869       description = "Lists of reserved barewords and symbol names";
1870       license = with lib.licenses; [ artistic1 gpl2Only ];
1871     };
1872   };
1874   boolean = buildPerlPackage {
1875     pname = "boolean";
1876     version = "0.46";
1877     src = fetchurl {
1878       url = "mirror://cpan/authors/id/I/IN/INGY/boolean-0.46.tar.gz";
1879       hash = "sha256-lcCICFw+g79oD+bOFtgmTsJjEEkPfRaA5BbqehGPFWo=";
1880     };
1881     meta = {
1882       description = "Boolean support for Perl";
1883       homepage = "https://github.com/ingydotnet/boolean-pm";
1884       license = with lib.licenses; [ artistic1 gpl1Plus ];
1885     };
1886   };
1888   BoostGeometryUtils = buildPerlModule {
1889     pname = "Boost-Geometry-Utils";
1890     version = "0.15";
1891     src = fetchurl {
1892       url = "mirror://cpan/authors/id/A/AA/AAR/Boost-Geometry-Utils-0.15.tar.gz";
1893       hash = "sha256-AFTdP1c70/b0e3PugdHoRYQvugSq21KICqUnAcaH0co=";
1894     };
1895     patches = [
1896       # Fix out of memory error on Perl 5.19.4 and later.
1897       ../development/perl-modules/boost-geometry-utils-fix-oom.patch
1898     ];
1899     perlPreHook = "export LD=$CC";
1900     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp ];
1901     meta = {
1902       description = "Bindings for the Boost Geometry library";
1903       license = with lib.licenses; [ artistic1 gpl1Plus ];
1904     };
1905   };
1907   BotTraining = buildPerlPackage {
1908     pname = "Bot-Training";
1909     version = "0.07";
1910     src = fetchurl {
1911       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-0.07.tar.gz";
1912       hash = "sha256-7ma7+BTw3D0egGgOBQ+tELHgGP7Xkp9lPtQOCIsqopU=";
1913     };
1914     buildInputs = [ FileSlurp ];
1915     propagatedBuildInputs = [ ClassLoad DirSelf FileShareDir ModulePluggable MooseXGetopt namespaceclean  ];
1916     meta = {
1917       description = "Plain text training material for bots like Hailo and AI::MegaHAL";
1918       homepage = "https://metacpan.org/release/Bot-Training";
1919       license = with lib.licenses; [ artistic1 gpl1Plus ];
1920       mainProgram = "bot-training";
1921     };
1922   };
1924   BotTrainingMegaHAL = buildPerlPackage {
1925     pname = "Bot-Training-MegaHAL";
1926     version = "0.03";
1927     src = fetchurl {
1928       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-MegaHAL-0.03.tar.gz";
1929       hash = "sha256-lWByr/BPIW5cO4GWlltdgNTUdpXXfsqr1W5Z1l8iv2A=";
1930     };
1931     buildInputs = [ FileShareDirInstall ];
1932     propagatedBuildInputs = [ BotTraining ];
1933     meta = {
1934       description = "Provide megahal.trn via Bot::Training";
1935       homepage = "https://metacpan.org/release/Bot-Training-MegaHAL";
1936       license = with lib.licenses; [ artistic1 gpl1Plus ];
1937     };
1938   };
1940   BotTrainingStarCraft = buildPerlPackage {
1941     pname = "Bot-Training-StarCraft";
1942     version = "0.03";
1943     src = fetchurl {
1944       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-StarCraft-0.03.tar.gz";
1945       hash = "sha256-58640Bxi5zLdib/l9Ng+eBwc2RJULRd8Iudht8hhTV4=";
1946     };
1947     buildInputs = [ FileShareDirInstall ];
1948     propagatedBuildInputs = [ BotTraining ];
1949     meta = {
1950       description = "Provide starcraft.trn via Bot::Training";
1951       homepage = "https://metacpan.org/release/Bot-Training-StarCraft";
1952       license = with lib.licenses; [ artistic1 gpl1Plus ];
1953     };
1954   };
1956   BSDResource = buildPerlPackage {
1957     pname = "BSD-Resource";
1958     version = "1.2911";
1959     src = fetchurl {
1960       url = "mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz";
1961       hash = "sha256-nRz7oGPMGPckJ6IkUfeQiDa3MxrIeF2+B1U8WwQ6DD0=";
1962     };
1963     meta = {
1964       description = "BSD process resource limit and priority functions";
1965       license = with lib.licenses; [ artistic2 ];
1966       maintainers = teams.deshaw.members;
1967     };
1968   };
1970   BSON = buildPerlPackage {
1971     pname = "BSON";
1972     version = "1.12.2";
1973     src = fetchurl {
1974       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-v1.12.2.tar.gz";
1975       hash = "sha256-9GEsDDVDEHQbmattJkUSJoIxUMonEJsbORIy1c/dpts=";
1976     };
1977     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal ];
1978     propagatedBuildInputs = [ CryptURandom Moo TieIxHash boolean namespaceclean ];
1979     meta = {
1980       description = "BSON serialization and deserialization (EOL)";
1981       homepage = "https://github.com/mongodb-labs/mongo-perl-bson";
1982       license = with lib.licenses; [ asl20 ];
1983     };
1984   };
1986   BSONXS = buildPerlPackage {
1987     pname = "BSON-XS";
1988     version = "0.8.4";
1989     src = fetchurl {
1990       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-XS-v0.8.4.tar.gz";
1991       hash = "sha256-KPfTOP14tvnJpggL6d4/XLI9iIuW6/b8v6zp8pZq6/k=";
1992     };
1993     buildInputs = [ ConfigAutoConf JSONMaybeXS PathTiny TestDeep TestFatal TieIxHash ];
1994     propagatedBuildInputs = [ BSON boolean JSONXS JSONPP CpanelJSONXS ];
1995     meta = {
1996       description = "XS implementation of MongoDB's BSON serialization (EOL)";
1997       homepage = "https://github.com/mongodb-labs/mongo-perl-bson-xs";
1998       license = with lib.licenses; [ asl20 ];
1999       platforms = lib.platforms.linux; # configure phase fails with "ld: unknown option: -mmacosx-version-min=10.12"
2000     };
2001   };
2003   BUtils = buildPerlPackage {
2004     pname = "B-Utils";
2005     version = "0.27";
2006     src = fetchurl {
2007       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz";
2008       hash = "sha256-+X9T9qMFAQmqQU/usYTK0QGBLUF2DpUrXYSZP2aF/+o=";
2009     };
2010     propagatedBuildInputs = [ TaskWeaken ];
2011     buildInputs = [ ExtUtilsDepends ];
2012     meta = {
2013       description = "Helper functions for op tree manipulation";
2014       homepage = "https://search.cpan.org/dist/B-Utils";
2015       license = with lib.licenses; [ artistic1 gpl1Plus ];
2016     };
2017   };
2019   BusinessHours = buildPerlPackage {
2020     pname = "Business-Hours";
2021     version = "0.13";
2022     src = fetchurl {
2023       url = "mirror://cpan/authors/id/B/BP/BPS/Business-Hours-0.13.tar.gz";
2024       hash = "sha256-qAf+P/u4T/pTlnEazOdXZPOknyQjZGc1DHHIp3pcPsI=";
2025     };
2026     propagatedBuildInputs = [ SetIntSpan ];
2027     meta = {
2028       description = "Calculate business hours in a time period";
2029       license = with lib.licenses; [ artistic1 gpl1Plus ];
2030     };
2031   };
2033   BusinessISBN = buildPerlPackage {
2034     pname = "Business-ISBN";
2035     version = "3.008";
2036     src = fetchurl {
2037       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-3.008.tar.gz";
2038       hash = "sha256-GcSh1NmaDddpWpAZKxNASg4+7r7fy+l6AgLjayOMDmk=";
2039     };
2040     propagatedBuildInputs = [ BusinessISBNData ];
2041     meta = {
2042       description = "Work with International Standard Book Numbers";
2043       homepage = "https://github.com/briandfoy/business-isbn";
2044       license = with lib.licenses; [ artistic2 ];
2045     };
2046   };
2048   BusinessISBNData = buildPerlPackage {
2049     pname = "Business-ISBN-Data";
2050     version = "20231006.001";
2051     src = fetchurl {
2052       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20231006.001.tar.gz";
2053       hash = "sha256-KhazbjIzXOjI337m8ig2LzSuc8T8wSNQCVCiyMd/F0g=";
2054     };
2055     meta = {
2056       description = "Data pack for Business::ISBN";
2057       homepage = "https://github.com/briandfoy/business-isbn-data";
2058       license = with lib.licenses; [ artistic2 ];
2059     };
2060   };
2062   BusinessISMN = buildPerlPackage {
2063     pname = "Business-ISMN";
2064     version = "1.203";
2065     src = fetchurl {
2066       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.203.tar.gz";
2067       hash = "sha256-T1Ou2rLmh9Th9yhW6vwiFZOQYhEj2q955FBqiX4pPog=";
2068     };
2069     propagatedBuildInputs = [ TieCycle ];
2070     meta = {
2071       description = "Work with International Standard Music Numbers";
2072       homepage = "https://github.com/briandfoy/business-ismn";
2073       license = with lib.licenses; [ artistic2 ];
2074     };
2075   };
2077   BusinessISSN = buildPerlPackage {
2078     pname = "Business-ISSN";
2079     version = "1.005";
2080     src = fetchurl {
2081       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-1.005.tar.gz";
2082       hash = "sha256-OwmwJn8KZmD7krb1DEx3lu9qJjtirTu+qgcYmgx8ObM=";
2083     };
2084     meta = {
2085       description = "Perl extension for International Standard Serial Numbers";
2086       homepage = "https://github.com/briandfoy/business-issn";
2087       license = with lib.licenses; [ artistic2 ];
2088     };
2089   };
2091   BytesRandomSecure = buildPerlPackage {
2092     pname = "Bytes-Random-Secure";
2093     version = "0.29";
2094     src = fetchurl {
2095       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-0.29.tar.gz";
2096       hash = "sha256-U7vTOeahHvygfGGaYVx8GIpouyvoSaHLfvw91Nmuha4=";
2097     };
2098     propagatedBuildInputs = [ CryptRandomSeed MathRandomISAAC ];
2099     meta = {
2100       description = "Perl extension to generate cryptographically-secure random bytes";
2101       license = with lib.licenses; [ artistic1 gpl1Plus ];
2102       maintainers = [ maintainers.sgo ];
2103     };
2104   };
2106   BytesRandomSecureTiny = buildPerlPackage {
2107     pname = "Bytes-Random-Secure-Tiny";
2108     version = "1.011";
2109     src = fetchurl {
2110       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-Tiny-1.011.tar.gz";
2111       hash = "sha256-A9lntfgoRpCRN9WrmYSsVwrBCkQB4MYC89IgjEZayYI=";
2112     };
2113     meta = {
2114       description = "Tiny Perl extension to generate cryptographically-secure random bytes";
2115       license = with lib.licenses; [ artistic1 gpl1Plus ];
2116       maintainers = [ maintainers.sgo ];
2117     };
2118   };
2120   CacheCache = buildPerlPackage {
2121     pname = "Cache-Cache";
2122     version = "1.08";
2123     src = fetchurl {
2124       url = "mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz";
2125       hash = "sha256-0sf9Xbpd0BC32JI1FokLtsz2tfGIzLafNcsP1sAx0eg=";
2126     };
2127     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
2128     doCheck = false; # randomly fails
2129     meta = {
2130       description = "Cache Interface";
2131       license = with lib.licenses; [ artistic1 gpl1Plus ];
2132     };
2133   };
2135   CacheFastMmap = buildPerlPackage {
2136     pname = "Cache-FastMmap";
2137     version = "1.57";
2138     src = fetchurl {
2139       url = "mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.57.tar.gz";
2140       hash = "sha256-4Es6KNmJ7bj7lur6zcK4f57MuE8EfrLifLJqp9CMx7g=";
2141     };
2142     buildInputs = [ TestDeep ];
2143     meta = {
2144       description = "Uses an mmap'ed file to act as a shared memory interprocess cache";
2145       license = with lib.licenses; [ artistic1 gpl1Plus ];
2146     };
2147   };
2149   CacheKyotoTycoon = buildPerlModule {
2150     pname = "Cache-KyotoTycoon";
2151     version = "0.16";
2152     src = fetchurl {
2153       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
2154       hash = "sha256-zLBII1iUxItpegDleMtFC05evBQYpVSnz6hjJwezlHw=";
2155     };
2156     propagatedBuildInputs = [ Furl URI ];
2157     buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
2158     meta = {
2159       description = "KyotoTycoon client library";
2160       homepage = "https://github.com/tokuhirom/Cache-KyotoTycoon";
2161       license = with lib.licenses; [ artistic1 gpl1Plus ];
2162     };
2163   };
2165   CacheMemcached = buildPerlPackage {
2166     pname = "Cache-Memcached";
2167     version = "1.30";
2168     src = fetchurl {
2169       url =
2170       "mirror://cpan/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz";
2171       hash = "sha256-MbPFHsDqrwMALizI49fVy+YZGc/a2mHACOuYU6ysQqk=";
2172     };
2173     propagatedBuildInputs = [ StringCRC32 ];
2174     meta = {
2175       description = "Client library for memcached (memory cache daemon)";
2176       license = with lib.licenses; [ artistic1 gpl1Plus ];
2177     };
2178   };
2180   CacheMemcachedFast = buildPerlPackage {
2181     pname = "Cache-Memcached-Fast";
2182     version = "0.28";
2183     src = fetchurl {
2184       url = "mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.28.tar.gz";
2185       hash = "sha256-fEJMJTtl/2LPFXe7QYgCGSoYgF6jH6/Ap65YnkRsidI=";
2186     };
2187     buildInputs = [ Test2Suite ];
2188     meta = {
2189       description = "Perl client for memcached, in C language";
2190       license = with lib.licenses; [ artistic1 gpl1Plus ];
2191     };
2192   };
2194   CacheMemory = buildPerlModule {
2195     pname = "Cache";
2196     version = "2.11";
2197     src = fetchurl {
2198       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz";
2199       hash = "sha256-4dLYlneYEWarxbtuXsxkcfAB8T61bVvpVE2AR9wIpZI=";
2200     };
2201     propagatedBuildInputs = [ DBFile FileNFSLock HeapFibonacci IOString TimeDate ];
2202     doCheck = false; # can time out
2203     meta = {
2204       description = "Memory based implementation of the Cache interface";
2205       license = with lib.licenses; [ artistic1 gpl1Plus ];
2206     };
2207   };
2209   CacheSimpleTimedExpiry = buildPerlPackage {
2210     pname = "Cache-Simple-TimedExpiry";
2211     version = "0.27";
2212     src = fetchurl {
2213       url = "mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz";
2214       hash = "sha256-Tni35N0jG1VxpIzQ7htjlT9eNHkMnQIOFZWnx9Crvkk=";
2215     };
2216     meta = {
2217       description = "Lightweight cache with timed expiration";
2218       license = with lib.licenses; [ artistic1 gpl1Plus ];
2219     };
2220   };
2222   Cairo = buildPerlPackage {
2223     pname = "Cairo";
2224     version = "1.109";
2225     src = fetchurl {
2226       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.109.tar.gz";
2227       hash = "sha256-ghlzbkAcIxHaX1FXdd5D/YfmOEtQTaNqGS8rIXZDB38=";
2228     };
2229     buildInputs = [ pkgs.cairo ];
2230     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
2231     meta = {
2232       description = "Perl interface to the cairo 2d vector graphics library";
2233       homepage = "https://gtk2-perl.sourceforge.net";
2234       license = with lib.licenses; [ lgpl21Only ];
2235     };
2236   };
2238   CairoGObject = buildPerlPackage {
2239     pname = "Cairo-GObject";
2240     version = "1.005";
2241     src = fetchurl {
2242       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz";
2243       hash = "sha256-jYlkRNceHQvKPSTjHl2CvQ2VQqrtkdH7fqs2e85nXFA=";
2244     };
2245     buildInputs = [ pkgs.cairo ];
2246     propagatedBuildInputs = [ Cairo Glib ];
2247     meta = {
2248       description = "Integrate Cairo into the Glib type system";
2249       homepage = "https://gtk2-perl.sourceforge.net";
2250       license = with lib.licenses; [ lgpl21Only ];
2251     };
2252   };
2254   CallContext = buildPerlPackage {
2255     pname = "Call-Context";
2256     version = "0.03";
2257     src = fetchurl {
2258       url = "mirror://cpan/authors/id/F/FE/FELIPE/Call-Context-0.03.tar.gz";
2259       hash = "sha256-Dua/RrxydVrbemsI550S4gfeX3gJcHs8NTtYyy8LWiY=";
2260     };
2261     meta = {
2262       description = "Sanity-check calling context";
2263       license = with lib.licenses; [ artistic1 gpl1Plus ];
2264       maintainers = [ maintainers.sgo ];
2265     };
2266   };
2268   cam_pdf = buildPerlModule {
2269     pname = "CAM-PDF";
2270     version = "1.60";
2271     src = fetchurl {
2272       url = "mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-1.60.tar.gz";
2273       hash = "sha256-52r8fzimJJJKd8XJiMNsnjiL+ncW51zTl/744bQuu4k=";
2274     };
2275     propagatedBuildInputs = [ CryptRC4 TextPDF ];
2276     meta = {
2277       description = "PDF manipulation library";
2278       license = with lib.licenses; [ artistic1 gpl1Plus ];
2279     };
2280   };
2282   capitalization = buildPerlPackage {
2283     pname = "capitalization";
2284     version = "0.03";
2285     src = fetchurl {
2286       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz";
2287       hash = "sha256-8TUW1XKUH2ihwj8uDkn1vwmyL5B+uSkrcrr/5ie77jw=";
2288     };
2289     propagatedBuildInputs = [ DevelSymdump ];
2290     meta = {
2291       description = "No capitalization on method names";
2292       license = with lib.licenses; [ artistic1 gpl1Plus ];
2293     };
2294   };
2296   CanaryStability = buildPerlPackage {
2297     pname = "Canary-Stability";
2298     version = "2013";
2299     src = fetchurl {
2300       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz";
2301       hash = "sha256-pckcYs+V/Lho9g6rXIMpCPaQUiEBP+orzj/1cEbXtuo=";
2302     };
2303     meta = {
2304       description = "Canary to check perl compatibility for schmorp's modules";
2305       license = with lib.licenses; [ gpl1Plus ];
2306     };
2307   };
2309   CaptchaReCAPTCHA = buildPerlPackage {
2310     pname = "Captcha-reCaptcha";
2311     version = "0.99";
2312     src = fetchurl {
2313       url = "mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz";
2314       hash = "sha256-uJI1dmARZu3j9/Ly/1X/bjw7znDmnzZaUe076MykQ5I=";
2315     };
2316     propagatedBuildInputs = [ HTMLTiny LWP ];
2317     meta = {
2318       description = "Perl implementation of the reCAPTCHA API";
2319       license = with lib.licenses; [ artistic1 gpl1Plus ];
2320     };
2321   };
2323   CaptureTiny = buildPerlPackage {
2324     pname = "Capture-Tiny";
2325     version = "0.48";
2326     src = fetchurl {
2327       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz";
2328       hash = "sha256-bCMRPoe605MwjJCiBwE+UF9lknRzZjjYx5usnGfMPhk=";
2329     };
2330     meta = {
2331       description = "Capture STDOUT and STDERR from Perl, XS or external programs";
2332       homepage = "https://github.com/dagolden/Capture-Tiny";
2333       license = with lib.licenses; [ asl20 ];
2334     };
2335   };
2337   CarpAlways = buildPerlPackage {
2338     pname = "Carp-Always";
2339     version = "0.16";
2340     src = fetchurl {
2341       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-0.16.tar.gz";
2342       hash = "sha256-mKoRSSFxwBb7CCdYGrH6XtAbHpnGNXSJ3fOoJzFYZvE=";
2343     };
2344     buildInputs = [ TestBase ];
2345     meta = {
2346       description = "Warns and dies noisily with stack backtraces";
2347       license = with lib.licenses; [ artistic1 gpl1Plus ];
2348     };
2349   };
2351   CarpAssert = buildPerlPackage {
2352     pname = "Carp-Assert";
2353     version = "0.22";
2354     src = fetchurl {
2355       url = "mirror://cpan/authors/id/Y/YV/YVES/Carp-Assert-0.22.tar.gz";
2356       hash = "sha256-gH6pfGvtdqwuSWnvun2uSP7+ufKHl/ESZxs6yKSTVfc=";
2357     };
2358     meta = {
2359       description = "Executable comments";
2360       license = with lib.licenses; [ artistic1 gpl1Plus ];
2361     };
2362   };
2364   CarpAssertMore = buildPerlPackage {
2365     pname = "Carp-Assert-More";
2366     version = "2.3.0";
2367     src = fetchurl {
2368       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-2.3.0.tar.gz";
2369       hash = "sha256-/2nqCb2maiAPygiK3ZHFww5lcqt7ujF6f58zxRKzzqc=";
2370     };
2371     propagatedBuildInputs = [ CarpAssert ];
2372     buildInputs = [ TestException ];
2373     meta = {
2374       description = "Convenience assertions for common situations";
2375       license = with lib.licenses; [ artistic2 ];
2376     };
2377   };
2379   CarpClan = buildPerlPackage {
2380     pname = "Carp-Clan";
2381     version = "6.08";
2382     src = fetchurl {
2383       url = "mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz";
2384       hash = "sha256-x1+S40QizFplqwXRVYQrcBRSQ06a77ZJ1uIonEfvZwg=";
2385     };
2386     meta = {
2387       description = "Report errors from perspective of caller of a \"clan\" of modules";
2388       homepage = "https://github.com/karenetheridge/Carp-Clan";
2389       license = with lib.licenses; [ artistic1 gpl1Plus ];
2390     };
2391   };
2393   Carton = buildPerlPackage {
2394     pname = "Carton";
2395     version = "1.0.35";
2396     src = fetchurl {
2397       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Carton-v1.0.35.tar.gz";
2398       hash = "sha256-nEVYypfNCLaf37UrKMPdwgQ+9S8GJ7kOU9BaQIc0QXU=";
2399     };
2400     propagatedBuildInputs = [ MenloLegacy PathTiny TryTiny ];
2401     meta = {
2402       description = "Perl module dependency manager (aka Bundler for Perl)";
2403       homepage = "https://github.com/perl-carton/carton";
2404       license = with lib.licenses; [ artistic1 gpl1Plus ];
2405       mainProgram = "carton";
2406     };
2407   };
2409   CatalystActionRenderView = buildPerlPackage {
2410     pname = "Catalyst-Action-RenderView";
2411     version = "0.16";
2412     src = fetchurl {
2413       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz";
2414       hash = "sha256-hWUgOVCgV9Q+zWTpWTcV1WXC+9iwLJH0PFOyERrNOUg=";
2415     };
2416     propagatedBuildInputs = [ CatalystRuntime DataVisitor ];
2417     buildInputs = [ HTTPRequestAsCGI ];
2418     meta = {
2419       description = "Sensible default end action";
2420       license = with lib.licenses; [ artistic1 gpl1Plus ];
2421     };
2422   };
2424   CatalystActionREST = buildPerlPackage {
2425     pname = "Catalyst-Action-REST";
2426     version = "1.21";
2427     src = fetchurl {
2428       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz";
2429       hash = "sha256-zPgbulIA06CtaQH5I68XOj1EFmGK6gimk4uq/970yyA=";
2430     };
2431     buildInputs = [ TestRequires ];
2432     propagatedBuildInputs = [ CatalystRuntime URIFind ];
2433     meta = {
2434       description = "Automated REST Method Dispatching";
2435       license = with lib.licenses; [ artistic1 gpl1Plus ];
2436     };
2437   };
2439   CatalystAuthenticationCredentialHTTP = buildPerlModule {
2440     pname = "Catalyst-Authentication-Credential-HTTP";
2441     version = "1.018";
2442     src = fetchurl {
2443       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz";
2444       hash = "sha256-b6GBbe5kSw216gzBXF5xHcLO0gg2JavOcJZSHx1lpSk=";
2445     };
2446     buildInputs = [ ModuleBuildTiny TestException TestMockObject TestNeeds ];
2447     propagatedBuildInputs = [ CatalystPluginAuthentication ClassAccessor DataUUID StringEscape ];
2448     meta = {
2449       description = "HTTP Basic and Digest authentication for Catalyst";
2450       homepage = "https://github.com/perl-catalyst/Catalyst-Authentication-Credential-HTTP";
2451       license = with lib.licenses; [ artistic1 gpl1Plus ];
2452     };
2453   };
2455   CatalystAuthenticationStoreHtpasswd = buildPerlModule {
2456     pname = "Catalyst-Authentication-Store-Htpasswd";
2457     version = "1.006";
2458     src = fetchurl {
2459       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz";
2460       hash = "sha256-x/2FYnXo3hjAAWHXNJTsZr0N3QoZ27dMQtVXHJ7ggE8=";
2461     };
2462     buildInputs = [ ModuleBuildTiny TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2463     propagatedBuildInputs = [ AuthenHtpasswd CatalystPluginAuthentication ];
2464     patches = [
2465       ../development/perl-modules/CatalystAuthenticationStoreHtpasswd-test-replace-DES-hash-with-bcrypt.patch
2466     ];
2467     meta = {
2468       description = "Authen::Htpasswd based user storage/authentication";
2469       license = with lib.licenses; [ artistic1 gpl1Plus ];
2470     };
2471   };
2473   CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
2474     pname = "Catalyst-Authentication-Store-DBIx-Class";
2475     version = "0.1506";
2476     src = fetchurl {
2477       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz";
2478       hash = "sha256-fFefJZUoXmTD3LVUAzSqmgAkQ+HUyMg6tEk7kMxRskQ=";
2479     };
2480     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication ];
2481     buildInputs = [ TestWarn ];
2482     meta = {
2483       description = "Extensible and flexible object <-> relational mapper";
2484       license = with lib.licenses; [ artistic1 gpl1Plus ];
2485     };
2486   };
2488   CatalystAuthenticationStoreLDAP = buildPerlPackage {
2489     pname = "Catalyst-Authentication-Store-LDAP";
2490     version = "1.017";
2491     src = fetchurl {
2492       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-LDAP-1.017.tar.gz";
2493       hash = "sha256-keW4vd/XOGYqNh6/6nPYQrO6Me1wne2xqE7DRB3O7sU=";
2494     };
2495     propagatedBuildInputs = [ perlldap CatalystPluginAuthentication ClassAccessor ];
2496     buildInputs = [ TestMockObject TestException NetLDAPServerTest ];
2497     doCheck = !stdenv.hostPlatform.isDarwin; # t/02-realms_api.t and t/50.auth.case.sensitivity.t
2498     meta = {
2499       description = "Authenticate Users against LDAP Directories";
2500       license = with lib.licenses; [ artistic1 gpl1Plus ];
2501     };
2502   };
2504   CatalystComponentInstancePerContext = buildPerlPackage {
2505     pname = "Catalyst-Component-InstancePerContext";
2506     version = "0.001001";
2507     src = fetchurl {
2508       url = "mirror://cpan/authors/id/G/GR/GRODITI/Catalyst-Component-InstancePerContext-0.001001.tar.gz";
2509       hash = "sha256-f2P5MOHmE/FZVcnm1zhzZ1xQwKO8KmGgNHMzYe0m0nE=";
2510     };
2511     propagatedBuildInputs = [ CatalystRuntime ];
2512     meta = {
2513       description = "Moose role to create only one instance of component per context";
2514       license = with lib.licenses; [ artistic1 gpl1Plus ];
2515     };
2516   };
2518   CatalystControllerHTMLFormFu = buildPerlPackage {
2519     pname = "Catalyst-Controller-HTML-FormFu";
2520     version = "2.04";
2521     src = fetchurl {
2522       url = "mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.04.tar.gz";
2523       hash = "sha256-8T+5s7OwCzXwarwxYURhyNc0b74H+1accejVhuXrXdw=";
2524     };
2525     buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT CodeTidyAllPluginPerlAlignMooseAttributes PodCoverageTrustPod PodTidy TemplateToolkit TestCPANMeta TestDifferences TestEOL TestKwalitee TestLongString TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage TestWWWMechanize TestWWWMechanizeCatalyst ];
2526     propagatedBuildInputs = [ CatalystComponentInstancePerContext HTMLFormFuMultiForm RegexpAssemble ];
2527     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
2528     meta = {
2529       description = "HTML Form Creation, Rendering and Validation Framework";
2530       homepage = "https://github.com/FormFu/HTML-FormFu";
2531       license = with lib.licenses; [ artistic1 gpl1Plus ];
2532     };
2533   };
2535   CatalystControllerPOD = buildPerlModule {
2536     pname = "Catalyst-Controller-POD";
2537     version = "1.0.0";
2538     src = fetchurl {
2539       url = "mirror://cpan/authors/id/P/PE/PERLER/Catalyst-Controller-POD-1.0.0.tar.gz";
2540       hash = "sha256-7ipLs+14uqFGQzVAjyhDRba6DvZXate/vXtlbHiKOfk=";
2541     };
2542     buildInputs = [ ModuleInstall TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
2543     propagatedBuildInputs = [ CatalystPluginStaticSimple ClassAccessor FileSlurp JSONXS ListMoreUtils PodPOMViewTOC XMLSimple ];
2544     meta = {
2545       description = "Serves PODs right from your Catalyst application";
2546       homepage = "https://search.cpan.org/dist/Catalyst-Controller-POD";
2547       license = with lib.licenses; [ bsd3 ];
2548     };
2549   };
2551   CatalystDevel = buildPerlPackage {
2552     pname = "Catalyst-Devel";
2553     version = "1.42";
2554     src = fetchurl {
2555       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Devel-1.42.tar.gz";
2556       hash = "sha256-fsbwtsq1uMCX5Hdp/HOk1MAVpYxB/bQPwk3z7nfEir0=";
2557     };
2558     buildInputs = [ FileShareDirInstall TestFatal ];
2559     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
2560     meta = {
2561       description = "Catalyst Development Tools";
2562       homepage = "http://dev.catalyst.perl.org";
2563       license = with lib.licenses; [ artistic1 gpl1Plus ];
2564     };
2565   };
2567   CatalystDispatchTypeRegex = buildPerlModule {
2568     pname = "Catalyst-DispatchType-Regex";
2569     version = "5.90035";
2570     src = fetchurl {
2571       url = "mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90035.tar.gz";
2572       hash = "sha256-AC3Pnv7HxYiSoYP5CAFTnQzxPsOvzPjTrRkhfCsNWBo=";
2573     };
2574     propagatedBuildInputs = [ CatalystRuntime ];
2575     meta = {
2576       description = "Regex DispatchType";
2577       license = with lib.licenses; [ artistic1 gpl1Plus ];
2578     };
2579   };
2581   CatalystManual = buildPerlPackage {
2582     pname = "Catalyst-Manual";
2583     version = "5.9011";
2584     src = fetchurl {
2585       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Manual-5.9011.tar.gz";
2586       hash = "sha256-s54zllkDwAWD4BgOPdUopUkg9SB83wUmBcoTgoz6wTw=";
2587     };
2588     meta = {
2589       description = "Catalyst developer's manual";
2590       license = with lib.licenses; [ artistic1 gpl1Plus ];
2591     };
2592   };
2594   CatalystModelDBICSchema = buildPerlPackage {
2595     pname = "Catalyst-Model-DBIC-Schema";
2596     version = "0.66";
2597     src = fetchurl {
2598       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Model-DBIC-Schema-0.66.tar.gz";
2599       hash = "sha256-GST0wA6PD/HF0a+hbv5PhW8cXnT+VW7Cxfj1v2OtA0g=";
2600     };
2601     buildInputs = [ DBDSQLite TestException TestRequires ];
2602     propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystXComponentTraits DBIxClassSchemaLoader MooseXMarkAsMethods MooseXNonMoose MooseXTypesLoadableClass TieIxHash ];
2603     meta = {
2604       description = "DBIx::Class::Schema Model Class";
2605       license = with lib.licenses; [ artistic1 gpl1Plus ];
2606     };
2607   };
2609   CatalystRuntime = buildPerlPackage {
2610     pname = "Catalyst-Runtime";
2611     version = "5.90131";
2612     src = fetchurl {
2613       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90131.tar.gz";
2614       hash = "sha256-nWQe+s8PmTXm7LmPWjtHbJYbH4Gb0vjyOmR9HYZ+GEk=";
2615     };
2616     buildInputs = [ TestFatal TypeTiny ];
2617     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 ];
2618     meta = {
2619       description = "Catalyst Framework Runtime";
2620       homepage = "http://dev.catalyst.perl.org";
2621       license = with lib.licenses; [ artistic1 gpl1Plus ];
2622       mainProgram = "catalyst.pl";
2623     };
2624   };
2626   CatalystPluginAccessLog = buildPerlPackage {
2627     pname = "Catalyst-Plugin-AccessLog";
2628     version = "1.10";
2629     src = fetchurl {
2630       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.10.tar.gz";
2631       hash = "sha256-hz245OcqmU4+F661PSuDfm1SS0uLDzU58mITXIjMISA=";
2632     };
2633     propagatedBuildInputs = [ CatalystRuntime DateTime ];
2634     meta = {
2635       description = "Request logging from within Catalyst";
2636       homepage = "https://metacpan.org/release/Catalyst-Plugin-AccessLog";
2637       license = with lib.licenses; [ artistic1 gpl1Plus ];
2638     };
2639   };
2641   CatalystPluginAuthentication = buildPerlPackage {
2642     pname = "Catalyst-Plugin-Authentication";
2643     version = "0.10023";
2644     src = fetchurl {
2645       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz";
2646       hash = "sha256-NgOaq9rLB+Zoek16i/rHj+nQ+7BM2o1tlm1sHjJZ0Gw=";
2647     };
2648     buildInputs = [ TestException ];
2649     propagatedBuildInputs = [ CatalystPluginSession ];
2650     meta = {
2651       description = "Infrastructure plugin for the Catalyst authentication framework";
2652       license = with lib.licenses; [ artistic1 gpl1Plus ];
2653     };
2654   };
2656   CatalystPluginAuthorizationACL = buildPerlPackage {
2657     pname = "Catalyst-Plugin-Authorization-ACL";
2658     version = "0.16";
2659     src = fetchurl {
2660       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-Authorization-ACL-0.16.tar.gz";
2661       hash = "sha256-KjfmU0gu/SyTuGxqg4lB4FbF+U3YbA8LiT1RkzMSg3w=";
2662     };
2663     propagatedBuildInputs = [ CatalystRuntime ClassThrowable ];
2664     buildInputs = [ CatalystPluginAuthentication CatalystPluginAuthorizationRoles CatalystPluginSession CatalystPluginSessionStateCookie TestWWWMechanizeCatalyst ];
2665     meta = {
2666       description = "ACL support for Catalyst applications";
2667       license = with lib.licenses; [ artistic1 gpl1Plus ];
2668     };
2669   };
2671   CatalystPluginAuthorizationRoles = buildPerlPackage {
2672     pname = "Catalyst-Plugin-Authorization-Roles";
2673     version = "0.09";
2674     src = fetchurl {
2675       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz";
2676       hash = "sha256-7kBE5eKg2UxOxRL61V7gyN4UTh47h4Ugf5YCXPmkA1E=";
2677     };
2678     buildInputs = [ TestException ];
2679     propagatedBuildInputs = [ CatalystPluginAuthentication SetObject UNIVERSALisa ];
2680     meta = {
2681       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
2682       license = with lib.licenses; [ artistic1 gpl1Plus ];
2683     };
2684   };
2686   CatalystPluginCache = buildPerlPackage {
2687     pname = "Catalyst-Plugin-Cache";
2688     version = "0.12";
2689     src = fetchurl {
2690       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz";
2691       hash = "sha256-KV/tRJyTJLBleP1GjjOR4E+/ZK0kN2oARAjRvG9UQ+A=";
2692     };
2693     buildInputs = [ ClassAccessor TestDeep TestException ];
2694     propagatedBuildInputs = [ CatalystRuntime ];
2695     meta = {
2696       description = "Flexible caching support for Catalyst";
2697       license = with lib.licenses; [ artistic1 gpl1Plus ];
2698     };
2699   };
2701   CatalystPluginCacheHTTP = buildPerlPackage {
2702     pname = "Catalyst-Plugin-Cache-HTTP";
2703     version = "0.001000";
2704     src = fetchurl {
2705       url = "mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz";
2706       hash = "sha256-aq2nDrKfYd90xTj5KaEHD92TIMW278lNJkwzghe8sWw=";
2707     };
2708     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2709     propagatedBuildInputs = [ ClassAccessor HTTPMessage MROCompat ];
2710     meta = {
2711       description = "HTTP/1.1 cache validators for Catalyst";
2712       license = with lib.licenses; [ artistic1 gpl1Plus ];
2713     };
2714   };
2716   CatalystPluginCaptcha = buildPerlPackage {
2717     pname = "Catalyst-Plugin-Captcha";
2718     version = "0.04";
2719     src = fetchurl {
2720       url = "mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz";
2721       hash = "sha256-Sj1ccgBiTT567ULQWnBnSSdGg+t7rSYN6Sx1W/aQnlI=";
2722     };
2723     propagatedBuildInputs = [ CatalystPluginSession GDSecurityImage ];
2724     meta = {
2725       description = "Create and validate Captcha for Catalyst";
2726       license = with lib.licenses; [ artistic1 gpl1Plus ];
2727     };
2728   };
2730   CatalystPluginConfigLoader = buildPerlPackage {
2731     pname = "Catalyst-Plugin-ConfigLoader";
2732     version = "0.35";
2733     src = fetchurl {
2734       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-ConfigLoader-0.35.tar.gz";
2735       hash = "sha256-nippim8tBG4NxeV1EpKc1CPIB9Sja6Pynp5a3NcaGXE=";
2736     };
2737     propagatedBuildInputs = [ CatalystRuntime ConfigAny DataVisitor ];
2738     meta = {
2739       description = "Load config files of various types";
2740       license = with lib.licenses; [ artistic1 gpl1Plus ];
2741     };
2742   };
2744   CatalystPluginFormValidator = buildPerlPackage {
2745     pname = "Catalyst-Plugin-FormValidator";
2746     version = "0.094";
2747     src = fetchurl {
2748       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-0.094.tar.gz";
2749       hash = "sha256-WDTxG/XJ9LXTNtZcfOZjm3bOe/56KHXrBI1+ocgs4Fo=";
2750     };
2751     propagatedBuildInputs = [ CatalystRuntime DataFormValidator ];
2752     meta = {
2753       description = "Data::FormValidator";
2754       license = with lib.licenses; [ artistic1 gpl1Plus ];
2755     };
2756   };
2758   CatalystPluginFormValidatorSimple = buildPerlPackage {
2759     pname = "Catalyst-Plugin-FormValidator-Simple";
2760     version = "0.15";
2761     src = fetchurl {
2762       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-Simple-0.15.tar.gz";
2763       hash = "sha256-SGxqDo9BD9AXJ59IBKueNbpGMh0zoKlyH+Hgijkd56A=";
2764     };
2765     propagatedBuildInputs = [ CatalystPluginFormValidator FormValidatorSimple ];
2766     meta = {
2767       description = "Validation with simple chains of constraints ";
2768       license = with lib.licenses; [ artistic1 gpl1Plus ];
2769     };
2770   };
2772   CatalystPluginLogHandler = buildPerlModule {
2773     pname = "Catalyst-Plugin-Log-Handler";
2774     version = "0.08";
2775     src = fetchurl {
2776       url = "mirror://cpan/authors/id/P/PE/PEPE/Catalyst-Plugin-Log-Handler-0.08.tar.gz";
2777       hash = "sha256-DbPDpXtO49eJulEpiQ4oWJE/7wDYGFvcnF1/3jHgQ+8=";
2778     };
2779     propagatedBuildInputs = [ ClassAccessor LogHandler MROCompat ];
2780     meta = {
2781       description = "Log messages to several outputs";
2782       license = with lib.licenses; [ artistic1 gpl1Plus ];
2783     };
2784   };
2786   CatalystPluginPrometheusTiny = buildPerlPackage {
2787     pname = "Catalyst-Plugin-PrometheusTiny";
2788     version = "0.006";
2789     src = fetchurl {
2790       url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz";
2791       hash = "sha256-Kzm5l7q/+rNTquMsol8smbdljlBEew23H7gKFsS2osE=";
2792     };
2793     buildInputs = [ HTTPMessage Plack SubOverride TestDeep ];
2794     propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
2795     meta = {
2796       description = "Tiny Prometheus client";
2797       homepage = "https://github.com/robn/Prometheus-Tiny";
2798       license = with lib.licenses; [ artistic1 gpl1Plus ];
2799     };
2800   };
2802   CatalystPluginSession = buildPerlPackage {
2803     pname = "Catalyst-Plugin-Session";
2804     version = "0.43";
2805     src = fetchurl {
2806       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-Session-0.43.tar.gz";
2807       hash = "sha256-Xn180rlbH8IkS8buuPRPg11gPqB/WjkRCIHbYJKLFMQ=";
2808     };
2809     buildInputs = [ TestDeep TestException TestNeeds ];
2810     propagatedBuildInputs = [ CatalystRuntime ObjectSignature ];
2811     meta = {
2812       description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
2813       license = with lib.licenses; [ artistic1 gpl1Plus ];
2814     };
2815   };
2817   CatalystPluginSessionDynamicExpiry = buildPerlPackage {
2818     pname = "Catalyst-Plugin-Session-DynamicExpiry";
2819     version = "0.04";
2820     src = fetchurl {
2821       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-DynamicExpiry-0.04.tar.gz";
2822       hash = "sha256-dwfFZzTNsVEvcz3EAPrfb0xTyyF7WCB4V4JNrWeAoHk=";
2823     };
2824     propagatedBuildInputs = [ CatalystPluginSession ];
2825     meta = {
2826       description = "Per-session custom expiry times";
2827       license = with lib.licenses; [ artistic1 gpl1Plus ];
2828     };
2829   };
2831   CatalystPluginSessionStateCookie = buildPerlPackage {
2832     pname = "Catalyst-Plugin-Session-State-Cookie";
2833     version = "0.18";
2834     src = fetchurl {
2835       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-Session-State-Cookie-0.18.tar.gz";
2836       hash = "sha256-6bHHsrlsGU+Hpfd+FElxcHfHD/xnpL/CnwJsnuLge+o=";
2837     };
2838     propagatedBuildInputs = [ CatalystPluginSession ];
2839     meta = {
2840       description = "Maintain session IDs using cookies";
2841       license = with lib.licenses; [ artistic1 gpl1Plus ];
2842     };
2843   };
2845   CatalystPluginSessionStoreFastMmap = buildPerlPackage {
2846     pname = "Catalyst-Plugin-Session-Store-FastMmap";
2847     version = "0.16";
2848     src = fetchurl {
2849       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz";
2850       hash = "sha256-uut/17+QW+dGMciHYP2KKYDO6pVieZM5lYFkPvY3cnQ=";
2851     };
2852     propagatedBuildInputs = [ CacheFastMmap CatalystPluginSession ];
2853     meta = {
2854       description = "FastMmap session storage backend";
2855       license = with lib.licenses; [ artistic1 gpl1Plus ];
2856     };
2857   };
2859   CatalystPluginSessionStoreFile = buildPerlPackage {
2860     pname = "Catalyst-Plugin-Session-Store-File";
2861     version = "0.18";
2862     src = fetchurl {
2863       url = "mirror://cpan/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-File-0.18.tar.gz";
2864       hash = "sha256-VHOOPOdvi+i2aUcJLSiXPHPXnR7hm12SsFdVL4/wm08=";
2865     };
2866     propagatedBuildInputs = [ CacheCache CatalystPluginSession ClassDataInheritable ];
2867     meta = {
2868       description = "File storage backend for session data";
2869       license = with lib.licenses; [ artistic1 gpl1Plus ];
2870     };
2871   };
2873   CatalystPluginSmartURI = buildPerlPackage {
2874     pname = "Catalyst-Plugin-SmartURI";
2875     version = "0.041";
2876     src = fetchurl {
2877       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.041.tar.gz";
2878       hash = "sha256-y4ghhphUUSA9kj19+QIKoELajcGUltgj4WU1twUfX1c=";
2879     };
2880     propagatedBuildInputs = [ CatalystRuntime ClassC3Componentised ];
2881     buildInputs = [ CatalystActionREST TestWarnings TimeOut URISmartURI ];
2882     meta = {
2883       description = "Configurable URIs for Catalyst";
2884       license = with lib.licenses; [ artistic1 gpl1Plus ];
2885     };
2886   };
2888   CatalystPluginStackTrace = buildPerlPackage {
2889     pname = "Catalyst-Plugin-StackTrace";
2890     version = "0.12";
2891     src = fetchurl {
2892       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz";
2893       hash = "sha256-Mp2s0LoJ0Qp2CHqxdvldtro9smotD+M+7i9eRs7XU6w=";
2894     };
2895     propagatedBuildInputs = [ CatalystRuntime ];
2896     meta = {
2897       description = "Display a stack trace on the debug screen";
2898       license = with lib.licenses; [ artistic1 gpl1Plus ];
2899     };
2900   };
2902   CatalystPluginStaticSimple = buildPerlPackage {
2903     pname = "Catalyst-Plugin-Static-Simple";
2904     version = "0.37";
2905     src = fetchurl {
2906       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.37.tar.gz";
2907       hash = "sha256-Wk2Fo1iM1Og/GwAlgUEufXG31X9mBW5dh6Nvk9icnnw=";
2908     };
2909     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
2910     propagatedBuildInputs = [ CatalystRuntime MIMETypes MooseXTypes ];
2911     meta = {
2912       description = "Make serving static pages painless";
2913       license = with lib.licenses; [ artistic1 gpl1Plus ];
2914     };
2915   };
2917   CatalystPluginStatusMessage = buildPerlPackage {
2918     pname = "Catalyst-Plugin-StatusMessage";
2919     version = "1.002000";
2920     src = fetchurl {
2921       url = "mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Plugin-StatusMessage-1.002000.tar.gz";
2922       hash = "sha256-ZJyJSrFvn0itqPnMWZp+y7iJGrN2H/b9UQUgxt5AfB8=";
2923     };
2924     propagatedBuildInputs = [ CatalystRuntime strictures ];
2925     meta = {
2926       description = "Handle passing of status (success and error) messages between screens of a web application";
2927       license = with lib.licenses; [ artistic1 gpl1Plus ];
2928     };
2929   };
2931   CatalystViewCSV = buildPerlPackage {
2932     pname = "Catalyst-View-CSV";
2933     version = "1.8";
2934     src = fetchurl {
2935       url = "mirror://cpan/authors/id/J/JM/JMREIN/Catalyst-View-CSV-1.8.tar.gz";
2936       hash = "sha256-vKcEaDzDXEevuJrDjHFRAu2+gIF57gcz0qDrMRojbN8=";
2937     };
2938     buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass TestException ];
2939     propagatedBuildInputs = [ CatalystRuntime TextCSV ];
2940     meta = {
2941       description = "CSV view class";
2942       license = with lib.licenses; [ artistic1 gpl1Plus ];
2943     };
2944   };
2946   CatalystViewDownload = buildPerlPackage {
2947     pname = "Catalyst-View-Download";
2948     version = "0.09";
2949     src = fetchurl {
2950       url = "mirror://cpan/authors/id/G/GA/GAUDEON/Catalyst-View-Download-0.09.tar.gz";
2951       hash = "sha256-es+PXyRex/bzU/SHKdE3sSrxrPos8fvWXHA5HpM3+OE=";
2952     };
2953     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst TextCSV XMLSimple ];
2954     meta = {
2955       description = "View module to help in the convenience of downloading data into many supportable formats";
2956       license = with lib.licenses; [ artistic1 gpl1Plus ];
2957     };
2958   };
2960   CatalystViewJSON = buildPerlPackage {
2961     pname = "Catalyst-View-JSON";
2962     version = "0.37";
2963     src = fetchurl {
2964       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-JSON-0.37.tar.gz";
2965       hash = "sha256-xdo/bop3scmYVd431YgCwLGU4pp9hsYO04Mc/dWfnew=";
2966     };
2967     propagatedBuildInputs = [ CatalystRuntime ];
2968     meta = {
2969       description = "JSON (JavaScript Object Notation) encoder/decoder";
2970       license = with lib.licenses; [ artistic1 gpl1Plus ];
2971     };
2972   };
2974   CatalystViewTT = buildPerlPackage {
2975     pname = "Catalyst-View-TT";
2976     version = "0.46";
2977     src = fetchurl {
2978       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-TT-0.46.tar.gz";
2979       hash = "sha256-7aRFfbv4GkJBtzWl1GnZcn2KMJHSSvGuPJog8CTeUcw=";
2980     };
2981     propagatedBuildInputs = [ CatalystRuntime ClassAccessor TemplateTimer ];
2982     meta = {
2983       description = "Template View Class";
2984       license = with lib.licenses; [ artistic1 gpl1Plus ];
2985     };
2986   };
2988   CatalystXComponentTraits = buildPerlPackage {
2989     pname = "CatalystX-Component-Traits";
2990     version = "0.19";
2991     src = fetchurl {
2992       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CatalystX-Component-Traits-0.19.tar.gz";
2993       hash = "sha256-CElE6cnQ37ENSrNFPhwSX97jkSm0bRfAI0w8U1FkBEc=";
2994     };
2995     propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable ];
2996     meta = {
2997       description = "Automatic Trait Loading and Resolution for Catalyst Components";
2998       license = with lib.licenses; [ artistic1 gpl1Plus ];
2999     };
3000   };
3002   CatalystXRoleApplicator = buildPerlPackage {
3003     pname = "CatalystX-RoleApplicator";
3004     version = "0.005";
3005     src = fetchurl {
3006       url = "mirror://cpan/authors/id/H/HD/HDP/CatalystX-RoleApplicator-0.005.tar.gz";
3007       hash = "sha256-4o5HZ3aJva31VE4cQaKsV1WZNm+EDXO70LA8ZPtVim8=";
3008     };
3009     propagatedBuildInputs = [ CatalystRuntime MooseXRelatedClassRoles ];
3010     meta = {
3011       description = "Apply roles to your Catalyst application-related classes";
3012       license = with lib.licenses; [ artistic1 gpl1Plus ];
3013     };
3014   };
3016   CatalystTraitForRequestProxyBase = buildPerlPackage {
3017     pname = "Catalyst-TraitFor-Request-ProxyBase";
3018     version = "0.000005";
3019     src = fetchurl {
3020       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz";
3021       hash = "sha256-p78Pqn4Syl32Jdn1/HEPEb/Ra6U4WDfkjUKz0obJcQo=";
3022     };
3023     buildInputs = [ CatalystRuntime CatalystXRoleApplicator HTTPMessage ];
3024     propagatedBuildInputs = [ Moose URI namespaceautoclean ];
3025     meta = {
3026       description = "Replace request base with value passed by HTTP proxy";
3027       license = with lib.licenses; [ artistic1 gpl1Plus ];
3028     };
3029   };
3031   CatalystXScriptServerStarman = buildPerlPackage {
3032     pname = "CatalystX-Script-Server-Starman";
3033     version = "0.03";
3034     src = fetchurl {
3035       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.03.tar.gz";
3036       hash = "sha256-5jpH80y0P3+87GdYyaVCiAGOOIAjZTYYkLKjTfCKWyI=";
3037     };
3038     patches = [
3039       # See Nixpkgs issues #16074 and #17624
3040       ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
3041     ];
3042     buildInputs = [ TestWWWMechanizeCatalyst ];
3043     propagatedBuildInputs = [ CatalystRuntime MooseXTypes PodParser Starman ];
3044     meta = {
3045       description = "Replace the development server with Starman";
3046       license = with lib.licenses; [ artistic1 gpl1Plus ];
3047     };
3048   };
3050   CDB_File = buildPerlPackage {
3051     pname = "CDB_File";
3052     version = "1.05";
3053     src = fetchurl {
3054       url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-1.05.tar.gz";
3055       hash = "sha256-hWSEnVY5AV3iNiTlc8riU265CUMrZNkAmKHgtFKp60s=";
3056     };
3057     buildInputs = [ TestFatal TestWarnings ];
3058     propagatedBuildInputs = [ BCOW ];
3059     meta = {
3060       description = "Perl extension for access to cdb databases";
3061       homepage = "https://github.com/toddr/CDB_File";
3062       license = with lib.licenses; [ artistic1 gpl1Plus ];
3063     };
3064   };
3066   Catmandu = buildPerlModule {
3067     pname = "Catmandu";
3068     version = "1.2020";
3069     src = fetchurl {
3070       url = "mirror://cpan/authors/id/H/HO/HOCHSTEN/Catmandu-1.2020.tar.gz";
3071       hash = "sha256-1jIbR+NkGvkb7vZjNhWZVk88wzwAc5isa7opuO5A4cU=";
3072     };
3073     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 ];
3074     buildInputs = [ LogAnyAdapterLog4perl LogLog4perl TestDeep TestException TestLWPUserAgent TestPod ];
3075     meta = {
3076       description = "Data toolkit";
3077       homepage = "https://github.com/LibreCat/Catmandu";
3078       license = with lib.licenses; [ artistic1 gpl1Plus ];
3079       mainProgram = "catmandu";
3080     };
3081   };
3083   CDDB_get = buildPerlPackage {
3084     pname = "CDDB_get";
3085     version = "2.28";
3086     src = fetchurl {
3087       url = "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-2.28.tar.gz";
3088       hash = "sha256-vcy6H6jkwc8xicXlo1KaZpOmSKpSgrWXU4x6rdzm2ck=";
3089     };
3090     meta = {
3091       description = "Get the CDDB info for an audio cd";
3092       license = with lib.licenses; [ artistic1 ];
3093       maintainers = [ maintainers.endgame ];
3094       mainProgram = "cddb.pl";
3095     };
3096   };
3098   CDDBFile = buildPerlPackage {
3099     pname = "CDDB-File";
3100     version = "1.05";
3101     src = fetchurl {
3102       url = "mirror://cpan/authors/id/T/TM/TMTM/CDDB-File-1.05.tar.gz";
3103       hash = "sha256-6+ZCnEFcFOc8bK/g1OLc3o4WnYFScfHhUjwmThrsx8k=";
3104     };
3105     meta = {
3106       description = "Parse a CDDB/freedb data file";
3107       license = with lib.licenses; [ artistic1 ];
3108     };
3109   };
3112   CGI = buildPerlPackage {
3113     pname = "CGI";
3114     version = "4.59";
3115     src = fetchurl {
3116       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-4.59.tar.gz";
3117       hash = "sha256-be5LibiLEOd8lvPAjRm1hq74M7F6Ql1hiq19KMJi+Rw=";
3118     };
3119     buildInputs = [ TestDeep TestNoWarnings TestWarn ];
3120     propagatedBuildInputs = [ HTMLParser ];
3121     meta = {
3122       description = "Handle Common Gateway Interface requests and responses";
3123       homepage = "https://metacpan.org/module/CGI";
3124       license = with lib.licenses; [ artistic2 ];
3125     };
3126   };
3128   CGICompile = buildPerlModule {
3129     pname = "CGI-Compile";
3130     version = "0.26";
3131     src = fetchurl {
3132       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CGI-Compile-0.26.tar.gz";
3133       hash = "sha256-TzhcEMLJd+tgPzjNFT4OA2jfA3H9vSP1qm7nL0/GXcg=";
3134     };
3135     propagatedBuildInputs = [ Filepushd SubName ];
3136     buildInputs = [ CGI CaptureTiny ModuleBuildTiny SubIdentify Switch TestNoWarnings TestRequires TryTiny ];
3137     preCheck = "rm t/race-conditions.t"; # this test is unstable
3138     meta = {
3139       description = "Compile .cgi scripts to a code reference like ModPerl::Registry";
3140       homepage = "https://github.com/miyagawa/CGI-Compile";
3141       license = with lib.licenses; [ artistic1 gpl1Plus ];
3142     };
3143   };
3145   CGICookieXS = buildPerlPackage {
3146     pname = "CGI-Cookie-XS";
3147     version = "0.18";
3148     src = fetchurl {
3149       url = "mirror://cpan/authors/id/A/AG/AGENT/CGI-Cookie-XS-0.18.tar.gz";
3150       hash = "sha256-RpnLSr2XIBSvO+ubCmlbQluH2ibLK0vbJgIHCqrdPcY=";
3151     };
3152     meta = {
3153       description = "HTTP Cookie parser in pure C";
3154       license = with lib.licenses; [ artistic1 gpl1Plus ];
3155     };
3156   };
3158   CGIEmulatePSGI = buildPerlPackage {
3159     pname = "CGI-Emulate-PSGI";
3160     version = "0.23";
3161     src = fetchurl {
3162       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz";
3163       hash = "sha256-3VtsNT8I+6EA2uCZBChPf3P4Mo0x9qZ7LBNvrXKNFYs=";
3164     };
3165     buildInputs = [ TestRequires ];
3166     propagatedBuildInputs = [ CGI ];
3167     meta = {
3168       description = "PSGI adapter for CGI";
3169       homepage = "https://github.com/tokuhirom/p5-cgi-emulate-psgi";
3170       license = with lib.licenses; [ artistic1 gpl1Plus ];
3171     };
3172   };
3174   CGIExpand = buildPerlPackage {
3175     pname = "CGI-Expand";
3176     version = "2.05";
3177     src = fetchurl {
3178       url = "mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz";
3179       hash = "sha256-boLRGOPEwMLa/NpYde3l6N2//+C336pkjkUeA5pFpKk=";
3180     };
3181     buildInputs = [ TestException ];
3182     meta = {
3183       description = "Convert flat hash to nested data using TT2's dot convention";
3184       license = with lib.licenses; [ artistic1 gpl1Plus ];
3185     };
3186   };
3188   CGIFast = buildPerlPackage {
3189     pname = "CGI-Fast";
3190     version = "2.16";
3191     src = fetchurl {
3192       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.16.tar.gz";
3193       hash = "sha256-AiPX+RuAA3ud/183NgZAtx9dyNvZiaBZPV0i8/c8s9Q=";
3194     };
3195     propagatedBuildInputs = [ CGI FCGI ];
3196     doCheck = false;
3197     meta = {
3198       description = "CGI Interface for Fast CGI";
3199       homepage = "https://metacpan.org/module/CGI::Fast";
3200       license = with lib.licenses; [ artistic1 gpl1Plus ];
3201     };
3202   };
3204   CGIFormBuilder = buildPerlPackage {
3205     pname = "CGI-FormBuilder";
3206     version = "3.10";
3207     src = fetchurl {
3208       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz";
3209       hash = "sha256-rsmb4MDwZ6fnJpxTeOWubI1905s2i08SwNhGOxPucZg=";
3210     };
3212     propagatedBuildInputs = [ CGI ];
3213     meta = {
3214       description = "Easily generate and process stateful forms";
3215       license = with lib.licenses; [ artistic1 gpl1Plus ];
3216     };
3217   };
3219   CGIMinimal = buildPerlModule {
3220     pname = "CGI-Minimal";
3221     version = "1.30";
3222     src = fetchurl {
3223       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/CGI-Minimal-1.30.tar.gz";
3224       hash = "sha256-uU1QghsCYR2m7lQjGTFFB4xNuygvKxYqSw1YCUmXvEc=";
3225     };
3226     meta = {
3227       description = "Lightweight CGI form processing package";
3228       homepage = "https://github.com/JerilynFranz/perl-CGI-Minimal";
3229       license = with lib.licenses; [ mit ];
3230     };
3231   };
3233   CGIPSGI = buildPerlPackage {
3234     pname = "CGI-PSGI";
3235     version = "0.15";
3236     src = fetchurl {
3237       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz";
3238       hash = "sha256-xQ3LEL+EhqmEO67QMq2J2Hn/L0HJkzQt6tYvlHpZjZE=";
3239     };
3240     propagatedBuildInputs = [ CGI ];
3241     meta = {
3242       description = "Adapt CGI.pm to the PSGI protocol";
3243       license = with lib.licenses; [ artistic1 gpl1Plus ];
3244     };
3245   };
3247   CGISession = buildPerlModule {
3248     pname = "CGI-Session";
3249     version = "4.48";
3250     src = fetchurl {
3251       url = "mirror://cpan/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz";
3252       hash = "sha256-RnVkYcJM52ZrgQjduW26thJpnfMBLIDvEQFmGf4VVPc=";
3253     };
3254     propagatedBuildInputs = [ CGI ];
3255     meta = {
3256       description = "Persistent session data in CGI applications";
3257       license = with lib.licenses; [ artistic1 ];
3258     };
3259   };
3261   CGISimple = buildPerlPackage {
3262     pname = "CGI-Simple";
3263     version = "1.280";
3264     src = fetchurl {
3265       url = "mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.280.tar.gz";
3266       hash = "sha256-GOAen/uBTl5O6neshImyBp/oNlGFUPN/bCIT61Wcar8=";
3267     };
3268     buildInputs = [ TestException TestNoWarnings ];
3269     meta = {
3270       description = "Simple totally OO CGI interface that is CGI.pm compliant";
3271       license = with lib.licenses; [ artistic1 gpl1Plus ];
3272     };
3273   };
3275   CGIStruct = buildPerlPackage {
3276     pname = "CGI-Struct";
3277     version = "1.21";
3278     src = fetchurl {
3279       url = "mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz";
3280       hash = "sha256-0T2Np/3NbZBgVOR2D8KKcYrskb088GeliSf7fLHAnWw=";
3281     };
3282     buildInputs = [ TestDeep ];
3283     meta = {
3284       description = "Build structures from CGI data";
3285       license = with lib.licenses; [ bsd2 ];
3286     };
3287   };
3289   CHI = buildPerlPackage {
3290     pname = "CHI";
3291     version = "0.61";
3292     src = fetchurl {
3293       url = "mirror://cpan/authors/id/A/AS/ASB/CHI-0.61.tar.gz";
3294       hash = "sha256-WDVFyeUxK7QZOrFt6fVf+PS0p97RKM7o3SywIdRni1s=";
3295     };
3296     preConfigure = ''
3297       # fix error 'Unescaped left brace in regex is illegal here in regex'
3298       substituteInPlace lib/CHI/t/Driver/Subcache/l1_cache.pm --replace 'qr/CHI stats: {' 'qr/CHI stats: \{'
3299     '';
3300     buildInputs = [ TestClass TestDeep TestException TestWarn TimeDate ];
3301     propagatedBuildInputs = [ CarpAssert ClassLoad DataUUID DigestJHash HashMoreUtils JSONMaybeXS ListMoreUtils LogAny Moo MooXTypesMooseLikeNumeric StringRewritePrefix TaskWeaken TimeDuration TimeDurationParse ];
3302     meta = {
3303       description = "Unified cache handling interface";
3304       license = with lib.licenses; [ artistic1 gpl1Plus ];
3305     };
3306   };
3308   Chart = buildPerlPackage {
3309     pname = "Chart";
3310     version = "2.403.9";
3311     src = fetchurl {
3312       url = "mirror://cpan/authors/id/L/LI/LICHTKIND/Chart-v2.403.9.tar.gz";
3313       hash = "sha256-V8aCi7TIpyFw/rZ9wfFIq/Gcqzgnd54wh3tGEe1n86s=";
3314     };
3315     buildInputs = [ TestWarn ];
3316     propagatedBuildInputs = [ GD GraphicsToolkitColor ];
3317     meta = {
3318       description = "Series of charting modules";
3319       license = with lib.licenses; [ artistic1 gpl1Plus ];
3320     };
3321   };
3323   ChipcardPCSC = buildPerlPackage {
3324     pname = "Chipcard-PCSC";
3325     version = "1.4.16";
3326     src = fetchurl {
3327       url = "mirror://cpan/authors/id/W/WH/WHOM/Chipcard-PCSC-v1.4.16.tar.gz";
3328       hash = "sha256-O14p1jRDXxQm7Nzfebo1G04mWPNsPCK+N7HTHjbKj6k=";
3329     };
3330     buildInputs = [ pkgs.pcsclite ];
3331     nativeBuildInputs = [ pkgs.pkg-config ];
3332     env.NIX_CFLAGS_COMPILE = toString ([
3333       "-I${pkgs.pcsclite.dev}/include/PCSC"
3334     ] ++ lib.optionals stdenv.cc.isClang [
3335       "-Wno-error=implicit-int"
3336       "-Wno-error=int-conversion"
3337     ]);
3338     postPatch = ''
3339       substituteInPlace Makefile.PL --replace pkg-config $PKG_CONFIG
3340     '';
3341     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.pcsclite}/lib -lpcsclite";
3342     # tests fail; look unfinished
3343     doCheck = false;
3344     meta = {
3345       description = "Communicate with a smart card using PC/SC";
3346       homepage = "https://pcsc-perl.apdu.fr/";
3347       license = with lib.licenses; [ gpl2Plus ];
3348       maintainers = with maintainers; [ abbradar anthonyroussel ];
3349     };
3350   };
3352   CiscoIPPhone = buildPerlPackage {
3353     pname = "Cisco-IPPhone";
3354     version = "0.05";
3355     src = fetchurl {
3356       url = "mirror://cpan/authors/id/M/MR/MRPALMER/Cisco-IPPhone-0.05.tar.gz";
3357       hash = "sha256-sDyiY/j0Gm7FRcU5MhOjFG02vUUzWt6Zr1HdQqtu4W0=";
3358     };
3359     meta = {
3360       description = "Package for creating Cisco IPPhone XML objects";
3361       license = with lib.licenses; [ artistic1 ];
3362     };
3363   };
3365   CLASS = buildPerlPackage {
3366     pname = "CLASS";
3367     version = "1.1.8";
3368     src = fetchurl {
3369       url = "mirror://cpan/authors/id/J/JD/JDEGUEST/CLASS-v1.1.8.tar.gz";
3370       hash = "sha256-IZAaUmXL29iRJ36X/Gs0X3nby/B3RFePX/iGaltddgM=";
3371     };
3372     meta = {
3373       description = "Alias for __PACKAGE__";
3374       homepage = "https://metacpan.org/pod/CLASS";
3375       license = with lib.licenses; [ artistic1 gpl1Plus ];
3376       maintainers = [ maintainers.sgo ];
3377     };
3378   };
3380   ClassAccessor = buildPerlPackage {
3381     pname = "Class-Accessor";
3382     version = "0.51";
3383     src = fetchurl {
3384       url = "mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz";
3385       hash = "sha256-vxKj5d5aLG6KRHs2T09aBQv3RiTFbjFQIq55kv8vQRw=";
3386     };
3387     meta = {
3388       description = "Automated accessor generation";
3389       license = with lib.licenses; [ artistic1 gpl1Plus ];
3390     };
3391   };
3393   ClassAccessorChained = buildPerlModule {
3394     pname = "Class-Accessor-Chained";
3395     version = "0.01";
3396     src = fetchurl {
3397       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz";
3398       hash = "sha256-pb9J04BPg60lobFvMn0U1MvuInATIQSyhwUDHbzMNNI=";
3399     };
3400     propagatedBuildInputs = [ ClassAccessor ];
3401     meta = {
3402       description = "Make chained accessors";
3403       license = with lib.licenses; [ artistic1 gpl1Plus ];
3404     };
3405   };
3407   ClassAccessorGrouped = buildPerlPackage {
3408     pname = "Class-Accessor-Grouped";
3409     version = "0.10014";
3410     src = fetchurl {
3411       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-Accessor-Grouped-0.10014.tar.gz";
3412       hash = "sha256-NdWwPvwJ9n86MVXJYkEmw+FiyOPKmP+CbbNYUzpExLs=";
3413     };
3414     buildInputs = [ TestException ];
3415     propagatedBuildInputs = [ ModuleRuntime ];
3416     meta = {
3417       description = "Lets you build groups of accessors";
3418       homepage = "https://metacpan.org/release/Class-Accessor-Grouped";
3419       license = with lib.licenses; [ artistic1 gpl1Plus ];
3420     };
3421   };
3423   ClassAccessorLite = buildPerlPackage {
3424     pname = "Class-Accessor-Lite";
3425     version = "0.08";
3426     src = fetchurl {
3427       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz";
3428       hash = "sha256-dbO47I7+aHZ3tj8KEO75ZuAfYHNcVmVs51y7RMq6M1o=";
3429     };
3430     meta = {
3431       description = "Minimalistic variant of Class::Accessor";
3432       license = with lib.licenses; [ artistic1 gpl1Plus ];
3433     };
3434   };
3436   ClassAutouse = buildPerlPackage {
3437     pname = "Class-Autouse";
3438     version = "2.01";
3439     src = fetchurl {
3440       url = "mirror://cpan/authors/id/A/AD/ADAMK/Class-Autouse-2.01.tar.gz";
3441       hash = "sha256-wFsyNsBXGdgZwg2w/ettCVR0fkPXpzgpTu1/vPNuzxs=";
3442     };
3443     meta = {
3444       description = "Run-time load a class the first time you call a method in it";
3445       license = with lib.licenses; [ artistic1 gpl1Plus ];
3446     };
3447   };
3449   ClassBase = buildPerlPackage {
3450     pname = "Class-Base";
3451     version = "0.09";
3452     src = fetchurl {
3453       url = "mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz";
3454       hash = "sha256-4aW93lJQWAJmSpEIpRXJ6OUCy3IppJ3pT0CBsbKu7YQ=";
3455     };
3456     propagatedBuildInputs = [ Clone ];
3457     meta = {
3458       description = "Useful base class for deriving other modules";
3459       license = with lib.licenses; [ artistic1 gpl1Plus ];
3460     };
3461   };
3463   ClassC3 = buildPerlPackage {
3464     pname = "Class-C3";
3465     version = "0.35";
3466     src = fetchurl {
3467       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.35.tar.gz";
3468       hash = "sha256-hAU88aaPzIwSBWwvEgrfBPf2jjvjT0QI6V0Cb+5n4z4=";
3469     };
3470     propagatedBuildInputs = [ AlgorithmC3 ];
3471     meta = {
3472       description = "Pragma to use the C3 method resolution order algorithm";
3473       homepage = "https://metacpan.org/release/Class-C3";
3474       license = with lib.licenses; [ artistic1 gpl1Plus ];
3475     };
3476   };
3478   ClassC3AdoptNEXT = buildPerlModule {
3479     pname = "Class-C3-Adopt-NEXT";
3480     version = "0.14";
3481     src = fetchurl {
3482       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz";
3483       hash = "sha256-hWdiJarbduhmamq+LgZZ1A60WBrWOFsXDupOHWvzS/c=";
3484     };
3485     buildInputs = [ ModuleBuildTiny TestException ];
3486     propagatedBuildInputs = [ MROCompat ];
3487     meta = {
3488       description = "Make NEXT suck less";
3489       homepage = "https://github.com/karenetheridge/Class-C3-Adopt-NEXT";
3490       license = with lib.licenses; [ artistic1 gpl1Plus ];
3491     };
3492   };
3494   ClassC3Componentised = buildPerlPackage {
3495     pname = "Class-C3-Componentised";
3496     version = "1.001002";
3497     src = fetchurl {
3498       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz";
3499       hash = "sha256-MFGxRtwe/q6hqaLp5rF3MICZW4mKtYPxVWWNX8gLlpM=";
3500     };
3501     buildInputs = [ TestException ];
3502     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
3503     meta = {
3504       description = "Load mix-ins or components to your C3-based class";
3505       license = with lib.licenses; [ artistic1 gpl1Plus ];
3506     };
3507   };
3509   ClassClassgenclassgen = buildPerlPackage {
3510     pname = "Class-Classgen-classgen";
3511     version = "3.03";
3512     src = fetchurl {
3513       url = "mirror://cpan/authors/id/M/MS/MSCHLUE/Class-Classgen-classgen-3.03.tar.gz";
3514       hash = "sha256-m2XUG5kVOJkugWsyzE+ptKSguz6cEOfuvv+CZY27yPY=";
3515     };
3516     meta = {
3517       description = "Simplifies creation, manipulation and usage of complex objects";
3518       license = with lib.licenses; [ artistic1 gpl1Plus ];
3519       mainProgram = "classgen";
3520     };
3521   };
3523   ClassContainer = buildPerlModule {
3524     pname = "Class-Container";
3525     version = "0.13";
3526     src = fetchurl {
3527       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz";
3528       hash = "sha256-9dSVsd+4JtXAxF0DtNDmtgR8uwbNv2vhX9TckCrutws=";
3529     };
3530     propagatedBuildInputs = [ ParamsValidate ];
3531     meta = {
3532       description = "Glues object frameworks together transparently";
3533       license = with lib.licenses; [ artistic1 gpl1Plus ];
3534     };
3535   };
3537   ClassDataAccessor = buildPerlPackage {
3538     pname = "Class-Data-Accessor";
3539     version = "0.04004";
3540     src = fetchurl {
3541       url = "mirror://cpan/authors/id/C/CL/CLACO/Class-Data-Accessor-0.04004.tar.gz";
3542       hash = "sha256-wSLW4t9hNs6b6h5tK3dsueaeAAhezplTAYFMevOo6BQ=";
3543     };
3544     meta = {
3545       description = "Inheritable, overridable class and instance data accessor creation";
3546       license = with lib.licenses; [ artistic1 gpl1Plus ];
3547     };
3548   };
3550   ClassDataInheritable = buildPerlPackage {
3551     pname = "Class-Data-Inheritable";
3552     version = "0.09";
3553     src = fetchurl {
3554       url = "mirror://cpan/authors/id/R/RS/RSHERER/Class-Data-Inheritable-0.09.tar.gz";
3555       hash = "sha256-RAiNbpBxLhh7ilsFDKWxxw7+K6oyrhI+m9j1nynwbk0=";
3556     };
3557     meta = {
3558       description = "Inheritable, overridable class data";
3559       license = with lib.licenses; [ artistic1 gpl1Plus ];
3560     };
3561   };
3563   ClassEHierarchy = buildPerlPackage {
3564     pname = "Class-EHierarchy";
3565     version = "2.01";
3566     src = fetchurl {
3567       url = "mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/Class-EHierarchy-2.01.tar.gz";
3568       hash = "sha256-Y3q3a+s4MqmwcbmZobFb8F0pffamYsyxqABPKYcwg4I=";
3569     };
3570     meta = {
3571       description = "Base class for hierarchally ordered objects";
3572       license = with lib.licenses; [ artistic1 gpl1Plus ];
3573       maintainers = teams.deshaw.members;
3574     };
3575   };
3577   ClassFactory = buildPerlPackage {
3578     pname = "Class-Factory";
3579     version = "1.06";
3580     src = fetchurl {
3581       url = "mirror://cpan/authors/id/P/PH/PHRED/Class-Factory-1.06.tar.gz";
3582       hash = "sha256-w3otJp65NfNqI+ETSArglG+nwSoSeBOWoSJsjkNfMPU=";
3583     };
3584     meta = {
3585       description = "Base class for dynamic factory classes";
3586       license = with lib.licenses; [ artistic1 gpl1Plus ];
3587     };
3588   };
3590   ClassFactoryUtil = buildPerlModule {
3591     pname = "Class-Factory-Util";
3592     version = "1.7";
3593     src = fetchurl {
3594       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz";
3595       hash = "sha256-bFFrRFtE+HNj+zoUhDHTHp7LXm8h+2SByJskBrZpLiY=";
3596     };
3597     meta = {
3598       description = "Provide utility methods for factory classes";
3599       license = with lib.licenses; [ artistic1 gpl1Plus ];
3600     };
3601   };
3603   ClassGomor = buildPerlModule {
3604     pname = "Class-Gomor";
3605     version = "1.03";
3606     src = fetchurl {
3607       url = "mirror://cpan/authors/id/G/GO/GOMOR/Class-Gomor-1.03.tar.gz";
3608       hash = "sha256-R9s86pzp/6mL+cdFV/0yz3AHkatTcCDJWKwwtKn/IAs=";
3609     };
3610     meta = {
3611       description = "Another class and object builder";
3612       license = with lib.licenses; [ artistic1 ];
3613     };
3614   };
3616   ClassInspector = buildPerlPackage {
3617     pname = "Class-Inspector";
3618     version = "1.36";
3619     src = fetchurl {
3620       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz";
3621       hash = "sha256-zCldI6RyaHwkSJ1YIm6tI7n9wliOUi8LXwdHdBcAaU4=";
3622     };
3623     meta = {
3624       description = "Get information about a class and its structure";
3625       homepage = "https://metacpan.org/pod/Class::Inspector";
3626       license = with lib.licenses; [ artistic1 gpl1Plus ];
3627     };
3628   };
3630   ClassISA = buildPerlPackage {
3631     pname = "Class-ISA";
3632     version = "0.36";
3633     src = fetchurl {
3634       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-ISA-0.36.tar.gz";
3635       hash = "sha256-iBbzTpo46EmhDfdWAw3M+f4GGhlsEaw/qv1xE8kpuWQ=";
3636     };
3637     meta = {
3638       description = "Report the search path for a class's ISA tree";
3639       license = with lib.licenses; [ artistic1 gpl1Plus ];
3640     };
3641   };
3643   ClassIterator = buildPerlPackage {
3644     pname = "Class-Iterator";
3645     version = "0.3";
3646     src = fetchurl {
3647       url = "mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz";
3648       hash = "sha256-2xuofKkQfxYf6cHp5+JnwAJt78Jv4+c7ytirj/wY750=";
3649     };
3650     meta = {
3651       description = "Iterator class";
3652       license = with lib.licenses; [ artistic1 gpl1Plus ];
3653     };
3654   };
3656   ClassLoader = buildPerlPackage {
3657     pname = "Class-Loader";
3658     version = "2.03";
3659     src = fetchurl {
3660       url = "mirror://cpan/authors/id/V/VI/VIPUL/Class-Loader-2.03.tar.gz";
3661       hash = "sha256-T+8gdurWBCNFT/H06ChZqam5lCtfuO7gyYucY8nyuOc=";
3662     };
3663     meta = {
3664       description = "Load modules and create objects on demand";
3665       license = with lib.licenses; [ artistic1 gpl1Plus ];
3666     };
3667   };
3669   ClassMakeMethods = buildPerlPackage {
3670     pname = "Class-MakeMethods";
3671     version = "1.01";
3672     src = fetchurl {
3673       url = "mirror://cpan/authors/id/E/EV/EVO/Class-MakeMethods-1.01.tar.gz";
3674       hash = "sha256-rKx0LnnQ7Ip75Nj7gTqF6kTUfRnAFwzdswZEYCtYLGY=";
3675     };
3676     preConfigure = ''
3677       # fix error 'Unescaped left brace in regex is illegal here in regex'
3678       substituteInPlace tests/xemulator/class_methodmaker/Test.pm --replace 's/(TEST\s{)/$1/g' 's/(TEST\s\{)/$1/g'
3679     '';
3680     meta = {
3681       description = "Generate common types of methods";
3682       license = with lib.licenses; [ artistic1 gpl1Plus ];
3683     };
3684   };
3686   ClassMember = buildPerlPackage {
3687     pname = "Class-Member";
3688     version = "1.6";
3689     src = fetchurl {
3690       url = "mirror://cpan/authors/id/O/OP/OPI/Class-Member-1.6.tar.gz";
3691       hash = "sha256-p1KK8in6OhIF3NJakd59dKxvp9lSgbmTtV6Lb0+HuZE=";
3692     };
3693     meta = {
3694       description = "Set of modules to make the module developement easier";
3695       license = with lib.licenses; [ artistic1 gpl1Plus ];
3696     };
3697   };
3699   ClassMethodMaker = buildPerlPackage {
3700     pname = "Class-MethodMaker";
3701     version = "2.24";
3702     src = fetchurl {
3703       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.24.tar.gz";
3704       hash = "sha256-Xu9YzLJ+vQG83lsUvMVTtTR6Bpnlw+khx3gMNSaJAyg=";
3705     };
3706     # Remove unnecessary, non-autoconf, configure script.
3707     prePatch = "rm configure";
3708     meta = {
3709       description = "Module for creating generic methods";
3710       license = with lib.licenses; [ artistic1 gpl1Plus ];
3711     };
3712   };
3714   ClassMethodModifiers = buildPerlPackage {
3715     pname = "Class-Method-Modifiers";
3716     version = "2.15";
3717     src = fetchurl {
3718       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.15.tar.gz";
3719       hash = "sha256-Zc2Fv+R10GbpGG96jMY2BwmFswsOuxzehoHPBiwuFfw=";
3720     };
3721     buildInputs = [ TestFatal TestNeeds ];
3722     meta = {
3723       description = "Provides Moose-like method modifiers";
3724       homepage = "https://github.com/moose/Class-Method-Modifiers";
3725       license = with lib.licenses; [ artistic1 gpl1Plus ];
3726     };
3727   };
3729   ClassMix = buildPerlModule {
3730     pname = "Class-Mix";
3731     version = "0.006";
3732     src = fetchurl {
3733       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz";
3734       hash = "sha256-h0f2Q4k5FPjESXnxcW0MHsikE5R5ZVVEeUToYPH/fAs=";
3735     };
3736     propagatedBuildInputs = [ ParamsClassify ];
3737     meta = {
3738       description = "Dynamic class mixing";
3739       license = with lib.licenses; [ artistic1 gpl1Plus ];
3740     };
3741   };
3743   ClassRefresh = buildPerlPackage {
3744     pname = "Class-Refresh";
3745     version = "0.07";
3746     src = fetchurl {
3747       url = "mirror://cpan/authors/id/D/DO/DOY/Class-Refresh-0.07.tar.gz";
3748       hash = "sha256-47ADU1XLs1oq7j8iNojVeJRqenxXCs05iyjN2x/UvrM=";
3749     };
3750     buildInputs = [ TestFatal TestRequires ];
3751     propagatedBuildInputs = [ ClassLoad ClassUnload DevelOverrideGlobalRequire TryTiny ];
3752     meta = {
3753       homepage = "http://metacpan.org/release/Class-Refresh";
3754       description = "Refresh your classes during runtime";
3755       license = with lib.licenses; [ artistic1 gpl1Plus ];
3756     };
3757   };
3759   ClassReturnValue = buildPerlPackage {
3760     pname = "Class-ReturnValue";
3761     version = "0.55";
3762     src = fetchurl {
3763       url = "mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz";
3764       hash = "sha256-7Tg2iF149zTM16mFUOxCKmFt98MTEMG3sfZFn1+w5L0=";
3765     };
3766     propagatedBuildInputs = [ DevelStackTrace ];
3767     meta = {
3768       description = "(deprecated) polymorphic return values";
3769       homepage = "https://github.com/rjbs/Return-Value";
3770       license = with lib.licenses; [ artistic1 gpl1Plus ];
3771     };
3772   };
3774   ClassSingleton = buildPerlPackage {
3775     pname = "Class-Singleton";
3776     version = "1.6";
3777     src = fetchurl {
3778       url = "mirror://cpan/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz";
3779       hash = "sha256-J7oT8NlRKSkWa72MnvldkNYw/IDwyaG3RYiRBV6SgqQ=";
3780     };
3781     meta = {
3782       description = "Implementation of a 'Singleton' class";
3783       license = with lib.licenses; [ artistic1 gpl1Plus ];
3784     };
3785   };
3787   ClassThrowable = buildPerlPackage {
3788     pname = "Class-Throwable";
3789     version = "0.13";
3790     src = fetchurl {
3791       url = "mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.13.tar.gz";
3792       hash = "sha256-3JoR4Nq1bcIg3qjJT+PEfbXn3Xwe0E3IF4qlu3v7vM4=";
3793     };
3794     meta = {
3795       description = "Minimal lightweight exception class";
3796       license = with lib.licenses; [ artistic1 gpl1Plus ];
3797     };
3798   };
3800   ClassTiny = buildPerlPackage {
3801     pname = "Class-Tiny";
3802     version = "1.008";
3803     src = fetchurl {
3804       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz";
3805       hash = "sha256-7gWKY5Evofy5pySY9WykIaIFbcf59LZ4N0RtZCGBVhU=";
3806     };
3807     meta = {
3808       description = "Minimalist class construction";
3809       homepage = "https://github.com/dagolden/Class-Tiny";
3810       license = with lib.licenses; [ asl20 ];
3811     };
3812   };
3814   ClassLoad = buildPerlPackage {
3815     pname = "Class-Load";
3816     version = "0.25";
3817     src = fetchurl {
3818       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.25.tar.gz";
3819       hash = "sha256-Kkj6d5tSl+VhVjgOizJjfGxY3stPSn88c1BSPhEnX48=";
3820     };
3821     buildInputs = [ TestFatal TestNeeds ];
3822     propagatedBuildInputs = [ DataOptList PackageStash ];
3823     meta = {
3824       description = "Working (require \"Class::Name\") and more";
3825       homepage = "https://github.com/moose/Class-Load";
3826       license = with lib.licenses; [ artistic1 gpl1Plus ];
3827     };
3828   };
3830   ClassLoadXS = buildPerlPackage {
3831     pname = "Class-Load-XS";
3832     version = "0.10";
3833     src = fetchurl {
3834       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz";
3835       hash = "sha256-W8Is9Tbr/SVkxb2vQvDYpM7j0ZMPyLRLfUpCA4YirdE=";
3836     };
3837     buildInputs = [ TestFatal TestNeeds ];
3838     propagatedBuildInputs = [ ClassLoad ];
3839     meta = {
3840       description = "XS implementation of parts of Class::Load";
3841       homepage = "https://github.com/moose/Class-Load-XS";
3842       license = with lib.licenses; [ artistic2 ];
3843     };
3844   };
3846   ClassObservable = buildPerlPackage {
3847     pname = "Class-Observable";
3848     version = "2.004";
3849     src = fetchurl {
3850       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Class-Observable-2.004.tar.gz";
3851       hash = "sha256-bfMun+XwCIkfxO+k5PReqhQE0wIgRZyPyKUB8KfPLmk=";
3852     };
3853     propagatedBuildInputs = [ ClassISA ];
3854     meta = {
3855       description = "Allow other classes and objects to respond to events in yours";
3856       license = with lib.licenses; [ artistic1 gpl1Plus ];
3857     };
3858   };
3860   ClassStd = buildPerlModule {
3861     pname = "Class-Std";
3862     version = "0.013";
3863     src = fetchurl {
3864       url = "mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz";
3865       hash = "sha256-vNbYL2yK8P4Gn87X3RZaR5WwtukjUcfU5aGrmhT8NcY=";
3866     };
3867     meta = {
3868       description = "Support for creating standard 'inside-out' classes";
3869       license = with lib.licenses; [ artistic1 gpl1Plus ];
3870     };
3871   };
3873   ClassStdFast = buildPerlModule {
3874     pname = "Class-Std-Fast";
3875     version = "0.0.8";
3876     src = fetchurl {
3877       url = "mirror://cpan/authors/id/A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz";
3878       hash = "sha256-G9Q3Y8ajcxgwl6MOeH9dZxOw2ydRHFLVMyZrWdLPp4A=";
3879     };
3880     propagatedBuildInputs = [ ClassStd ];
3881     nativeCheckInputs = [ TestPod TestPodCoverage ];
3882     meta = {
3883       description = "Faster but less secure than Class::Std";
3884       license = with lib.licenses; [ artistic1 gpl1Plus ];
3885     };
3886   };
3888   ClassUnload = buildPerlPackage {
3889     pname = "Class-Unload";
3890     version = "0.11";
3891     src = fetchurl {
3892       url = "mirror://cpan/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz";
3893       hash = "sha256-UuKXR6fk0uGiicDh3oEHY08QyEJs18nTHsrIOD5KCl8=";
3894     };
3895     propagatedBuildInputs = [ ClassInspector ];
3896     buildInputs = [ TestRequires ];
3897     meta = {
3898       description = "Unload a class";
3899       license = with lib.licenses; [ artistic1 gpl1Plus ];
3900     };
3901   };
3903   ClassVirtual = buildPerlPackage {
3904     pname = "Class-Virtual";
3905     version = "0.08";
3906     src = fetchurl {
3907       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Class-Virtual-0.08.tar.gz";
3908       hash = "sha256-xkmbQtO05cZIil6C+8KGmObJhgFlBy3d+mdJNVqc+7I=";
3909     };
3910     propagatedBuildInputs = [ CarpAssert ClassDataInheritable ClassISA ];
3911     meta = {
3912       description = "Base class for virtual base classes";
3913       homepage = "https://metacpan.org/release/Class-Virtual";
3914       license = with lib.licenses; [ artistic1 gpl1Plus ];
3915     };
3916   };
3918   ClassXSAccessor = buildPerlPackage {
3919     pname = "Class-XSAccessor";
3920     version = "1.19";
3921     src = fetchurl {
3922       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz";
3923       hash = "sha256-mcVrOV8SOa8ZkB8v7rEl2ey041Gg2A2qlSkhGkcApvI=";
3924     };
3925     meta = {
3926       description = "Generate fast XS accessors without runtime compilation";
3927       license = with lib.licenses; [ artistic1 gpl1Plus ];
3928     };
3929   };
3931   CLDRNumber = buildPerlModule {
3932     pname = "CLDR-Number";
3933     version = "0.19";
3934     src = fetchurl {
3935       url = "mirror://cpan/authors/id/P/PA/PATCH/CLDR-Number-0.19.tar.gz";
3936       hash = "sha256-xnFkiOZf53n/eag/DyA2rZRGPv49DzSca5kRKXW9hfw=";
3937     };
3938     buildInputs = [ SoftwareLicense TestDifferences TestException TestWarn ];
3939     propagatedBuildInputs =
3940       [ ClassMethodModifiers MathRound Moo namespaceclean ];
3941     meta = {
3942       description = "Localized number formatters using the Unicode CLDR";
3943       homepage = "https://github.com/patch/cldr-number-pm5";
3944       license = with lib.licenses; [ artistic1 gpl1Plus ];
3945     };
3946   };
3948   CLIHelpers = buildPerlPackage {
3949     pname = "CLI-Helpers";
3950     version = "2.0";
3951     src = fetchurl {
3952       url = "mirror://cpan/authors/id/B/BL/BLHOTSKY/CLI-Helpers-2.0.tar.gz";
3953       hash = "sha256-yhpPFnTzsfMmjyekfJiAszgmrenxI34sEUXnAqfIePY=";
3954     };
3955     buildInputs = [ PodCoverageTrustPod TestPerlCritic ];
3956     propagatedBuildInputs = [ CaptureTiny IOInteractive RefUtil TermReadKey YAML ];
3957     meta = {
3958       description = "Subroutines for making simple command line scripts";
3959       homepage = "https://github.com/reyjrar/CLI-Helpers";
3960       license = with lib.licenses; [ bsd3 ];
3961     };
3962   };
3964   Clipboard = buildPerlModule {
3965     pname = "Clipboard";
3966     version = "0.28";
3967     src = fetchurl {
3968       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Clipboard-0.28.tar.gz";
3969       hash = "sha256-no15AVGUJjNXwloPXQlIAP/0O9v5+GAew7DtXrCWbSY=";
3970     };
3971     propagatedBuildInputs = [ CGI ];
3972     # Disable test on darwin because MacPasteboard fails when not logged in interactively.
3973     # Mac OS error -4960 (coreFoundationUnknownErr): The unknown error at lib/Clipboard/MacPasteboard.pm line 3.
3974     # Mac-Pasteboard-0.009.readme: 'NOTE that Mac OS X appears to restrict pasteboard access to processes that are logged in interactively.
3975     #     Ssh sessions and cron jobs can not create the requisite pasteboard handles, giving coreFoundationUnknownErr (-4960)'
3976     doCheck = !stdenv.hostPlatform.isDarwin;
3977     meta = {
3978       description = "Copy and paste with any OS";
3979       homepage = "https://metacpan.org/release/Clipboard";
3980       license = with lib.licenses; [ artistic1 gpl1Plus ];
3981     };
3982   };
3985   Clone = buildPerlPackage {
3986     pname = "Clone";
3987     version = "0.46";
3988     src = fetchurl {
3989       url = "mirror://cpan/authors/id/G/GA/GARU/Clone-0.46.tar.gz";
3990       hash = "sha256-qt7tXkyL1rvfaMDdAGbLUT4Wq55bQ4LcSgqv1ViQaXs=";
3991     };
3992     buildInputs = [ BCOW ];
3993     meta = {
3994       description = "Recursively copy Perl datatypes";
3995       license = with lib.licenses; [ artistic1 gpl1Plus ];
3996     };
3997   };
3999   CloneChoose = buildPerlPackage {
4000     pname = "Clone-Choose";
4001     version = "0.010";
4002     src = fetchurl {
4003       url = "mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz";
4004       hash = "sha256-ViNIH1jO6O25bNICqtDfViLUJ+X3SLJThR39YuUSNjI=";
4005     };
4006     buildInputs = [ Clone ClonePP TestWithoutModule ];
4007     meta = {
4008       description = "Choose appropriate clone utility";
4009       homepage = "https://metacpan.org/release/Clone-Choose";
4010       license = with lib.licenses; [ artistic1 gpl1Plus ];
4011     };
4012   };
4014   ClonePP = buildPerlPackage {
4015     pname = "Clone-PP";
4016     version = "1.08";
4017     src = fetchurl {
4018       url = "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.08.tar.gz";
4019       hash = "sha256-VyAwlKXYV0tqAJUejyOZtmb050+VEdnJ+1tFPV0R9Xg=";
4020     };
4021     meta = {
4022       description = "Recursively copy Perl datatypes";
4023       license = with lib.licenses; [ artistic1 gpl1Plus ];
4024     };
4025   };
4027   CodeTidyAll = buildPerlPackage {
4028     pname = "Code-TidyAll";
4029     version = "0.84";
4030     src = fetchurl {
4031       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.84.tar.gz";
4032       hash = "sha256-s8AU4e3X9EBHkJjkHkeHNhBy9QE6ZqX4j5a05Tyisfc=";
4033     };
4034     propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ];
4035     buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ];
4036     meta = {
4037       description = "Engine for tidyall, your all-in-one code tidier and validator";
4038       homepage = "https://metacpan.org/release/Code-TidyAll";
4039       license = with lib.licenses; [ artistic1 gpl1Plus ];
4040       mainProgram = "tidyall";
4041     };
4042   };
4044   CodeTidyAllPluginPerlAlignMooseAttributes = buildPerlPackage {
4045     pname = "Code-TidyAll-Plugin-Perl-AlignMooseAttributes";
4046     version = "0.01";
4047     src = fetchurl {
4048       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/Code-TidyAll-Plugin-Perl-AlignMooseAttributes-0.01.tar.gz";
4049       hash = "sha256-jR3inlbwczFoXqONGDr87f8hCOccSp2zb0GeUN0sHOU=";
4050     };
4051     propagatedBuildInputs = [ CodeTidyAll TextAligner ];
4052     meta = {
4053       description = "TidyAll plugin to sort and align Moose-style attributes";
4054       license = with lib.licenses; [ artistic1 gpl1Plus ];
4055     };
4056   };
4058   ColorLibrary = buildPerlPackage {
4059     pname = "Color-Library";
4060     version = "0.021";
4061     src = fetchurl {
4062       url = "mirror://cpan/authors/id/R/RO/ROKR/Color-Library-0.021.tar.gz";
4063       hash = "sha256-WMv34zPTpKQCl6vENBKzIdpEnGgWAg5PpmJasHn8kKU=";
4064     };
4065     buildInputs = [ TestMost TestWarn TestException TestDeep TestDifferences ModulePluggable ];
4066     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable ];
4067     meta = {
4068       description = "Easy-to-use and comprehensive named-color library";
4069       license = with lib.licenses; [ artistic1 gpl1Plus ];
4070     };
4071   };
4073   CommandRunner = buildPerlModule {
4074     pname = "Command-Runner";
4075     version = "0.200";
4076     src = fetchurl {
4077       url = "mirror://cpan/authors/id/S/SK/SKAJI/Command-Runner-0.200.tar.gz";
4078       hash = "sha256-WtJtBhEb/s1TyPW7XeqUvyAl9seOlfbYAS5M+oninyY=";
4079     };
4080     buildInputs = [ ModuleBuildTiny ];
4081     propagatedBuildInputs = [ CaptureTiny Filepushd StringShellQuote Win32ShellQuote ];
4082     meta = {
4083       description = "Run external commands and Perl code refs";
4084       homepage = "https://github.com/skaji/Command-Runner";
4085       license = with lib.licenses; [ artistic1 gpl1Plus ];
4086       maintainers = [ maintainers.zakame ];
4087     };
4088   };
4090   commonsense = buildPerlPackage {
4091     pname = "common-sense";
4092     version = "3.75";
4093     src = fetchurl {
4094       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.75.tar.gz";
4095       hash = "sha256-qGocTKTzAG10eQZEJaCfpbZonlcmH8uZT+Z9Bhy6Dn4=";
4096     };
4097     meta = {
4098       description = "Implements some sane defaults for Perl programs";
4099       license = with lib.licenses; [ artistic1 gpl1Plus ];
4100     };
4101   };
4103   CompilerLexer = buildPerlModule {
4104     pname = "Compiler-Lexer";
4105     version = "0.23";
4106     src = fetchurl {
4107       url = "mirror://cpan/authors/id/G/GO/GOCCY/Compiler-Lexer-0.23.tar.gz";
4108       hash = "sha256-YDHOSv67+k9JKidJSb57gjIxTpECOCjEOOR5gf8Kmds=";
4109     };
4110     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
4111     buildInputs = [ ModuleBuildXSUtil ];
4112     meta = {
4113       homepage = "https://github.com/goccy/p5-Compiler-Lexer";
4114       description = "Lexical Analyzer for Perl5";
4115       license = with lib.licenses; [ artistic1 gpl1Plus ];
4116     };
4117   };
4119   CompressBzip2 = buildPerlPackage {
4120     pname = "Compress-Bzip2";
4121     version = "2.28";
4122     src = fetchurl {
4123       url = "mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.28.tar.gz";
4124       hash = "sha256-hZ+DXD9cmYgQ2LKm+eKC/5nWy2bM+lXK5+Ztr7A1EW4=";
4125     };
4126     meta = {
4127       description = "Interface to Bzip2 compression library";
4128       license = with lib.licenses; [ artistic1 gpl1Plus ];
4129     };
4130   };
4132   CompressLZF = buildPerlPackage rec {
4133     pname = "Compress-LZF";
4134     version = "3.8";
4135     src = fetchurl {
4136       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
4137       hash = "sha256-XR9d9IzhO03uHMnyeOzb+Bd4d7C5iBWk6zyRw0ZnFvI=";
4138     };
4139     meta = {
4140       description = "Extremely light-weight Lempel-Ziv-Free compression";
4141       license = with lib.licenses; [ artistic1 gpl1Plus ];
4142     };
4143   };
4145   CompressRawBzip2 = buildPerlPackage {
4146     pname = "Compress-Raw-Bzip2";
4147     version = "2.206";
4148     src = fetchurl {
4149       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.206.tar.gz";
4150       hash = "sha256-ISuB2xwK6CLRmShhmmA70QjLXVxHAPxn3HyxaeDMZSU=";
4151     };
4153     # Don't build a private copy of bzip2.
4154     BUILD_BZIP2 = false;
4155     BZIP2_LIB = "${pkgs.bzip2.out}/lib";
4156     BZIP2_INCLUDE = "${pkgs.bzip2.dev}/include";
4158     meta = {
4159       description = "Low-Level Interface to bzip2 compression library";
4160       homepage = "https://github.com/pmqs/Compress-Raw-Bzip2";
4161       license = with lib.licenses; [ artistic1 gpl1Plus ];
4162     };
4163   };
4165   CompressRawLzma = buildPerlPackage {
4166     pname = "Compress-Raw-Lzma";
4167     version = "2.206";
4168     src = fetchurl {
4169       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Lzma-2.206.tar.gz";
4170       hash = "sha256-4BpwQLhL3GdZLRPuwMeIWQ4faW0dTwfHCXvXKk+IbrQ=";
4171     };
4172     preConfigure = ''
4173       cat > config.in <<EOF
4174         INCLUDE      = ${pkgs.xz.dev}/include
4175         LIB          = ${pkgs.xz.out}/lib
4176       EOF
4177     '';
4178     meta = {
4179       description = "Low-Level Interface to lzma compression library";
4180       homepage = "https://github.com/pmqs/Compress-Raw-Lzma";
4181       license = with lib.licenses; [ artistic1 gpl1Plus ];
4182     };
4183   };
4185   CompressRawZlib = buildPerlPackage {
4186     pname = "Compress-Raw-Zlib";
4187     version = "2.206";
4189     src = fetchurl {
4190       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.206.tar.gz";
4191       hash = "sha256-Rnhaajg6HIQ4lbf58l1ddZ58MFFZ+dHgSjYE63THc3Q=";
4192     };
4194     preConfigure = ''
4195       cat > config.in <<EOF
4196         BUILD_ZLIB   = False
4197         INCLUDE      = ${pkgs.zlib.dev}/include
4198         LIB          = ${pkgs.zlib.out}/lib
4199         OLD_ZLIB     = False
4200         GZIP_OS_CODE = AUTO_DETECT
4201         USE_ZLIB_NG  = False
4202       EOF
4203     '';
4205     doCheck = !stdenv.hostPlatform.isDarwin;
4207     meta = {
4208       description = "Low-Level Interface to zlib or zlib-ng compression library";
4209       homepage = "https://github.com/pmqs/Compress-Raw-Zlib";
4210       license = with lib.licenses; [ artistic1 gpl1Plus ];
4211     };
4212   };
4214   CompressUnLZMA = buildPerlPackage {
4215     pname = "Compress-unLZMA";
4216     version = "0.05";
4217     src = fetchurl {
4218       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Compress-unLZMA-0.05.tar.gz";
4219       hash = "sha256-TegBoo2S1ekJR0Zc60jU45/WQJOF6cIw5MBIKdllF7g=";
4220     };
4221     meta = {
4222       description = "Interface to LZMA decompression library";
4223       license = with lib.licenses; [ artistic1 gpl1Plus lgpl21Plus ];
4224     };
4225   };
4227   ConfigAny = buildPerlPackage {
4228     pname = "Config-Any";
4229     version = "0.33";
4230     src = fetchurl {
4231       url = "mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.33.tar.gz";
4232       hash = "sha256-wGaOtfLNNVvyBVfwTcGKJUdLegvPp5Vi4xZdmjx4kzM=";
4233     };
4234     propagatedBuildInputs = [ ModulePluggable ];
4235     meta = {
4236       description = "Load configuration from different file formats, transparently";
4237       license = with lib.licenses; [ artistic1 gpl1Plus ];
4238     };
4239   };
4241   ConfigAutoConf = buildPerlPackage {
4242     pname = "Config-AutoConf";
4243     version = "0.320";
4244     src = fetchurl {
4245       url = "mirror://cpan/authors/id/A/AM/AMBS/Config-AutoConf-0.320.tar.gz";
4246       hash = "sha256-u1epWO9J0/cWInba4Up71a9D/R2FEyMa811mVFlFQCM=";
4247     };
4248     propagatedBuildInputs = [ CaptureTiny ];
4249     meta = {
4250       description = "Module to implement some of AutoConf macros in pure perl";
4251       homepage = "https://metacpan.org/release/Config-AutoConf";
4252       license = with lib.licenses; [ artistic1 gpl1Plus ];
4253     };
4254   };
4256   ConfigGeneral = buildPerlPackage {
4257     pname = "Config-General";
4258     version = "2.65";
4259     src = fetchurl {
4260       url = "mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.65.tar.gz";
4261       hash = "sha256-TW1XVL46nzCQaDbwzBDlVMiDLhTnoTQe+xWwXXBvxY8=";
4262     };
4263     meta = {
4264       description = "Generic Config Module";
4265       license = with lib.licenses; [ artistic2 ];
4266     };
4267   };
4269   ConfigGitLike = buildPerlPackage {
4270     pname = "Config-GitLike";
4271     version = "1.18";
4272     src = fetchurl {
4273       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.18.tar.gz";
4274       hash = "sha256-9650QPOtq1uf+apXIW2E/UpoEAm5WE4y2kL4u3HjMsU=";
4275     };
4276     buildInputs = [ TestException ];
4277     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
4278     meta = {
4279       description = "Git-compatible config file parsing";
4280       license = with lib.licenses; [ artistic1 gpl1Plus ];
4281     };
4282   };
4284   ConfigGrammar = buildPerlPackage {
4285     pname = "Config-Grammar";
4286     version = "1.13";
4287     src = fetchurl {
4288       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.13.tar.gz";
4289       hash = "sha256-qLOjosnIxDuS3EAb8nCdZRTxW0Z/1PcsSNNWM1dx1uM=";
4290     };
4291     meta = {
4292       description = "Grammar-based, user-friendly config parser";
4293       homepage = "https://github.com/schweikert/Config-Grammar";
4294       license = with lib.licenses; [ artistic1 gpl1Plus ];
4295     };
4296   };
4298   ConfigINI = buildPerlPackage {
4299     pname = "Config-INI";
4300     version = "0.029";
4301     src = fetchurl {
4302       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.029.tar.gz";
4303       hash = "sha256-C755enMCEGRKkH2QzUqisjrVgMsnvTk5O/xqfvn9/eo=";
4304     };
4305     propagatedBuildInputs = [ MixinLinewise ];
4306     meta = {
4307       description = "Simple .ini-file format";
4308       homepage = "https://github.com/rjbs/Config-INI";
4309       license = with lib.licenses; [ artistic1 gpl1Plus ];
4310     };
4311   };
4313   ConfigIdentity = buildPerlPackage {
4314     pname = "Config-Identity";
4315     version = "0.0019";
4316     src = fetchurl {
4317       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz";
4318       hash = "sha256-KVIL2zdlnmQUkbDGlmFCmhqJtqLkdcL5tOvyfkXoEqg=";
4319     };
4320     propagatedBuildInputs = [ FileHomeDir IPCRun ];
4321     buildInputs = [ TestDeep ];
4322     meta = {
4323       description = "Load (and optionally decrypt via GnuPG) user/pass identity information ";
4324       homepage = "https://github.com/dagolden/Config-Identity";
4325       license = with lib.licenses; [ artistic1 gpl1Plus ];
4326     };
4327   };
4329   ConfigIniFiles = buildPerlPackage {
4330     pname = "Config-IniFiles";
4331     version = "3.000003";
4332     src = fetchurl {
4333       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Config-IniFiles-3.000003.tar.gz";
4334       hash = "sha256-PEV7ZdmOX/QL25z4FLDVmD6wxT+4aWvaO6A1rSrNaAI=";
4335     };
4336     propagatedBuildInputs = [ IOStringy ];
4337     meta = {
4338       description = "Module for reading .ini-style configuration files";
4339       homepage = "https://metacpan.org/release/Config-IniFiles";
4340       license = with lib.licenses; [ artistic1 gpl1Plus ];
4341       maintainers = teams.deshaw.members;
4342     };
4343   };
4345   ConfigMerge = buildPerlPackage {
4346     pname = "Config-Merge";
4347     version = "1.04";
4348     src = fetchurl {
4349       url = "mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz";
4350       hash = "sha256-qTJHe0OuX7BKFvBxqJHae9IIbBDGgFkvKIj6nZlyzM8=";
4351     };
4352     buildInputs = [ YAML ];
4353     propagatedBuildInputs = [ ConfigAny ];
4354     meta = {
4355       description = "Load a configuration directory tree containing YAML, JSON, XML, Perl, INI or Config::General files";
4356       license = with lib.licenses; [ artistic1 gpl1Plus ];
4357     };
4358   };
4360   ConfigOnion = buildPerlPackage {
4361     pname = "Config-Onion";
4362     version = "1.007";
4363     src = fetchurl {
4364       url = "mirror://cpan/authors/id/D/DS/DSHEROH/Config-Onion-1.007.tar.gz";
4365       hash = "sha256-Mn/d9o4TiyRp5aK643xzP4fKhMr2Hhz6qUm+PZUNqK8=";
4366     };
4367     propagatedBuildInputs = [ ConfigAny HashMergeSimple Moo ];
4368     buildInputs = [ TestException YAML ];
4369     meta = {
4370       description = "Layered configuration, because configs are like ogres";
4371       license = with lib.licenses; [ artistic1 gpl1Plus ];
4372     };
4373   };
4375   ConfigMVP = buildPerlPackage {
4376     pname = "Config-MVP";
4377     version = "2.200013";
4378     src = fetchurl {
4379       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200013.tar.gz";
4380       hash = "sha256-AY0WFiPuOmf4YNnmgOIuYbeermAY8OfDtSX8k09bfUU=";
4381     };
4382     buildInputs = [ TestFatal ];
4383     propagatedBuildInputs = [ ModulePluggable MooseXOneArgNew RoleHasMessage RoleIdentifiable Throwable TieIxHash ];
4384     meta = {
4385       description = "Multivalue-property package-oriented configuration";
4386       homepage = "https://github.com/rjbs/Config-MVP";
4387       license = with lib.licenses; [ artistic1 gpl1Plus ];
4388     };
4389   };
4391   ConfigMVPReaderINI = buildPerlPackage {
4392     pname = "Config-MVP-Reader-INI";
4393     version = "2.101465";
4394     src = fetchurl {
4395       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101465.tar.gz";
4396       hash = "sha256-E8eqJ8HfmM0zraOZ5Z/zj6v6nWVRPkKvAvcsLT9jYkc=";
4397     };
4398     propagatedBuildInputs = [ ConfigINI ConfigMVP ];
4399     meta = {
4400       description = "MVP config reader for .ini files";
4401       homepage = "https://github.com/rjbs/Config-MVP-Reader-INI";
4402       license = with lib.licenses; [ artistic1 gpl1Plus ];
4403     };
4404   };
4406   ConfigProperties = buildPerlPackage {
4407     pname = "Config-Properties";
4408     version = "1.80";
4409     src = fetchurl {
4410       url = "mirror://cpan/authors/id/S/SA/SALVA/Config-Properties-1.80.tar.gz";
4411       hash = "sha256-XQQ5W+fhTpcKA+qVL7dimuME2XwDH5DMHCm9Cmpi/EA=";
4412     };
4413     meta = {
4414       description = "Read and write property files";
4415       license = with lib.licenses; [ artistic1 gpl1Plus ];
4416     };
4417   };
4419   ConfigSimple = buildPerlPackage {
4420     pname = "Config-Simple";
4421     version = "4.58";
4422     src = fetchurl {
4423       url = "mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz";
4424       hash = "sha256-3ZmVcG8Pk4ShXM/+EWw7biL0K6LljY8k7QPEoOOG7bQ=";
4425     };
4426     meta = {
4427       description = "Simple configuration file class";
4428       license = with lib.licenses; [ artistic1 gpl1Plus ];
4429     };
4430   };
4432   ConfigStd = buildPerlModule {
4433     pname = "Config-Std";
4434     version = "0.903";
4435     src = fetchurl {
4436       url = "mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz";
4437       hash = "sha256-t3Cf9mO9J50mSrnC9R6elYhHmjNnqMTPwYZZwqEUgP4=";
4438     };
4439     propagatedBuildInputs = [ ClassStd ];
4440     meta = {
4441       description = "Load and save configuration files in a standard format";
4442       license = with lib.licenses; [ artistic1 gpl1Plus ];
4443     };
4444   };
4446   ConfigTiny = buildPerlPackage {
4447     pname = "Config-Tiny";
4448     version = "2.29";
4449     src = fetchurl {
4450       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-2.29.tgz";
4451       hash = "sha256-PeebDqA6jWqT6dkSj+hF+1ViIrFGmaT28NXKBXrjMzs=";
4452     };
4453     buildInputs = [ TestPod ];
4454     meta = {
4455       description = "Read/Write .ini style files with as little code as possible";
4456       license = with lib.licenses; [ artistic1 gpl1Plus ];
4457     };
4458   };
4460   ConfigVersioned = buildPerlPackage {
4461     pname = "Config-Versioned";
4462     version = "1.01";
4463     src = fetchurl {
4464       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz";
4465       hash = "sha256-vJpK43OL2J+GoHvKZzYnyjySupaXN81tvHq3rRfNI0g=";
4466     };
4467     propagatedBuildInputs = [ ConfigStd GitPurePerl ];
4468     doCheck = false;
4469     meta = {
4470       description = "Simple, versioned access to configuration data";
4471       license = with lib.licenses; [ artistic1 gpl1Plus ];
4472       mainProgram = "cfgver";
4473     };
4474   };
4476   Connector = buildPerlModule {
4477     pname = "Connector";
4478     version = "1.53";
4479     src = fetchurl {
4480       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.53.tar.gz";
4481       hash = "sha256-1D50VEcZ/7lKDgZFhqetRXVbKTZPGJHZ4ncEFqsSTPo=";
4482     };
4483     buildInputs = [ ModuleBuildTiny ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
4484     propagatedBuildInputs = [ LogLog4perl Moose ];
4485     prePatch = ''
4486       # Attempts to use network.
4487       rm t/01-proxy-http.t
4488       rm t/01-proxy-proc-safeexec.t
4490       # crypt() tests that use DES
4491       rm t/01-builtin-password.t
4492       rm t/01-builtin-password-scheme.t
4493     '';
4494     meta = {
4495       description = "Generic connection to a hierarchical-structured data set";
4496       homepage = "https://github.com/whiterabbitsecurity/connector";
4497       license = with lib.licenses; [ artistic1 gpl1Plus ];
4498     };
4499   };
4501   ConstFast = buildPerlModule {
4502     pname = "Const-Fast";
4503     version = "0.014";
4504     src = fetchurl {
4505       url = "mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz";
4506       hash = "sha256-+AWVOgjFeEahak2F17dmOYr698NsFGX8sd6gnl+jlNs=";
4507     };
4508     propagatedBuildInputs = [ SubExporterProgressive ];
4509     buildInputs = [ ModuleBuildTiny TestFatal ];
4510     meta = {
4511       description = "Facility for creating read-only scalars, arrays, and hashes";
4512       license = with lib.licenses; [ artistic1 gpl1Plus ];
4513     };
4514   };
4516   ConvertASCIIArmour = buildPerlPackage {
4517     pname = "Convert-ASCII-Armour";
4518     version = "1.4";
4519     src = fetchurl {
4520       url = "mirror://cpan/authors/id/V/VI/VIPUL/Convert-ASCII-Armour-1.4.tar.gz";
4521       hash = "sha256-l+istusqKpGvfWzw0t/2+kKq+Tn8fW0cYFek8N9SyQQ=";
4522     };
4523     meta = {
4524       description = "Convert binary octets into ASCII armoured messages";
4525       license = with lib.licenses; [ artistic1 gpl1Plus ];
4526       maintainers = [ maintainers.sgo ];
4527     };
4528   };
4530   ConvertASN1 = buildPerlPackage {
4531     pname = "Convert-ASN1";
4532     version = "0.34";
4533     src = fetchurl {
4534       url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Convert-ASN1-0.34.tar.gz";
4535       hash = "sha256-pijXydOQVo+3Y1mXX6A/YmzlfxDcF5gOjjWH13E+Tuc=";
4536     };
4537     meta = {
4538       description = "ASN.1 Encode/Decode library";
4539       license = with lib.licenses; [ artistic1 gpl1Plus ];
4540     };
4541   };
4543   ConvertBase32 = buildPerlPackage {
4544     pname = "Convert-Base32";
4545     version = "0.06";
4546     src = fetchurl {
4547       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/Convert-Base32-0.06.tar.gz";
4548       hash = "sha256-S6gsFnxB9FWqgoRzhyfkyUouvLHEznl/b9oHJFpkIRU=";
4549     };
4550     buildInputs = [ TestException ];
4551     meta = {
4552       description = "Encoding and decoding of base32 strings";
4553       license = with lib.licenses; [ artistic1 gpl1Plus ];
4554       maintainers = [ maintainers.sgo ];
4555     };
4556   };
4558   ConvertBencode = buildPerlPackage {
4559     pname = "Convert-Bencode";
4560     version = "1.03";
4561     src = fetchurl {
4562       url = "mirror://cpan/authors/id/O/OR/ORCLEV/Convert-Bencode-1.03.tar.gz";
4563       hash = "sha256-Jp89+GVpJZbeIU/kK5Lc+H1qa8It237Sq8f0i4LkXmw=";
4564     };
4565     meta = {
4566       description = "Functions for converting to/from bencoded strings";
4567       license = with lib.licenses; [ artistic1 gpl1Plus ];
4568     };
4569   };
4571   ConvertColor = buildPerlModule {
4572     pname = "Convert-Color";
4573     version = "0.17";
4574     src = fetchurl {
4575       url = "mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.17.tar.gz";
4576       hash = "sha256-5/jDN8VSXqoDd3xXaD6hGvm5j/HQURojSvH4CkMiTsc=";
4577     };
4578     buildInputs = [ Test2Suite ];
4579     propagatedBuildInputs = [ ListUtilsBy ModulePluggable ];
4580     meta = {
4581       description = "Color space conversions and named lookups";
4582       license = with lib.licenses; [ artistic1 gpl1Plus ];
4583     };
4584   };
4586   ConvertUU = buildPerlPackage {
4587     pname = "Convert-UU";
4588     version = "0.5201";
4589     src = fetchurl {
4590       url = "mirror://cpan/authors/id/A/AN/ANDK/Convert-UU-0.5201.tar.gz";
4591       hash = "sha256-kjKc4cMrWVLEjhIj2wGMjFjOr+8Dv6D9SBfNicNVo70=";
4592     };
4593     meta = {
4594       description = "Perl module for uuencode and uudecode";
4595       license = with lib.licenses; [ artistic1 gpl1Plus ];
4596     };
4597   };
4599   constantboolean = buildPerlModule {
4600     pname = "constant-boolean";
4601     version = "0.02";
4602     src = fetchurl {
4603       url = "mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz";
4604       hash = "sha256-zSxZ1YBhzhpJdaMTFg33GG9i7qJlW4XVIOXiTp7rD+k=";
4605     };
4606     propagatedBuildInputs = [ SymbolUtil ];
4607     meta = {
4608       description = "Define TRUE and FALSE constants";
4609       license = with lib.licenses; [ artistic1 gpl1Plus ];
4610     };
4611   };
4613   curry = buildPerlPackage {
4614     pname = "curry";
4615     version = "2.000001";
4616     src = fetchurl {
4617       url = "mirror://cpan/authors/id/M/MS/MSTROUT/curry-2.000001.tar.gz";
4618       hash = "sha256-yY/iBQ+t7KOYGdboDVROkSGE/oRsvnNTnGhpT7G1HAg=";
4619     };
4620     meta = {
4621       description = "Create automatic curried method call closures for any class or object";
4622       license = with lib.licenses; [ artistic1 gpl1Plus ];
4623     };
4624   };
4626   constant-defer = buildPerlPackage {
4627     pname = "constant-defer";
4628     version = "6";
4629     src = fetchurl {
4630       url = "mirror://cpan/authors/id/K/KR/KRYDE/constant-defer-6.tar.gz";
4631       hash = "sha256-eyEmMZjKImhu//OumHokC+Qj3SFgr96yn+cW0DKYb/o=";
4632     };
4633     meta = {
4634       description = "Constant subs with deferred value calculation";
4635       license = with lib.licenses; [ gpl3Plus ];
4636     };
4637   };
4639   ContextPreserve = buildPerlPackage {
4640     pname = "Context-Preserve";
4641     version = "0.03";
4642     src = fetchurl {
4643       url = "mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz";
4644       hash = "sha256-CZFKTCx725nKtoDBg8v0kuyY1uI/vMSH/MSuEFZ9/R8=";
4645     };
4646     buildInputs = [ TestException TestSimple13 ];
4647     meta = {
4648       description = "Run code after a subroutine call, preserving the context the subroutine would have seen if it were the last statement in the caller";
4649       license = with lib.licenses; [ artistic1 gpl1Plus ];
4650     };
4651   };
4653   CookieBaker = buildPerlModule {
4654     pname = "Cookie-Baker";
4655     version = "0.11";
4656     src = fetchurl {
4657       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz";
4658       hash = "sha256-WSdfR04HwKo2EePmhLiU59uRMzPYIUQgvmPxLsGM16s=";
4659     };
4660     buildInputs = [ ModuleBuildTiny TestTime ];
4661     propagatedBuildInputs = [ URI ];
4662     meta = {
4663       description = "Cookie string generator / parser";
4664       homepage = "https://github.com/kazeburo/Cookie-Baker";
4665       license = with lib.licenses; [ artistic1 gpl1Plus ];
4666     };
4667   };
4669   CookieXS = buildPerlPackage {
4670     pname = "Cookie-XS";
4671     version = "0.11";
4672     src = fetchurl {
4673       url = "mirror://cpan/authors/id/A/AG/AGENT/Cookie-XS-0.11.tar.gz";
4674       hash = "sha256-o7lxB4CiJC5w750G5R+Rt/PqCq5o9Tx25CxYLCzLJpg=";
4675     };
4676     propagatedBuildInputs = [ CGICookieXS ];
4677     meta = {
4678       description = "HTTP Cookie parser in C (Please use CGI::Cookie::XS instead)";
4679       license = with lib.licenses; [ artistic1 gpl1Plus ];
4680     };
4681   };
4683   Coro = buildPerlPackage {
4684     pname = "Coro";
4685     version = "6.57";
4686     src = fetchurl {
4687       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.57.tar.gz";
4688       hash = "sha256-GSjkgDNUDhHr9VBpht0QGveNJCHSEPllmSI7FdUXFMY=";
4689     };
4690     propagatedBuildInputs = [ AnyEvent Guard commonsense ];
4691     buildInputs = [ CanaryStability ];
4692     meta = {
4693       description = "Only real threads in perl";
4694       license = with lib.licenses; [ artistic1 gpl1Plus ];
4695     };
4696   };
4698   CoroEV = buildPerlPackage rec {
4699     pname = "CoroEV";
4700     version = "6.55";
4701     src = fetchurl {
4702       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-${version}.tar.gz";
4703       hash = "sha256-Q9ecAnFw/NpMoO6Sc0YFvJXhImhvUHG5TZB2TIGuijA=";
4704     };
4705     buildInputs = [ CanaryStability ];
4706     propagatedBuildInputs = [ AnyEvent Coro EV Guard commonsense ];
4707     preConfigure = ''
4708       cd EV
4709     '';
4710     meta = {
4711       description = "Do events the coro-way, with EV";
4712       license = with lib.licenses; [ artistic1 gpl1Plus ];
4713     };
4714   };
4716   Corona = buildPerlPackage {
4717     pname = "Corona";
4718     version = "0.1004";
4719     src = fetchurl {
4720       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz";
4721       hash = "sha256-//XRnoPeem0mWfNGgpgmsWUrtmZlS4eDsRmlNFS9rzw=";
4722     };
4723     propagatedBuildInputs = [ NetServerCoro Plack ];
4724     buildInputs = [ TestSharedFork TestTCP ];
4725     meta = {
4726       description = "Coro based PSGI web server";
4727       license = with lib.licenses; [ artistic1 gpl1Plus ];
4728       mainProgram = "corona";
4729     };
4730   };
4732   CPAN = buildPerlPackage {
4733     pname = "CPAN";
4734     version = "2.36";
4735     src = fetchurl {
4736       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.36.tar.gz";
4737       hash = "sha256-HXKl60DliOPBDx88hckC6HGxaDdH1ncjOvd3yCv8kJ4=";
4738     };
4739     propagatedBuildInputs = [ ArchiveZip CPANChecksums CPANPerlReleases CompressBzip2 Expect FileHomeDir FileWhich LWP LogLog4perl ModuleSignature TermReadKey TextGlob YAML YAMLLibYAML YAMLSyck IOSocketSSL ];
4740     meta = {
4741       description = "Query, download and build perl modules from CPAN sites";
4742       license = with lib.licenses; [ artistic1 gpl1Plus ];
4743       mainProgram = "cpan";
4744     };
4745   };
4747   CPANAudit = buildPerlPackage {
4748     pname = "CPAN-Audit";
4749     version = "20230826.001";
4750     src = fetchurl {
4751       url = "mirror://cpan/authors/id/B/BD/BDFOY/CPAN-Audit-20230826.001.tar.gz";
4752       hash = "sha256-DXU7O9fdpXweIKycWScKcKTNkfttfN4mJEPoVUy2Geo=";
4753     };
4754     buildInputs = [ CaptureTiny YAMLTiny ];
4755     propagatedBuildInputs = [ CPANDistnameInfo IOInteractive JSON ModuleCPANfile ModuleExtractVERSION PerlIOgzip Mojolicious ];
4756     meta = {
4757       homepage = "https://github.com/briandfoy/cpan-audit";
4758       description = "Audit CPAN distributions for known vulnerabilities";
4759       license = with lib.licenses; [ artistic1 gpl1Plus ];
4760     };
4761   };
4763   CPANMini = buildPerlPackage {
4764     pname = "CPAN-Mini";
4765     version = "1.111017";
4766     src = fetchurl {
4767       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Mini-1.111017.tar.gz";
4768       hash = "sha256-8gQpO+JqyEGsyHBEoYjbD1kegIgTFseiiK7A7s4wYVU=";
4769     };
4770     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
4771     propagatedBuildInputs = [ FileHomeDir LWPProtocolHttps ];
4772     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
4773       shortenPerlShebang $out/bin/minicpan
4774     '';
4776     meta = {
4777       description = "Create a minimal mirror of CPAN";
4778       homepage = "https://github.com/rjbs/CPAN-Mini";
4779       license = with lib.licenses; [ artistic1 gpl1Plus ];
4780       maintainers = [ maintainers.sgo ];
4781       mainProgram = "minicpan";
4782     };
4783   };
4785   CpanelJSONXS = buildPerlPackage {
4786     pname = "Cpanel-JSON-XS";
4787     version = "4.37";
4788     src = fetchurl {
4789       url = "mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.37.tar.gz";
4790       hash = "sha256-wkFhWg4X/3Raqoa79Gam4pzSQFFeZfBqegUBe2GebUs=";
4791     };
4792     meta = {
4793       description = "CPanel fork of JSON::XS, fast and correct serializing";
4794       license = with lib.licenses; [ artistic1 gpl1Plus ];
4795       mainProgram = "cpanel_json_xs";
4796     };
4797   };
4799   CPAN02PackagesSearch = buildPerlModule {
4800     pname = "CPAN-02Packages-Search";
4801     version = "0.100";
4802     src = fetchurl {
4803       url = "mirror://cpan/authors/id/S/SK/SKAJI/CPAN-02Packages-Search-0.100.tar.gz";
4804       hash = "sha256-prabrHmiUwA0RrKD76bzrv+mCdDBxStCCYeCEtpw+as=";
4805     };
4806     buildInputs = [ ModuleBuildTiny ];
4807     propagatedBuildInputs = [ TieHandleOffset ];
4808     meta = {
4809       description = "Search packages in 02packages.details.txt";
4810       homepage = "https://github.com/skaji/CPAN-02Packages-Search";
4811       license = with lib.licenses; [ artistic1 gpl1Plus ];
4812       maintainers = [ maintainers.zakame ];
4813     };
4814   };
4816   CPANChanges = buildPerlPackage {
4817     pname = "CPAN-Changes";
4818     version = "0.400002";
4819     src = fetchurl {
4820       url = "mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz";
4821       hash = "sha256-Ae7eqQ0HRoy1jkpQv6O7HU7tqQc1lq3REY/DWRU6vo0=";
4822     };
4823     meta = {
4824       description = "Read and write Changes files";
4825       license = with lib.licenses; [ artistic1 gpl1Plus ];
4826       mainProgram = "tidy_changelog";
4827     };
4828   };
4830   CPANChecksums = buildPerlPackage {
4831     pname = "CPAN-Checksums";
4832     version = "2.14";
4833     src = fetchurl {
4834       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.14.tar.gz";
4835       hash = "sha256-QIBxbF2n4DtQTjzA6h/V757WkV9vtzdWTp4T01Wonjk=";
4836     };
4837     propagatedBuildInputs = [ CompressBzip2 DataCompare ModuleSignature ];
4838     meta = {
4839       description = "Write a CHECKSUMS file for a directory as on CPAN";
4840       license = with lib.licenses; [ artistic1 gpl1Plus ];
4841     };
4842   };
4844   CPANCommonIndex = buildPerlPackage {
4845     pname = "CPAN-Common-Index";
4846     version = "0.010";
4847     src = fetchurl {
4848       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz";
4849       hash = "sha256-xD3bsi/UKwYRj+Y1f1NwD7139TG6PEJ/qvvzA8v06vA=";
4850     };
4851     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
4852     propagatedBuildInputs = [ CPANDistnameInfo ClassTiny TieHandleOffset URI ];
4853     meta = {
4854       description = "Common library for searching CPAN modules, authors and distributions";
4855       homepage = "https://github.com/Perl-Toolchain-Gang/CPAN-Common-Index";
4856       license = with lib.licenses; [ asl20 ];
4857     };
4858   };
4860   CPANDistnameInfo = buildPerlPackage {
4861     pname = "CPAN-DistnameInfo";
4862     version = "0.12";
4863     src = fetchurl {
4864       url = "mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz";
4865       hash = "sha256-LyT76ffurLwmnTX8YWGDIvwXvkme4M2QGPNwk0qfJDU=";
4866     };
4867     meta = {
4868       description = "Extract distribution name and version from a distribution filename";
4869       license = with lib.licenses; [ artistic1 gpl1Plus ];
4870     };
4871   };
4873   CPANMetaCheck = buildPerlPackage {
4874     pname = "CPAN-Meta-Check";
4875     version = "0.018";
4876     src = fetchurl {
4877       url = "mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.018.tar.gz";
4878       hash = "sha256-9hnS316g/ZHIz4PrVKzMteQ9nm7Bo/cns9CsFdDPN4o=";
4879     };
4880     buildInputs = [ TestDeep ];
4881     meta = {
4882       description = "Verify requirements in a CPAN::Meta object";
4883       license = with lib.licenses; [ artistic1 gpl1Plus ];
4884     };
4885   };
4887   CPANPerlReleases = buildPerlPackage {
4888     pname = "CPAN-Perl-Releases";
4889     version = "5.20230920";
4890     src = fetchurl {
4891       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-5.20230920.tar.gz";
4892       hash = "sha256-MbyTiJR2uOx1iRjdmSSmKYPgh7BsjN6Sb7mnp+h60cA=";
4893     };
4894     meta = {
4895       description = "Mapping Perl releases on CPAN to the location of the tarballs";
4896       homepage = "https://github.com/bingos/cpan-perl-releases";
4897       license = with lib.licenses; [ artistic1 gpl1Plus ];
4898     };
4899   };
4901   CPANPLUS = buildPerlPackage {
4902     pname = "CPANPLUS";
4903     version = "0.9914";
4904     src = fetchurl {
4905       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9914.tar.gz";
4906       hash = "sha256-dsPl2mI6SvYP5krexEj7H44Mrp9nmKNraIZZdAROm2c=";
4907     };
4908     propagatedBuildInputs = [ ArchiveExtract ModulePluggable ObjectAccessor PackageConstants TermUI ];
4909     meta = {
4910       description = "Ameliorated interface to the CPAN";
4911       homepage = "https://github.com/jib/cpanplus-devel";
4912       license = with lib.licenses; [ artistic1 gpl1Plus ];
4913       mainProgram = "cpanp";
4914     };
4915   };
4917   CPANUploader = buildPerlPackage {
4918     pname = "CPAN-Uploader";
4919     version = "0.103018";
4920     src = fetchurl {
4921       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103018.tar.gz";
4922       hash = "sha256-xP/k7enbebOW47/F583w4umCHh8eCH9SO8+nTJ/J4kg=";
4923     };
4924     propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive LWPProtocolHttps TermReadKey ];
4925     meta = {
4926       description = "Upload things to the CPAN";
4927       homepage = "https://github.com/rjbs/CPAN-Uploader";
4928       license = with lib.licenses; [ artistic1 gpl1Plus ];
4929       mainProgram = "cpan-upload";
4930     };
4931   };
4933   CryptArgon2 = buildPerlModule {
4934     pname = "Crypt-Argon2";
4935     version = "0.019";
4936     src = fetchurl {
4937       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Argon2-0.019.tar.gz";
4938       hash = "sha256-+Fm+6NL2tAf11EZFwiOu4hL+AFkd/YLlBlrhvnio5Dg=";
4939     };
4940     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
4941     meta = {
4942       description = "Perl interface to the Argon2 key derivation functions";
4943       license = with lib.licenses; [ cc0 ];
4944     };
4945   };
4947   CryptBcrypt = buildPerlPackage {
4948     pname = "Crypt-Bcrypt";
4949     version = "0.011";
4950     src = fetchurl {
4951       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Bcrypt-0.011.tar.gz";
4952       hash = "sha256-Z/ymiwUm5zTi2VvGsyutAcMZ5Yer9j5M80Itpmu+o6A=";
4953     };
4954     meta = {
4955       description = "modern bcrypt implementation";
4956       license = with lib.licenses; [ artistic1 gpl1Plus ];
4957     };
4958   };
4960   CryptBlowfish = buildPerlPackage {
4961     pname = "Crypt-Blowfish";
4962     version = "2.14";
4963     src = fetchurl {
4964       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz";
4965       hash = "sha256-RrNDH/tr9bnLNZ95Vl1IQH5lKtKwT99cpipp5xl6Z7E=";
4966     };
4967     meta = {
4968       description = "Perl Blowfish encryption module";
4969       license = with lib.licenses; [ bsdOriginalShortened ];
4970     };
4971   };
4973   CryptCAST5_PP = buildPerlPackage {
4974     pname = "Crypt-CAST5_PP";
4975     version = "1.04";
4976     src = fetchurl {
4977       url = "mirror://cpan/authors/id/B/BO/BOBMATH/Crypt-CAST5_PP-1.04.tar.gz";
4978       hash = "sha256-y6mKgEA/uJihTJKPI39EgWtISGQYQM4lFzY8LAcbUyc=";
4979     };
4980     meta = {
4981       description = "CAST5 block cipher in pure Perl";
4982       license = with lib.licenses; [ artistic1 gpl1Plus ];
4983       maintainers = [ maintainers.sgo ];
4984     };
4985   };
4987   CryptCBC = buildPerlPackage {
4988     pname = "Crypt-CBC";
4989     version = "2.33";
4990     src = fetchurl {
4991       url = "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-2.33.tar.gz";
4992       hash = "sha256-anDeIbbMfysQAGfo4Yjblm6agAG122+pdufLWylK5kU=";
4993     };
4994     meta = {
4995       description = "Encrypt Data with Cipher Block Chaining Mode";
4996       license = with lib.licenses; [ artistic1 gpl1Plus ];
4997     };
4998   };
5000   CryptCurve25519 = buildPerlPackage {
5001     pname = "Crypt-Curve25519";
5002     version = "0.07";
5003     src = fetchurl {
5004       url = "mirror://cpan/authors/id/K/KA/KARASIK/Crypt-Curve25519-0.07.tar.gz";
5005       hash = "sha256-Z6mIcTclIdb34R/dYnyq21wdVAFCag6c9CFnpDxbSx0=";
5006     };
5007     meta = {
5008       description = "Generate shared secret using elliptic-curve Diffie-Hellman function";
5009       homepage = "https://metacpan.org/release/Crypt-Curve25519";
5010       license = with lib.licenses; [ artistic1 gpl1Plus ];
5011     };
5012   };
5014   CryptDES = buildPerlPackage {
5015     pname = "Crypt-DES";
5016     version = "2.07";
5017     src = fetchurl {
5018       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-2.07.tar.gz";
5019       hash = "sha256-LbHrtYN7TLIAUcDuW3M7RFPjE33wqSMGA0yGdiHt1+c=";
5020     };
5021     meta = {
5022       description = "Perl DES encryption module";
5023       license = with lib.licenses; [ bsdOriginalShortened ];
5024     };
5025   };
5027   CryptDES_EDE3 = buildPerlPackage {
5028     pname = "Crypt-DES_EDE3";
5029     version = "0.01";
5030     src = fetchurl {
5031       url = "mirror://cpan/authors/id/B/BT/BTROTT/Crypt-DES_EDE3-0.01.tar.gz";
5032       hash = "sha256-nLLgS2JenMCDPNSZ92/RJVZYPs7KeCqXWKVeP5aXSNY=";
5033     };
5034     propagatedBuildInputs = [ CryptDES ];
5035     meta = {
5036       description = "Triple-DES EDE encryption/decryption";
5037       license = with lib.licenses; [ artistic1 gpl1Plus ];
5038       maintainers = [ maintainers.sgo ];
5039     };
5040   };
5042   CryptDH = buildPerlPackage {
5043     pname = "Crypt-DH";
5044     version = "0.07";
5045     src = fetchurl {
5046       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Crypt-DH-0.07.tar.gz";
5047       hash = "sha256-yIzzQjsB5nguiYbX/lMEQ2q4SwklxEmMb9+hfvmjf18=";
5048     };
5049     propagatedBuildInputs = [ MathBigIntGMP ];
5050     meta = {
5051       description = "Diffie-Hellman key exchange system";
5052       license = with lib.licenses; [ artistic1 gpl1Plus ];
5053     };
5054   };
5056   CryptDHGMP = buildPerlPackage {
5057     pname = "Crypt-DH-GMP";
5058     version = "0.00012";
5059     src = fetchurl {
5060       url = "mirror://cpan/authors/id/D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz";
5061       hash = "sha256-UeekeuWUz1X2bAdi9mkhVIbn2LNGC9rf55NQzPJtrzg=";
5062     };
5063     buildInputs = [ pkgs.gmp DevelChecklib TestRequires ];
5064     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
5065     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
5066     meta = {
5067       description = "Crypt::DH Using GMP Directly";
5068       license = with lib.licenses; [ artistic1 gpl1Plus ];
5069     };
5070   };
5072   CryptDSA = buildPerlPackage {
5073     pname = "Crypt-DSA";
5074     version = "1.17";
5075     src = fetchurl {
5076       url = "mirror://cpan/authors/id/A/AD/ADAMK/Crypt-DSA-1.17.tar.gz";
5077       hash = "sha256-0bhYX2v3RvduXcXaNkHTJe1la8Ll80S1RRS1XDEAmgM=";
5078     };
5079     propagatedBuildInputs = [ DataBuffer DigestSHA1 FileWhich ];
5080     meta = {
5081       description = "DSA Signatures and Key Generation";
5082       license = with lib.licenses; [ artistic1 gpl1Plus ];
5083       maintainers = [ maintainers.sgo ];
5084     };
5085   };
5087   CryptECB = buildPerlPackage {
5088     pname = "Crypt-ECB";
5089     version = "2.22";
5090     src = fetchurl {
5091       url = "mirror://cpan/authors/id/A/AP/APPEL/Crypt-ECB-2.22.tar.gz";
5092       hash = "sha256-9a9i6QjNMaNLK4ExNaBxgBb9AD/6ACH/vdhMUBWCZ6o=";
5093     };
5094     meta = {
5095       description = "Use block ciphers using ECB mode";
5096       license = with lib.licenses; [ artistic1 gpl1Plus ];
5097     };
5098   };
5100   CryptEksblowfish = buildPerlModule {
5101     pname = "Crypt-Eksblowfish";
5102     version = "0.009";
5103     src = fetchurl {
5104       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz";
5105       hash = "sha256-PMcSbVhBEHI3qb4txcf7wWfPPEtM40Z4qESLhQdXAUw=";
5106     };
5107     propagatedBuildInputs = [ ClassMix ];
5108     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
5109     meta = {
5110       description = "Eksblowfish block cipher";
5111       license = with lib.licenses; [ artistic1 gpl1Plus ];
5112     };
5113   };
5115   CryptFormat = buildPerlPackage {
5116     pname = "Crypt-Format";
5117     version = "0.12";
5118     src = fetchurl {
5119       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Format-0.12.tar.gz";
5120       hash = "sha256-p1cdS+9XeOGln0O2XPLVaAtJ+nu78z89IfRSL0Pmp9o=";
5121     };
5122     buildInputs = [ TestException TestFailWarnings ];
5123     meta = {
5124       description = "Conversion utilities for encryption applications";
5125       license = with lib.licenses; [ artistic1 gpl1Plus ];
5126       maintainers = [ maintainers.sgo ];
5127     };
5128   };
5130   CryptHSXKPasswd = buildPerlPackage {
5131     pname = "Crypt-HSXKPasswd";
5132     version = "3.6";
5133     src = fetchurl {
5134       url = "mirror://cpan/authors/id/B/BA/BARTB/Crypt-HSXKPasswd-v3.6.tar.gz";
5135       hash = "sha256-lZ3MX58BG/ALha0i31ZrerK/XqHTYrDeD7WuKfvEWLM=";
5136     };
5137     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
5138     propagatedBuildInputs = [ Clone DateTime FileHomeDir FileShare FileShareDir GetoptLong JSON ListMoreUtils MathRound Readonly TextUnidecode TypeTiny ];
5139     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
5140       shortenPerlShebang $out/bin/hsxkpasswd
5141     '';
5143     meta = {
5144       description = "Secure memorable password generator";
5145       homepage = "http://www.bartb.ie/hsxkpasswd";
5146       license = with lib.licenses; [ bsd2 ];
5147       maintainers = [ maintainers.dannixon ];
5148       mainProgram = "hsxkpasswd";
5149     };
5150     # Two tests fail as a result of https://github.com/bbusschots/hsxkpasswd/issues/42
5151     # (also see https://github.com/bbusschots/hsxkpasswd/issues/43)
5152     doCheck = false;
5153   };
5155   CryptIDEA = buildPerlPackage {
5156     pname = "Crypt-IDEA";
5157     version = "1.10";
5158     src = fetchurl {
5159       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz";
5160       hash = "sha256-M714wRkkoPwf8+7d6UB4y79rbKnt4EbSsvVh6emnIBk=";
5161     };
5162     meta = {
5163       description = "Perl interface to IDEA block cipher";
5164       license = with lib.licenses; [ bsdOriginalShortened ];
5165     };
5166   };
5168   CryptJWT = buildPerlPackage {
5169     pname = "Crypt-JWT";
5170     version = "0.035";
5171     src = fetchurl {
5172       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.035.tar.gz";
5173       hash = "sha256-XPvVX63DrtNtZ0/AU6zoZ7XT4aTOiiDPu3wmef3wlkE=";
5174     };
5175     propagatedBuildInputs = [ CryptX JSON ];
5176     meta = {
5177       description = "JSON Web Token";
5178       license = with lib.licenses; [ artistic1 gpl1Plus ];
5179     };
5180   };
5182   CryptPassphrase = buildPerlPackage {
5183     pname = "Crypt-Passphrase";
5184     version = "0.016";
5185     src = fetchurl {
5186       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-0.016.tar.gz";
5187       hash = "sha256-TOtPi1SsM/PYHJq0euTPoejDbzhJ76ghcDycMH46T8c=";
5188     };
5189     propagatedBuildInputs = [ CryptURandom ];
5190     meta = {
5191       description = "Module for managing passwords in a cryptographically agile manner";
5192       license = with lib.licenses; [ artistic1 gpl1Plus ];
5193     };
5194   };
5196   CryptPassphraseArgon2 = buildPerlPackage {
5197     pname = "Crypt-Passphrase-Argon2";
5198     version = "0.009";
5199     src = fetchurl {
5200       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Argon2-0.009.tar.gz";
5201       hash = "sha256-M39AVZY6EG2bt7tcJvwPSHCGYJ2XKHVgucpEwEPCF1I=";
5202     };
5203     propagatedBuildInputs = with perlPackages; [ CryptArgon2 CryptPassphrase ];
5204     meta = {
5205       description = "Argon2 encoder for Crypt::Passphrase";
5206       license = with lib.licenses; [ artistic1 gpl1Plus ];
5207     };
5208   };
5210   CryptPassphraseBcrypt = buildPerlPackage {
5211     pname = "Crypt-Passphrase-Bcrypt";
5212     version = "0.007";
5213     src = fetchurl {
5214       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Bcrypt-0.007.tar.gz";
5215       hash = "sha256-/k1NHTm9TxODQaJZUFzhE3EnCnZ8nndH90H7dGH9sA8=";
5216     };
5217     propagatedBuildInputs = [ CryptBcrypt CryptPassphrase ];
5218     meta = {
5219       description = "Bcrypt encoder for Crypt::Passphrase";
5220       homepage = "https://github.com/Leont/crypt-passphrase-bcrypt";
5221       license = with lib.licenses; [ artistic1 gpl1Plus ];
5222     };
5223   };
5225   CryptPasswdMD5 = buildPerlPackage {
5226     pname = "Crypt-PasswdMD5";
5227     version = "1.42";
5228     src = fetchurl {
5229       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.42.tgz";
5230       hash = "sha256-/Tlubn9E7rkj6TyZOUC49nqa7Vb8dKrK8Dj8QFPvO1k=";
5231     };
5232     meta = {
5233       description = "Provide interoperable MD5-based crypt() functions";
5234       license = with lib.licenses; [ artistic1 gpl1Plus ];
5235     };
5236   };
5238   CryptPKCS10 = buildPerlModule {
5239     pname = "Crypt-PKCS10";
5240     version = "2.005";
5241     src = fetchurl {
5242       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-2.005.tar.gz";
5243       hash = "sha256-LdEv0JHCPjp8NKZqw1rDq/kHQCOUtVV0mO3kj8QUU6c=";
5244     };
5245     buildInputs = [ CryptX ModuleBuildTiny pkgs.unzip ];
5246     propagatedBuildInputs = [ ConvertASN1 ];
5247     meta = {
5248       description = "Parse PKCS #10 certificate requests";
5249       homepage = "https://github.com/openxpki/Crypt-PKCS10";
5250       license = with lib.licenses; [ gpl1Only ];
5251     };
5252   };
5254   CryptRandomSeed = buildPerlPackage {
5255     pname = "Crypt-Random-Seed";
5256     version = "0.03";
5257     src = fetchurl {
5258       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-Seed-0.03.tar.gz";
5259       hash = "sha256-WT2lS1IsCcwmu8wOTknByOaIpv0zsHJq+AHXIqXI0PE=";
5260     };
5261     propagatedBuildInputs = [ CryptRandomTESHA2 ];
5262     meta = {
5263       description = "Provide strong randomness for seeding";
5264       homepage = "https://github.com/danaj/Crypt-Random-Seed";
5265       license = with lib.licenses; [ artistic1 gpl1Plus ];
5266       maintainers = [ maintainers.sgo ];
5267     };
5268   };
5270   CryptRandom = buildPerlPackage {
5271     pname = "Crypt-Random";
5272     version = "1.54";
5273     src = fetchurl {
5274       url = "mirror://cpan/authors/id/V/VI/VIPUL/Crypt-Random-1.54.tar.gz";
5275       hash = "sha256-1m+OF+3Dh3zHl/3VneU045kGNvjxpecmBiFZr35n2sw=";
5276     };
5277     propagatedBuildInputs = [ ClassLoader MathPari StatisticsChiSquare ];
5278     meta = {
5279       description = "Interface to /dev/random and /dev/urandom";
5280       license = with lib.licenses; [ artistic1 gpl1Plus ];
5281       mainProgram = "makerandom";
5282     };
5283   };
5285   CryptRandomSource = buildPerlModule {
5286     pname = "Crypt-Random-Source";
5287     version = "0.14";
5288     src = fetchurl {
5289       url = "mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz";
5290       hash = "sha256-7E7OJp+a0ZWMbimOzuLlpDReNX86T/ssdIEWr4du7eY=";
5291     };
5292     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
5293     propagatedBuildInputs = [ CaptureTiny ModuleFind Moo SubExporter TypeTiny namespaceclean ];
5294     meta = {
5295       description = "Get weak or strong random data from pluggable sources";
5296       homepage = "https://github.com/karenetheridge/Crypt-Random-Source";
5297       license = with lib.licenses; [ artistic1 gpl1Plus ];
5298     };
5299   };
5301   CryptRandomTESHA2 = buildPerlPackage {
5302     pname = "Crypt-Random-TESHA2";
5303     version = "0.01";
5304     src = fetchurl {
5305       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-TESHA2-0.01.tar.gz";
5306       hash = "sha256-oJErQsUr4XPaUo1VJ+QNlnMkvASseNn8LdyR/xb+ljM=";
5307     };
5308     meta = {
5309       description = "Random numbers using timer/schedule entropy, aka userspace voodoo entropy";
5310       homepage = "https://github.com/danaj/Crypt-Random-TESHA2";
5311       license = with lib.licenses; [ artistic1 gpl1Plus ];
5312     };
5313   };
5315   CryptRC4 = buildPerlPackage {
5316     pname = "Crypt-RC4";
5317     version = "2.02";
5318     src = fetchurl {
5319       url = "mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-2.02.tar.gz";
5320       hash = "sha256-XsRCXGvCIgeIljC+c1DZlobmKkTGE2lgEQIDzVlK4Oo=";
5321     };
5322     meta = {
5323       description = "Perl implementation of the RC4 encryption algorithm";
5324       license = with lib.licenses; [ artistic1 gpl1Plus ];
5325     };
5326   };
5328   CryptRandPasswd = buildPerlPackage {
5329     pname = "Crypt-RandPasswd";
5330     version = "0.07";
5331     src = fetchurl {
5332       url = "mirror://cpan/authors/id/J/JA/JANITOR/Crypt-RandPasswd-0.07.tar.gz";
5333       hash = "sha256-bd26Sdx+DwBRr6oKvhbxN4OiRM0eu1+B2qEay2KKSWE=";
5334     };
5335     meta = {
5336       description = "Random password generator based on FIPS-181";
5337       license = with lib.licenses; [ artistic1 gpl1Plus ];
5338     };
5339   };
5341   CryptRIPEMD160 = buildPerlPackage {
5342     pname = "Crypt-RIPEMD160";
5343     version = "0.08";
5344     src = fetchurl {
5345       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-RIPEMD160-0.08.tar.gz";
5346       hash = "sha256-NNHIdgf2yd76s3QbdtMbzPu21NIBr4Dg9gg8N4EwsjI=";
5347     };
5348     meta = {
5349       description = "Perl extension for the RIPEMD-160 Hash function";
5350       homepage = "https://wiki.github.com/toddr/Crypt-RIPEMD160";
5351       license = with lib.licenses; [ artistic1 gpl1Plus ];
5352       maintainers = [ maintainers.sgo ];
5353     };
5354   };
5356   CryptMySQL = buildPerlModule {
5357     pname = "Crypt-MySQL";
5358     version = "0.04";
5359     src = fetchurl {
5360       url = "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz";
5361       hash = "sha256-k+vfqu/P6atoPwEhyF8kR12Bl/C87EYBghnkERQ03eM=";
5362     };
5363     propagatedBuildInputs = [ DigestSHA1 ];
5364     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
5365     meta = {
5366       description = "Emulate MySQL PASSWORD() function";
5367       license = with lib.licenses; [ artistic1 gpl1Plus ];
5368     };
5369   };
5371   CryptRijndael = buildPerlPackage {
5372     pname = "Crypt-Rijndael";
5373     version = "1.16";
5374     src = fetchurl {
5375       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-1.16.tar.gz";
5376       hash = "sha256-ZUAIXjgEuCpvB1LBEiz3jK3SIZkBNt1v1MCX0FbITUA=";
5377     };
5378     meta = {
5379       description = "Crypt::CBC compliant Rijndael encryption module";
5380       license = with lib.licenses; [ gpl3Only ];
5381     };
5382   };
5384   CryptUnixCryptXS = buildPerlPackage {
5385     pname = "Crypt-UnixCrypt_XS";
5386     version = "0.11";
5387     src = fetchurl {
5388       url = "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz";
5389       hash = "sha256-Yus0EsLJG9TcK4pNnuJtW94usRkycDtu6sR3Pk0fT6o=";
5390     };
5391     meta = {
5392       description = "Perl xs interface for a portable traditional crypt function";
5393       license = with lib.licenses; [ artistic1 gpl1Plus ];
5394     };
5395   };
5397   CryptURandom = buildPerlPackage {
5398     pname = "Crypt-URandom";
5399     version = "0.39";
5400     src = fetchurl {
5401       url = "mirror://cpan/authors/id/D/DD/DDICK/Crypt-URandom-0.39.tar.gz";
5402       hash = "sha256-Jol7PPualWAJFRLWCHMaPVv08pn20Pj3LIXzmQEkQSI=";
5403     };
5404     meta = {
5405       description = "Provide non blocking randomness";
5406       license = with lib.licenses; [ artistic1 gpl1Plus ];
5407       maintainers = [ maintainers.sgo ];
5408     };
5409   };
5411   CryptScryptKDF = buildPerlModule {
5412     pname = "Crypt-ScryptKDF";
5413     version = "0.010";
5414     src = fetchurl {
5415       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-ScryptKDF-0.010.tar.gz";
5416       hash = "sha256-fRbulczj61TBdGc6cpn0wIb7o6yF+EfQ4TT+7V93YBc=";
5417     };
5418     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5419     perlPreHook = "export LD=$CC";
5420     meta = {
5421       description = "Scrypt password based key derivation function";
5422       homepage = "https://github.com/DCIT/perl-Crypt-ScryptKDF";
5423       license = with lib.licenses; [ artistic1 gpl1Plus ];
5424       maintainers = [ maintainers.sgo ];
5425     };
5426   };
5428   CryptSmbHash = buildPerlPackage {
5429     pname = "Crypt-SmbHash";
5430     version = "0.12";
5431     src = fetchurl {
5432       url = "mirror://cpan/authors/id/B/BJ/BJKUIT/Crypt-SmbHash-0.12.tar.gz";
5433       hash = "sha256-aMSsfqv6lX3PiUwsI7zsCW+H6M8G3t/Lv3AuVTHbsTc=";
5434     };
5435     meta = {
5436       description = "Perl-only implementation of lanman and nt md4 hash functions, for use in Samba style smbpasswd entries";
5437       license = with lib.licenses; [ gpl2Plus ];
5438     };
5439   };
5441   CryptSodium = buildPerlPackage {
5442     pname = "Crypt-Sodium";
5443     version = "0.11";
5444     src = fetchurl {
5445       url = "mirror://cpan/authors/id/M/MG/MGREGORO/Crypt-Sodium-0.11.tar.gz";
5446       hash = "sha256-kHxzoQVs6gV9qYGa6kipKreG5qqq858c3ZZHsj8RbHg=";
5447     };
5448     env.NIX_CFLAGS_COMPILE = "-I${pkgs.libsodium.dev}/include";
5449     NIX_CFLAGS_LINK = "-L${pkgs.libsodium.out}/lib -lsodium";
5450     meta = {
5451       description = "Perl bindings for libsodium (NaCL)";
5452       homepage = "https://metacpan.org/release/Crypt-Sodium";
5453       license = with lib.licenses; [ artistic1 gpl1Plus ];
5454       maintainers = [ maintainers.sgo ];
5455     };
5456   };
5458   CryptTwofish = buildPerlPackage {
5459     pname = "Crypt-Twofish";
5460     version = "2.18";
5461     src = fetchurl {
5462       url = "mirror://cpan/authors/id/A/AM/AMS/Crypt-Twofish-2.18.tar.gz";
5463       hash = "sha256-WIFVXWGHlyojgqoNTbLXTJcLBndMYhtspSNzkjbS1QE=";
5464     };
5465     meta = {
5466       description = "Twofish Encryption Algorithm";
5467       license = with lib.licenses; [ artistic1 gpl1Plus ];
5468       maintainers = [ maintainers.sgo ];
5469     };
5470   };
5472   CryptOpenPGP = buildPerlPackage {
5473     pname = "Crypt-OpenPGP";
5474     version = "1.12";
5475     src = fetchurl {
5476       url = "mirror://cpan/authors/id/S/SR/SROMANOV/Crypt-OpenPGP-1.12.tar.gz";
5477       hash = "sha256-6Kf/Kpk7dqaa1t/9vlV1W+Vni4Tm7ElNzZq5Zvdm9Q4=";
5478     };
5479     patches = [
5480       # See https://github.com/NixOS/nixpkgs/pull/93599
5481       ../development/perl-modules/crypt-openpgp-remove-impure-keygen-tests.patch
5482     ];
5483     buildInputs = [ TestException ];
5484     propagatedBuildInputs = [ AltCryptRSABigInt CryptCAST5_PP CryptDES_EDE3 CryptDSA CryptIDEA CryptRIPEMD160 CryptRijndael CryptTwofish FileHomeDir LWP ];
5486     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
5487     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
5488       shortenPerlShebang $out/bin/pgplet
5489     '';
5490     doCheck = false; /* test fails with 'No random source available!' */
5492     meta = {
5493       description = "Pure-Perl OpenPGP implementation";
5494       homepage = "https://github.com/btrott/Crypt-OpenPGP";
5495       license = with lib.licenses; [ artistic1 gpl1Plus ];
5496       maintainers = [ maintainers.sgo ];
5497       mainProgram = "pgplet";
5498     };
5499   };
5501   CryptOpenSSLAES = buildPerlPackage {
5502     pname = "Crypt-OpenSSL-AES";
5503     version = "0.17";
5504     src = fetchurl {
5505       url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Crypt-OpenSSL-AES-0.17.tar.gz";
5506       hash = "sha256-7+GBsYxtIqc/LlNWOQ6Fdyes5UY2JeIhHdhgIyvtO7c=";
5507     };
5508     buildInputs = [ CryptOpenSSLGuess FileWhich pkgs.openssl ];
5509     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5510     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5511     meta = {
5512       description = "Perl wrapper around OpenSSL's AES library";
5513       license = with lib.licenses; [ artistic1 gpl1Plus ];
5514     };
5515   };
5517   CryptOpenSSLBignum = buildPerlPackage {
5518     pname = "Crypt-OpenSSL-Bignum";
5519     version = "0.09";
5520     src = fetchurl {
5521       url = "mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz";
5522       hash = "sha256-I05y+4OW1FUn5v1F5DdZxcPzogjPjynmoiFhqZb9Qtw=";
5523     };
5524     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5525     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5526     meta = {
5527       description = "OpenSSL's multiprecision integer arithmetic";
5528       license = with lib.licenses; [ artistic1 gpl1Plus ];
5529     };
5530   };
5532   CryptOpenSSLGuess = buildPerlPackage {
5533     pname = "Crypt-OpenSSL-Guess";
5534     version = "0.15";
5535     src = fetchurl {
5536       url = "mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.15.tar.gz";
5537       hash = "sha256-HFAzOBgZ/bTJCH3SkbkOxw54ENMdV+remziOzP1wOG0=";
5538     };
5539     meta = {
5540       description = "Guess OpenSSL include path";
5541       homepage = "https://github.com/akiym/Crypt-OpenSSL-Guess";
5542       license = with lib.licenses; [ artistic1 gpl1Plus ];
5543     };
5544   };
5546   CryptOpenSSLRandom = buildPerlPackage {
5547     pname = "Crypt-OpenSSL-Random";
5548     version = "0.15";
5549     src = fetchurl {
5550       url = "mirror://cpan/authors/id/R/RU/RURBAN/Crypt-OpenSSL-Random-0.15.tar.gz";
5551       hash = "sha256-8IdvqhujER45uGqnMMYDIR7/KQXkYMcqV7YejPR1zvQ=";
5552     };
5553     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5554     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5555     OPENSSL_PREFIX = pkgs.openssl;
5556     buildInputs = [ CryptOpenSSLGuess ];
5557     meta = {
5558       description = "OpenSSL/LibreSSL pseudo-random number generator access";
5559       license = with lib.licenses; [ artistic1 gpl1Plus ];
5560     };
5561   };
5563   CryptOpenSSLRSA = buildPerlPackage {
5564     pname = "Crypt-OpenSSL-RSA";
5565     version = "0.33";
5566     src = fetchurl {
5567       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.33.tar.gz";
5568       hash = "sha256-vb5jD21vVAMldGrZmXcnKshmT/gb0Z8K2rptb0Xv2GQ=";
5569     };
5570     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5571     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5572     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5573     OPENSSL_PREFIX = pkgs.openssl;
5574     buildInputs = [ CryptOpenSSLGuess ];
5575     meta = {
5576       description = "RSA encoding and decoding, using the openSSL libraries";
5577       license = with lib.licenses; [ artistic1 gpl1Plus ];
5578     };
5579   };
5581   CryptOpenSSLX509 = buildPerlPackage {
5582     pname = "Crypt-OpenSSL-X509";
5583     version = "1.915";
5584     src = fetchurl {
5585       url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.915.tar.gz";
5586       hash = "sha256-xNvBbE/CloV4I3v8MkWH/9eSSacQFQJlLbnjjUSJUX8=";
5587     };
5588     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5589     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5590     OPENSSL_PREFIX = pkgs.openssl;
5591     buildInputs = [ CryptOpenSSLGuess ];
5592     propagatedBuildInputs = [ ConvertASN1 ];
5593     meta = {
5594       description = "Perl extension to OpenSSL's X509 API";
5595       homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
5596       license = with lib.licenses; [ artistic1 gpl1Plus ];
5597       maintainers = [ maintainers.sgo ];
5598     };
5599   };
5601   CryptPBKDF2 = buildPerlPackage {
5602     pname = "Crypt-PBKDF2";
5603     version = "0.161520";
5604     src = fetchurl {
5605       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Crypt-PBKDF2-0.161520.tar.gz";
5606       hash = "sha256-l9+nmjCaCG4YSk5hBH+KEP+z2wUQJefSIqJfGRMLpBc=";
5607     };
5608     buildInputs = [ TestFatal ];
5609     propagatedBuildInputs = [ DigestHMAC DigestSHA3 Moo TypeTiny namespaceautoclean strictures ];
5610     meta = {
5611       description = "PBKDF2 password hash algorithm";
5612       homepage = "https://metacpan.org/release/Crypt-PBKDF2";
5613       license = with lib.licenses; [ artistic1 gpl1Plus ];
5614       maintainers = [ maintainers.sgo ];
5615     };
5616   };
5618   CryptPerl = buildPerlPackage {
5619     pname = "Crypt-Perl";
5620     version = "0.38";
5621     src = fetchurl {
5622       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Perl-0.38.tar.gz";
5623       hash = "sha256-eJdUj7AeFqIK5JDt3UZX+Br3sZKEFLkvbbQsY10ax+A=";
5624     };
5625     nativeCheckInputs = [ pkgs.openssl MathBigIntGMP ];
5626     buildInputs = [ CallContext ExtUtilsMakeMakerCPANfile FileSlurp FileWhich TestClass TestDeep TestException TestFailWarnings TestNoWarnings ];
5627     propagatedBuildInputs = [ BytesRandomSecureTiny ClassAccessor ConvertASN1 CryptFormat MathProvablePrime SymbolGet TryTiny ];
5628     meta = {
5629       description = "Cryptography in pure Perl";
5630       license = with lib.licenses; [ artistic1 gpl1Plus ];
5631       maintainers = [ maintainers.sgo ];
5632     };
5633   };
5635   CryptEd25519 = buildPerlPackage {
5636     pname = "Crypt-Ed25519";
5637     version = "1.05";
5638     src = fetchurl {
5639       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Crypt-Ed25519-1.05.tar.gz";
5640       hash = "sha256-sdEaWU/rUeQG2BsUfcDRClV8z0yrgcDbP4mBAmd9JKg=";
5641     };
5643     nativeBuildInputs = [ CanaryStability ];
5644     buildInputs = [ CanaryStability ];
5646     meta = {
5647       description = "Minimal Ed25519 bindings";
5648       license = with lib.licenses; [ artistic2 ];
5649       maintainers = [ maintainers.thoughtpolice ];
5650     };
5651   };
5653   CryptSSLeay = buildPerlPackage {
5654     pname = "Crypt-SSLeay";
5655     version = "0.73_06";
5656     src = fetchurl {
5657       url = "mirror://cpan/authors/id/N/NA/NANIS/Crypt-SSLeay-0.73_06.tar.gz";
5658       hash = "sha256-+OzKRch+uRMlmSsT8FlPgI5vG8TDuafxQbmoODhNJSw=";
5659     };
5661     makeMakerFlags = [ "--libpath=${lib.getLib pkgs.openssl}/lib" "--incpath=${pkgs.openssl.dev}/include" ];
5662     buildInputs = [ PathClass ];
5663     propagatedBuildInputs = [ BytesRandomSecure LWPProtocolHttps ];
5664     meta = {
5665       description = "OpenSSL support for LWP";
5666       license = with lib.licenses; [ artistic2 ];
5667     };
5668   };
5670   CSSDOM = buildPerlPackage {
5671     pname = "CSS-DOM";
5672     version = "0.17";
5673     src = fetchurl {
5674       url = "mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz";
5675       hash = "sha256-Zbl46/PDmF5V7jK7baHp+upJSoXTAFxjuux+lphZ8CY=";
5676     };
5678     patches = [
5679       # Replace apostrophe as package separator
5680       # https://rt.cpan.org/Public/Bug/Display.html?id=146661
5681       ../development/perl-modules/CSSDOM-replace-apostrophe.patch
5682     ];
5684     propagatedBuildInputs = [ Clone ];
5685     meta = {
5686       description = "Document Object Model for Cascading Style Sheets";
5687       license = with lib.licenses; [ artistic1 gpl1Plus ];
5688     };
5689   };
5691   CSSMinifier = buildPerlPackage {
5692     pname = "CSS-Minifier";
5693     version = "0.01";
5694     src = fetchurl {
5695       url = "mirror://cpan/authors/id/P/PM/PMICHAUX/CSS-Minifier-0.01.tar.gz";
5696       hash = "sha256-0Kk0m46LfoOrcM+IVM+7Qv8pwfbHyCmPIlfdIaoMf+8=";
5697     };
5698     meta = {
5699       description = "Perl extension for minifying CSS";
5700       license = with lib.licenses; [ artistic1 ];
5701     };
5702   };
5704   CSSMinifierXS = buildPerlPackage {
5705     pname = "CSS-Minifier-XS";
5706     version = "0.13";
5707     src = fetchurl {
5708       url = "mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.13.tar.gz";
5709       hash = "sha256-xBnjCM3IKvHCXWuNB7L/JjR6Yit6Y+wghWq+jbQFH4I=";
5710     };
5711     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
5712     buildInputs = [ TestDiagINC ];
5713     meta = {
5714       description = "XS based CSS minifier";
5715       homepage = "https://metacpan.org/release/CSS-Minifier-XS";
5716       license = with lib.licenses; [ artistic1 gpl1Plus ];
5717     };
5718   };
5720   CSSSquish = buildPerlPackage {
5721     pname = "CSS-Squish";
5722     version = "0.10";
5723     src = fetchurl {
5724       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz";
5725       hash = "sha256-ZfwNaazR+jPZpMOwnM4PvXN9dHsfzE6dh+vZEFDLy04=";
5726     };
5727     buildInputs = [ TestLongString ];
5728     propagatedBuildInputs = [ URI ];
5729     meta = {
5730       description = "Compact many CSS files into one big file";
5731       license = with lib.licenses; [ artistic1 gpl1Plus ];
5732     };
5733   };
5735   Curses = buildPerlPackage {
5736     pname = "Curses";
5737     version = "1.44";
5738     src = fetchurl {
5739       url = "mirror://cpan/authors/id/G/GI/GIRAFFED/Curses-1.44.tar.gz";
5740       hash = "sha256-ou+4x8iG1pL/xNshNhx2gJoGXliOQ/rQ1n5E751CvTA=";
5741     };
5742     preConfigure = ''
5743       substituteInPlace makeConfig \
5744         --replace '#! /usr/bin/perl' '#!${perl}/bin/perl'
5745     '';
5746     propagatedBuildInputs = [ pkgs.ncurses ];
5747     NIX_CFLAGS_LINK = "-L${pkgs.ncurses.out}/lib -lncurses";
5748     meta = {
5749       description = "Perl bindings to ncurses";
5750       license = with lib.licenses; [ artistic1 ];
5751     };
5752   };
5754   CursesUI = buildPerlPackage {
5755     pname = "Curses-UI";
5756     version = "0.9609";
5757     src = fetchurl {
5758       url = "mirror://cpan/authors/id/M/MD/MDXI/Curses-UI-0.9609.tar.gz";
5759       hash = "sha256-CrgnpRO24UQDGE+wZajqHS69oSLSF4y/RceB8xEkDq8=";
5760     };
5761     propagatedBuildInputs = [ Curses TermReadKey ];
5762     meta = {
5763       description = "Curses based OO user interface framework";
5764       license = with lib.licenses; [ artistic1 gpl1Plus ];
5765     };
5766   };
5768   CursesUIGrid = buildPerlPackage {
5769     pname = "Curses-UI-Grid";
5770     version = "0.15";
5771     src = fetchurl {
5772       url = "mirror://cpan/authors/id/A/AD/ADRIANWIT/Curses-UI-Grid-0.15.tar.gz";
5773       hash = "sha256-CCDKSp+5SbqPr5evV0AYuu/7aU6YDFCHu2UiqnC52+w=";
5774     };
5775     propagatedBuildInputs = [ CursesUI TestPod TestPodCoverage ];
5776     meta = {
5777       description = "Create and manipulate data in grid model";
5778       license = with lib.licenses; [ artistic1 gpl1Plus ];
5779     };
5780   };
5782   CryptX = buildPerlPackage {
5783     pname = "CryptX";
5784     version = "0.080";
5785     src = fetchurl {
5786       url = "mirror://cpan/authors/id/M/MI/MIK/CryptX-0.080.tar.gz";
5787       hash = "sha256-tFe3khlKbJwT8G/goLXqFYllwygvOFypPh8AorM+fok=";
5788     };
5789     meta = {
5790       description = "Cryptographic toolkit";
5791       license = with lib.licenses; [ artistic1 gpl1Plus ];
5792     };
5793   };
5795   CryptX509 = buildPerlPackage {
5796     pname = "Crypt-X509";
5797     version = "0.55";
5798     src = fetchurl {
5799       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-X509-0.55.tar.gz";
5800       hash = "sha256-FHlrEdFfdq10ROeKYZtw/92RMIaN0LANhYV5yTA4Icc=";
5801     };
5802     propagatedBuildInputs = [ ConvertASN1 ];
5803     meta = {
5804       description = "Parse a X.509 certificate";
5805       license = with lib.licenses; [ artistic1 gpl1Plus ];
5806     };
5807   };
5809   CwdGuard = buildPerlModule {
5810     pname = "Cwd-Guard";
5811     version = "0.05";
5812     src = fetchurl {
5813       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cwd-Guard-0.05.tar.gz";
5814       hash = "sha256-evx8orlQLkQCQZOK2Xo+fr1VAYDr1hQuHbOUGGsmjnc=";
5815     };
5816     buildInputs = [ TestRequires ];
5817     meta = {
5818       description = "Temporary changing working directory (chdir)";
5819       license = with lib.licenses; [ artistic1 gpl1Plus ];
5820     };
5821   };
5823   DataClone = buildPerlPackage {
5824     pname = "Data-Clone";
5825     version = "0.004";
5826     src = fetchurl {
5827       url = "mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz";
5828       hash = "sha256-L+XheYgqa5Jt/vChCLSiyHof+waJK88vuI5Mj0uEODw=";
5829     };
5830     buildInputs = [ TestRequires ];
5831     patches = [
5832       ../development/perl-modules/Data-Clone-fix-apostrophe-package-separator.patch
5833     ];
5834     meta = {
5835       description = "Polymorphic data cloning";
5836       license = with lib.licenses; [ artistic1 gpl1Plus ];
5837     };
5838   };
5840   DataCompactReadonly = buildPerlPackage {
5841     pname = "Data-CompactReadonly";
5842     version = "0.1.0";
5843     src = fetchurl {
5844       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-CompactReadonly-0.1.0.tar.gz";
5845       hash = "sha256-fVYJCEz1E7p6d4u1lSNHDoNXdn1ZHL1CxYTgPfO+xug=";
5846     };
5847     propagatedBuildInputs = [ DataIEEE754 DevelStackTrace ScalarType StringBinaryInterpolation TestDifferences TestException ];
5848     meta = {
5849       description = "Compact Read Only Database that consumes very little memory";
5850       license = with lib.licenses; [ artistic1 gpl2Only ];
5851     };
5852   };
5854   DataCompare = buildPerlPackage {
5855     pname = "Data-Compare";
5856     version = "1.29";
5857     src = fetchurl {
5858       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.29.tar.gz";
5859       hash = "sha256-U8nbO5MmPIiqo8QHLYGere0CTXo2s4wMN3N9KI1a+ow=";
5860     };
5861     propagatedBuildInputs = [ Clone FileFindRule ];
5862     meta = {
5863       description = "Compare perl data structures";
5864       license = with lib.licenses; [ artistic1 gpl1Plus ];
5865     };
5866   };
5868   DataDump = buildPerlPackage {
5869     pname = "Data-Dump";
5870     version = "1.25";
5871     src = fetchurl {
5872       url = "mirror://cpan/authors/id/G/GA/GARU/Data-Dump-1.25.tar.gz";
5873       hash = "sha256-pKpuDdvznVrUm93+D4nZ2oZOO8APYnEl0bxYBHL1P70=";
5874     };
5875     meta = {
5876       description = "Pretty printing of data structures";
5877       license = with lib.licenses; [ artistic1 gpl1Plus ];
5878     };
5879   };
5881   DataDumperAutoEncode = buildPerlModule {
5882     pname = "Data-Dumper-AutoEncode";
5883     version = "1.00";
5884     src = fetchurl {
5885       url = "mirror://cpan/authors/id/B/BA/BAYASHI/Data-Dumper-AutoEncode-1.00.tar.gz";
5886       hash = "sha256-LZoCYq1EPTIdxInvbfp7Pu0RonCKddOX03G7JYXl7KE=";
5887     };
5888     buildInputs = [ ModuleBuildPluggable ModuleBuildPluggableCPANfile ];
5889     propagatedBuildInputs = [ IOInteractiveTiny ];
5890     meta = {
5891       description = "Dump with recursive encoding";
5892       license = with lib.licenses; [ artistic2 ];
5893       mainProgram = "edumper";
5894     };
5895   };
5897   DataDumperConcise = buildPerlPackage {
5898     pname = "Data-Dumper-Concise";
5899     version = "2.023";
5900     src = fetchurl {
5901       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz";
5902       hash = "sha256-psIvETyvMRN1kN7xtwKKfnGO+s4yKCctBnLCXgNdWFM=";
5903     };
5904     meta = {
5905       description = "Less indentation and newlines plus sub deparsing";
5906       license = with lib.licenses; [ artistic1 gpl1Plus ];
5907     };
5908   };
5910   DataEntropy = buildPerlModule {
5911     pname = "Data-Entropy";
5912     version = "0.007";
5913     src = fetchurl {
5914       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz";
5915       hash = "sha256-JhHEoaMDhZTXnqTtFNnhWpr493EF9RZneV/k+KU0J+Q=";
5916     };
5917     propagatedBuildInputs = [ CryptRijndael DataFloat HTTPLite ParamsClassify ];
5918     meta = {
5919       description = "Entropy (randomness) management";
5920       license = with lib.licenses; [ artistic1 gpl1Plus ];
5921     };
5922   };
5924   DataFloat = buildPerlModule {
5925     pname = "Data-Float";
5926     version = "0.013";
5927     src = fetchurl {
5928       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz";
5929       hash = "sha256-4rFSPYWJMLi729GW8II19eZ4uEkZuodxLiYxO5wnUYo=";
5930     };
5931     meta = {
5932       description = "Details of the floating point data type";
5933       license = with lib.licenses; [ artistic1 gpl1Plus ];
5934     };
5935   };
5937   DataFormValidator = buildPerlPackage {
5938     pname = "Data-FormValidator";
5939     version = "4.88";
5940     src = fetchurl {
5941       url = "mirror://cpan/authors/id/D/DF/DFARRELL/Data-FormValidator-4.88.tar.gz";
5942       hash = "sha256-waU5+RySy82KjYNZfsmnZD/NjM9alOFTgsN2UokXAGY=";
5943     };
5944     propagatedBuildInputs = [ DateCalc EmailValid FileMMagic ImageSize MIMETypes RegexpCommon ];
5945     buildInputs = [ CGI ];
5946     meta = {
5947       description = "Validates user input (usually from an HTML form) based on input profile";
5948       license = with lib.licenses; [ artistic1 gpl1Plus ];
5949     };
5950   };
5952   DataGUID = buildPerlPackage {
5953     pname = "Data-GUID";
5954     version = "0.051";
5955     src = fetchurl {
5956       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.051.tar.gz";
5957       hash = "sha256-aOp3xz/KiROC8gbhJEkJRQG2+/Llf1SQLVBkInz9ji4=";
5958     };
5959     propagatedBuildInputs = [ DataUUID SubExporter ];
5960     meta = {
5961       description = "Globally unique identifiers";
5962       homepage = "https://github.com/rjbs/Data-GUID";
5963       license = with lib.licenses; [ artistic1 gpl1Plus ];
5964     };
5965   };
5967   DataHexDump = buildPerlPackage {
5968     pname = "Data-HexDump";
5969     version = "0.04";
5970     src = fetchurl {
5971       url = "mirror://cpan/authors/id/N/NE/NEILB/Data-HexDump-0.04.tar.gz";
5972       hash = "sha256-vDb0BEOKw2rSuSlVOSJ9Nvmc0WI/HjR693xZTEDMvPg=";
5973     };
5974     meta = {
5975       description = "Hexadecial Dumper";
5976       homepage = "https://github.com/neilb/Data-HexDump";
5977       license = with lib.licenses; [ artistic1 gpl1Plus ];
5978       maintainers = with maintainers; [ AndersonTorres ];
5979       mainProgram = "hexdump";
5980     };
5981   };
5983   DataHexdumper = buildPerlPackage {
5984     pname = "Data-Hexdumper";
5985     version = "3.0001";
5986     src = fetchurl {
5987       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Hexdumper-3.0001.tar.gz";
5988       hash = "sha256-+SQ8vor/7VBF/k31BXJqenKJRx4wxRrAZbPtbODRpgQ=";
5989     };
5990     meta = {
5991       description = "Make binary data human-readable";
5992       license = with lib.licenses; [ artistic1 gpl2Only ];
5993     };
5994   };
5996   DataHierarchy = buildPerlPackage {
5997     pname = "Data-Hierarchy";
5998     version = "0.34";
5999     src = fetchurl {
6000       url = "mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz";
6001       hash = "sha256-s6jmK1Pin3HdWYmu75n7+vH0tuJyoGgAOBNg1Z6f2e0=";
6002     };
6003     buildInputs = [ TestException ];
6004     meta = {
6005       description = "Handle data in a hierarchical structure";
6006       license = with lib.licenses; [ artistic1 gpl1Plus ];
6007     };
6008   };
6010   DataICal = buildPerlPackage {
6011     pname = "Data-ICal";
6012     version = "0.24";
6013     src = fetchurl {
6014       url = "mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.24.tar.gz";
6015       hash = "sha256-czHHyEiGxTM3wNuCNhXg5xNKjxPv0oTlwgcm1bzVLf8=";
6016     };
6017     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
6018     propagatedBuildInputs = [ ClassReturnValue TextvFileasData ];
6019     meta = {
6020       description = "Generates iCalendar (RFC 2445) calendar files";
6021       license = with lib.licenses; [ artistic1 gpl1Plus ];
6022     };
6023   };
6025   DataIEEE754 = buildPerlPackage {
6026     pname = "Data-IEEE754";
6027     version = "0.02";
6028     src = fetchurl {
6029       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Data-IEEE754-0.02.tar.gz";
6030       hash = "sha256-xvSrE0ZygjQTtQ8HR5saGwUfTO5C3Tzn6xWD1mkbZx0=";
6031     };
6032     buildInputs = [ TestBits ];
6033     meta = {
6034       description = "Pack and unpack big-endian IEEE754 floats and doubles";
6035       homepage = "https://metacpan.org/release/Data-IEEE754";
6036       license = with lib.licenses; [ artistic2 ];
6037     };
6038   };
6040   DataInteger = buildPerlModule {
6041     pname = "Data-Integer";
6042     version = "0.006";
6043     src = fetchurl {
6044       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz";
6045       hash = "sha256-Y7d+3jtjnONRUlA0hjYpr5iavL/0qwOxT8Tq1GH/o1Q=";
6046     };
6047     meta = {
6048       description = "Details of the native integer data type";
6049       license = with lib.licenses; [ artistic1 gpl1Plus ];
6050     };
6051   };
6053   DataMessagePack = buildPerlModule {
6054     pname = "Data-MessagePack";
6055     version = "1.02";
6056     src = fetchurl {
6057       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-MessagePack-1.02.tar.gz";
6058       hash = "sha256-wz20R5CqjSVBR4guI3jf/pcK1gMxNQveBi0XlTSCsbc=";
6059     };
6060     buildInputs = [ ModuleBuildXSUtil TestRequires ];
6061     meta = {
6062       description = "Grep-like program for searching source code";
6063       homepage = "https://github.com/msgpack/msgpack-perl";
6064       license = with lib.licenses; [ artistic1 gpl1Plus ];
6065       maintainers = [ maintainers.sgo ];
6066       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataMessagePack.x86_64-darwin
6067     };
6068   };
6070   DataOptList = buildPerlPackage {
6071     pname = "Data-OptList";
6072     version = "0.114";
6073     src = fetchurl {
6074       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.114.tar.gz";
6075       hash = "sha256-n9EJO5F6Ift5rhYH21PRE7TgrY/grndssHen5QBE/fM=";
6076     };
6077     propagatedBuildInputs = [ ParamsUtil SubInstall ];
6078     meta = {
6079       description = "Parse and validate simple name/value option pairs";
6080       homepage = "https://github.com/rjbs/Data-OptList";
6081       license = with lib.licenses; [ artistic1 gpl1Plus ];
6082     };
6083   };
6085   DataPage = buildPerlPackage {
6086     pname = "Data-Page";
6087     version = "2.03";
6088     src = fetchurl {
6089       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Page-2.03.tar.gz";
6090       hash = "sha256-LvpSFn0ferNZAs8yrgJ3amI3BdeRnUEYmBKHsETOPYs=";
6091     };
6092     propagatedBuildInputs = [ ClassAccessorChained ];
6093     buildInputs = [ TestException ];
6094     meta = {
6095       description = "Help when paging through sets of results";
6096       license = with lib.licenses; [ artistic1 gpl1Plus ];
6097     };
6098   };
6100   DataPagePageset = buildPerlModule {
6101     pname = "Data-Page-Pageset";
6102     version = "1.02";
6103     src = fetchurl {
6104       url = "mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
6105       hash = "sha256-zqwbtVQ+I9qyUZUTxibj/+ZaF3uOHtnlagMNRVHUUZA=";
6106     };
6107     buildInputs = [ ClassAccessor DataPage TestException ];
6108     meta = {
6109       description = "Change long page list to be shorter and well navigate";
6110       license = with lib.licenses; [ artistic1 gpl1Plus ];
6111     };
6112   };
6114   DataPassword = buildPerlPackage {
6115     pname = "Data-Password";
6116     version = "1.12";
6117     src = fetchurl {
6118       url = "mirror://cpan/authors/id/R/RA/RAZINF/Data-Password-1.12.tar.gz";
6119       hash = "sha256-gwzegXQf84Q4VBLhb6ulV0WlSnzAGd0j1+1PBdVRqWE=";
6120     };
6121     meta = {
6122       description = "Perl extension for assessing password quality";
6123       license = with lib.licenses; [ artistic1 gpl1Plus ];
6124     };
6125   };
6127   DataPerl = buildPerlPackage {
6128     pname = "Data-Perl";
6129     version = "0.002011";
6130     src = fetchurl {
6131       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Data-Perl-0.002011.tar.gz";
6132       hash = "sha256-jTTb4xTPotmb2arlRrvelMOLsFt0sHyJveFnOm9sVfQ=";
6133     };
6134     buildInputs = [ TestDeep TestFatal TestOutput ];
6135     propagatedBuildInputs = [ ClassMethodModifiers ListMoreUtils ModuleRuntime RoleTiny strictures ];
6136     meta = {
6137       description = "Base classes wrapping fundamental Perl data types";
6138       homepage = "https://github.com/tobyink/Data-Perl";
6139       license = with lib.licenses; [ artistic1 gpl1Plus ];
6140     };
6141   };
6143   DataPrinter = buildPerlPackage {
6144     pname = "Data-Printer";
6145     version = "1.001001";
6146     src = fetchurl {
6147       url = "mirror://cpan/authors/id/G/GA/GARU/Data-Printer-1.001001.tar.gz";
6148       hash = "sha256-q64DMVUU0rcxxkYrjwZ2SN2ZChA1SyFgbHeM/ZHUe4A=";
6149     };
6150     propagatedBuildInputs = [ ClonePP FileHomeDir PackageStash SortNaturally ];
6151     meta = {
6152       description = "Colored & full-featured pretty print of Perl data structures and objects";
6153       license = with lib.licenses; [ artistic1 gpl1Plus ];
6154     };
6155   };
6157   DataRandom = buildPerlPackage {
6158     pname = "Data-Random";
6159     version = "0.13";
6160     src = fetchurl {
6161       url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
6162       hash = "sha256-61kBhKjbKKfknqsJ4l+GUMM/H2aLakcoKd50pTJWv8A=";
6163     };
6164     buildInputs = [ FileShareDirInstall TestMockTime ];
6165     meta = {
6166       description = "Perl module to generate random data";
6167       license = with lib.licenses; [ artistic1 gpl1Plus ];
6168     };
6169   };
6171   DataSection = buildPerlPackage {
6172     pname = "Data-Section";
6173     version = "0.200008";
6174     src = fetchurl {
6175       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.200008.tar.gz";
6176       hash = "sha256-g6zHpV091+026deNNQrzE4xpz6F4pEdlgicS/0M7mQ4=";
6177     };
6178     propagatedBuildInputs = [ MROCompat SubExporter ];
6179     buildInputs = [ TestFailWarnings ];
6180     meta = {
6181       description = "Read multiple hunks of data out of your DATA section";
6182       homepage = "https://github.com/rjbs/Data-Section";
6183       license = with lib.licenses; [ artistic1 gpl1Plus ];
6184     };
6185   };
6187   DataSectionSimple = buildPerlPackage {
6188     pname = "Data-Section-Simple";
6189     version = "0.07";
6190     src = fetchurl {
6191       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Data-Section-Simple-0.07.tar.gz";
6192       hash = "sha256-CzA1/9uQmqH33ta2CPqdiUQhyCwJfVHnFxFw1nV5qcs=";
6193     };
6194     buildInputs = [ TestRequires ];
6195     meta = {
6196       description = "Read data from __DATA__";
6197       homepage = "https://github.com/miyagawa/Data-Section-Simple";
6198       license = with lib.licenses; [ artistic1 gpl1Plus ];
6199     };
6200   };
6202   DataSerializer = buildPerlModule {
6203     pname = "Data-Serializer";
6204     version = "0.65";
6205     src = fetchurl {
6206       url = "mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.65.tar.gz";
6207       hash = "sha256-EhVaUgADPYCl8HVzd19JPxcAcs97KK48otFStZGXHxE=";
6208     };
6209     meta = {
6210       description = "Modules that serialize data structures";
6211       homepage = "https://metacpan.org/release/Data-Serializer";
6212       license = with lib.licenses; [ artistic1 gpl1Plus ];
6213     };
6214   };
6216   DataSExpression = buildPerlPackage {
6217     pname = "Data-SExpression";
6218     version = "0.41";
6219     src = fetchurl {
6220       url = "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-0.41.tar.gz";
6221       hash = "sha256-gWJCakKFoJQ4X9+vbQnO0QbVr1dVP5U6yx1Whn3QFJs=";
6222     };
6223     buildInputs = [ TestDeep ];
6224     propagatedBuildInputs = [ ClassAccessor ];
6225     meta = {
6226       description = "Parse Lisp S-Expressions into perl data structures";
6227       license = with lib.licenses; [ artistic1 gpl1Plus ];
6228     };
6229   };
6231   DataSpreadPagination = buildPerlPackage {
6232     pname = "Data-SpreadPagination";
6233     version = "0.1.2";
6234     src = fetchurl {
6235       url = "mirror://cpan/authors/id/K/KN/KNEW/Data-SpreadPagination-0.1.2.tar.gz";
6236       hash = "sha256-dOv9hHEyw4zJ6DXhToLEPxgJqVy8mLuE0ffOLk70h+M=";
6237     };
6238     propagatedBuildInputs = [ DataPage MathRound ];
6239     meta = {
6240       description = "Page numbering and spread pagination";
6241       license = with lib.licenses; [ artistic1 gpl1Plus ];
6242     };
6243   };
6245   DataStag = buildPerlPackage {
6246     pname = "Data-Stag";
6247     version = "0.14";
6248     src = fetchurl {
6249       url = "mirror://cpan/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz";
6250       hash = "sha256-SrEiUI0vuG0XGhX0AG5c+JbV+s+mUhnAskOomQYljlk=";
6251     };
6252     propagatedBuildInputs = [ IOString ];
6253     meta = {
6254       description = "Structured Tags";
6255       license = with lib.licenses; [ artistic1 gpl1Plus ];
6256     };
6257   };
6259   DataStreamBulk = buildPerlPackage {
6260     pname = "Data-Stream-Bulk";
6261     version = "0.11";
6262     src = fetchurl {
6263       url = "mirror://cpan/authors/id/D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz";
6264       hash = "sha256-BuCEMqa5dwVgbJJXCbmRKa2SZRbkd9WORGHks9nzCRc=";
6265     };
6266     buildInputs = [ TestRequires ];
6267     propagatedBuildInputs = [ Moose PathClass namespaceclean ];
6268     meta = {
6269       description = "N at a time iteration API";
6270       homepage = "https://metacpan.org/release/Data-Stream-Bulk";
6271       license = with lib.licenses; [ artistic1 gpl1Plus ];
6272     };
6273   };
6275   DataStructureUtil = buildPerlPackage {
6276     pname = "Data-Structure-Util";
6277     version = "0.16";
6278     src = fetchurl {
6279       url = "mirror://cpan/authors/id/A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz";
6280       hash = "sha256-nNQqE+ZcsV86diluuaE02iIBaOx0fFaNMxpQrnot28Y=";
6281     };
6282     buildInputs = [ TestPod ];
6283     meta = {
6284       description = "Change nature of data within a structure";
6285       license = with lib.licenses; [ artistic1 gpl1Plus ];
6286     };
6287   };
6289   DataTaxi = buildPerlPackage {
6290     pname = "Data-Taxi";
6291     version = "0.96";
6292     src = fetchurl {
6293       url = "mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz";
6294       hash = "sha256-q8s2EPygbZodmRaraYB0OmHYWvVfn9N2vqZxKommnHg=";
6295     };
6296     buildInputs = [ DebugShowStuff ];
6297     meta = {
6298       description = "Taint-aware, XML-ish data serialization";
6299       license = with lib.licenses; [ artistic1 gpl1Plus ];
6300     };
6301   };
6303   DataULID = buildPerlPackage {
6304     pname = "Data-ULID";
6305     version = "1.2.1";
6306     src = fetchurl {
6307       url = "mirror://cpan/authors/id/B/BA/BALDUR/Data-ULID-1.2.1.tar.gz";
6308       hash = "sha256-SbThGyY0inXfNONGF0UuMZ/XpygasJQgYvFieeqKHSc=";
6309     };
6310     propagatedBuildInputs = [ CryptX ];
6311     meta = {
6312       description = "Universally Unique Lexicographically Sortable Identifier";
6313       homepage = "https://metacpan.org/release/Data-ULID";
6314       license = with lib.licenses; [ artistic1 gpl1Plus ];
6315       maintainers = with maintainers; [ sgo ];
6316     };
6317   };
6319   DataUniqid = buildPerlPackage {
6320     pname = "Data-Uniqid";
6321     version = "0.12";
6322     src = fetchurl {
6323       url = "mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz";
6324       hash = "sha256-tpGbpJuf6Yv98+isyue5t/eNyeceu9C3/vekXZkyTMs=";
6325     };
6326     meta = {
6327       description = "Perl extension for simple genrating of unique id's";
6328       license = with lib.licenses; [ artistic1 gpl1Plus ];
6329     };
6330   };
6332   DataUtil = buildPerlModule {
6333     pname = "Data-Util";
6334     version = "0.67";
6335     src = fetchurl {
6336       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-Util-0.67.tar.gz";
6337       hash = "sha256-tVypHHafgTN8xrCrIMMmg4eOWyZj8cwljFEamZpd/dM=";
6338     };
6339     buildInputs = [ HashUtilFieldHashCompat ModuleBuildXSUtil ScopeGuard TestException ];
6340     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
6341     meta = {
6342       description = "Selection of utilities for data and data types";
6343       homepage = "https://github.com/gfx/Perl-Data-Util";
6344       license = with lib.licenses; [ artistic1 gpl1Plus ];
6345       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataUtil.x86_64-darwin
6346     };
6347   };
6349   DataURIEncode = buildPerlPackage {
6350     pname = "Data-URIEncode";
6351     version = "0.11";
6352     src = fetchurl {
6353       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Data-URIEncode-0.11.tar.gz";
6354       hash = "sha256-Ucnvv4QjhTYW6qJIQeTRmWstsANpAGF/sdvHbHWh82A=";
6355     };
6356     meta = {
6357       description = "Allow complex data structures to be encoded using flat URIs";
6358       license = with lib.licenses; [ artistic1 gpl1Plus ];
6359     };
6360   };
6362   DataUUID = buildPerlPackage {
6363     pname = "Data-UUID";
6364     version = "1.226";
6365     src = fetchurl {
6366       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.226.tar.gz";
6367       hash = "sha256-CT1X/6DUEalLr6+uSVaX2yb1ydAncZj+P3zyviKZZFM=";
6368     };
6369     patches = [
6370       ../development/perl-modules/Data-UUID-CVE-2013-4184.patch
6371     ];
6372     meta = {
6373       description = "Globally/Universally Unique Identifiers (GUIDs/UUIDs)";
6374       license = with lib.licenses; [ bsd0 ];
6375     };
6376   };
6378   DataUUIDMT = buildPerlPackage {
6379     pname = "Data-UUID-MT";
6380     version = "1.001";
6381     src = fetchurl {
6382       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz";
6383       hash = "sha256-MExLmBKDEfhLf1KccBi6hJx102Q6qA6jgrSwgFfEZy0=";
6384     };
6385     buildInputs = [ ListAllUtils ];
6386     propagatedBuildInputs = [ MathRandomMTAuto ];
6387     meta = {
6388       description = "Fast random UUID generator using the Mersenne Twister algorithm";
6389       homepage = "https://metacpan.org/release/Data-UUID-MT";
6390       license = with lib.licenses; [ asl20 ];
6391     };
6392   };
6394   DataValidateDomain = buildPerlPackage {
6395     pname = "Data-Validate-Domain";
6396     version = "0.15";
6397     src = fetchurl {
6398       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-Domain-0.15.tar.gz";
6399       hash = "sha256-PJ95GHsNPHGt0fj1WbgN8VmTAKbSA+CxYcvhjhdqqzY=";
6400     };
6401     buildInputs = [ Test2Suite ];
6402     propagatedBuildInputs = [ NetDomainTLD ];
6403     meta = {
6404       description = "Domain and host name validation";
6405       homepage = "https://metacpan.org/release/Data-Validate-Domain";
6406       license = with lib.licenses; [ artistic1 gpl1Plus ];
6407     };
6408   };
6410   DataValidateIP = buildPerlPackage {
6411     pname = "Data-Validate-IP";
6412     version = "0.31";
6413     src = fetchurl {
6414       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-0.31.tar.gz";
6415       hash = "sha256-c0r/hrb5ytQOHE2oHyj68Y4IAsdqVm2V5WE9QxgYL8E=";
6416     };
6417     buildInputs = [ TestRequires ];
6418     propagatedBuildInputs = [ NetAddrIP ];
6419     meta = {
6420       description = "IPv4 and IPv6 validation methods";
6421       homepage = "https://metacpan.org/release/Data-Validate-IP";
6422       license = with lib.licenses; [ artistic1 gpl1Plus ];
6423     };
6424   };
6426   DataValidateURI = buildPerlPackage {
6427     pname = "Data-Validate-URI";
6428     version = "0.07";
6429     src = fetchurl {
6430       url = "mirror://cpan/authors/id/S/SO/SONNEN/Data-Validate-URI-0.07.tar.gz";
6431       hash = "sha256-8GQY0qRgORPRts5SsWfdE+eH4TvyvjJaBl331Aj3nGA=";
6432     };
6433     propagatedBuildInputs = [ DataValidateDomain DataValidateIP ];
6434     meta = {
6435       description = "Common URL validation methods";
6436       license = with lib.licenses; [ artistic1 gpl1Plus ];
6437     };
6438   };
6440   DataVisitor = buildPerlPackage {
6441     pname = "Data-Visitor";
6442     version = "0.32";
6443     src = fetchurl {
6444       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Visitor-0.32.tar.gz";
6445       hash = "sha256-sZQpDyV8xidaA5N0ERVUxmahZQ5MAa15nB4KJ39HkX0=";
6446     };
6447     buildInputs = [ TestNeeds ];
6448     propagatedBuildInputs = [ Moose TieToObject namespaceclean ];
6449     meta = {
6450       description = "Visitor style traversal of Perl data structures";
6451       license = with lib.licenses; [ artistic1 gpl1Plus ];
6452     };
6453   };
6455   DateCalc = buildPerlPackage {
6456     pname = "Date-Calc";
6457     version = "6.4";
6458     src = fetchurl {
6459       url = "mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz";
6460       hash = "sha256-fOE3sueXt8CQHzrfGgWhk0M1bNHwRnaqHFap9iT4Wa0=";
6461     };
6462     propagatedBuildInputs = [ BitVector ];
6463     doCheck = false; # some of the checks rely on the year being <2015
6464     meta = {
6465       description = "Gregorian calendar date calculations";
6466       license = with lib.licenses; [ artistic1 gpl1Plus ];
6467     };
6468   };
6470   DateExtract = buildPerlPackage {
6471     pname = "Date-Extract";
6472     version = "0.07";
6473     src = fetchurl {
6474       url = "mirror://cpan/authors/id/E/ET/ETHER/Date-Extract-0.07.tar.gz";
6475       hash = "sha256-+geIBK3k7uwd4UcuDguwR65i5MjU1QIHAbnlBXfFuPQ=";
6476     };
6477     buildInputs = [ TestMockTimeHiRes ];
6478     propagatedBuildInputs = [ ClassDataInheritable DateTimeFormatNatural ];
6479     meta = {
6480       description = "Extract probable dates from strings";
6481       license = with lib.licenses; [ artistic1 gpl1Plus ];
6482     };
6483   };
6485   DateManip = buildPerlPackage {
6486     pname = "Date-Manip";
6487     version = "6.92";
6488     src = fetchurl {
6489       url = "mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.92.tar.gz";
6490       hash = "sha256-q5Yr05ygnsb8/n5aaRKvcbDB9vA+TtK+9uRHHJ02ehM=";
6491     };
6492     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
6493     patchPhase = ''
6494       sed -i "s#/bin/date#${pkgs.coreutils}/bin/date#" lib/Date/Manip/TZ.pm
6495     '';
6496     doCheck = !stdenv.hostPlatform.isi686; # build freezes during tests on i686
6497     buildInputs = [ TestInter ];
6498     meta = {
6499       description = "Date manipulation routines";
6500       homepage = "https://github.com/SBECK-github/Date-Manip";
6501       license = with lib.licenses; [ artistic1 gpl1Plus ];
6502     };
6503   };
6505   DateRange = buildPerlPackage {
6506     pname = "Date-Range";
6507     version = "1.41";
6508     src = fetchurl {
6509       url = "mirror://cpan/authors/id/T/TM/TMTM/Date-Range-1.41.tar.gz";
6510       hash = "sha256-v5iXSSsQHAUDh50Up+fr6QJUQ4NgGufGmpXedcvZSLk=";
6511     };
6512     propagatedBuildInputs = [ DateSimple ];
6513     meta = {
6514       description = "work with a range of dates";
6515       license = with lib.licenses; [ gpl2Plus ];
6516     };
6517   };
6519   DateSimple = buildPerlPackage {
6520     pname = "Date-Simple";
6521     version = "3.03";
6522     src = fetchurl {
6523       url = "mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz";
6524       hash = "sha256-KaGSYxTOFoGjEtYVXClZDHcd2s+Rt0hYc85EnvIJ3QQ=";
6525     };
6526     meta = {
6527       description = "Simple date object";
6528       license = with lib.licenses; [ artistic1 gpl2Plus ];
6529     };
6530   };
6532   DateTime = buildPerlPackage {
6533     pname = "DateTime";
6534     version = "1.59";
6535     src = fetchurl {
6536       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.59.tar.gz";
6537       hash = "sha256-3j6aY84VRwtNtK2tS6asjsKX2IwMbGs1SwgYg7CmdpU=";
6538     };
6539     buildInputs = [ CPANMetaCheck TestFatal TestWarnings TestWithoutModule ];
6540     propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ];
6541     meta = {
6542       description = "Date and time object for Perl";
6543       homepage = "https://metacpan.org/release/DateTime";
6544       license = with lib.licenses; [ artistic2 ];
6545     };
6546   };
6548   DateTimeCalendarJulian = buildPerlPackage {
6549     pname = "DateTime-Calendar-Julian";
6550     version = "0.107";
6551     src = fetchurl {
6552       url = "mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.107.tar.gz";
6553       hash = "sha256-/LK0JIRLsTvK1GsceqI5taCbqyVW9TvR8n+tkMJg0z0=";
6554     };
6555     propagatedBuildInputs = [ DateTime ];
6556     meta = {
6557       description = "DateTime object in the Julian calendar";
6558       license = with lib.licenses; [ artistic1 gpl1Plus ];
6559     };
6560   };
6562   DateTimeEventICal = buildPerlPackage {
6563     pname = "DateTime-Event-ICal";
6564     version = "0.13";
6565     src = fetchurl {
6566       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz";
6567       hash = "sha256-U9pDhO9c8w7ofcATH0tu7iEhzA66NHFioyi5vPr0deo=";
6568     };
6569     propagatedBuildInputs = [ DateTimeEventRecurrence ];
6570     meta = {
6571       description = "DateTime rfc2445 recurrences";
6572       license = with lib.licenses; [ artistic1 gpl1Plus ];
6573     };
6574   };
6576   DateTimeEventRecurrence = buildPerlPackage {
6577     pname = "DateTime-Event-Recurrence";
6578     version = "0.19";
6579     src = fetchurl {
6580       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz";
6581       hash = "sha256-+UCHiaRhEHdmyhojK7PsHnAu7HyoFnQB6m7D9LbQtaU=";
6582     };
6583     propagatedBuildInputs = [ DateTimeSet ];
6584     meta = {
6585       description = "DateTime::Set extension for create basic recurrence sets";
6586       license = with lib.licenses; [ artistic1 gpl1Plus ];
6587     };
6588   };
6590   DateTimeFormatBuilder = buildPerlPackage {
6591     pname = "DateTime-Format-Builder";
6592     version = "0.83";
6593     src = fetchurl {
6594       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz";
6595       hash = "sha256-Yf+yPYWzyheGstoyiembV+BiX+DknbAqbcDLYsaJ4vI=";
6596     };
6597     propagatedBuildInputs = [ DateTimeFormatStrptime ParamsValidate ];
6598     meta = {
6599       description = "Create DateTime parser classes and objects";
6600       homepage = "https://metacpan.org/release/DateTime-Format-Builder";
6601       license = with lib.licenses; [ artistic2 ];
6602     };
6603   };
6605   DateTimeFormatDateParse = buildPerlModule {
6606     pname = "DateTime-Format-DateParse";
6607     version = "0.05";
6608     src = fetchurl {
6609       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz";
6610       hash = "sha256-9uykyL5mzpmS7hUJMvj88HgJ/T0WZMryALil/Tp+Xrw=";
6611     };
6612     propagatedBuildInputs = [ DateTime TimeDate ];
6613     meta = {
6614       description = "Parses Date::Parse compatible formats";
6615       license = with lib.licenses; [ artistic1 gpl1Plus ];
6616     };
6617   };
6619   DateTimeFormatFlexible = buildPerlPackage {
6620     pname = "DateTime-Format-Flexible";
6621     version = "0.34";
6622     src = fetchurl {
6623       url = "mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.34.tar.gz";
6624       hash = "sha256-g2rvXSXm/4gnMIpDv/dBkeXSAiDao9ISAFC8w0FI/PE=";
6625     };
6626     propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
6627     buildInputs = [ TestException TestMockTime TestNoWarnings ];
6628     meta = {
6629       description = "Flexibly parse strings and turn them into DateTime objects";
6630       license = with lib.licenses; [ artistic1 gpl1Plus ];
6631     };
6632   };
6634   DateTimeFormatHTTP = buildPerlModule {
6635     pname = "DateTime-Format-HTTP";
6636     version = "0.42";
6637     src = fetchurl {
6638       url = "mirror://cpan/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.42.tar.gz";
6639       hash = "sha256-0E52nfRZaN/S0b3GR6Mlxod2FAaXYnhubxN/H17D2EA=";
6640     };
6641     propagatedBuildInputs = [ DateTime HTTPDate ];
6642     meta = {
6643       description = "Date conversion routines";
6644       license = with lib.licenses; [ artistic1 gpl1Plus ];
6645     };
6646   };
6648   DateTimeFormatICal = buildPerlModule {
6649     pname = "DateTime-Format-ICal";
6650     version = "0.09";
6651     src = fetchurl {
6652       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz";
6653       hash = "sha256-iwn2U59enA3w5hNQMWme1O+e74Fl/ICu/uzIF++ZfDM=";
6654     };
6655     propagatedBuildInputs = [ DateTimeEventICal ];
6656     meta = {
6657       description = "Parse and format iCal datetime and duration strings";
6658       license = with lib.licenses; [ artistic1 gpl1Plus ];
6659     };
6660   };
6662   DateTimeFormatISO8601 = buildPerlPackage {
6663     pname = "DateTime-Format-ISO8601";
6664     version = "0.16";
6665     src = fetchurl {
6666       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ISO8601-0.16.tar.gz";
6667       hash = "sha256-WChH9uApBlM0oAVk8gzXwo9OXNTsIVE9D2klMe07VuE=";
6668     };
6669     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6670     buildInputs = [ Test2Suite ];
6671     meta = {
6672       description = "Parses ISO8601 formats";
6673       homepage = "https://metacpan.org/release/DateTime-HiRes";
6674       license = with lib.licenses; [ artistic1 gpl1Plus ];
6675     };
6676   };
6678   DateTimeFormatMail = buildPerlPackage {
6679     pname = "DateTime-Format-Mail";
6680     version = "0.403";
6681     src = fetchurl {
6682       url = "mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz";
6683       hash = "sha256-jfjjXER3OI/1x86LPotq5O0wIJx6UFHUFze9FNdV/LA=";
6684     };
6685     propagatedBuildInputs = [ DateTime ParamsValidate ];
6686     meta = {
6687       description = "Convert between DateTime and RFC2822/822 formats";
6688       license = with lib.licenses; [ artistic1 gpl1Plus ];
6689     };
6690   };
6692   DateTimeFormatNatural = buildPerlModule {
6693     pname = "DateTime-Format-Natural";
6694     version = "1.18";
6695     src = fetchurl {
6696       url = "mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.18.tar.gz";
6697       hash = "sha256-2TRqRhUDVFnYvO4PrD1OuuoDj09DsoT2nt9z9u1XUf4=";
6698     };
6699     buildInputs = [ ModuleUtil TestMockTimeHiRes ];
6700     propagatedBuildInputs = [ Clone DateTime DateTimeHiRes DateTimeTimeZone ListMoreUtils ParamsValidate boolean ];
6701     meta = {
6702       description = "Parse informal natural language date/time strings";
6703       license = with lib.licenses; [ artistic1 gpl1Plus ];
6704       mainProgram = "dateparse";
6705     };
6706   };
6708   DateTimeFormatMySQL = buildPerlModule {
6709     pname = "DateTime-Format-MySQL";
6710     version = "0.08";
6711     src = fetchurl {
6712       url = "mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-0.08.tar.gz";
6713       hash = "sha256-Gctw6YWEZV41TS1qjnHMXKkC3dw6xEQWcS+RY9Eiueg=";
6714     };
6715     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6716     meta = {
6717       description = "Parse and format MySQL dates and times";
6718       license = with lib.licenses; [ artistic1 gpl1Plus ];
6719     };
6720   };
6722   DateTimeFormatPg = buildPerlModule {
6723     pname = "DateTime-Format-Pg";
6724     version = "0.16014";
6725     src = fetchurl {
6726       url = "mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16014.tar.gz";
6727       hash = "sha256-OLuWZlJNw4TDNm9jQsuWVsULrA+XFqPUTxz1Usy+Drk=";
6728     };
6729     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6730     buildInputs = [ ModuleBuildTiny ];
6731     meta = {
6732       description = "Parse and format PostgreSQL dates and times";
6733       homepage = "https://github.com/lestrrat-p5/DateTime-Format-Pg";
6734       license = with lib.licenses; [ artistic1 gpl1Plus ];
6735     };
6736   };
6738   DateTimeFormatStrptime = buildPerlPackage {
6739     pname = "DateTime-Format-Strptime";
6740     version = "1.79";
6741     src = fetchurl {
6742       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz";
6743       hash = "sha256-cB5GgCyG7U2IaVwabay76QszkL7reU84fnx5IwADdXk=";
6744     };
6745     buildInputs = [ TestFatal TestWarnings ];
6746     propagatedBuildInputs = [ DateTime ];
6747     meta = {
6748       description = "Parse and format strp and strf time patterns";
6749       homepage = "https://metacpan.org/release/DateTime-Format-Strptime";
6750       license = with lib.licenses; [ artistic2 ];
6751     };
6752   };
6754   DateTimeFormatSQLite = buildPerlPackage {
6755     pname = "DateTime-Format-SQLite";
6756     version = "0.11";
6757     src = fetchurl {
6758       url = "mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz";
6759       hash = "sha256-zB9OCuHTmw1MPd3M/XQjx3xnpwlQxLXsq/jKVTqylLQ=";
6760     };
6761     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6762     meta = {
6763       description = "Parse and format SQLite dates and times";
6764       license = with lib.licenses; [ artistic1 gpl1Plus ];
6765     };
6766   };
6768   DateTimeFormatW3CDTF = buildPerlPackage {
6769     pname = "DateTime-Format-W3CDTF";
6770     version = "0.08";
6771     src = fetchurl {
6772       url = "mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.08.tar.gz";
6773       hash = "sha256-3MIAoHOiHLpIEipdrgtqh135PT+MiunURtzdm++qQTo=";
6774     };
6775     propagatedBuildInputs = [ DateTime ];
6776     meta = {
6777       description = "Parse and format W3CDTF datetime strings";
6778       homepage = "https://metacpan.org/release/DateTime-Format-W3CDTF";
6779       license = with lib.licenses; [ artistic1 gpl1Plus ];
6780     };
6781   };
6783   DateTimeHiRes = buildPerlPackage {
6784     pname = "DateTime-HiRes";
6785     version = "0.04";
6786     src = fetchurl {
6787       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-HiRes-0.04.tar.gz";
6788       hash = "sha256-HCMVkzLDD566VLdeZpK+TeqAUiQ+r/MCbJyQuLZLw5U=";
6789     };
6790     propagatedBuildInputs = [ DateTime ];
6791     meta = {
6792       homepage = "https://metacpan.org/release/DateTime-HiRes";
6793       description = "Create DateTime objects with sub-second current time resolution";
6794       license = with lib.licenses; [ artistic1 gpl1Plus ];
6795     };
6796   };
6798   DateTimeLocale = buildPerlPackage {
6799     pname = "DateTime-Locale";
6800     version = "1.39";
6801     src = fetchurl {
6802       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.39.tar.gz";
6803       hash = "sha256-EMFFpsfa9xGIZOl0grSun5T5O5QUIS7uiqMLFqgTUQA=";
6804     };
6805     buildInputs = [ CPANMetaCheck FileShareDirInstall IPCSystemSimple PathTiny Test2PluginNoWarnings Test2Suite TestFileShareDir ];
6806     propagatedBuildInputs = [ FileShareDir ParamsValidationCompiler Specio namespaceautoclean ];
6807     meta = {
6808       description = "Localization support for DateTime.pm";
6809       homepage = "https://metacpan.org/release/DateTime-Locale";
6810       license = with lib.licenses; [ artistic1 gpl1Plus ];
6811     };
6812   };
6814   DateTimeFormatRFC3339 = buildPerlPackage rec {
6815     pname = "DateTime-Format-RFC3339";
6816     version = "1.2.0";
6817     src = fetchurl {
6818       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/DateTime-Format-RFC3339-v${version}.tar.gz";
6819       hash = "sha256-E27hIkwxxuAXaSqfXlb9tPcKlfRq7DrYVdN4PeNaDfc=";
6820     };
6821     propagatedBuildInputs = [ DateTime ];
6822     meta = {
6823       description = "Parse and format RFC3339 datetime strings";
6824       homepage = "https://search.cpan.org/dist/DateTime-Format-RFC3339";
6825       license = with lib.licenses; [ cc0 ];
6826     };
6827   };
6829   DateTimeSet = buildPerlModule {
6830     pname = "DateTime-Set";
6831     version = "0.3900";
6832     src = fetchurl {
6833       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz";
6834       hash = "sha256-lPQcOSSq/eTvf6a1jgWV1AONisX/1iuhEbE8X028CUY=";
6835     };
6836     propagatedBuildInputs = [ DateTime ParamsValidate SetInfinite ];
6837     meta = {
6838       description = "DateTime set objects";
6839       license = with lib.licenses; [ artistic1 gpl1Plus ];
6840     };
6841   };
6843   DateTimeTimeZone = buildPerlPackage {
6844     pname = "DateTime-TimeZone";
6845     version = "2.60";
6846     src = fetchurl {
6847       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.60.tar.gz";
6848       hash = "sha256-8EYNN5MjkFtXm+1E4UEjejN9wl3Sa2qwxgrCuAYpMj0=";
6849     };
6850     buildInputs = [ TestFatal TestRequires ];
6851     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
6852     meta = {
6853       description = "Time zone object base class and factory";
6854       homepage = "https://metacpan.org/release/DateTime-TimeZone";
6855       license = with lib.licenses; [ artistic1 gpl1Plus ];
6856     };
6857   };
6859   DateTimeXEasy = buildPerlPackage {
6860     pname = "DateTimeX-Easy";
6861     version = "0.091";
6862     src = fetchurl {
6863       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/DateTimeX-Easy-0.091.tar.gz";
6864       hash = "sha256-pfjbvntpZdUD4VJYIBXaKk+B46WGA9/t1Oc9H92s/II=";
6865     };
6866     buildInputs = [ TestMost ];
6867     propagatedBuildInputs = [ DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
6868     doCheck = false;
6869     meta = {
6870       description = "Parse a date/time string using the best method available";
6871       license = with lib.licenses; [ artistic1 gpl1Plus ];
6872     };
6873   };
6875   DebugShowStuff = buildPerlModule {
6876     pname = "Debug-ShowStuff";
6877     version = "1.16";
6878     src = fetchurl {
6879       url = "mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz";
6880       hash = "sha256-pN1dLNfbjqbkhhsZPgJLQYeisO0rmdWHBi37EaXNLLc=";
6881     };
6882     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
6883     meta = {
6884       description = "Collection of handy debugging routines for displaying the values of variables with a minimum of coding";
6885       license = with lib.licenses; [ artistic1 gpl1Plus ];
6886     };
6887   };
6889   Deliantra = buildPerlPackage rec {
6890     pname = "Deliantra";
6891     version = "2.01";
6892     src = fetchurl {
6893       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
6894       hash = "sha256-JxbZsfBWJ9YJQs4GNLnBolEJsWSBgoXUW2Ca6FluKxc=";
6895     };
6896     propagatedBuildInputs = [ AnyEvent CompressLZF JSONXS commonsense ];
6897     meta = {
6898       description = "Deliantra suppport module to read/write archetypes, maps etc";
6899       license = with lib.licenses; [ artistic1 gpl1Plus ];
6900     };
6901   };
6903   DevelCaller = buildPerlPackage {
6904     pname = "Devel-Caller";
6905     version = "2.07";
6906     src = fetchurl {
6907       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.07.tar.gz";
6908       hash = "sha256-tnmisYA0sLcg3oLDcIckw2SxCmyhZMvGfNw68oPzUD8=";
6909     };
6910     propagatedBuildInputs = [ PadWalker ];
6911     meta = {
6912       description = "Meatier versions of caller";
6913       license = with lib.licenses; [ artistic1 gpl1Plus ];
6914     };
6915   };
6917   DevelCheckBin = buildPerlPackage {
6918     pname = "Devel-CheckBin";
6919     version = "0.04";
6920     src = fetchurl {
6921       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz";
6922       hash = "sha256-FX89tZwp7R1JEzpGnO53LIha1O5k6GkqkbPr/b4v4+Q=";
6923     };
6924     meta = {
6925       description = "Check that a command is available";
6926       homepage = "https://github.com/tokuhirom/Devel-CheckBin";
6927       license = with lib.licenses; [ artistic1 gpl1Plus ];
6928     };
6929   };
6931   DevelCheckCompiler = buildPerlModule {
6932     pname = "Devel-CheckCompiler";
6933     version = "0.07";
6934     src = fetchurl {
6935       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz";
6936       hash = "sha256-dot2l7S41NNyx1B7ZendJqpCI/cQAYO7tNOvRtQ4abU=";
6937     };
6938     buildInputs = [ ModuleBuildTiny ];
6939     meta = {
6940       description = "Check the compiler's availability";
6941       homepage = "https://github.com/tokuhirom/Devel-CheckCompiler";
6942       license = with lib.licenses; [ artistic1 gpl1Plus ];
6943     };
6944   };
6946   DevelChecklib = buildPerlPackage {
6947     pname = "Devel-CheckLib";
6948     version = "1.16";
6949     src = fetchurl {
6950       url = "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.16.tar.gz";
6951       hash = "sha256-hp04wljmRtzvZ2YJ8N18qQ8IX1bPb9cAGwGaXVuDH8o=";
6952     };
6953     buildInputs = [ CaptureTiny MockConfig ];
6954     meta = {
6955       description = "Check that a library is available";
6956       license = with lib.licenses; [ artistic1 gpl1Plus ];
6957     };
6958   };
6960   DevelCheckOS = buildPerlPackage {
6961     pname = "Devel-CheckOS";
6962     version = "1.96";
6963     src = fetchurl {
6964       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-CheckOS-1.96.tar.gz";
6965       hash = "sha256-+GB5BfT1reSI9+9Et8HnyFI/ure5HS3IMLMa6cqBPfU=";
6966     };
6967     buildInputs = [ TestWarnings ];
6968     propagatedBuildInputs = [ FileFindRule ];
6969     meta = {
6970       description = "Check what OS we're running on";
6971       license = with lib.licenses; [ gpl2Only artistic1 ];
6972     };
6973   };
6975   DevelCover = buildPerlPackage {
6976     pname = "Devel-Cover";
6977     version = "1.44";
6978     src = fetchurl {
6979       url = "mirror://cpan/authors/id/P/PJ/PJCJ/Devel-Cover-1.44.tar.gz";
6980       hash = "sha256-9AwVQ5kuXWWm94AD1GLVms15rm0w04BHscadmZ0rH9g=";
6981     };
6982     propagatedBuildInputs = [ HTMLParser ];
6983     doCheck = false;
6984     meta = {
6985       description = "Code coverage metrics for Perl";
6986       homepage = "http://www.pjcj.net/perl.html";
6987       license = with lib.licenses; [ artistic1 gpl1Plus ];
6988     };
6989   };
6991   DevelDeprecationsEnvironmental = buildPerlPackage {
6992     pname = "Devel-Deprecations-Environmental";
6993     version = "1.101";
6994     src = fetchurl {
6995       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-Deprecations-Environmental-1.101.tar.gz";
6996       hash = "sha256-S+SC08PcOtHvR0P6s4DOuQG3QVZQeVOoNITfadolpqY=";
6997     };
6998     propagatedBuildInputs = [ DevelCheckOS DevelHide TestException TestTime ];
6999     meta = {
7000       description = "Framework for managing deprecations";
7001       homepage = "https://github.com/DrHyde/perl-modules-Devel-Deprecations-Environmental";
7002       license = with lib.licenses; [ gpl2Only artistic1 ];
7003     };
7004   };
7006   DevelLeak = buildPerlPackage {
7007     pname = "Devel-Leak";
7008     version = "0.03";
7009     src = fetchurl {
7010       url = "mirror://cpan/authors/id/N/NI/NI-S/Devel-Leak-0.03.tar.gz";
7011       hash = "sha256-b0LDTxHitOPqLg5rlBaoimha3UR5EMr02R3SwXgXclI=";
7012     };
7013     meta = {
7014       description = "Utility for looking for perl objects that are not reclaimed";
7015       homepage = "https://metacpan.org/release/Devel-Leak";
7016       license = with lib.licenses; [ artistic1 gpl1Plus ]; # According to Debian
7017     };
7018   };
7020   DevelPatchPerl = buildPerlPackage {
7021     pname = "Devel-PatchPerl";
7022     version = "2.08";
7023     src = fetchurl {
7024       url = "mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-2.08.tar.gz";
7025       hash = "sha256-acbpcBYmD0COnX5Ej5QrNqbUnfWvBzQPHWXX4jAWdBk=";
7026     };
7027     propagatedBuildInputs = [ Filepushd ModulePluggable ];
7028     meta = {
7029       description = "Patch perl source a la Devel::PPPort's buildperl.pl";
7030       homepage = "https://github.com/bingos/devel-patchperl";
7031       license = with lib.licenses; [ artistic1 gpl1Plus ];
7032       mainProgram = "patchperl";
7033     };
7034   };
7036   DevelRefcount = buildPerlModule {
7037     pname = "Devel-Refcount";
7038     version = "0.10";
7039     src = fetchurl {
7040       url = "mirror://cpan/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz";
7041       hash = "sha256-tlTUaWPRqIFCa6FZlPKPUuuDmw0TW/I5tNG/OLHKyko=";
7042     };
7043     buildInputs = [ TestFatal ];
7044     meta = {
7045       description = "Obtain the REFCNT value of a referent";
7046       license = with lib.licenses; [ artistic1 gpl1Plus ];
7047     };
7048   };
7050   DevelPPPort = buildPerlPackage {
7051     pname = "Devel-PPPort";
7052     version = "3.68";
7053     src = fetchurl {
7054       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.68.tar.gz";
7055       hash = "sha256-UpDVu4TN6enmEROiDGe11HJn645loRmookjMlqrAuts=";
7056     };
7057     meta = {
7058       description = "Perl/Pollution/Portability";
7059       license = with lib.licenses; [ artistic1 gpl1Plus ];
7060     };
7061   };
7063   DevelTrace = buildPerlPackage {
7064     pname = "Devel-Trace";
7065     version = "0.12";
7066     src = fetchurl {
7067       url = "mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz";
7068       hash = "sha256-9QHK93b/fphvduAlRNbOI0yJdwFzKD8x333MV4AKOGg=";
7069     };
7070     meta = {
7071       description = "Print out each line before it is executed (like sh -x)";
7072       license = with lib.licenses; [ publicDomain ];
7073     };
7074   };
7076   DeviceMAC = buildPerlPackage {
7077     pname = "Device-MAC";
7078     version = "1.00";
7079     src = fetchurl {
7080       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-MAC-1.00.tar.gz";
7081       hash = "sha256-xCGCqahImjFMv+bhyEUvMrO2Jqpsif7h2JJebftk+tU=";
7082     };
7083     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
7084     propagatedBuildInputs = [ DeviceOUI Moose ];
7085     meta = {
7086       description = "Handle hardware MAC Addresses (EUI-48 and EUI-64)";
7087       license = with lib.licenses; [ artistic1 gpl1Plus ];
7088       maintainers = [ maintainers.sgo ];
7089     };
7090   };
7092   DeviceOUI = buildPerlPackage {
7093     pname = "Device-OUI";
7094     version = "1.04";
7095     src = fetchurl {
7096       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-OUI-1.04.tar.gz";
7097       hash = "sha256-SzZ+YbH63ed/tvtynzzVrNHUbnEhjZb0Bry6ONQ7S+8=";
7098     };
7099     buildInputs = [ TestException ];
7100     patches = [ ../development/perl-modules/Device-OUI-1.04-hash.patch ];
7101     propagatedBuildInputs = [ ClassAccessorGrouped LWP SubExporter ];
7102     meta = {
7103       description = "Resolve an Organizationally Unique Identifier";
7104       license = with lib.licenses; [ artistic1 gpl1Plus ];
7105       maintainers = [ maintainers.sgo ];
7106     };
7107   };
7109   DBDCSV = buildPerlPackage {
7110     pname = "DBD-CSV";
7111     version = "0.60";
7112     src = fetchurl {
7113       url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.60.tgz";
7114       hash = "sha256-AYuDow95mXm8jDwwRMixyAAc32C9w+dGhIgYGVJUtOc=";
7115     };
7116     propagatedBuildInputs = [ DBI SQLStatement TextCSV_XS ];
7117     meta = {
7118       description = "DBI driver for CSV files";
7119       license = with lib.licenses; [ artistic1 gpl1Plus ];
7120     };
7121   };
7123   DBDMock = buildPerlModule {
7124     pname = "DBD-Mock";
7125     version = "1.59";
7126     src = fetchurl {
7127       url = "mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.59.tar.gz";
7128       hash = "sha256-ClqllTq2XPeQaB5sBFLjGK1X2ArCf1dfhJGMYDqkdAY=";
7129     };
7130     propagatedBuildInputs = [ DBI ];
7131     buildInputs = [ ModuleBuildTiny TestException ];
7132     meta = {
7133       description = "Mock database driver for testing";
7134       license = with lib.licenses; [ artistic1 gpl1Plus ];
7135     };
7136   };
7138   DBDSQLite = buildPerlPackage {
7139     pname = "DBD-SQLite";
7140     version = "1.74";
7142     src = fetchurl {
7143       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.74.tar.gz";
7144       hash = "sha256-iZSZfYS5/rRUd5X3h0bGYfty48tqJdvdeJtzH1aIpN0=";
7145     };
7147     propagatedBuildInputs = [ DBI ];
7148     buildInputs = [ pkgs.sqlite ];
7150     patches = [
7151       # Support building against our own sqlite.
7152       ../development/perl-modules/DBD-SQLite/external-sqlite.patch
7154       # Pull upstream fix for test failures against sqlite-3.37.
7155       (fetchpatch {
7156         name = "sqlite-3.37-compat.patch";
7157         url = "https://github.com/DBD-SQLite/DBD-SQLite/commit/ba4f472e7372dbf453444c7764d1c342e7af12b8.patch";
7158         hash = "sha256-nn4JvaIGlr2lUnUC+0ABe9AFrRrC5bfdTQiefo0Pjwo=";
7159       })
7160     ];
7162     makeMakerFlags = [ "SQLITE_INC=${pkgs.sqlite.dev}/include" "SQLITE_LIB=${pkgs.sqlite.out}/lib" ];
7164     postInstall = ''
7165       # Get rid of a pointless copy of the SQLite sources.
7166       rm -rf $out/${perl.libPrefix}/*/*/auto/share
7167     '';
7169     preCheck = "rm t/65_db_config.t"; # do not run failing tests
7171     meta = {
7172       description = "Self Contained SQLite RDBMS in a DBI Driver";
7173       license = with lib.licenses; [ artistic1 gpl1Plus ];
7174       platforms = lib.platforms.unix;
7175     };
7176   };
7178   DBDMariaDB = buildPerlPackage {
7179     pname = "DBD-MariaDB";
7180     version = "1.23";
7181     src = fetchurl {
7182       url = "mirror://cpan/authors/id/P/PA/PALI/DBD-MariaDB-1.23.tar.gz";
7183       hash = "sha256-DQx2xmDd1VVw5I8+L96o9iGmmsDtSBkOjPyvy16bhZ0=";
7184     };
7185     buildInputs = [ pkgs.mariadb-connector-c DevelChecklib TestDeep TestDistManifest TestPod ];
7186     propagatedBuildInputs = [ DBI ];
7187     meta = {
7188       description = "MariaDB and MySQL driver for the Perl5 Database Interface (DBI)";
7189       homepage = "https://github.com/gooddata/DBD-MariaDB";
7190       license = with lib.licenses; [ artistic1 gpl1Plus ];
7191       maintainers = [ maintainers.sgo ];
7192     };
7193   };
7195   DBDmysql = buildPerlPackage {
7196     pname = "DBD-mysql";
7197     version = "4.050";
7199     src = fetchurl {
7200       url = "mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz";
7201       hash = "sha256-T0hUH/FaCnQF92rcEPgWJ8M5lvv1bJXCbAlERMCSjXg=";
7202     };
7204     buildInputs = [ pkgs.libmysqlclient DevelChecklib TestDeep TestDistManifest TestPod ];
7205     propagatedBuildInputs = [ DBI ];
7207     doCheck = false;
7209   #  makeMakerFlags = "MYSQL_HOME=${mysql}";
7210     meta = {
7211       description = "MySQL driver for the Perl5 Database Interface (DBI)";
7212       license = with lib.licenses; [ artistic1 gpl1Plus ];
7213     };
7214   };
7216   DBDOracle = buildPerlPackage {
7217     pname = "DBD-Oracle";
7218     version = "1.83";
7220     src = fetchurl {
7221       url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.83.tar.gz";
7222       hash = "sha256-Uf6cFYlV/aDKkXqAaGPwvFEGi1M/u8dCOzzErVle0VM=";
7223     };
7225     ORACLE_HOME = "${pkgs.oracle-instantclient.lib}/lib";
7227     buildInputs = [ pkgs.oracle-instantclient TestNoWarnings ];
7228     propagatedBuildInputs = [ DBI ];
7230     postBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
7231       install_name_tool -add_rpath "${pkgs.oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
7232     '';
7233     meta = {
7234       description = "Oracle database driver for the DBI module";
7235       license = with lib.licenses; [ artistic1 gpl1Plus ];
7236     };
7237   };
7239   DBDPg = buildPerlPackage {
7240     pname = "DBD-Pg";
7241     version = "3.17.0";
7243     src = fetchurl {
7244       url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.17.0.tar.gz";
7245       hash = "sha256-jZANTA50nzchh1KmZh+w01V6sfzMjeo4TLWHw4LeIZs=";
7246     };
7248     buildInputs = [ pkgs.postgresql ];
7249     propagatedBuildInputs = [ DBI ];
7251     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
7253     # tests freeze in a sandbox
7254     doCheck = false;
7256     meta = {
7257       description = "DBI PostgreSQL interface";
7258       homepage = "https://search.cpan.org/dist/DBD-Pg";
7259       license = with lib.licenses; [ artistic1 gpl1Plus ];
7260       platforms = lib.platforms.unix;
7261     };
7262   };
7264   DBDsybase = buildPerlPackage {
7265     pname = "DBD-Sybase";
7266     version = "1.23";
7268     src = fetchurl {
7269       url = "mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.23.tar.gz";
7270       hash = "sha256-B1e6aqyaKaLcOFmV1myPQSqIlo/SNsDYu0ZZAo5OmWU=";
7271     };
7273     SYBASE = pkgs.freetds;
7275     buildInputs = [ pkgs.freetds ];
7276     propagatedBuildInputs = [ DBI ];
7278     doCheck = false;
7280     meta = {
7281       description = "DBI driver for Sybase datasources";
7282       license = with lib.licenses; [ artistic1 gpl1Only ];
7283       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DBDsybase.x86_64-darwin
7284     };
7285   };
7287   DBFile = buildPerlPackage {
7288     pname = "DB_File";
7289     version = "1.859";
7291     src = fetchurl {
7292       url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.859.tar.gz";
7293       hash = "sha256-VnTg0s0LBgxNElNnDqAixk2EKlUlf5647bGcD1PiVlw=";
7294     };
7296     preConfigure = ''
7297       cat > config.in <<EOF
7298       PREFIX = size_t
7299       HASH = u_int32_t
7300       LIB = ${pkgs.db.out}/lib
7301       INCLUDE = ${pkgs.db.dev}/include
7302       EOF
7303     '';
7304     meta = {
7305       description = "Perl5 access to Berkeley DB version 1.x";
7306       license = with lib.licenses; [ artistic1 gpl1Plus ];
7307     };
7308   };
7310   DBI = buildPerlPackage {
7311     pname = "DBI";
7312     version = "1.644";
7314     src = fetchurl {
7315       url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBI-1.644.tar.gz";
7316       hash = "sha256-Ipe5neCeZwhmQLWQaZ4OmC+0adpjqT/ijcFHgtt6U8g=";
7317     };
7319     env = lib.optionalAttrs stdenv.cc.isGNU {
7320       NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
7321     };
7323     postInstall = lib.optionalString (perl ? crossVersion) ''
7324       mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI
7325       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm <<EOF
7326       package DBI;
7327       BEGIN {
7328       our \$VERSION = "$version";
7329       }
7330       1;
7331       EOF
7333       autodir=$(echo $out/${perl.libPrefix}/${perl.version}/*/auto/DBI)
7334       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI/DBD.pm <<EOF
7335       package DBI::DBD;
7336       use Exporter ();
7337       use vars qw (@ISA @EXPORT);
7338       @ISA = qw(Exporter);
7339       @EXPORT = qw(dbd_postamble);
7340       sub dbd_postamble {
7341           return '
7342       # --- This section was generated by DBI::DBD::dbd_postamble()
7343       DBI_INSTARCH_DIR=$autodir
7344       DBI_DRIVER_XST=$autodir/Driver.xst
7346       # The main dependency (technically correct but probably not used)
7347       \$(BASEEXT).c: \$(BASEEXT).xsi
7349       # This dependency is needed since MakeMaker uses the .xs.o rule
7350       \$(BASEEXT)\$(OBJ_EXT): \$(BASEEXT).xsi
7352       \$(BASEEXT).xsi: \$(DBI_DRIVER_XST) $autodir/Driver_xst.h
7353       ''\t\$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
7355       # ---
7356       ';
7357       }
7358       1;
7359       EOF
7360     '';
7362     meta = {
7363       description = "Database independent interface for Perl";
7364       homepage = "https://dbi.perl.org";
7365       license = with lib.licenses; [ artistic1 gpl1Plus ];
7366     };
7367   };
7369   DBICxTestDatabase = buildPerlPackage {
7370     pname = "DBICx-TestDatabase";
7371     version = "0.05";
7372     src = fetchurl {
7373       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/DBICx-TestDatabase-0.05.tar.gz";
7374       hash = "sha256-jjvCUwsBIWGIw6plrNvS9ZxOYx864IXfxDmr2J+PCs8=";
7375     };
7376     buildInputs = [ DBIxClass TestSimple13 ];
7377     propagatedBuildInputs = [ DBDSQLite SQLTranslator ];
7378     meta = {
7379       description = "Create a temporary database from a DBIx::Class::Schema";
7380       homepage = "https://metacpan.org/pod/DBICx::TestDatabase";
7381       license = with lib.licenses; [ artistic1 gpl1Plus ];
7382       maintainers = [ maintainers.sgo ];
7383     };
7384   };
7386   DBIxClass = buildPerlPackage {
7387     pname = "DBIx-Class";
7388     version = "0.082843";
7389     src = fetchurl {
7390       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082843.tar.gz";
7391       hash = "sha256-NB4Lbssp2MSRdKbAnXxtvzhym6QBXuf9cDYKT/7h8lE=";
7392     };
7393     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
7394     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstractClassic ScopeGuard SubName namespaceclean ];
7395     meta = {
7396       description = "Extensible and flexible object <-> relational mapper";
7397       homepage = "https://metacpan.org/pod/DBIx::Class";
7398       license = with lib.licenses; [ artistic1 gpl1Plus ];
7399       mainProgram = "dbicadmin";
7400     };
7401   };
7403   DBIxClassCandy = buildPerlPackage {
7404     pname = "DBIx-Class-Candy";
7405     version = "0.005003";
7406     src = fetchurl {
7407       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.005003.tar.gz";
7408       hash = "sha256-uKIpp7FfVZCV1FYc+CIEYBKFQbp/w1Re01hpkj1GVlw=";
7409     };
7410     buildInputs = [ TestDeep TestFatal ];
7411     propagatedBuildInputs = [ DBIxClass LinguaENInflect SubExporter ];
7412     meta = {
7413       description = "Sugar for your favorite ORM, DBIx::Class";
7414       homepage = "https://github.com/frioux/DBIx-Class-Candy";
7415       license = with lib.licenses; [ artistic1 gpl1Plus ];
7416     };
7417   };
7419   DBIxClassCursorCached = buildPerlPackage {
7420     pname = "DBIx-Class-Cursor-Cached";
7421     version = "1.001004";
7422     src = fetchurl {
7423       url = "mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz";
7424       hash = "sha256-NwhSMqEjClqodUOZ+1mw+PzV9Zeh4uNIxSJ0YaGSYiU=";
7425     };
7426     buildInputs = [ CacheCache DBDSQLite ];
7427     propagatedBuildInputs = [ CarpClan DBIxClass ];
7428     meta = {
7429       description = "Cursor class with built-in caching support";
7430       license = with lib.licenses; [ artistic1 gpl1Plus ];
7431     };
7432   };
7434   DBIxClassDynamicDefault = buildPerlPackage {
7435     pname = "DBIx-Class-DynamicDefault";
7436     version = "0.04";
7437     src = fetchurl {
7438       url = "mirror://cpan/authors/id/M/MS/MSTROUT/DBIx-Class-DynamicDefault-0.04.tar.gz";
7439       hash = "sha256-Io9RqyJGQlhLTcY9tt4mZ8W/riqJSpN2shChBIBqWvs=";
7440     };
7441     buildInputs = [ DBICxTestDatabase ];
7442     propagatedBuildInputs = [ DBIxClass ];
7443     meta = {
7444       description = "Automatically set and update fields";
7445       homepage = "https://metacpan.org/pod/DBIx::Class::DynamicDefault";
7446       license = with lib.licenses; [ artistic1 gpl1Plus ];
7447       maintainers = [ maintainers.sgo ];
7448     };
7449   };
7451   DBIxClassHTMLWidget = buildPerlPackage {
7452     pname = "DBIx-Class-HTMLWidget";
7453     version = "0.16";
7454     src = fetchurl {
7455       url = "mirror://cpan/authors/id/A/AN/ANDREMAR/DBIx-Class-HTMLWidget-0.16.tar.gz";
7456       hash = "sha256-QUJ1YyFu31qTllCQrg4chaldN6gdcg8CwTYM+n208Bc=";
7457     };
7458     propagatedBuildInputs = [ DBIxClass HTMLWidget ];
7459     meta = {
7460       description = "Like FromForm but with DBIx::Class and HTML::Widget";
7461       license = with lib.licenses; [ artistic1 gpl1Plus ];
7462     };
7463   };
7465   DBIxClassHelpers = buildPerlPackage {
7466     pname = "DBIx-Class-Helpers";
7467     version = "2.036000";
7468     src = fetchurl {
7469       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.036000.tar.gz";
7470       hash = "sha256-t7i0iRqYPANO8LRfQRJASgpAVQxOIX2ut6IsoWhh79s=";
7471     };
7472     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
7473     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
7474     meta = {
7475       description = "Simplify the common case stuff for DBIx::Class";
7476       homepage = "https://github.com/frioux/DBIx-Class-Helpers";
7477       license = with lib.licenses; [ artistic1 gpl1Plus ];
7478     };
7479   };
7481   DBIxClassInflateColumnSerializer = buildPerlPackage {
7482     pname = "DBIx-Class-InflateColumn-Serializer";
7483     version = "0.09";
7484     src = fetchurl {
7485       url = "mirror://cpan/authors/id/M/MR/MRUIZ/DBIx-Class-InflateColumn-Serializer-0.09.tar.gz";
7486       hash = "sha256-YmK0hx22psRaDL583o8biQsiwpGt1OzEDKruq1o6b1A=";
7487     };
7488     buildInputs = [ DBDSQLite TestException ];
7489     propagatedBuildInputs = [ DBIxClass JSONMaybeXS YAML ];
7490     meta = {
7491       description = "Inflators to serialize data structures for DBIx::Class";
7492       homepage = "https://metacpan.org/release/DBIx-Class-InflateColumn-Serializer";
7493       license = with lib.licenses; [ artistic1 gpl1Plus ];
7494       maintainers = [ maintainers.sgo ];
7495     };
7496   };
7498   DBIxClassIntrospectableM2M = buildPerlPackage {
7499     pname = "DBIx-Class-IntrospectableM2M";
7500     version = "0.001002";
7501     src = fetchurl {
7502       url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-IntrospectableM2M-0.001002.tar.gz";
7503       hash = "sha256-xrqvtCQWk/2zSynr2QaZOt02S/Mar6RGLz4GIgTMh/A=";
7504     };
7505     propagatedBuildInputs = [ DBIxClass ];
7506     meta = {
7507       description = "Introspect many-to-many relationships";
7508       license = with lib.licenses; [ artistic1 gpl1Plus ];
7509     };
7510   };
7512   DBIxClassSchemaLoader = buildPerlPackage {
7513     pname = "DBIx-Class-Schema-Loader";
7514     version = "0.07051";
7515     src = fetchurl {
7516       url = "mirror://cpan/authors/id/V/VE/VEESH/DBIx-Class-Schema-Loader-0.07051.tar.gz";
7517       hash = "sha256-GgieUISlJ2j0J0vCGB3LrhTcxXnk2YD89WnGeBsGCSw=";
7518     };
7519     buildInputs = [ DBDSQLite TestDeep TestDifferences TestException TestWarn ];
7520     propagatedBuildInputs = [ CarpClan ClassUnload DBIxClass DataDump StringCamelCase StringToIdentifierEN curry ];
7521     meta = {
7522       description = "Create a DBIx::Class::Schema based on a database";
7523       license = with lib.licenses; [ artistic1 gpl1Plus ];
7524       mainProgram = "dbicdump";
7525     };
7526   };
7528   DBIxConnector = buildPerlPackage {
7529     pname = "DBIx-Connector";
7530     version = "0.59";
7531     src = fetchurl {
7532       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/DBIx-Connector-0.59.tar.gz";
7533       hash = "sha256-eCmU8T9JVVhAU4SU+EBrC/JVj1M8zahsjSuV4jAQh/Q=";
7534     };
7535     buildInputs = [ TestMockModule ];
7536     propagatedBuildInputs = [ DBI ];
7537     meta = {
7538       description = "Fast, safe DBI connection and transaction management";
7539       license = with lib.licenses; [ artistic1 gpl1Plus ];
7540     };
7541   };
7543   DBIxDBSchema = buildPerlPackage {
7544     pname = "DBIx-DBSchema";
7545     version = "0.47";
7546     src = fetchurl {
7547       url = "mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.47.tar.gz";
7548       hash = "sha256-7u4hDcFKjWPrAawtZsZ6HcJ5+Sib6WphckyJUXkcUhI=";
7549     };
7550     propagatedBuildInputs = [ DBI ];
7551     meta = {
7552       description = "Database-independent schema objects";
7553       license = with lib.licenses; [ artistic1 gpl1Plus ];
7554     };
7555   };
7557   DBIxSearchBuilder = buildPerlPackage {
7558     pname = "DBIx-SearchBuilder";
7559     version = "1.77";
7560     src = fetchurl {
7561       url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.77.tar.gz";
7562       hash = "sha256-O/il1cjF/cYK0vY/Y/c90fZJP/TYJYcoOj4iM36P4HA=";
7563     };
7564     buildInputs = [ DBDSQLite ];
7565     propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBIxDBSchema Want capitalization ];
7566     meta = {
7567       description = "Encapsulate SQL queries and rows in simple perl objects";
7568       license = with lib.licenses; [ artistic1 gpl1Plus ];
7569     };
7570   };
7572   DBIxSimple = buildPerlPackage {
7573     pname = "DBIx-Simple";
7574     version = "1.37";
7575     src = fetchurl {
7576       url = "mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz";
7577       hash = "sha256-RtMRqizgiQdAHFYRllhCbbsETFpA3nPZp7eb9QOQyuM=";
7578     };
7579     propagatedBuildInputs = [ DBI ];
7580     meta = {
7581       description = "Very complete easy-to-use OO interface to DBI";
7582       license = with lib.licenses; [ artistic1 gpl1Plus ];
7583     };
7584   };
7586   DBMDeep = buildPerlPackage {
7587     pname = "DBM-Deep";
7588     version = "2.0017";
7589     src = fetchurl {
7590       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/DBM-Deep-2.0017.tar.gz";
7591       hash = "sha256-1yNFIFdVO72UXWMhXr/gqnepLsbg+jOw2spXrhuKTSQ=";
7592     };
7593     buildInputs = [ TestDeep TestException TestPod TestPodCoverage TestWarn ];
7594     meta = {
7595       description = "Pure perl multi-level hash/array DBM that supports transactions";
7596       homepage = "https://github.com/robkinyon/dbm-deep";
7597       license = with lib.licenses; [ artistic1 gpl1Plus ];
7598     };
7599   };
7601   DataBinary = buildPerlPackage {
7602     pname = "Data-Binary";
7603     version = "0.01";
7604     src = fetchurl {
7605       url = "mirror://cpan/authors/id/S/SN/SNKWATT/Data-Binary-0.01.tar.gz";
7606       hash = "sha256-SCGi3hCscQj03LKEpxuHaYGwyx6mxe1q+xd78ufLjXM=";
7607     };
7608     meta = {
7609       description = "Simple detection of binary versus text in strings";
7610       license = with lib.licenses; [ artistic2 ];
7611     };
7612   };
7614   DataBuffer = buildPerlPackage {
7615     pname = "Data-Buffer";
7616     version = "0.04";
7617     src = fetchurl {
7618       url = "mirror://cpan/authors/id/B/BT/BTROTT/Data-Buffer-0.04.tar.gz";
7619       hash = "sha256-Kz0Jt7zzifwRYgeyg77iUONI1EycY0YL7mfvq03SG7Q=";
7620     };
7621     meta = {
7622       description = "Read/write buffer class";
7623       license = with lib.licenses; [ artistic1 gpl1Plus ];
7624       maintainers = [ maintainers.sgo ];
7625     };
7626   };
7628   DBIxIntrospector = buildPerlPackage {
7629     pname = "DBIx-Introspector";
7630     version = "0.001005";
7631     src = fetchurl {
7632       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Introspector-0.001005.tar.gz";
7633       hash = "sha256-lqlNLMaQwfqP00ET47CEvypGmjI6l4AoWu+S3cOB5jo=";
7634     };
7636     propagatedBuildInputs = [ DBI Moo ];
7637     buildInputs = [ DBDSQLite TestFatal TestRoo ];
7638     meta = {
7639       description = "Detect what database you are connected to";
7640       license = with lib.licenses; [ artistic1 gpl1Plus ];
7641     };
7642   };
7644   DevelCamelcadedb = buildPerlPackage {
7645     pname = "Devel-Camelcadedb";
7646     version = "2023.1";
7647     src = fetchurl {
7648       url = "mirror://cpan/authors/id/H/HU/HURRICUP/Devel-Camelcadedb-v2023.1.tar.gz";
7649       hash = "sha256-z/jSTllF45RN6/ITmVprFVuR5YE0aRVrE9Ws819qXZ8=";
7650     };
7651     propagatedBuildInputs = [ HashStoredIterator JSONXS PadWalker ];
7652     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
7653     meta = {
7654       description = "Perl side of the Perl debugger for IntelliJ IDEA and other JetBrains IDEs";
7655       license = with lib.licenses; [ mit ];
7656     };
7657   };
7659   DevelCycle = buildPerlPackage {
7660     pname = "Devel-Cycle";
7661     version = "1.12";
7662     src = fetchurl {
7663       url = "mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz";
7664       hash = "sha256-/TNlxNiYsrK927eKRtUHoYzKhJCikBmVR9q38ec5C8I=";
7665     };
7666     meta = {
7667       description = "Find memory cycles in objects";
7668       license = with lib.licenses; [ artistic1 gpl1Plus ];
7669     };
7670   };
7672   DevelDeclare = buildPerlPackage {
7673     pname = "Devel-Declare";
7674     version = "0.006022";
7675     src = fetchurl {
7676       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-Declare-0.006022.tar.gz";
7677       hash = "sha256-cvKco1ZGpZO+mDEf/dtyAzrh6KnYJUxiqiSL1iYOWW4=";
7678     };
7679     buildInputs = [ ExtUtilsDepends TestRequires ];
7680     propagatedBuildInputs = [ BHooksEndOfScope BHooksOPCheck SubName ];
7681     meta = {
7682       description = "(DEPRECATED) Adding keywords to perl, in perl";
7683       license = with lib.licenses; [ artistic1 gpl1Plus ];
7684     };
7685   };
7687   DevelFindPerl = buildPerlPackage {
7688     pname = "Devel-FindPerl";
7689     version = "0.016";
7690     src = fetchurl {
7691       url = "mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.016.tar.gz";
7692       hash = "sha256-Q6K/L3h6PxuIEXkGMWKyqj58sET25eduxkZq6QqGETg=";
7693     };
7694     meta = {
7695       description = "Find the path to your perl";
7696       license = with lib.licenses; [ artistic1 gpl1Plus ];
7697     };
7698   };
7700   DevelGlobalDestruction = buildPerlPackage {
7701     pname = "Devel-GlobalDestruction";
7702     version = "0.14";
7703     src = fetchurl {
7704       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz";
7705       hash = "sha256-NLil8pmRMRRo/mkTytq6df1dKws+47tB/ltT76uRVKs=";
7706     };
7707     propagatedBuildInputs = [ SubExporterProgressive ];
7708     meta = {
7709       description = "Provides function returning the equivalent of \${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls";
7710       homepage = "https://metacpan.org/release/Devel-GlobalDestruction";
7711       license = with lib.licenses; [ artistic1 gpl1Plus ];
7712     };
7713   };
7715   DevelGlobalPhase = buildPerlPackage {
7716     pname = "Devel-GlobalPhase";
7717     version = "0.003003";
7718     src = fetchurl {
7719       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz";
7720       hash = "sha256-jaMCL3ynHf2/SqYGmJRNcgCsMUn0c32KnJG/Q4f/MvU=";
7721     };
7722     meta = {
7723       description = "Detect perl's global phase on older perls";
7724       license = with lib.licenses; [ artistic1 gpl1Plus ];
7725     };
7726   };
7728   DevelHide = buildPerlPackage {
7729     pname = "Devel-Hide";
7730     version = "0.0015";
7731     src = fetchurl {
7732       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-Hide-0.0015.tar.gz";
7733       hash = "sha256-/I2+t/fXWnjtSWseDgXPyZxorKs6LpLP8VXKXw+l31g=";
7734     };
7735     meta = {
7736       description = "Forces the unavailability of specified Perl modules (for testing)";
7737       license = with lib.licenses; [ artistic1 gpl1Plus ];
7738     };
7739   };
7741   DevelNYTProf = buildPerlPackage {
7742     pname = "Devel-NYTProf";
7743     version = "6.12";
7744     src = fetchurl {
7745       url = "mirror://cpan/authors/id/J/JK/JKEENAN/Devel-NYTProf-6.12.tar.gz";
7746       hash = "sha256-qDtZheTalr24X1McFqtvPUkHGnM80JSqMPqF+2pLAsQ=";
7747     };
7748     propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
7749     buildInputs = [ CaptureTiny TestDifferences ];
7750     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
7751     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
7752       shortenPerlShebang $out/bin/*
7753     '';
7754     meta = {
7755       description = "Powerful fast feature-rich Perl source code profiler";
7756       homepage = "https://code.google.com/p/perl-devel-nytprof";
7757       license = with lib.licenses; [ artistic1 gpl1Plus ];
7758     };
7759   };
7761   DevelOverloadInfo = buildPerlPackage {
7762     pname = "Devel-OverloadInfo";
7763     version = "0.007";
7764     src = fetchurl {
7765       url = "mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.007.tar.gz";
7766       hash = "sha256-IaGEFjuQ+R8G/8f13guWg1ZUaum0AKnXXFc8lYwkYiI=";
7767     };
7768     propagatedBuildInputs = [ MROCompat PackageStash SubIdentify ];
7769     buildInputs = [ TestFatal ];
7770     meta = {
7771       description = "Introspect overloaded operators";
7772       license = with lib.licenses; [ artistic1 gpl1Plus ];
7773     };
7774   };
7776   DevelOverrideGlobalRequire = buildPerlPackage {
7777     pname = "Devel-OverrideGlobalRequire";
7778     version = "0.001";
7779     src = fetchurl {
7780       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Devel-OverrideGlobalRequire-0.001.tar.gz";
7781       hash = "sha256-B5GJLeOuKSr0qU44LyHbHuiCEIdQMYUebqgsNBB4Xvk=";
7782     };
7783     meta = {
7784       homepage = "https://metacpan.org/release/Devel-OverrideGlobalRequire";
7785       description = "Override CORE::GLOBAL::require safely";
7786       license = with lib.licenses; [ artistic1 gpl1Plus ];
7787     };
7788   };
7790   DevelPartialDump = buildPerlPackage {
7791     pname = "Devel-PartialDump";
7792     version = "0.20";
7793     src = fetchurl {
7794       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz";
7795       hash = "sha256-rvD/PqWalpGWfCiFEY/2ZxVghJVwicQ4j0nbZG/T2Qc=";
7796     };
7797     propagatedBuildInputs = [ ClassTiny SubExporter namespaceclean ];
7798     buildInputs = [ TestSimple13 TestWarnings ];
7799     meta = {
7800       description = "Partial dumping of data structures, optimized for argument printing";
7801       license = with lib.licenses; [ artistic1 gpl1Plus ];
7802     };
7803   };
7805   DevelStackTrace = buildPerlPackage {
7806     pname = "Devel-StackTrace";
7807     version = "2.04";
7808     src = fetchurl {
7809       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz";
7810       hash = "sha256-zTwD7VR9PULGH6WBTJgpYTk5LnlxwJLgmkMfLJ9daFU=";
7811     };
7812     meta = {
7813       description = "Object representing a stack trace";
7814       homepage = "https://metacpan.org/release/Devel-StackTrace";
7815       license = with lib.licenses; [ artistic2 ];
7816     };
7817   };
7819   DevelSize = buildPerlPackage {
7820     pname = "Devel-Size";
7821     version = "0.84";
7822     src = fetchurl {
7823       url = "mirror://cpan/authors/id/N/NW/NWCLARK/Devel-Size-0.84.tar.gz";
7824       hash = "sha256-2y5NZfaI2/WSc7XoIQGsPxpm9mWvsFlNzhaLhlCk0OQ=";
7825     };
7826     meta = {
7827       description = "Perl extension for finding the memory usage of Perl variables";
7828       license = with lib.licenses; [ artistic1 gpl1Plus ];
7829     };
7830   };
7832   DevelStackTraceAsHTML = buildPerlPackage {
7833     pname = "Devel-StackTrace-AsHTML";
7834     version = "0.15";
7835     src = fetchurl {
7836       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz";
7837       hash = "sha256-YoPb4hl+LyAAnMS0SZl3Qhac3ZUb/ETLxuYsKpYtMUc=";
7838     };
7839     propagatedBuildInputs = [ DevelStackTrace ];
7840     meta = {
7841       description = "Displays stack trace in HTML";
7842       homepage = "https://github.com/miyagawa/Devel-StackTrace-AsHTML";
7843       license = with lib.licenses; [ artistic1 gpl1Plus ];
7844     };
7845   };
7847   DevelSymdump = buildPerlPackage {
7848     pname = "Devel-Symdump";
7849     version = "2.18";
7850     src = fetchurl {
7851       url = "mirror://cpan/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz";
7852       hash = "sha256-gm+BoQf1WSolFnZu1DvrR+EMyD7cnqSAkLAqNgQHdsA=";
7853     };
7854     meta = {
7855       description = "Dump symbol names or the symbol table";
7856       license = with lib.licenses; [ artistic1 gpl1Plus ];
7857     };
7858   };
7860   DigestCRC = buildPerlPackage {
7861     pname = "Digest-CRC";
7862     version = "0.24";
7863     src = fetchurl {
7864       url = "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-0.24.tar.gz";
7865       hash = "sha256-ugIqBbGtvsc3EsRvIz2Eif4Tobn8QKH8zu2bUvkN78E=";
7866     };
7867     meta = {
7868       description = "Module that calculates CRC sums of all sorts";
7869       license = with lib.licenses; [ publicDomain ];
7870     };
7871   };
7873   DigestHMAC = buildPerlPackage {
7874     pname = "Digest-HMAC";
7875     version = "1.04";
7876     src = fetchurl {
7877       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Digest-HMAC-1.04.tar.gz";
7878       hash = "sha256-1ryBVqonXETXlLfBj0TNrEpYFAJFyVnmsZssODiwjtQ=";
7879     };
7880     meta = {
7881       description = "Keyed-Hashing for Message Authentication";
7882       homepage = "https://metacpan.org/release/Digest-HMAC";
7883       license = with lib.licenses; [ artistic1 gpl1Plus ];
7884     };
7885   };
7887   DigestJHash = buildPerlPackage {
7888     pname = "Digest-JHash";
7889     version = "0.10";
7890     src = fetchurl {
7891       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Digest-JHash-0.10.tar.gz";
7892       hash = "sha256-x0bPCoYaAECQJjzVTXco0MdZWgz5DLv9hAmzlu47AGM=";
7893     };
7894     meta = {
7895       description = "Perl extension for 32 bit Jenkins Hashing Algorithm";
7896       license = with lib.licenses; [ artistic2 ];
7897     };
7898   };
7900   DigestMD2 = buildPerlPackage {
7901     pname = "Digest-MD2";
7902     version = "2.04";
7903     src = fetchurl {
7904       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-MD2-2.04.tar.gz";
7905       hash = "sha256-0Kq/SDTCCsQRvqQnxKMItZpfyqMnZ571KUwdaKtx7tM=";
7906     };
7907     meta = {
7908       description = "Perl interface to the MD2 Algorithm";
7909       license = with lib.licenses; [ artistic1 gpl1Plus ];
7910       maintainers = [ maintainers.sgo ];
7911     };
7912   };
7914   DigestMD4 = buildPerlPackage {
7915     pname = "Digest-MD4";
7916     version = "1.9";
7917     src = fetchurl {
7918       url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz";
7919       hash = "sha256-ZlEQu6MkcPOY8xHNZGL9iXXXyDZ1/2dLwvbHtysMqqY=";
7920     };
7921     meta = {
7922       description = "Perl interface to the MD4 Algorithm";
7923       license = with lib.licenses; [ artistic1 gpl1Plus ];
7924     };
7925   };
7927   DigestMD5File = buildPerlPackage {
7928     pname = "Digest-MD5-File";
7929     version = "0.08";
7930     src = fetchurl {
7931       url = "mirror://cpan/authors/id/D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz";
7932       hash = "sha256-rbQ6VOMmJ7T35XyWQObrBtC7edjqVM0L157TVoj7Ehg=";
7933     };
7934     propagatedBuildInputs = [ LWP ];
7935     meta = {
7936       description = "Perl extension for getting MD5 sums for files and urls";
7937       license = with lib.licenses; [ artistic1 gpl1Plus ];
7938     };
7939   };
7941   DigestPerlMD5 = buildPerlPackage {
7942     pname = "Digest-Perl-MD5";
7943     version = "1.9";
7944     src = fetchurl {
7945       url = "mirror://cpan/authors/id/D/DE/DELTA/Digest-Perl-MD5-1.9.tar.gz";
7946       hash = "sha256-cQDLoXEPRfsOkH2LGnvYyu81xkrNMdfyJa/1r/7s2bE=";
7947     };
7948     meta = {
7949       description = "Perl Implementation of Rivest's MD5 algorithm";
7950       license = with lib.licenses; [ artistic1 gpl1Plus ];
7951     };
7952   };
7954   DigestSHA1 = buildPerlPackage {
7955     pname = "Digest-SHA1";
7956     version = "2.13";
7957     src = fetchurl {
7958       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz";
7959       hash = "sha256-aMHawhh0IfDrer9xRSoG8ZAYG4/Eso7e31uQKW+5Q8w=";
7960     };
7961     meta = {
7962       description = "Perl interface to the SHA-1 algorithm";
7963       license = with lib.licenses; [ artistic1 gpl1Plus ];
7964     };
7965   };
7967   DigestSHA3 = buildPerlPackage {
7968     pname = "Digest-SHA3";
7969     version = "1.05";
7970     src = fetchurl {
7971       url = "mirror://cpan/authors/id/M/MS/MSHELOR/Digest-SHA3-1.05.tar.gz";
7972       hash = "sha256-rfG5B5sreBdV5XBId6FDCl8SmX6oIgX9KWbJzEZahSI=";
7973     };
7974     meta = {
7975       description = "Perl extension for SHA-3";
7976       homepage = "https://metacpan.org/release/Digest-SHA3";
7977       license = with lib.licenses; [ artistic1 gpl1Plus ];
7978       maintainers = [ maintainers.sgo ];
7979       mainProgram = "sha3sum";
7980     };
7981   };
7983   DigestSRI = buildPerlPackage {
7984     pname = "Digest-SRI";
7985     version = "0.02";
7986     src = fetchurl {
7987       url = "mirror://cpan/authors/id/H/HA/HAUKEX/Digest-SRI-0.02.tar.gz";
7988       hash = "sha256-VITN/m68OYwkZfeBx3w++1OKOULNSyDWiBjG//kHT8c=";
7989     };
7990     meta = {
7991       description = "Calculate and verify Subresource Integrity hashes (SRI)";
7992       homepage = "https://github.com/haukex/Digest-SRI";
7993       license = with lib.licenses; [ gpl3Plus ];
7994     };
7995   };
7997   DirManifest = buildPerlModule {
7998     pname = "Dir-Manifest";
7999     version = "0.6.1";
8000     src = fetchurl {
8001       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Dir-Manifest-0.6.1.tar.gz";
8002       hash = "sha256-hP9yJoc9XoZW7Hc0TAg4wVOp8BW0a2Dh/oeYuykn5QU=";
8003     };
8004     propagatedBuildInputs = [ Moo PathTiny ];
8005     meta = {
8006       description = "Treat a directory and a manifest file as a hash/dictionary of keys to texts or blobs";
8007       homepage = "https://metacpan.org/release/Dir-Manifest";
8008       license = with lib.licenses; [ mit ];
8009     };
8010   };
8012   DirSelf = buildPerlPackage {
8013     pname = "Dir-Self";
8014     version = "0.11";
8015     src = fetchurl {
8016       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dir-Self-0.11.tar.gz";
8017       hash = "sha256-4lGlGrx9m6PnCPc8KqII4J1HoMUo1iVHEPp4zI1ohbU=";
8018     };
8019     meta = {
8020       description = "__DIR__ constant for the directory your source file is in";
8021       homepage = "https://github.com/mauke/Dir-Self";
8022       license = with lib.licenses; [ artistic1 gpl1Plus ];
8023     };
8024   };
8026   DispatchClass = buildPerlPackage {
8027     pname = "Dispatch-Class";
8028     version = "0.02";
8029     src = fetchurl {
8030       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dispatch-Class-0.02.tar.gz";
8031       hash = "sha256-1020Oxr56L1G/8Fb/k3x5dgQxCzoWC6TdRDcKiyhZYI=";
8032     };
8033     propagatedBuildInputs = [ ExporterTiny ];
8034     meta = {
8035       description = "Dispatch on the type (class) of an argument";
8036       license = with lib.licenses; [ artistic1 gpl1Plus ];
8037     };
8038   };
8040   DistCheckConflicts = buildPerlPackage {
8041     pname = "Dist-CheckConflicts";
8042     version = "0.11";
8043     src = fetchurl {
8044       url = "mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz";
8045       hash = "sha256-6oRLlobJTWZtnURDIddkSQss3i+YXEFltMLHdmXK7cQ=";
8046     };
8047     buildInputs = [ TestFatal ];
8048     propagatedBuildInputs = [ ModuleRuntime ];
8049     meta = {
8050       description = "Declare version conflicts for your dist";
8051       homepage = "https://metacpan.org/release/Dist-CheckConflicts";
8052       license = with lib.licenses; [ artistic1 gpl1Plus ];
8053     };
8054   };
8056   DistZilla = buildPerlPackage {
8057     pname = "Dist-Zilla";
8058     version = "6.030";
8059     src = fetchurl {
8060       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.030.tar.gz";
8061       hash = "sha256-xAa75oCelO23DKlDJMMBQz1sij375wsC3xLh3/LzsTA=";
8062     };
8063     buildInputs = [ CPANMetaCheck TestDeep TestFailWarnings TestFatal TestFileShareDir ];
8064     propagatedBuildInputs = [ AppCmd CPANUploader ConfigMVPReaderINI DateTime FileCopyRecursive FileFindRule FileShareDirInstall Filepushd LogDispatchouli MooseXLazyRequire MooseXSetOnce MooseXTypesPerl PathTiny PerlPrereqScanner SoftwareLicense TermEncoding TermUI YAMLTiny ];
8065     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
8066     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
8067       shortenPerlShebang $out/bin/dzil
8068     '';
8069     doCheck = false;
8070     meta = {
8071       description = "Distribution builder; installer not included!";
8072       homepage = "https://dzil.org";
8073       license = with lib.licenses; [ artistic1 gpl1Plus ];
8074       mainProgram = "dzil";
8075     };
8076   };
8078   DistZillaPluginBundleTestingMania = buildPerlModule {
8079     pname = "Dist-Zilla-PluginBundle-TestingMania";
8080     version = "0.25";
8081     src = fetchurl {
8082       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz";
8083       hash = "sha256-XguywA8UD9ZNy9EvpdPJ4kS5NWgor0ZRmLYjBGnUWRw=";
8084     };
8085     buildInputs = [ MooseAutobox TestCPANMeta TestPerlCritic TestVersion ];
8086     propagatedBuildInputs = [ DistZillaPluginMojibakeTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestNoTabs DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion PodCoverageTrustPod ];
8087     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
8088     meta = {
8089       description = "Test your dist with every testing plugin conceivable";
8090       homepage = "https://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania";
8091       license = with lib.licenses; [ artistic1 gpl1Plus ];
8092     };
8093   };
8095   DistZillaPluginCheckChangeLog = buildPerlPackage {
8096     pname = "Dist-Zilla-Plugin-CheckChangeLog";
8097     version = "0.05";
8098     src = fetchurl {
8099       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz";
8100       hash = "sha256-sLNNbXC1bxlE0DxfDcO49vJEdMgW0HtlehFsaSwuBSo=";
8101     };
8102     propagatedBuildInputs = [ DistZilla ];
8103     buildInputs = [ PathClass PodCoverage PodCoverageTrustPod PodMarkdown TestDeep TestException TestPod TestPodCoverage ];
8104     meta = {
8105       description = "Dist::Zilla with Changes check";
8106       license = with lib.licenses; [ artistic1 gpl1Plus ];
8107     };
8108   };
8110   DistZillaPluginMojibakeTests = buildPerlPackage {
8111     pname = "Dist-Zilla-Plugin-MojibakeTests";
8112     version = "0.8";
8113     src = fetchurl {
8114       url = "mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz";
8115       hash = "sha256-8f/1R+okqPekg0Bqcu1sQFjXRtna6WNyVQLdugJas4A=";
8116     };
8117     propagatedBuildInputs = [ DistZilla ];
8118     buildInputs = [ TestMojibake ];
8119     meta = {
8120       description = "Author tests for source encoding";
8121       homepage = "https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests";
8122       license = with lib.licenses; [ artistic1 gpl1Plus ];
8123     };
8124   };
8126   DistZillaPluginPodWeaver = buildPerlPackage {
8127     pname = "Dist-Zilla-Plugin-PodWeaver";
8128     version = "4.010";
8129     src = fetchurl {
8130       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.010.tar.gz";
8131       hash = "sha256-Zm1S1UXUjSpn8VN63HTPOMdkofmVHQtiNiP2IGDLYj4=";
8132     };
8133     propagatedBuildInputs = [ DistZilla PodElementalPerlMunger PodWeaver ];
8134     meta = {
8135       description = "Weave your Pod together from configuration and Dist::Zilla";
8136       homepage = "https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver";
8137       license = with lib.licenses; [ artistic1 gpl1Plus ];
8138     };
8139   };
8141   DistZillaPluginReadmeAnyFromPod = buildPerlPackage {
8142     pname = "Dist-Zilla-Plugin-ReadmeAnyFromPod";
8143     version = "0.163250";
8144     src = fetchurl {
8145       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz";
8146       hash = "sha256-1E8nmZIveLKnlh7YkSPhG913q/6FuiBA2CuArXLtE7w=";
8147     };
8148     buildInputs = [ TestDeep TestDifferences TestException TestFatal TestMost TestRequires TestSharedFork TestWarn ];
8149     propagatedBuildInputs = [ DistZillaRoleFileWatcher MooseXHasSugar PodMarkdownGithub ];
8150     meta = {
8151       description = "Automatically convert POD to a README in any format for Dist::Zilla";
8152       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod";
8153       license = with lib.licenses; [ artistic1 gpl1Plus ];
8154     };
8155   };
8157   DistZillaPluginReadmeMarkdownFromPod = buildPerlPackage {
8158     pname = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
8159     version = "0.141140";
8160     src = fetchurl {
8161       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz";
8162       hash = "sha256-nKrXs2bqWRGa1zzdmdzdU/h3pRW9AWT8KLM5wBc5qAE=";
8163     };
8164     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
8165     propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod ];
8166     meta = {
8167       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
8168       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
8169       license = with lib.licenses; [ artistic1 gpl1Plus ];
8170     };
8171   };
8173   DistZillaPluginTestCPANChanges = buildPerlPackage {
8174     pname = "Dist-Zilla-Plugin-Test-CPAN-Changes";
8175     version = "0.012";
8176     src = fetchurl {
8177       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.012.tar.gz";
8178       hash = "sha256-IVs6XDxYyLqw6icTBEG72uxzfuzADwZwk39gi9v2SAY=";
8179     };
8180     buildInputs = [ CPANChanges TestDeep ];
8181     propagatedBuildInputs = [ DistZilla ];
8182     meta = {
8183       description = "Release tests for your changelog";
8184       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes";
8185       license = with lib.licenses; [ artistic1 gpl1Plus ];
8186     };
8187   };
8189   DistZillaPluginTestCPANMetaJSON = buildPerlModule {
8190     pname = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON";
8191     version = "0.004";
8192     src = fetchurl {
8193       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz";
8194       hash = "sha256-Clc+HVZAN05u5NVtT7lKPGfU511Ss93q5wz6ZFDhryI=";
8195     };
8196     buildInputs = [ MooseAutobox TestCPANMetaJSON TestDeep ];
8197     propagatedBuildInputs = [ DistZilla ];
8198     meta = {
8199       description = "Validate your CPAN META.json files";
8200       homepage = "https://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON";
8201       license = with lib.licenses; [ artistic2 ];
8202     };
8203   };
8205   DistZillaPluginTestCompile = buildPerlModule {
8206     pname = "Dist-Zilla-Plugin-Test-Compile";
8207     version = "2.058";
8208     src = fetchurl {
8209       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.058.tar.gz";
8210       hash = "sha256-0M+T5SXxAuyg9/OWcSTS5Z0KIS9zjOVMHd2R3aJo2Io=";
8211     };
8212     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestDeep TestMinimumVersion TestWarnings ];
8213     propagatedBuildInputs = [ DistZilla ];
8214     meta = {
8215       description = "Assert that your Perl files compile OK";
8216       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile";
8217       license = with lib.licenses; [ artistic1 gpl1Plus ];
8218     };
8219   };
8221   DistZillaPluginTestDistManifest = buildPerlModule {
8222     pname = "Dist-Zilla-Plugin-Test-DistManifest";
8223     version = "2.000006";
8224     src = fetchurl {
8225       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-DistManifest-2.000006.tar.gz";
8226       hash = "sha256-Wj2kW/yYzjhf7X3BZTp4kGEfC57xVsABOueFdPiWYH0=";
8227     };
8228     buildInputs = [ ModuleBuildTiny TestDeep TestDistManifest TestOutput ];
8229     propagatedBuildInputs = [ DistZilla ];
8230     meta = {
8231       description = "Author test that validates a package MANIFEST";
8232       homepage = "https://github.com/jawnsy/Test-DistManifest";
8233       license = with lib.licenses; [ artistic1 gpl1Plus ];
8234     };
8235   };
8237   DistZillaPluginTestEOL = buildPerlModule {
8238     pname = "Dist-Zilla-Plugin-Test-EOL";
8239     version = "0.19";
8240     src = fetchurl {
8241       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz";
8242       hash = "sha256-orlZx6AszDLt1D7lhgmHVhPv1Ty8u9YDmeF/FUZ6Qzg=";
8243     };
8244     buildInputs = [ ModuleBuildTiny TestDeep TestEOL TestWarnings ];
8245     propagatedBuildInputs = [ DistZilla ];
8246     meta = {
8247       description = "Check the correct line endings in your project";
8248       homepage = "https://github.com/karenetheridge/Test-EOL";
8249       license = with lib.licenses; [ artistic1 gpl1Plus ];
8250     };
8251   };
8253   DistZillaPluginTestKwalitee = buildPerlModule {
8254     pname = "Dist-Zilla-Plugin-Test-Kwalitee";
8255     version = "2.12";
8256     src = fetchurl {
8257       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz";
8258       hash = "sha256-vdvPzHXo6y0tnIYRVS8AzcGwUfDwB5hiO4aS/1Awry8=";
8259     };
8260     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestKwalitee ];
8261     propagatedBuildInputs = [ DistZilla ];
8262     meta = {
8263       description = "Test the Kwalitee of a distribution before you release it";
8264       license = with lib.licenses; [ artistic1 gpl1Plus ];
8265     };
8266   };
8268   DistZillaPluginTestMinimumVersion = buildPerlModule {
8269     pname = "Dist-Zilla-Plugin-Test-MinimumVersion";
8270     version = "2.000010";
8271     src = fetchurl {
8272       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-MinimumVersion-2.000010.tar.gz";
8273       hash = "sha256-uLcfS2S2ifS2R6OofWqqrkWmiJLTXja6qXb2BXNjcPs=";
8274     };
8275     buildInputs = [ ModuleBuildTiny TestDeep TestMinimumVersion TestOutput ];
8276     propagatedBuildInputs = [ DistZilla ];
8277     meta = {
8278       description = "Release tests for minimum required versions";
8279       license = with lib.licenses; [ artistic1 gpl1Plus ];
8280     };
8281   };
8283   DistZillaPluginTestNoTabs = buildPerlModule {
8284     pname = "Dist-Zilla-Plugin-Test-NoTabs";
8285     version = "0.15";
8286     src = fetchurl {
8287       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz";
8288       hash = "sha256-G2EMQpFpKbtwFDw2t55XF1JbDp3njj1GCal4ZCtk0KQ=";
8289     };
8290     propagatedBuildInputs = [ DistZilla ];
8291     buildInputs = [ ModuleBuildTiny TestDeep TestNoTabs TestRequires ];
8292     meta = {
8293       description = "Check the presence of tabs in your project";
8294       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-NoTabs";
8295       license = with lib.licenses; [ artistic1 gpl1Plus ];
8296     };
8297   };
8299   DistZillaPluginTestPerlCritic = buildPerlModule {
8300     pname = "Dist-Zilla-Plugin-Test-Perl-Critic";
8301     version = "3.001";
8302     src = fetchurl {
8303       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz";
8304       hash = "sha256-klC1nV3Brkxok7p4O9PwUTGxT/npGvtFVTFPVSaKOCU=";
8305     };
8306     buildInputs = [ ModuleBuildTiny TestDeep TestPerlCritic ];
8307     propagatedBuildInputs = [ DistZilla ];
8308     meta = {
8309       description = "Tests to check your code against best practices";
8310       license = with lib.licenses; [ artistic1 gpl1Plus ];
8311     };
8312   };
8314   DistZillaPluginTestPodLinkCheck = buildPerlPackage {
8315     pname = "Dist-Zilla-Plugin-Test-Pod-LinkCheck";
8316     version = "1.004";
8317     src = fetchurl {
8318       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004.tar.gz";
8319       hash = "sha256-Ml0jbaCUA4jSqobsXBMmUWtK1Fre+Oek+Du5HV7hVJA=";
8320     };
8321     # buildInputs = [ TestPodLinkCheck ];
8322     propagatedBuildInputs = [ DistZilla ];
8323     buildInputs = [ TestPodLinkCheck ];
8324     meta = {
8325       description = "Add release tests for POD links";
8326       homepage = "https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck";
8327       license = with lib.licenses; [ artistic1 gpl1Plus ];
8328     };
8329   };
8331   DistZillaPluginTestPortability = buildPerlModule {
8332     pname = "Dist-Zilla-Plugin-Test-Portability";
8333     version = "2.001001";
8334     src = fetchurl {
8335       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001001.tar.gz";
8336       hash = "sha256-07kxVx4VoidI6BJwmq/aclEKdMAA/AaiyrWHVYEACyA=";
8337     };
8338     buildInputs = [ ModuleBuildTiny TestDeep TestPortabilityFiles TestWarnings ];
8339     propagatedBuildInputs = [ DistZilla ];
8340     meta = {
8341       description = "Author tests for portability";
8342       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Portability";
8343       license = with lib.licenses; [ artistic1 gpl1Plus ];
8344     };
8345   };
8347   DistZillaPluginTestSynopsis = buildPerlPackage {
8348     pname = "Dist-Zilla-Plugin-Test-Synopsis";
8349     version = "2.000007";
8350     src = fetchurl {
8351       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz";
8352       hash = "sha256-59XiUwzYpbtarfPhZpplOqqW4yyte9a5yrprQlzqtWM=";
8353     };
8354     buildInputs = [ TestDeep TestOutput TestSynopsis ];
8355     propagatedBuildInputs = [ DistZilla ];
8356     meta = {
8357       description = "Release tests for synopses";
8358       license = with lib.licenses; [ artistic1 gpl1Plus ];
8359     };
8360   };
8362   DistZillaPluginTestUnusedVars = buildPerlModule {
8363     pname = "Dist-Zilla-Plugin-Test-UnusedVars";
8364     version = "2.001001";
8365     src = fetchurl {
8366       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-UnusedVars-2.001001.tar.gz";
8367       hash = "sha256-df7W0NzCv0B/8nrJ4W7yFTRnFEuYbPovmPhpuqWNdkc=";
8368     };
8369     buildInputs = [ ModuleBuildTiny TestDeep TestOutput TestVars ];
8370     propagatedBuildInputs = [ DistZilla ];
8371     meta = {
8372       description = "Release tests for unused variables";
8373       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars";
8374       license = with lib.licenses; [ artistic1 gpl1Plus ];
8375     };
8376   };
8378   DistZillaPluginTestVersion = buildPerlPackage {
8379     pname = "Dist-Zilla-Plugin-Test-Version";
8380     version = "1.09";
8381     src = fetchurl {
8382       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz";
8383       hash = "sha256-ckBQhzG8G/bfrXcB7GVFChjvkkWlIasm69ass5qevhc=";
8384     };
8385     buildInputs = [ Filechdir TestDeep TestEOL TestNoTabs TestScript TestVersion ];
8386     propagatedBuildInputs = [ DistZilla ];
8387     meta = {
8388       description = "Release Test::Version tests";
8389       license = with lib.licenses; [ artistic2 ];
8390     };
8391   };
8393   DistZillaRoleFileWatcher = buildPerlModule {
8394     pname = "Dist-Zilla-Role-FileWatcher";
8395     version = "0.006";
8396     src = fetchurl {
8397       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz";
8398       hash = "sha256-/jpEuVhtrxJ3/Lu69yFrAs4j77vWlPDfEbf3U0S+TpY=";
8399     };
8400     propagatedBuildInputs = [ DistZilla SafeIsa ];
8401     buildInputs = [ ModuleBuildTiny TestDeep TestFatal ];
8402     meta = {
8403       description = "Receive notification when something changes a file's contents";
8404       homepage = "https://github.com/karenetheridge/Dist-Zilla-Role-FileWatcher";
8405       license = with lib.licenses; [ artistic1 gpl1Plus ];
8406     };
8407   };
8409   Dotenv = buildPerlPackage {
8410     pname = "Dotenv";
8411     version = "0.002";
8412     src = fetchurl {
8413       url = "mirror://cpan/authors/id/B/BO/BOOK/Dotenv-0.002.tar.gz";
8414       hash = "sha256-BMenzEURYX16cMTKQQ0QcH3EliSM2tICQK4kIiMhJFQ=";
8415     };
8416     buildInputs = [ TestCPANMeta TestPod TestPodCoverage ];
8417     propagatedBuildInputs = [ PathTiny ];
8418     meta = {
8419       description = "Support for dotenv in Perl";
8420       license = with lib.licenses; [ artistic1 gpl1Plus ];
8421     };
8422   };
8424   Dumbbench = buildPerlPackage {
8425     pname = "Dumbbench";
8426     version = "0.503";
8427     src = fetchurl {
8428       url = "mirror://cpan/authors/id/B/BD/BDFOY/Dumbbench-0.503.tar.gz";
8429       hash = "sha256-0BYBmoGDE+cERk8oDPZB72Dodx0HeRtZuZ4XoeyAH6k=";
8430     };
8431     propagatedBuildInputs = [ CaptureTiny ClassXSAccessor DevelCheckOS NumberWithError StatisticsCaseResampling ];
8432     meta = {
8433       description = "More reliable benchmarking with the least amount of thinking";
8434       homepage = "https://github.com/briandfoy/dumbbench";
8435       license = with lib.licenses; [ artistic1 gpl1Plus ];
8436       mainProgram = "dumbbench";
8437     };
8438   };
8440   EmailAbstract = buildPerlPackage {
8441     pname = "Email-Abstract";
8442     version = "3.010";
8443     src = fetchurl {
8444       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.010.tar.gz";
8445       hash = "sha256-jBL2i1l0yvyZ10lCq+/IWXGTA1qv0nYxKOaqr8pLftY=";
8446     };
8447     propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
8448     meta = {
8449       description = "Unified interface to mail representations";
8450       homepage = "https://github.com/rjbs/Email-Abstract";
8451       license = with lib.licenses; [ artistic1 gpl1Plus ];
8452     };
8453   };
8455   EmailAddress = buildPerlPackage {
8456     pname = "Email-Address";
8457     version = "1.913";
8458     src = fetchurl {
8459       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.913.tar.gz";
8460       hash = "sha256-avtUH232tTXM92QtNhrhjXqVo/k6zhvFNz9kwkEMpa8=";
8461     };
8462     meta = {
8463       description = "RFC 2822 Address Parsing and Creation";
8464       homepage = "https://github.com/rjbs/Email-Address";
8465       license = with lib.licenses; [ artistic1 gpl1Plus ];
8466     };
8467   };
8469   EmailAddressList = buildPerlPackage {
8470     pname = "Email-Address-List";
8471     version = "0.06";
8472     src = fetchurl {
8473       url = "mirror://cpan/authors/id/B/BP/BPS/Email-Address-List-0.06.tar.gz";
8474       hash = "sha256-MFuUx3gBHO5w2fIVFNkumF+p3Mu4TGR5jwwfCyTrhw4=";
8475     };
8476     buildInputs = [ JSON ];
8477     propagatedBuildInputs = [ EmailAddress ];
8478     meta = {
8479       description = "RFC close address list parsing";
8480       license = with lib.licenses; [ artistic1 gpl1Plus ];
8481     };
8482   };
8484   EmailAddressXS = buildPerlPackage {
8485     pname = "Email-Address-XS";
8486     version = "1.05";
8487     src = fetchurl {
8488       url = "mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.05.tar.gz";
8489       hash = "sha256-FRC38Q1nIBA3zVDSLJ1rJu7KVe3tpM20a7yiflmk6hY=";
8490     };
8491     meta = {
8492       description = "Parse and format RFC 5322 email addresses and groups";
8493       license = with lib.licenses; [ artistic1 gpl1Plus ];
8494     };
8495   };
8497   EmailDateFormat = buildPerlPackage {
8498     pname = "Email-Date-Format";
8499     version = "1.008";
8500     src = fetchurl {
8501       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.008.tar.gz";
8502       hash = "sha256-Qyt8g/+IdJrxKAA/UlfFc67BpGNBjbkO0ihDy7wli08=";
8503     };
8504     meta = {
8505       description = "Produce RFC 2822 date strings";
8506       homepage = "https://github.com/rjbs/Email-Date-Format";
8507       license = with lib.licenses; [ artistic1 gpl1Plus ];
8508     };
8509   };
8511   EmailReply = buildPerlPackage {
8512     pname = "Email-Reply";
8513     version = "1.204";
8514     src = fetchurl {
8515       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz";
8516       hash = "sha256-uk/YCsUBfW0TLgNYx4aw7NHHrcvu5cGfs9opZHkaVvA=";
8517     };
8518     propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
8519     meta = {
8520       description = "Reply to an email message";
8521       homepage = "https://github.com/Perl-Email-Project/Email-Reply";
8522       license = with lib.licenses; [ artistic1 gpl1Plus ];
8523     };
8524   };
8526   EmailMessageID = buildPerlPackage {
8527     pname = "Email-MessageID";
8528     version = "1.408";
8529     src = fetchurl {
8530       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.408.tar.gz";
8531       hash = "sha256-Hz1bT/Cxx7OemsfDGPs3rc0LrJVWA2VGSU0U8G3FZDw=";
8532     };
8533     meta = {
8534       description = "Generate world unique message-ids";
8535       homepage = "https://github.com/rjbs/Email-MessageID";
8536       license = with lib.licenses; [ artistic1 gpl1Plus ];
8537     };
8538   };
8540   EmailMIME = buildPerlPackage {
8541     pname = "Email-MIME";
8542     version = "1.953";
8543     src = fetchurl {
8544       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-1.953.tar.gz";
8545       hash = "sha256-mPsGeFBpmiJLq8NI8c7+MNdExg2okC56XOnYt+c99zU=";
8546     };
8547     propagatedBuildInputs = [ EmailAddressXS EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ModuleRuntime ];
8548     meta = {
8549       description = "Easy MIME message handling";
8550       homepage = "https://github.com/rjbs/Email-MIME";
8551       license = with lib.licenses; [ artistic1 gpl1Plus ];
8552     };
8553   };
8555   EmailMIMEAttachmentStripper = buildPerlPackage {
8556     pname = "Email-MIME-Attachment-Stripper";
8557     version = "1.317";
8558     buildInputs = [ CaptureTiny ];
8559     propagatedBuildInputs = [ EmailAbstract EmailMIME ];
8561     src = fetchurl {
8562       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz";
8563       hash = "sha256-3LmLCdw+j3V+w4gqQjRUgQi7LRLjz635WibO84Gp54k=";
8564     };
8565     meta = {
8566       description = "Strip the attachments from an email";
8567       homepage = "https://github.com/rjbs/Email-MIME-Attachment-Stripper";
8568       license = with lib.licenses; [ artistic1 gpl1Plus ];
8569     };
8570   };
8572   EmailMIMEContentType = buildPerlPackage {
8573     pname = "Email-MIME-ContentType";
8574     version = "1.028";
8575     src = fetchurl {
8576       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.028.tar.gz";
8577       hash = "sha256-55UCRkM/ftbD5P1N8iJ+DyNBE3w8qxmJAY/DcPWBRcQ=";
8578     };
8579     propagatedBuildInputs = [ TextUnidecode ];
8580     meta = {
8581       description = "Parse and build a MIME Content-Type or Content-Disposition Header";
8582       homepage = "https://github.com/rjbs/Email-MIME-ContentType";
8583       license = with lib.licenses; [ artistic1 gpl1Plus ];
8584     };
8585   };
8587   EmailMIMEEncodings = buildPerlPackage {
8588     pname = "Email-MIME-Encodings";
8589     version = "1.317";
8590     src = fetchurl {
8591       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.317.tar.gz";
8592       hash = "sha256-SppBZxqdFQTE2iQb5BmpUD+jSGJiUm7bgeyp4uvqC68=";
8593     };
8594     buildInputs = [ CaptureTiny ];
8595     meta = {
8596       description = "Unified interface to MIME encoding and decoding";
8597       homepage = "https://github.com/rjbs/Email-MIME-Encodings";
8598       license = with lib.licenses; [ artistic1 gpl1Plus ];
8599     };
8600   };
8602   EmailSend = buildPerlPackage {
8603     pname = "Email-Send";
8604     version = "2.201";
8605     src = fetchurl {
8606       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Send-2.201.tar.gz";
8607       hash = "sha256-S77JM1WNfMm4FSutht0xPeJ3ohqJtOqD2E5hWH6V28Y=";
8608     };
8609     propagatedBuildInputs = [ EmailAbstract EmailAddress ReturnValue ];
8610     buildInputs = [ MIMETools MailTools ];
8611     meta = {
8612       description = "Simply Sending Email";
8613       homepage = "https://github.com/rjbs/Email-Send";
8614       license = with lib.licenses; [ artistic1 gpl1Plus ];
8615     };
8616   };
8618   EmailOutlookMessage = buildPerlModule {
8619     pname = "Email-Outlook-Message";
8620     version = "0.921";
8621     src = fetchurl {
8622       url = "mirror://cpan/authors/id/M/MV/MVZ/Email-Outlook-Message-0.921.tar.gz";
8623       hash = "sha256-+0q+6hTNpRweYLwhHPlSG7uq50uEEYym1Y8KciNoA4g=";
8624     };
8625     propagatedBuildInputs = [ EmailMIME EmailSender IOAll IOString OLEStorage_Lite ];
8626     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)
8627     meta = {
8628       homepage = "https://www.matijs.net/software/msgconv/";
8629       description = ".MSG to mbox converter";
8630       license = with lib.licenses; [ artistic1 gpl1Plus ];
8631       maintainers = with maintainers; [ peterhoeg ];
8632       mainProgram = "msgconvert";
8633     };
8634   };
8636   EmailSender = buildPerlPackage {
8637     pname = "Email-Sender";
8638     version = "2.600";
8639     src = fetchurl {
8640       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-2.600.tar.gz";
8641       hash = "sha256-7MZ10DDXnZpPsGRWfqiFxmsXw4Yjea0w+CBaKBzY7ik=";
8642     };
8643     buildInputs = [ CaptureTiny ];
8644     propagatedBuildInputs = [ EmailAbstract EmailAddressXS EmailSimple ModuleRuntime Moo MooXTypesMooseLike SubExporter Throwable TryTiny ];
8645     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
8646     postPatch = ''
8647       patchShebangs --build util
8648     '';
8649     preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
8650       shortenPerlShebang util/sendmail
8651     '';
8652     meta = {
8653       description = "Library for sending email";
8654       homepage = "https://github.com/rjbs/Email-Sender";
8655       license = with lib.licenses; [ artistic1 gpl1Plus ];
8656     };
8657   };
8659   EmailSimple = buildPerlPackage {
8660     pname = "Email-Simple";
8661     version = "2.218";
8662     src = fetchurl {
8663       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.218.tar.gz";
8664       hash = "sha256-Lc4daP3pnVPbnKQ+IRtpsWm6Lvrs+HpVyzOpM2BHyW0=";
8665     };
8666     propagatedBuildInputs = [ EmailDateFormat ];
8667     meta = {
8668       description = "Simple parsing of RFC2822 message format and headers";
8669       homepage = "https://github.com/rjbs/Email-Simple";
8670       license = with lib.licenses; [ artistic1 gpl1Plus ];
8671     };
8672   };
8674   EmailStuffer = buildPerlPackage {
8675     pname = "Email-Stuffer";
8676     version = "0.020";
8677     src = fetchurl {
8678       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Stuffer-0.020.tar.gz";
8679       hash = "sha256-Ch77fy3t05BSsSb3GMotO1hFpBI6OTkv2d+gx25gV8c=";
8680     };
8681     buildInputs = [ Moo TestFatal ];
8682     propagatedBuildInputs = [ EmailMIME EmailSender ModuleRuntime ParamsUtil ];
8683     meta = {
8684       description = "More casual approach to creating and sending Email:: emails";
8685       homepage = "https://github.com/rjbs/Email-Stuffer";
8686       license = with lib.licenses; [ artistic1 gpl1Plus ];
8687       maintainers = with maintainers; [ sgo ];
8688     };
8689   };
8691   EmailValid = buildPerlPackage {
8692     pname = "Email-Valid";
8693     version = "1.203";
8694     src = fetchurl {
8695       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.203.tar.gz";
8696       hash = "sha256-ICG/ux4sJ55evYRoDllvlzRNQphQsjIme3b0kDdSK5M=";
8697     };
8698     propagatedBuildInputs = [ IOCaptureOutput MailTools NetDNS NetDomainTLD ];
8699     doCheck = false;
8700     meta = {
8701       description = "Check validity of Internet email addresses";
8702       license = with lib.licenses; [ artistic1 gpl1Plus ];
8703     };
8704   };
8706   EmailValidLoose = buildPerlPackage {
8707     pname = "Email-Valid-Loose";
8708     version = "0.05";
8709     src = fetchurl {
8710       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Email-Valid-Loose-0.05.tar.gz";
8711       hash = "sha256-5xjnbt3uJAJRyZnhOcjL5vLMgBktpa+HXL0S+oq5Olk=";
8712     };
8713     propagatedBuildInputs = [ EmailValid ];
8714     meta = {
8715       description = "Email::Valid which allows dot before at mark";
8716       license = with lib.licenses; [ artistic1 gpl1Plus ];
8717     };
8718   };
8720   Encode = buildPerlPackage {
8721     pname = "Encode";
8722     version = "3.19";
8723     src = fetchurl {
8724       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-3.19.tar.gz";
8725       hash = "sha256-kWP4SO72nk1MyIODl/CGH9nqft4AERfb2WlPjZUFLvU=";
8726     };
8727     meta = {
8728       description = "Character encodings in Perl";
8729       license = with lib.licenses; [ artistic1 gpl1Plus ];
8730       mainProgram = "piconv";
8731     };
8732   };
8734   EncodeBase32GMP = buildPerlPackage {
8735     pname = "Encode-Base32-GMP";
8736     version = "0.02";
8737     src = fetchurl {
8738       url = "mirror://cpan/authors/id/J/JW/JWANG/Encode-Base32-GMP-0.02.tar.gz";
8739       hash = "sha256-RUIG+n2C5V4DJ0aYcyNBtgcVDwDo4q7FjzUyagMIMtw=";
8740     };
8741     buildInputs = [ TestBase ];
8742     propagatedBuildInputs = [ MathGMPz ];
8743     meta = {
8744       description = "High speed Base32 encoding using GMP with BigInt and MD5 support";
8745       homepage = "https://metacpan.org/release/Encode-Base32-GMP";
8746       license = with lib.licenses; [ mit ];
8747       maintainers = with maintainers; [ sgo ];
8748     };
8749   };
8751   EncodeDetect = buildPerlModule {
8752     pname = "Encode-Detect";
8753     version = "1.01";
8754     src = fetchurl {
8755       url = "mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz";
8756       hash = "sha256-g02JOqfbbOPxWK+9DkMtbtFaJ24JQNsKdL4T/ZxLu/E=";
8757     };
8758     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
8759     meta = {
8760       description = "Encode::Encoding subclass that detects the encoding of data";
8761       license = with lib.licenses; [ mpl11 gpl2Plus lgpl2Plus ]; # taken from fedora
8762     };
8763   };
8766   EncodeEUCJPASCII = buildPerlPackage {
8767     pname = "Encode-EUCJPASCII";
8768     version = "0.03";
8769     src = fetchurl {
8770       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz";
8771       hash = "sha256-+ZjTTVX9nILPkQeGoESNHt+mC/aOLCMGckymfGKd6GE=";
8772     };
8773     outputs = [ "out" ];
8774     meta = {
8775       description = "EucJP-ascii - An eucJP-open mapping";
8776       license = with lib.licenses; [ artistic1 gpl1Plus ];
8777     };
8778   };
8780   EncodeHanExtra = buildPerlPackage {
8781     pname = "Encode-HanExtra";
8782     version = "0.23";
8783     src = fetchurl {
8784       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz";
8785       hash = "sha256-H9SwbK2nCFgAOvFT+UyGOzuV8uPQO6GNBFGoHVHbRDo=";
8786     };
8787     meta = {
8788       description = "Extra sets of Chinese encodings";
8789       license = with lib.licenses; [ mit ];
8790     };
8791   };
8793   EncodeIMAPUTF7 = buildPerlPackage {
8794     pname = "Encode-IMAPUTF7";
8795     version = "1.05";
8796     src = fetchurl {
8797       url = "mirror://cpan/authors/id/P/PM/PMAKHOLM/Encode-IMAPUTF7-1.05.tar.gz";
8798       hash = "sha256-RwMF3cN0g8/o08FtE3cKKAEfYAv1V6y4w+B3OZl8N+E=";
8799     };
8800     nativeCheckInputs = [ TestNoWarnings ];
8801     meta = {
8802       description = "IMAP modified UTF-7 encoding";
8803       license = with lib.licenses; [ artistic1 gpl1Plus ];
8804     };
8805     patches = [
8806       ../development/perl-modules/encode-imaputf7.patch
8807     ];
8808   };
8810   EncodeJIS2K = buildPerlPackage {
8811     pname = "Encode-JIS2K";
8812     version = "0.03";
8813     src = fetchurl {
8814       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz";
8815       hash = "sha256-HshNcts53rTa1vypWs/MIQM/RaJNNHwg+aGmlolsNcw=";
8816     };
8817     outputs = [ "out" ];
8818     meta = {
8819       description = "JIS X 0212 (aka JIS 2000) Encodings";
8820       license = with lib.licenses; [ artistic1 gpl1Plus ];
8821     };
8822   };
8824   EncodeLocale = buildPerlPackage {
8825     pname = "Encode-Locale";
8826     version = "1.05";
8827     src = fetchurl {
8828       url = "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz";
8829       hash = "sha256-F2+gJ3H1QqTvsdvCpMko6PQ5G/QHhHO9YEDY8RrbDsE=";
8830     };
8831     preCheck = if stdenv.hostPlatform.isCygwin then ''
8832       sed -i"" -e "s@plan tests => 13@plan tests => 10@" t/env.t
8833       sed -i"" -e "s@ok(env(\"\\\x@#ok(env(\"\\\x@" t/env.t
8834       sed -i"" -e "s@ok(\$ENV{\"\\\x@#ok(\$ENV{\"\\\x@" t/env.t
8835     '' else null;
8836     meta = {
8837       description = "Determine the locale encoding";
8838       license = with lib.licenses; [ artistic1 gpl1Plus ];
8839     };
8840   };
8842   EncodeNewlines = buildPerlPackage {
8843     pname = "Encode-Newlines";
8844     version = "0.05";
8845     src = fetchurl {
8846       url = "mirror://cpan/authors/id/N/NE/NEILB/Encode-Newlines-0.05.tar.gz";
8847       hash = "sha256-NLMfysjI/cghubNDSoLXEzIT73TM/yVf4UioavloN74=";
8848     };
8849     meta = {
8850       description = "Normalize line ending sequences";
8851       homepage = "https://github.com/neilb/Encode-Newlines";
8852       license = with lib.licenses; [ artistic1 gpl1Plus ];
8853     };
8854   };
8856   EncodePunycode = buildPerlPackage {
8857     pname = "Encode-Punycode";
8858     version = "1.002";
8859     src = fetchurl {
8860       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Encode-Punycode-1.002.tar.gz";
8861       hash = "sha256-yjrO7NuAtdRaoQ4c3o/sTpC0+MkYnHUE3YZY8HH3cZQ=";
8862     };
8863     buildInputs = [ TestNoWarnings ];
8864     propagatedBuildInputs = [ NetIDNEncode ];
8865     meta = {
8866       description = "Encode plugin for Punycode (RFC 3492)";
8867       homepage = "https://search.cpan.org/dist/Encode-Punycode";
8868       license = with lib.licenses; [ artistic1 gpl1Plus ];
8869     };
8870   };
8872   enum = buildPerlPackage {
8873     pname = "enum";
8874     version = "1.12";
8875     src = fetchurl {
8876       url = "mirror://cpan/authors/id/N/NE/NEILB/enum-1.12.tar.gz";
8877       hash = "sha256-aaeokc04iO2LAsXpmh9In5KmLsNRwLx4lP1719FEfqk=";
8878     };
8879     meta = {
8880       description = "C style enumerated types and bitmask flags in Perl";
8881       homepage = "https://github.com/neilb/enum";
8882       license = with lib.licenses; [ artistic1 gpl1Plus ];
8883     };
8884   };
8886   Env = buildPerlPackage {
8887     pname = "Env";
8888     version = "1.04";
8889     src = fetchurl {
8890       url = "mirror://cpan/authors/id/F/FL/FLORA/Env-1.04.tar.gz";
8891       hash = "sha256-2Uo9QS3yRq/cMaIZnL2K6RUWej9GhPe3AUzhIAJR67A=";
8892     };
8893     meta = {
8894       description = "Perl module that imports environment variables as scalars or arrays";
8895       homepage = "https://search.cpan.org/dist/Env";
8896       license = with lib.licenses; [ artistic1 gpl1Plus ];
8897     };
8898   };
8900   EnvPath = buildPerlPackage {
8901     pname = "Env-Path";
8902     version = "0.19";
8903     src = fetchurl {
8904       url = "mirror://cpan/authors/id/D/DS/DSB/Env-Path-0.19.tar.gz";
8905       hash = "sha256-JEvwk3mIMqfYQdnuW0sOa0iZlu72NUHlBQkao0qQFeI=";
8906     };
8907     meta = {
8908       description = "Advanced operations on path variables";
8909       license = with lib.licenses; [ artistic1 gpl1Plus ];
8910       mainProgram = "envpath";
8911     };
8912   };
8914   EnvSanctify = buildPerlPackage {
8915     pname = "Env-Sanctify";
8916     version = "1.12";
8917     src = fetchurl {
8918       url = "mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz";
8919       hash = "sha256-IOO1ZhwmVHSmnyiZR46ye5RkklWGu2tvtmYSnlgoMl8=";
8920     };
8921     meta = {
8922       description = "Lexically scoped sanctification of %ENV";
8923       homepage = "https://github.com/bingos/env-sanctify";
8924       license = with lib.licenses; [ artistic1 gpl1Plus ];
8925     };
8926   };
8928   ENVUtil = buildPerlPackage {
8929     pname = "ENV-Util";
8930     version = "0.03";
8931     src = fetchurl {
8932       url = "mirror://cpan/authors/id/G/GA/GARU/ENV-Util-0.03.tar.gz";
8933       hash = "sha256-B1574ehSxD6wiGYvr978FS9O9WyEPB4F2QDaGQb3P60=";
8934     };
8935     meta = {
8936       description = "Parse prefixed environment variables and dotnev (.env) files into Perl";
8937       license = with lib.licenses; [ artistic1 gpl1Plus ];
8938     };
8939   };
8941   Error = buildPerlModule {
8942     pname = "Error";
8943     version = "0.17029";
8944     src = fetchurl {
8945       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17029.tar.gz";
8946       hash = "sha256-GiP3kTAyrtbUtoMhNzo4mcpmWQ9HJzkaCR7BnJW/etw=";
8947     };
8948     meta = {
8949       description = "Error/exception handling in an OO-ish way";
8950       license = with lib.licenses; [ artistic1 gpl1Plus ];
8951     };
8952   };
8954   EV = buildPerlPackage {
8955     pname = "EV";
8956     version = "4.34";
8957     src = fetchurl {
8958       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.34.tar.gz";
8959       hash = "sha256-EhFoPc57Z3H0q3EMwVNxK913umFXoTKU0LtzSR/QZWA=";
8960     };
8961     buildInputs = [ CanaryStability ];
8962     propagatedBuildInputs = [ commonsense ];
8963     meta = {
8964       description = "Perl interface to libev, a high performance full-featured event loop";
8965       license = with lib.licenses; [ gpl1Plus ];
8966     };
8967   };
8969   EvalClosure = buildPerlPackage {
8970     pname = "Eval-Closure";
8971     version = "0.14";
8972     src = fetchurl {
8973       url = "mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz";
8974       hash = "sha256-6glE8vXsmNiVvvbVA+bko3b+pjg6a8ZMdnDUb/IhjK0=";
8975     };
8976     buildInputs = [ TestFatal TestRequires ];
8977     meta = {
8978       description = "Safely and cleanly create closures via string eval";
8979       homepage = "https://metacpan.org/release/Eval-Closure";
8980       license = with lib.licenses; [ artistic1 gpl1Plus ];
8981     };
8982   };
8984   EvalSafe = buildPerlPackage rec {
8985     pname = "Eval-Safe";
8986     version = "0.02";
8987     src = fetchurl {
8988       url = "mirror://cpan/authors/id/M/MA/MATHIAS/Eval-Safe/Eval-Safe-${version}.tar.gz";
8989       hash = "sha256-VaUsIz4troYRP58Zs09hftz8hBb5vs5nEme9GBGxIRE=";
8990     };
8991     outputs = [ "out" ];
8992     meta = with lib; {
8993       description = "Simplified safe evaluation of Perl code";
8994       homepage = "https://github.com/mkende/perl-eval-safe";
8995       license = licenses.mit;
8996       maintainers = with maintainers; [ figsoda ];
8997     };
8998   };
9000   ExcelWriterXLSX = buildPerlPackage {
9001     pname = "Excel-Writer-XLSX";
9002     version = "1.11";
9003     src = fetchurl {
9004       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Excel-Writer-XLSX-1.11.tar.gz";
9005       hash = "sha256-yzMA0jEZxpiGTvC3PBmnLLpxi/wG7QBzWaUxP5YcwqA=";
9006     };
9007     propagatedBuildInputs = [ ArchiveZip ];
9008     meta = {
9009       description = "Create a new file in the Excel 2007+ XLSX format";
9010       homepage = "https://jmcnamara.github.com/excel-writer-xlsx";
9011       license = with lib.licenses; [ artistic1 gpl1Plus ];
9012       mainProgram = "extract_vba";
9013     };
9014   };
9016   ExceptionBase = buildPerlModule {
9017     pname = "Exception-Base";
9018     version = "0.2501";
9019     src = fetchurl {
9020       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2501.tar.gz";
9021       hash = "sha256-VyPdePSsC00mKgXqRq9mPqANgJay6cCkNRXCEHYOHnU=";
9022     };
9023     buildInputs = [ TestUnitLite ];
9024     patches = [
9025       ../development/perl-modules/Exception-Base-remove-smartmatch-when-5.38.0.patch
9026     ];
9027     meta = {
9028       description = "Lightweight exceptions";
9029       license = with lib.licenses; [ artistic1 gpl1Plus ];
9030     };
9031   };
9033   ExceptionClass = buildPerlPackage {
9034     pname = "Exception-Class";
9035     version = "1.45";
9036     src = fetchurl {
9037       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Exception-Class-1.45.tar.gz";
9038       hash = "sha256-VIKnfvAnyh+fOeH0jFWDVulUk2/I+73ubIEcUScBskk=";
9039     };
9040     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
9041     meta = {
9042       description = "Exception Object Class";
9043       license = with lib.licenses; [ artistic1 gpl1Plus ];
9044     };
9045   };
9047   ExceptionDied = buildPerlModule {
9048     pname = "Exception-Died";
9049     version = "0.06";
9050     src = fetchurl {
9051       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz";
9052       hash = "sha256-NcRAvCr9TVfiQaDbG05o2dUpXfLbjXidObX0UQWXirU=";
9053     };
9054     buildInputs = [ TestAssert TestUnitLite ];
9055     propagatedBuildInputs = [ ExceptionBase constantboolean ];
9056     meta = {
9057       description = "Convert simple die into real exception object";
9058       license = with lib.licenses; [ artistic1 gpl1Plus ];
9059     };
9060   };
9062   ExceptionWarning = buildPerlModule {
9063     pname = "Exception-Warning";
9064     version = "0.0401";
9065     src = fetchurl {
9066       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz";
9067       hash = "sha256-ezacps61se3ytdX4cOl0x8k+kwNnw5o5AL/2CZce06g=";
9068     };
9069     buildInputs = [ TestAssert TestUnitLite ];
9070     propagatedBuildInputs = [ ExceptionBase ];
9071     meta = {
9072       description = "Convert simple warn into real exception object";
9073       license = with lib.licenses; [ artistic1 gpl1Plus ];
9074     };
9075   };
9077   ExporterDeclare = buildPerlModule {
9078     pname = "Exporter-Declare";
9079     version = "0.114";
9080     src = fetchurl {
9081       url = "mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz";
9082       hash = "sha256-S9cNbKdvb2un5MYY1KyTuFk6WPEjPMvhixD18gTx1OQ=";
9083     };
9084     buildInputs = [ FennecLite TestException ];
9085     propagatedBuildInputs = [ MetaBuilder aliased ];
9086     meta = {
9087       description = "Exporting done right";
9088       homepage = "http://open-exodus.net/projects/Exporter-Declare";
9089       license = with lib.licenses; [ artistic1 gpl1Plus ];
9090     };
9091   };
9093   ExporterLite = buildPerlPackage {
9094     pname = "Exporter-Lite";
9095     version = "0.09";
9096     src = fetchurl {
9097       url = "mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.09.tar.gz";
9098       hash = "sha256-edixT9UBOSLGPoUPFb9RBZ8lAkBFNetmkO8jYSwqGY0=";
9099     };
9100     meta = {
9101       description = "Lightweight exporting of functions and variables";
9102       license = with lib.licenses; [ artistic1 gpl1Plus ];
9103     };
9104   };
9106   ExporterTiny = buildPerlPackage {
9107     pname = "Exporter-Tiny";
9108     version = "1.006002";
9109     src = fetchurl {
9110       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.006002.tar.gz";
9111       hash = "sha256-byleLL/7HbwVvbna3DQWccHgzSvfLTErF1Jic8MiY40=";
9112     };
9113     meta = {
9114       description = "Exporter with the features of Sub::Exporter but only core dependencies";
9115       homepage = "https://metacpan.org/release/Exporter-Tiny";
9116       license = with lib.licenses; [ artistic1 gpl1Plus ];
9117     };
9118   };
9120   Expect = buildPerlPackage {
9121     pname = "Expect";
9122     version = "1.35";
9123     src = fetchurl {
9124       url = "mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz";
9125       hash = "sha256-CdknYUId7NSVhTEDN5FlqZ779FLHIPMCd2As8jZ5/QY=";
9126     };
9127     propagatedBuildInputs = [ IOTty ];
9128     meta = {
9129       description = "Automate interactions with command line programs that expose a text terminal interface";
9130       license = with lib.licenses; [ artistic1 gpl1Plus ];
9131     };
9132   };
9134   ExpectSimple = buildPerlPackage {
9135     pname = "Expect-Simple";
9136     version = "0.04";
9137     src = fetchurl {
9138       url = "mirror://cpan/authors/id/D/DJ/DJERIUS/Expect-Simple-0.04.tar.gz";
9139       hash = "sha256-r4O5IYXmQmlZE/8Tjv6Bl1LoCFd1mZber8qrJwCtXbU=";
9140     };
9141     propagatedBuildInputs = [ Expect ];
9142     meta = {
9143       description = "Wrapper around the Expect module";
9144       license = with lib.licenses; [ artistic1 gpl1Plus ];
9145     };
9146   };
9148   ExtUtilsCChecker = buildPerlModule {
9149     pname = "ExtUtils-CChecker";
9150     version = "0.11";
9151     src = fetchurl {
9152       url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.11.tar.gz";
9153       hash = "sha256-EXc2Z343/GEfW3Y3TX+VLhlw64Dh9q1RUNUW565TG/U=";
9154     };
9155     buildInputs = [ TestFatal ];
9156     meta = {
9157       description = "Configure-time utilities for using C headers,";
9158       license = with lib.licenses; [ artistic1 gpl1Plus ];
9159     };
9160   };
9162   ExtUtilsConfig = buildPerlPackage {
9163     pname = "ExtUtils-Config";
9164     version = "0.008";
9165     src = fetchurl {
9166       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz";
9167       hash = "sha256-rlEE9jRlDc6KebftE/tZ1no5whOmd2z9qj7nSeYvGow=";
9168     };
9169     meta = {
9170       description = "Wrapper for perl's configuration";
9171       license = with lib.licenses; [ artistic1 gpl1Plus ];
9172     };
9173   };
9175   ExtUtilsConstant = buildPerlPackage {
9176     pname = "ExtUtils-Constant";
9177     version = "0.25";
9178     src = fetchurl {
9179       url = "mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz";
9180       hash = "sha256-aTPQ6WO2IoHvdWEGjmrsrIxKwrR2srugmrC5D7rJ11c=";
9181     };
9182     patches = [
9183       ../development/perl-modules/ExtUtils-Constant-fix-indirect-method-call-in-test.patch
9184     ];
9185     meta = {
9186       description = "Generate XS code to import C header constants";
9187       license = with lib.licenses; [ artistic1 gpl1Plus ];
9188     };
9189   };
9191   ExtUtilsCppGuess = buildPerlPackage {
9192     pname = "ExtUtils-CppGuess";
9193     version = "0.26";
9194     src = fetchurl {
9195       url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.26.tar.gz";
9196       hash = "sha256-yLNiuGAXKkB2rO4AQ49SuGRk8sUAcCz891J4Ef+aaD4=";
9197     };
9198     doCheck = !stdenv.hostPlatform.isDarwin;
9199     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
9200     propagatedBuildInputs = [ CaptureTiny ];
9201     buildInputs = [ ModuleBuild ];
9202     meta = {
9203       description = "Guess C++ compiler and flags";
9204       license = with lib.licenses; [ artistic1 gpl1Plus ];
9205     };
9206   };
9208   ExtUtilsDepends = buildPerlPackage {
9209     pname = "ExtUtils-Depends";
9210     version = "0.8001";
9211     src = fetchurl {
9212       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8001.tar.gz";
9213       hash = "sha256-ZzxDh+eJbBohYJnB+7P6qndj1/X5WhpWpgoqKQbBMcU=";
9214     };
9215     meta = {
9216       description = "Easily build XS extensions that depend on XS extensions";
9217       license = with lib.licenses; [ artistic1 gpl1Plus artistic1 gpl1Plus ];
9218     };
9219   };
9221   ExtUtilsF77 = buildPerlPackage {
9222     pname = "ExtUtils-F77";
9223     version = "1.26";
9224     src = fetchurl {
9225       url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-F77-1.26.tar.gz";
9226       hash = "sha256-q90dPuxMpPyuXxUrQLyqhi48gG4H5KqRI3V/aqSLndY=";
9227     };
9228     buildInputs = [ pkgs.gfortran ];
9229     propagatedBuildInputs = [ FileWhich ];
9230     meta = {
9231       description = "Simple interface to F77 libs";
9232       license = with lib.licenses; [ artistic1 gpl1Plus ];
9233     };
9234   };
9236   ExtUtilsHelpers = buildPerlPackage {
9237     pname = "ExtUtils-Helpers";
9238     version = "0.026";
9239     src = fetchurl {
9240       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz";
9241       hash = "sha256-3pAbZ5CkVXz07JCBSeA1eDsSW/EV65ZA/rG8HCTDNBY=";
9242     };
9243     meta = {
9244       description = "Various portability utilities for module builders";
9245       license = with lib.licenses; [ artistic1 gpl1Plus ];
9246     };
9247   };
9249   ExtUtilsInstall = buildPerlPackage {
9250     pname = "ExtUtils-Install";
9251     version = "2.22";
9252     src = fetchurl {
9253       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.22.tar.gz";
9254       hash = "sha256-M3Jbr77Tgp1hPkxlHC4a0SBnDH0qxc8F+DdX/Jddb/I=";
9255     };
9256     meta = {
9257       description = "Install files from here to there";
9258       homepage = "https://metacpan.org/release/ExtUtils-Install";
9259       license = with lib.licenses; [ artistic1 gpl1Plus ];
9260     };
9261   };
9263   ExtUtilsInstallPaths = buildPerlPackage {
9264     pname = "ExtUtils-InstallPaths";
9265     version = "0.012";
9266     src = fetchurl {
9267       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz";
9268       hash = "sha256-hHNeMDe6sf3/o8JQhWetQSp4XJFZnbPBJZOlCh3UNO0=";
9269     };
9270     propagatedBuildInputs = [ ExtUtilsConfig ];
9271     meta = {
9272       description = "Build.PL install path logic made easy";
9273       license = with lib.licenses; [ artistic1 gpl1Plus ];
9274     };
9275   };
9277   ExtUtilsLibBuilder = buildPerlModule {
9278     pname = "ExtUtils-LibBuilder";
9279     version = "0.08";
9280     src = fetchurl {
9281       url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz";
9282       hash = "sha256-xRFx4G3lMDnwvKHZemRx7DeUH/Weij0csXDr3SVztdI=";
9283     };
9284     perlPreHook = "export LD=$CC";
9285     meta = {
9286       description = "Tool to build C libraries";
9287       license = with lib.licenses; [ artistic1 gpl1Plus ];
9288     };
9289   };
9291   ExtUtilsMakeMaker = buildPerlPackage {
9292     pname = "ExtUtils-MakeMaker";
9293     version = "7.70";
9294     src = fetchurl {
9295       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.70.tar.gz";
9296       hash = "sha256-8Qi9RkINLwDSQoJfhlsPaIUQhJJJJPkiYdaExJ4+enQ=";
9297     };
9298     meta = {
9299       description = "Create a module Makefile";
9300       homepage = "https://metacpan.org/release/ExtUtils-MakeMaker";
9301       license = with lib.licenses; [ artistic1 gpl1Plus ];
9302       mainProgram = "instmodsh";
9303     };
9304   };
9306   ExtUtilsMakeMakerCPANfile = buildPerlPackage {
9307     pname = "ExtUtils-MakeMaker-CPANfile";
9308     version = "0.09";
9309     src = fetchurl {
9310       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.09.tar.gz";
9311       hash = "sha256-LAd2B9SwoQhWkHTf926BaGWQYq2jpq94swzKDUD44nU=";
9312     };
9313     propagatedBuildInputs = [ ModuleCPANfile ];
9314     meta = {
9315       description = "Cpanfile support for EUMM";
9316       license = with lib.licenses; [ artistic1 gpl1Plus ];
9317     };
9318   };
9320   ExtUtilsPkgConfig = buildPerlPackage {
9321     pname = "ExtUtils-PkgConfig";
9322     version = "1.16";
9323     src = fetchurl {
9324       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz";
9325       hash = "sha256-u+rO2ZXX2NEM/FGjpaZtpBzrK8BP7cq1DhDmMA6AHG4=";
9326     };
9327     nativeBuildInputs = [ buildPackages.pkg-config ];
9328     propagatedBuildInputs = [ pkgs.pkg-config ];
9329     postPatch = ''
9330       # no pkg-config binary when cross-compiling so the check fails
9331       substituteInPlace Makefile.PL \
9332         --replace "pkg-config" "$PKG_CONFIG"
9333     '';
9334     doCheck = false; # expects test_glib-2.0.pc in PKG_CONFIG_PATH
9335     meta = {
9336       description = "Simplistic interface to pkg-config";
9337       license = with lib.licenses; [ lgpl21Plus ];
9338     };
9339   };
9341   # From CPAN[1]:
9342   #   This module exists merely as a compatibility wrapper around
9343   #   ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to
9344   #   ExtUtils::Typemaps because the Typemap directory in lib/ could collide with
9345   #   the typemap file on case-insensitive file systems.
9346   #
9347   #   The ExtUtils::Typemaps module is part of the ExtUtils::ParseXS distribution
9348   #   and ships with the standard library of perl starting with perl version
9349   #   5.16.
9350   #
9351   # [1] https://metacpan.org/pod/release/SMUELLER/ExtUtils-Typemap-1.00/lib/ExtUtils/Typemap.pm:
9352   ExtUtilsTypemap = buildPerlPackage {
9353     pname = "ExtUtils-Typemap";
9354     version = "1.00";
9355     src = fetchurl {
9356       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz";
9357       hash = "sha256-sbAVdy27BouToPb/oC9dlIIjZeYBisXtK8U8pmkHH8c=";
9358     };
9359     meta = {
9360       description = "Read/Write/Modify Perl/XS typemap files";
9361       license = with lib.licenses; [ artistic1 gpl1Plus ];
9362     };
9363   };
9365   ExtUtilsTypemapsDefault = buildPerlModule {
9366     pname = "ExtUtils-Typemaps-Default";
9367     version = "1.05";
9368     src = fetchurl {
9369       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz";
9370       hash = "sha256-Pfr1g36/3AB4lb/KhMPC521Ymn0zZADo37MkPYGCFd4=";
9371     };
9372     meta = {
9373       description = "Set of useful typemaps";
9374       license = with lib.licenses; [ artistic1 gpl1Plus ];
9375     };
9376   };
9378   ExtUtilsXSBuilder = buildPerlPackage {
9379     pname = "ExtUtils-XSBuilder";
9380     version = "0.28";
9381     src = fetchurl {
9382       url = "mirror://cpan/authors/id/G/GR/GRICHTER/ExtUtils-XSBuilder-0.28.tar.gz";
9383       hash = "sha256-jM7ThuPVRMXsLes67QVbcuvPwuqabIB9qHxCRScv6Ao=";
9384     };
9385     propagatedBuildInputs = [ ParseRecDescent TieIxHash ];
9386     meta = {
9387       description = "Automatic Perl XS glue code generation";
9388       license = with lib.licenses; [ artistic1 gpl1Plus ];
9389     };
9390   };
9392   ExtUtilsXSpp = buildPerlModule {
9393     pname = "ExtUtils-XSpp";
9394     version = "0.18";
9395     src = fetchurl {
9396       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz";
9397       hash = "sha256-kXatZGcp470nz3q/EUvt00JL/xumEYXPx9VPOpIjqP8=";
9398     };
9399     buildInputs = [ TestBase TestDifferences ];
9400     meta = {
9401       description = "XS for C++";
9402       license = with lib.licenses; [ artistic1 gpl1Plus ];
9403       mainProgram = "xspp";
9404     };
9405   };
9407   FatalException = buildPerlModule {
9408     pname = "Fatal-Exception";
9409     version = "0.05";
9410     src = fetchurl {
9411       url = "mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz";
9412       hash = "sha256-KAldIT+zKknJwjKmhEg375Rdua1unmHkULTfTQjj7k8=";
9413     };
9414     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
9415     propagatedBuildInputs = [ ExceptionDied ];
9416     meta = {
9417       description = "Thrown when core function has a fatal error";
9418       license = with lib.licenses; [ artistic1 gpl1Plus ];
9419     };
9420   };
9422   FCGI = buildPerlPackage {
9423     pname = "FCGI";
9424     version = "0.82";
9425     src = fetchurl {
9426       url = "mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.82.tar.gz";
9427       hash = "sha256-TH1g4m2iwH8Fik40UCHpJQUnOzPJVCIVl34IRhHwns8=";
9428     };
9429     buildInputs = [ FCGIClient ];
9430     postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
9431       sed -i '/use IO::File/d' Makefile.PL
9432     '';
9433     meta = {
9434       description = "Fast CGI module";
9435       license = with lib.licenses; [ oml ];
9436     };
9437   };
9439   FCGIClient = buildPerlModule {
9440     pname = "FCGI-Client";
9441     version = "0.09";
9442     src = fetchurl {
9443       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.09.tar.gz";
9444       hash = "sha256-1TfLCc5aqz9Eemu0QV5GzAbv4BYRzVYom1WCvbRiIeg=";
9445     };
9446     propagatedBuildInputs = [ Moo TypeTiny ];
9447     buildInputs = [ ModuleBuildTiny ];
9448     meta = {
9449       description = "Client library for fastcgi protocol";
9450       homepage = "https://github.com/tokuhirom/p5-fcgi-client";
9451       license = with lib.licenses; [ artistic1 gpl1Plus ];
9452     };
9453   };
9455   FCGIProcManager = buildPerlPackage {
9456     pname = "FCGI-ProcManager";
9457     version = "0.28";
9458     src = fetchurl {
9459       url = "mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz";
9460       hash = "sha256-4clYwEJCehdeBR4ACPICXo7IBhPTx3UFl7+OUpsEQg4=";
9461     };
9462     meta = {
9463       description = "Perl-based FastCGI process manager";
9464       license = with lib.licenses; [ gpl2Plus ];
9465     };
9466   };
9468   FFIC = buildPerlPackage {
9469     pname = "FFI-C";
9470     version = "0.15";
9471     src = fetchurl {
9472       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-C-0.15.tar.gz";
9473       hash = "sha256-63BgfmZzvMsY3yf0zuRZ+23EGODak+aSzcNVX+QNL04=";
9474     };
9475     buildInputs = [ CaptureTiny PathTiny Test2Suite ];
9476     propagatedBuildInputs = [ ClassInspector FFIPlatypus FFIPlatypusTypeEnum RefUtil SubIdentify SubInstall ];
9477     meta = {
9478       homepage = "https://metacpan.org/pod/FFI::C";
9479       description = "C data types for FFI";
9480       license = with lib.licenses; [ artistic1 gpl1Plus ];
9481       maintainers = with maintainers; [ tomasajt ];
9482     };
9483   };
9485   FFICheckLib = buildPerlPackage {
9486     pname = "FFI-CheckLib";
9487     version = "0.31";
9488     src = fetchurl {
9489       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz";
9490       hash = "sha256-BNiF/Dd9RIluXqHE7DEPl5uwTy8YZYp+ek1Qn36Au4A=";
9491     };
9492     buildInputs = [ Test2Suite ];
9493     propagatedBuildInputs = [ FileWhich ];
9494     meta = {
9495       description = "Check that a library is available for FFI";
9496       homepage = "https://metacpan.org/pod/FFI::CheckLib";
9497       license = with lib.licenses; [ artistic1 gpl1Plus ];
9498     };
9499   };
9501   FeatureCompatTry = buildPerlModule {
9502     pname = "Feature-Compat-Try";
9503     version = "0.05";
9504     src = fetchurl {
9505       url = "mirror://cpan/authors/id/P/PE/PEVANS/Feature-Compat-Try-0.05.tar.gz";
9506       hash = "sha256-WaHHFzysMNsTHF8T+jhA9xhYju+bV5NS/+FWtVBxbXw=";
9507     };
9508     buildInputs = [ Test2Suite ];
9509     propagatedBuildInputs = [ SyntaxKeywordTry ];
9510     meta = {
9511       description = "Make C<try/catch> syntax available";
9512       license = with lib.licenses; [ artistic1 gpl1Plus ];
9513     };
9514   };
9516   FFICStat = buildPerlPackage {
9517     pname = "FFI-C-Stat";
9518     version = "0.03";
9519     src = fetchurl {
9520       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-C-Stat-0.03.tar.gz";
9521       hash = "sha256-YOjveCyLs0cFXJ49ov1BTzX2EP5P77eNBzncyiQoQx4=";
9522     };
9523     buildInputs = [ Filechdir PathTiny Test2Suite TestScript ];
9524     propagatedBuildInputs = [ FFIPlatypus RefUtil ];
9525     meta = {
9526       homepage = "https://metacpan.org/pod/FFI::C::Stat";
9527       description = "Object-oriented FFI interface to native stat and lstat";
9528       license = with lib.licenses; [ artistic1 gpl1Plus ];
9529       maintainers = with maintainers; [ tomasajt ];
9530     };
9531   };
9533   FFIPlatypus = buildPerlPackage {
9534     pname = "FFI-Platypus";
9535     version = "2.09";
9536     src = fetchurl {
9537       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-2.09.tar.gz";
9538       hash = "sha256-nTEjEiieeHNbRcMRt6wWqejaCT93m/aUaccK+sTdW2M=";
9539     };
9540     buildInputs = [ AlienFFI Test2Suite ];
9541     propagatedBuildInputs = [ CaptureTiny FFICheckLib ];
9542     meta = {
9543       homepage = "https://pl.atypus.org";
9544       description = "Write Perl bindings to non-Perl libraries with FFI. No XS required";
9545       license = with lib.licenses; [ artistic1 gpl1Plus ];
9546       maintainers = with maintainers; [ tomasajt ];
9547     };
9548   };
9550   FFIPlatypusTypePtrObject = buildPerlPackage {
9551     pname = "FFI-Platypus-Type-PtrObject";
9552     version = "0.03";
9553     src = fetchurl {
9554       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-Type-PtrObject-0.03.tar.gz";
9555       hash = "sha256-4elJB++QtANgqabAPSlaEwR9T2ybVqyvHfK1TRcwf3Q=";
9556     };
9557     buildInputs = [ Test2Suite Test2ToolsFFI ];
9558     propagatedBuildInputs = [ FFIPlatypus RefUtil ];
9559     meta = {
9560       homepage = "https://metacpan.org/pod/FFI::Platypus::Type::PtrObject";
9561       description = "Platypus custom type for an object wrapped around an opaque pointer";
9562       license = with lib.licenses; [ artistic1 gpl1Plus ];
9563       maintainers = with maintainers; [ tomasajt ];
9564     };
9565   };
9567   FFIPlatypusTypeEnum = buildPerlPackage {
9568     pname = "FFI-Platypus-Type-Enum";
9569     version = "0.06";
9570     src = fetchurl {
9571       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-Type-Enum-0.06.tar.gz";
9572       hash = "sha256-yVSmBPfWkpYk+pQT2NDh2DtL2XfQVifKznPtU6lcd98=";
9573     };
9574     buildInputs = [ FFIPlatypus Test2Suite ];
9575     propagatedBuildInputs = [ RefUtil ];
9576     meta = {
9577       homepage = "https://metacpan.org/pod/FFI::Platypus::Type::Enum";
9578       description = "Custom platypus type for dealing with C enumerated types";
9579       license = with lib.licenses; [ artistic1 gpl1Plus ];
9580       maintainers = with maintainers; [ tomasajt ];
9581     };
9582   };
9584   FennecLite = buildPerlModule {
9585     pname = "Fennec-Lite";
9586     version = "0.004";
9587     src = fetchurl {
9588       url = "mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz";
9589       hash = "sha256-3OKOOTJ2LC/5KqUtkEBcBuiY6By3sWTMrolmrnfx3Ks=";
9590     };
9591     meta = {
9592       description = "Minimalist Fennec, the commonly used bits";
9593       homepage = "http://open-exodus.net/projects/Fennec-Lite";
9594       license = with lib.licenses; [ artistic1 gpl1Plus ];
9595     };
9596   };
9598   FileChangeNotify = buildPerlPackage {
9599     pname = "File-ChangeNotify";
9600     version = "0.31";
9601     src = fetchurl {
9602       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz";
9603       hash = "sha256-GSvbHOdiZsamlKjpYtA5463uuCm2rB4j9QV/K1Bjkr0=";
9604     };
9605     buildInputs = [ Test2Suite TestRequires TestWithoutModule ];
9606     propagatedBuildInputs = [ ModulePluggable Moo TypeTiny namespaceautoclean ];
9607     meta = {
9608       description = "Watch for changes to files, cross-platform style";
9609       license = with lib.licenses; [ artistic2 ];
9610     };
9611   };
9613   Filechdir = buildPerlPackage {
9614     pname = "File-chdir";
9615     version = "0.1011";
9616     src = fetchurl {
9617       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz";
9618       hash = "sha256-Mev5Et9I1daB3vdLmIDXix86ykNRoO0f41cLjgOvbHk=";
9619     };
9620     meta = {
9621       description = "More sensible way to change directories";
9622       license = with lib.licenses; [ artistic1 gpl1Plus ];
9623     };
9624   };
9626   FileBaseDir = buildPerlPackage {
9627     version = "0.09";
9628     pname = "File-BaseDir";
9629     src = fetchurl {
9630       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-BaseDir-0.09.tar.gz";
9631       hash = "sha256-bab3KBVirI8R7xo69q7bUcQRgrYPHxIs7QB579kpZ9k=";
9632     };
9633     propagatedBuildInputs = [ IPCSystemSimple ];
9634     nativeCheckInputs = [ FileWhich ];
9635     meta = {
9636       description = "Use the Freedesktop.org base directory specification";
9637       license = with lib.licenses; [ artistic1 gpl1Plus ];
9638     };
9639   };
9641   FileBOM = buildPerlModule {
9642     pname = "File-BOM";
9643     version = "0.18";
9644     src = fetchurl {
9645       url = "mirror://cpan/authors/id/M/MA/MATTLAW/File-BOM-0.18.tar.gz";
9646       hash = "sha256-KO3EP8sRjhG8RYya6InVbTiMHZvCmZewCx3/2Fc4I6M=";
9647     };
9648     buildInputs = [ TestException ];
9649     propagatedBuildInputs = [ Readonly ];
9650     meta = {
9651       description = "Utilities for handling Byte Order Marks";
9652       license = with lib.licenses; [ artistic1 gpl1Plus ];
9653     };
9654   };
9656   FileCheckTree = buildPerlPackage {
9657     pname = "File-CheckTree";
9658     version = "4.42";
9659     src = fetchurl {
9660       url = "mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz";
9661       hash = "sha256-ZvtBf4/4peW36iVgYVbnDiBIYcWfqMODGSW03T8VX4o=";
9662     };
9663     meta = {
9664       description = "Run many filetest checks on a tree";
9665       homepage = "https://search.cpan.org/dist/File-CheckTree";
9666       license = with lib.licenses; [ artistic1 gpl1Plus ];
9667     };
9668   };
9670   Filechmod = buildPerlPackage {
9671     pname = "File-chmod";
9672     version = "0.42";
9673     src = fetchurl {
9674       url = "mirror://cpan/authors/id/X/XE/XENO/File-chmod-0.42.tar.gz";
9675       hash = "sha256-bK+v/2i8hCFRaLVe3g0ZHctX+aMgG1HWHtsoWKJAd5U=";
9676     };
9677     meta = {
9678       description = "Implements symbolic and ls chmod modes";
9679       homepage = "https://metacpan.org/dist/File-chmod";
9680       license = with lib.licenses; [ artistic1 gpl1Plus ];
9681     };
9682   };
9684   FilechmodRecursive = buildPerlPackage {
9685     pname = "File-chmod-Recursive";
9686     version = "1.0.3";
9687     src = fetchurl {
9688       url = "mirror://cpan/authors/id/M/MI/MITHUN/File-chmod-Recursive-v1.0.3.tar.gz";
9689       hash = "sha256-k0jKXFuI3q3MSDuTme98Lg/CUE+QWNtl88PFPEETmqc=";
9690     };
9691     propagatedBuildInputs = [ Filechmod ];
9692     meta = {
9693       description = "Run chmod recursively against directories";
9694       homepage = "https://github.com/mithun/perl-file-chmod-recursive";
9695       license = with lib.licenses; [ artistic1 gpl1Plus ];
9696     };
9697   };
9699   FileCopyRecursive = buildPerlPackage {
9700     pname = "File-Copy-Recursive";
9701     version = "0.45";
9702     src = fetchurl {
9703       url = "mirror://cpan/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz";
9704       hash = "sha256-05cc94qDReOAQrIIu3s5y2lQgDhq9in0oE/9ZUnfEVc=";
9705     };
9706     buildInputs = [ PathTiny TestDeep TestFatal TestFile TestWarnings ];
9707     meta = {
9708       description = "Perl extension for recursively copying files and directories";
9709       license = with lib.licenses; [ artistic1 gpl1Plus ];
9710     };
9711   };
9713   FileCopyRecursiveReduced = buildPerlPackage {
9714     pname = "File-Copy-Recursive-Reduced";
9715     version = "0.007";
9716     src = fetchurl {
9717       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-0.007.tar.gz";
9718       hash = "sha256-07WFIuaYA6kUN+KcCZ63Bug3Px7vBRik3DZp3T383Cc=";
9719     };
9720     buildInputs = [ CaptureTiny PathTiny ];
9721     meta = {
9722       description = "Recursive copying of files and directories within Perl 5 toolchain";
9723       homepage = "http://thenceforward.net/perl/modules/File-Copy-Recursive-Reduced";
9724       license = with lib.licenses; [ artistic1 gpl1Plus ];
9725     };
9726   };
9728   FileCountLines = buildPerlPackage {
9729     pname = "File-CountLines";
9730     version = "0.0.3";
9731     src = fetchurl {
9732       url = "mirror://cpan/authors/id/M/MO/MORITZ/File-CountLines-v0.0.3.tar.gz";
9733       hash = "sha256-z9l8znyWE+TladR4dKK1cE8b6eztLwc5yHByVpQ4KmI=";
9734     };
9735     meta = {
9736       description = "Efficiently count the number of line breaks in a file";
9737       license = with lib.licenses; [ artistic1 gpl1Plus ];
9738     };
9739   };
9741   FileDesktopEntry = buildPerlPackage {
9742     version = "0.22";
9743     pname = "File-DesktopEntry";
9744     src = fetchurl {
9745       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz";
9746       hash = "sha256-FpwB49ri9il2e+wanxzb1uxtcT0VAeCyeG5N0SNWNbg=";
9747     };
9748     propagatedBuildInputs = [ FileBaseDir URI ];
9749     meta = {
9750       description = "Object to handle .desktop files";
9751       license = with lib.licenses; [ artistic1 gpl1Plus ];
9752     };
9753   };
9755   FileDirList = buildPerlPackage {
9756     version = "0.05";
9757     pname = "File-DirList";
9758     src = fetchurl {
9759       url = "mirror://cpan/authors/id/T/TP/TPABA/File-DirList/File-DirList-0.05.tar.gz";
9760       sha256 = "sha256-mTt9dmLlV5hEih7azLmr0oHSvSO+fquZ9Wm44pYtO8M=";
9761     };
9762     preCheck = ''
9763       export HOME="$TMPDIR"
9764     '';
9765     meta = {
9766       description = "Provide a sorted list of directory content";
9767       license = with lib.licenses; [ artistic1 gpl1Plus ];
9768     };
9769   };
9771   FileFindIterator = buildPerlPackage {
9772     pname = "File-Find-Iterator";
9773     version = "0.4";
9774     src = fetchurl {
9775       url = "mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz";
9776       hash = "sha256-orh6uXVqLlu2dK29OZN2Y+0gwoxxa/WhCVo8pE1Uqyw=";
9777     };
9778     propagatedBuildInputs = [ ClassIterator ];
9779     meta = {
9780       description = "Iterator interface for search files";
9781       license = with lib.licenses; [ artistic1 gpl1Plus ];
9782     };
9783   };
9785   FileFindObject = buildPerlModule {
9786     pname = "File-Find-Object";
9787     version = "0.3.8";
9788     src = fetchurl {
9789       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.8.tar.gz";
9790       hash = "sha256-TlJRRt6GTt+8kJsIRGKe7O0AY7YdQYuXLu8D+ES7NRQ=";
9791     };
9792     buildInputs = [ FileTreeCreate TestFile ];
9793     propagatedBuildInputs = [ ClassXSAccessor ];
9794     meta = {
9795       description = "Object oriented File::Find replacement";
9796       homepage = "https://metacpan.org/release/File-Find-Object";
9797       license = with lib.licenses; [ artistic2 ];
9798     };
9799   };
9801   FileFindObjectRule = buildPerlModule {
9802     pname = "File-Find-Object-Rule";
9803     version = "0.0313";
9804     src = fetchurl {
9805       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0313.tar.gz";
9806       hash = "sha256-gZQPKZ1khySPvzDY8ft99sajSz35RApWIbE1yONPz/I=";
9807     };
9808     buildInputs = [ FileTreeCreate ];
9809     propagatedBuildInputs = [ ClassXSAccessor FileFindObject NumberCompare TextGlob ];
9810     # restore t/sample-data which is corrupted by patching shebangs
9811     preCheck = ''
9812       tar xf $src */t/sample-data --strip-components=1
9813     '';
9814     meta = {
9815       description = "Alternative interface to File::Find::Object";
9816       homepage = "https://www.shlomifish.org/open-source/projects/File-Find-Object";
9817       license = with lib.licenses; [ artistic1 gpl1Plus ];
9818       mainProgram = "findorule";
9819     };
9820   };
9822   FileFindRule = buildPerlPackage {
9823     pname = "File-Find-Rule";
9824     version = "0.34";
9825     src = fetchurl {
9826       url = "mirror://cpan/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz";
9827       hash = "sha256-fm8WzDPrHyn/Jb7lHVE/S4qElHu/oY7bLTzECi1kyv4=";
9828     };
9829     propagatedBuildInputs = [ NumberCompare TextGlob ];
9830     meta = {
9831       description = "File::Find::Rule is a friendlier interface to File::Find";
9832       license = with lib.licenses; [ artistic1 gpl1Plus ];
9833       mainProgram = "findrule";
9834     };
9835   };
9837   FileFindRulePerl = buildPerlPackage {
9838     pname = "File-Find-Rule-Perl";
9839     version = "1.16";
9840     src = fetchurl {
9841       url = "mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.16.tar.gz";
9842       hash = "sha256-rhiGBQ2cohIjwHPihwq9yA3DDj9VKJoRw32jggqDIf8=";
9843     };
9844     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
9845     meta = {
9846       description = "Common rules for searching for Perl things";
9847       homepage = "https://github.com/karenetheridge/File-Find-Rule-Perl";
9848       license = with lib.licenses; [ artistic1 gpl1Plus ];
9849     };
9850   };
9852   FileFinder = buildPerlPackage {
9853     pname = "File-Finder";
9854     version = "0.53";
9855     src = fetchurl {
9856       url = "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz";
9857       hash = "sha256-LsvBmsZ6nmNchyqAeo0+qv9bq8BU8VoZHUfN/F8XanQ=";
9858     };
9859     propagatedBuildInputs = [ TextGlob ];
9860     meta = {
9861       description = "Nice wrapper for File::Find ala find(1)";
9862       license = with lib.licenses; [ artistic1 gpl1Plus ];
9863     };
9864   };
9866   FileFnMatch = buildPerlPackage {
9867     pname = "File-FnMatch";
9868     version = "0.02";
9869     src = fetchurl {
9870       url = "mirror://cpan/authors/id/M/MJ/MJP/File-FnMatch-0.02.tar.gz";
9871       hash = "sha256-liRUuOhr6osTK/ivNXV9DGqPXVmQFb1qXWjLeuep6RY=";
9872     };
9873     meta = {
9874       description = "Simple filename and pathname matching";
9875       license = with lib.licenses; [ artistic1 gpl1Plus ];
9876       maintainers = teams.deshaw.members;
9877     };
9878   };
9880   FileFcntlLock = buildPerlPackage {
9881     pname = "File-FcntlLock";
9882     version = "0.22";
9883     src = fetchurl {
9884       url = "mirror://cpan/authors/id/J/JT/JTT/File-FcntlLock-0.22.tar.gz";
9885       hash = "sha256-mpq7Lv/5Orc3QaEo0/cA5SUnNUbBXQTnxRxwSrCdvN8=";
9886     };
9887     meta = {
9888       description = "File locking with fcntl(2)";
9889       license = with lib.licenses; [ artistic1 ];
9890       maintainers = with maintainers; [ das_j ];
9891     };
9892   };
9894   FileGrep = buildPerlPackage {
9895     pname = "File-Grep";
9896     version = "0.02";
9897     src = fetchurl {
9898       url = "mirror://cpan/authors/id/M/MN/MNEYLON/File-Grep-0.02.tar.gz";
9899       hash = "sha256-Ri4VJ062J4UhQH6jAtnupyUs1EyrI4KHH33oM9X4VjI=";
9900     };
9901     meta = {
9902       description = "Find matches to a pattern in a series of files and related functions";
9903       license = with lib.licenses; [ artistic1 gpl1Plus ];
9904       maintainers = teams.deshaw.members;
9905     };
9906   };
9908   FileHandleUnget = buildPerlPackage {
9909     pname = "FileHandle-Unget";
9910     version = "0.1634";
9911     src = fetchurl {
9912       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/FileHandle-Unget-0.1634.tar.gz";
9913       hash = "sha256-OA80rTzl6exmHUxGi7M5IjHBYjF9QXLfN4FGtCqrF4U=";
9914     };
9915     buildInputs = [ FileSlurper TestCompile UNIVERSALrequire URI ];
9916     meta = {
9917       description = "FileHandle which supports multi-byte unget";
9918       homepage = "https://github.com/coppit/filehandle-unget";
9919       license = with lib.licenses; [ gpl2Only ];
9920       maintainers = with maintainers; [ romildo ];
9921     };
9922   };
9924   FileHomeDir = buildPerlPackage {
9925     pname = "File-HomeDir";
9926     version = "1.006";
9927     src = fetchurl {
9928       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.006.tar.gz";
9929       hash = "sha256-WTc3xi3w9tq11BIuC0R2QXlFu2Jiwz7twAlmXvFUiFI=";
9930     };
9931     propagatedBuildInputs = [ FileWhich ];
9932     preCheck = "export HOME=$TMPDIR";
9933     doCheck = !stdenv.hostPlatform.isDarwin;
9934     meta = {
9935       description = "Find your home and other directories on any platform";
9936       homepage = "https://metacpan.org/release/File-HomeDir";
9937       license = with lib.licenses; [ artistic1 gpl1Plus ];
9938     };
9939   };
9941   FileKDBX = buildPerlPackage {
9942     pname = "File-KDBX";
9943     version = "0.906";
9944     src = fetchurl {
9945       url = "mirror://cpan/authors/id/C/CC/CCM/File-KDBX-0.906.tar.gz";
9946       hash = "sha256-tHt/kzOrtJHqrsY0WhTn+TlW0UOUTBS4Fkp/0bIkvW8=";
9947     };
9948     propagatedBuildInputs = [ CryptArgon2 CryptX DevelGlobalDestruction FileKeePass IteratorSimple RefUtil XMLLibXML boolean namespaceclean ];
9949     buildInputs = [ ScopeGuard TestDeep TestFatal TestWarnings ];
9950     meta = {
9951       description = "Interface to KeePass V3 and V4 database files";
9952       license = with lib.licenses; [ artistic1 gpl1Plus ];
9953     };
9954   };
9956   FileKeePass = buildPerlPackage {
9957     pname = "File-KeePass";
9958     version = "2.03";
9959     src = fetchurl {
9960       url = "mirror://cpan/authors/id/R/RH/RHANDOM/File-KeePass-2.03.tar.gz";
9961       hash = "sha256-wwxogCelL/T1jNadbY7zVHKnzxBtTOlOtzp5a6fH/6c=";
9962     };
9963     propagatedBuildInputs = [ CryptRijndael ];
9964     meta = {
9965       description = "Interface to KeePass V1 and V2 database files";
9966       license = with lib.licenses; [ gpl2Only gpl3Only ];
9967     };
9968   };
9970   Filelchown = buildPerlModule {
9971     pname = "File-lchown";
9972     version = "0.02";
9973     src = fetchurl {
9974       url = "mirror://cpan/authors/id/P/PE/PEVANS/File-lchown-0.02.tar.gz";
9975       hash = "sha256-oC+/KFQGqKTZOZKE8DLy1VxWl1FUwuFnS9EJg3uAluw=";
9976     };
9977     buildInputs = [ ExtUtilsCChecker ];
9978     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
9979     meta = {
9980       description = "Modify attributes of symlinks without dereferencing them";
9981       license = with lib.licenses; [ artistic1 gpl1Plus ];
9982     };
9983   };
9985   FileLibMagic = buildPerlPackage {
9986     pname = "File-LibMagic";
9987     version = "1.23";
9988     src = fetchurl {
9989       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-LibMagic-1.23.tar.gz";
9990       hash = "sha256-Uuax3Hyy2HpM30OboUXguejPKMwmpIo8+Zd8g0Y5Z+4=";
9991     };
9992     buildInputs = [ pkgs.file ConfigAutoConf TestFatal ];
9993     makeMakerFlags = [ "--lib=${pkgs.file}/lib" ];
9994     preCheck = ''
9995       substituteInPlace t/oo-api.t \
9996         --replace "/usr/share/file/magic.mgc" "${pkgs.file}/share/misc/magic.mgc"
9997     '';
9998     meta = {
9999       description = "Determine MIME types of data or files using libmagic";
10000       homepage = "https://metacpan.org/release/File::LibMagic";
10001       license = with lib.licenses; [ artistic1 gpl1Plus ];
10002       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.FileLibMagic.x86_64-darwin
10003     };
10004   };
10006   FileListing = buildPerlPackage {
10007     pname = "File-Listing";
10008     version = "6.16";
10009     src = fetchurl {
10010       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-6.16.tar.gz";
10011       hash = "sha256-GJs6E/wKG6QSudnsWQHp5eREzHRrnwFW1DmTcNM2VcY=";
10012     };
10013     propagatedBuildInputs = [ HTTPDate ];
10014     meta = {
10015       description = "Parse directory listing";
10016       license = with lib.licenses; [ artistic1 gpl1Plus ];
10017     };
10018   };
10020   FileLoadLines = buildPerlPackage {
10021     pname = "File-LoadLines";
10022     version = "1.046";
10023     src = fetchurl {
10024       url = "mirror://cpan/authors/id/J/JV/JV/File-LoadLines-1.046.tar.gz";
10025       hash = "sha256-ebmx0HqFLHJaR/YEa3V9HXDKOvrWP6J6CHCHQ23XK8I=";
10026     };
10027     buildInputs = [ TestException ];
10028     meta = {
10029       description = "Load lines from file";
10030       license = with lib.licenses; [ artistic1 gpl1Plus ];
10031     };
10032   };
10034   FileMimeInfo = buildPerlPackage {
10035     pname = "File-MimeInfo";
10036     version = "0.33";
10037     src = fetchurl {
10038       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.33.tar.gz";
10039       hash = "sha256-9r6ms4kGITJeycJ5KvruiOlIoK4dEIcvpyxxELPhscQ=";
10040     };
10041     doCheck = false; # Failed test 'desktop file is the right one'
10042     buildInputs = [ FileBaseDir FileDesktopEntry EncodeLocale ];
10043     meta = {
10044       description = "Determine file type from the file name";
10045       license = with lib.licenses; [ artistic1 gpl1Plus ];
10046     };
10047   };
10049   FileMMagic = buildPerlPackage {
10050     pname = "File-MMagic";
10051     version = "1.30";
10052     src = fetchurl {
10053       url = "mirror://cpan/authors/id/K/KN/KNOK/File-MMagic-1.30.tar.gz";
10054       hash = "sha256-zwwbHrKXBcAtl8KRNkgAnAvkLOk+wks2xpa/LU9evX4=";
10055     };
10056     meta = {
10057       description = "Guess file type from contents";
10058       license = with lib.licenses; [ asl20 ];
10059     };
10060   };
10062   FileMap = buildPerlModule {
10063     pname = "File-Map";
10064     version = "0.71";
10065     src = fetchurl {
10066       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Map-0.71.tar.gz";
10067       hash = "sha256-yOJpM4BOhw1KupJiO3iGrIs8dgyY+/zTvcSyMFxGR1k=";
10068     };
10069     perlPreHook = "export LD=$CC";
10070     propagatedBuildInputs = [ PerlIOLayers SubExporterProgressive ];
10071     buildInputs = [ TestFatal TestWarnings ];
10072     meta = {
10073       description = "Memory mapping made simple and safe";
10074       license = with lib.licenses; [ artistic1 gpl1Plus ];
10075     };
10076   };
10078   FileModified = buildPerlPackage {
10079     pname = "File-Modified";
10080     version = "0.10";
10081     src = fetchurl {
10082       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Modified-0.10.tar.gz";
10083       hash = "sha256-a1CxqrbsaZigF/ZAPCc1s7weHPRhh70TTX623z/EUUQ=";
10084     };
10085     meta = {
10086       description = "Checks intelligently if files have changed";
10087       homepage = "https://github.com/neilbowers/File-Modified";
10088       license = with lib.licenses; [ artistic1 gpl1Plus ];
10089     };
10090   };
10092   FileNext = buildPerlPackage {
10093     pname = "File-Next";
10094     version = "1.18";
10095     src = fetchurl {
10096       url = "mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz";
10097       hash = "sha256-+QDLOVBetuFoqcpRoQtz8bveGRS5I6CezXLZwC5uwu8=";
10098     };
10099     meta = {
10100       description = "File-finding iterator";
10101       license = with lib.licenses; [ artistic2 ];
10102     };
10103   };
10105   FileNFSLock = buildPerlPackage {
10106     pname = "File-NFSLock";
10107     version = "1.29";
10108     src = fetchurl {
10109       url = "mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.29.tar.gz";
10110       hash = "sha256-YdQVmbSBFk7fm4vsq77y0j9iKpcn9sGDZekrV4LU+jc=";
10111     };
10112     meta = {
10113       description = "Perl module to do NFS (or not) locking";
10114       license = with lib.licenses; [ artistic1 gpl1Only ];
10115     };
10116   };
10118   FilePath = buildPerlPackage {
10119     pname = "File-Path";
10120     version = "2.18";
10121     src = fetchurl {
10122       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.18.tar.gz";
10123       hash = "sha256-mA8KF+2zU99G6c17NX+fWSnN4PgMRf16Bs9+DovWrd0=";
10124     };
10125     meta = {
10126       description = "Create or remove directory trees";
10127       license = with lib.licenses; [ artistic1 gpl1Plus ];
10128     };
10129   };
10131   FilePid = buildPerlPackage {
10132     pname = "File-Pid";
10133     version = "1.01";
10134     src = fetchurl {
10135       url = "mirror://cpan/authors/id/C/CW/CWEST/File-Pid-1.01.tar.gz";
10136       hash = "sha256-uv7uj9yW6wYwagxYu9tyCbbeRfhQ51/caxbbV24F5CI=";
10137     };
10138     patches = [(fetchpatch {
10139       name = "missing-pidfile.patch";
10140       url = "https://sources.debian.org/data/main/libf/libfile-pid-perl/1.01-2/debian/patches/missing-pidfile.patch";
10141       hash = "sha256-VBsIYyCnjcZLYQ2Uq2MKPK3kF2wiMKvnq0m727DoavM=";
10142     })];
10143     propagatedBuildInputs = [ ClassAccessor ];
10144     meta = {
10145       description = "Pid File Manipulation";
10146       license = with lib.licenses; [ artistic1 gpl1Plus ];
10147       maintainers = teams.deshaw.members;
10148     };
10149   };
10151   Filepushd = buildPerlPackage {
10152     pname = "File-pushd";
10153     version = "1.016";
10154     src = fetchurl {
10155       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.016.tar.gz";
10156       hash = "sha256-1zp/CUQpg7CYJg3z33qDKl9mB3OjE8onP6i1ZmX5fNw=";
10157     };
10158     meta = {
10159       description = "Change directory temporarily for a limited scope";
10160       homepage = "https://github.com/dagolden/File-pushd";
10161       license = with lib.licenses; [ asl20 ];
10162     };
10163   };
10165   FileReadBackwards = buildPerlPackage {
10166     pname = "File-ReadBackwards";
10167     version = "1.06";
10168     src = fetchurl {
10169       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-ReadBackwards-1.06.tar.gz";
10170       hash = "sha256-MrKgVJOJqviIde8D1+u//y1ZeeyoW3yBL2tLsQ0QL2I=";
10171     };
10172     meta = {
10173       description = "Read a file backwards by lines";
10174       homepage = "https://metacpan.org/pod/File::ReadBackwards";
10175       license = with lib.licenses; [ artistic1 gpl1Plus ];
10176     };
10177   };
10179   FileRemove = buildPerlModule {
10180     pname = "File-Remove";
10181     version = "1.61";
10182     src = fetchurl {
10183       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.61.tar.gz";
10184       hash = "sha256-/YV/WFkI/FA0YbnkizyFlOZTV2a8FL6xfJC6WNXcSXU=";
10185     };
10186     meta = {
10187       description = "Remove files and directories";
10188       license = with lib.licenses; [ artistic1 gpl1Plus ];
10189     };
10190   };
10192   FileShare = buildPerlPackage {
10193     pname = "File-Share";
10194     version = "0.27";
10195     src = fetchurl {
10196       url = "mirror://cpan/authors/id/I/IN/INGY/File-Share-0.27.tar.gz";
10197       hash = "sha256-1uj0tV69OOC7ReRDkuP6J9wf3harxdH/U+FX4ZpXVb4=";
10198     };
10199     propagatedBuildInputs = [ FileShareDir Readonly ];
10200     meta = {
10201       description = "Extend File::ShareDir to Local Libraries";
10202       homepage = "https://github.com/ingydotnet/file-share-pm";
10203       license = with lib.licenses; [ artistic1 gpl1Plus ];
10204     };
10205   };
10207   FileShareDir = buildPerlPackage {
10208     pname = "File-ShareDir";
10209     version = "1.118";
10210     src = fetchurl {
10211       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz";
10212       hash = "sha256-O7KiC6Nd+VjcCk8jBvwF2QPYuMTePIvu/OF3OdKByVg=";
10213     };
10214     propagatedBuildInputs = [ ClassInspector ];
10215     buildInputs = [ FileShareDirInstall ];
10216     meta = {
10217       description = "Locate per-dist and per-module shared files";
10218       homepage = "https://metacpan.org/release/File-ShareDir";
10219       license = with lib.licenses; [ artistic1 gpl1Plus ];
10220     };
10221   };
10223   FileShareDirDist = buildPerlPackage {
10224     pname = "File-ShareDir-Dist";
10225     version = "0.07";
10226     src = fetchurl {
10227       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-ShareDir-Dist-0.07.tar.gz";
10228       hash = "sha256-jX/l0O4iNR9B75Wtwi29VsMf+iqbLBmEMA6S/36f6G0=";
10229     };
10230     meta = {
10231       homepage = "https://metacpan.org/pod/File::ShareDir::Dist";
10232       description = "Locate per-dist shared files";
10233       license = with lib.licenses; [ artistic1 gpl1Plus ];
10234       maintainers = with maintainers; [ tomasajt ];
10235     };
10236   };
10238   FileShareDirInstall = buildPerlPackage {
10239     pname = "File-ShareDir-Install";
10240     version = "0.14";
10241     src = fetchurl {
10242       url = "mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.14.tar.gz";
10243       hash = "sha256-j5UzsZjy1KmlKIy8fSJPdnmtBaeoVzdFWZeJQovFrqA=";
10244     };
10245     meta = {
10246       description = "Install shared files";
10247       homepage = "https://github.com/Perl-Toolchain-Gang/File-ShareDir-Install";
10248       license = with lib.licenses; [ artistic1 gpl1Plus ];
10249     };
10250   };
10252   FilesysDf = buildPerlPackage {
10253     pname = "Filesys-Df";
10254     version = "0.92";
10255     src = fetchurl {
10256       url = "mirror://cpan/authors/id/I/IG/IGUTHRIE/Filesys-Df-0.92.tar.gz";
10257       hash = "sha256-/onLtCfg4F8c2Xwt1tOGasayG8eoVzTt4Vm9w1R5VSo=";
10258     };
10259     meta = {
10260       description = "Perl extension for filesystem disk space information";
10261       license = with lib.licenses; [ artistic1 gpl1Plus ];
10262     };
10263   };
10265   FilesysNotifySimple = buildPerlPackage {
10266     pname = "Filesys-Notify-Simple";
10267     version = "0.14";
10268     src = fetchurl {
10269       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz";
10270       hash = "sha256-H9pxLUul4YaBWe019vjvv66dQ11jdvVgbVM7ywgFVaQ=";
10271     };
10272     buildInputs = [ TestSharedFork ];
10273     meta = {
10274       description = "Simple and dumb file system watcher";
10275       homepage = "https://github.com/miyagawa/Filesys-Notify-Simple";
10276       license = with lib.licenses; [ artistic1 gpl1Plus ];
10277     };
10278   };
10280   FilesysDiskUsage = buildPerlPackage {
10281     pname = "Filesys-DiskUsage";
10282     version = "0.13";
10283     src = fetchurl {
10284       url = "mirror://cpan/authors/id/M/MA/MANWAR/Filesys-DiskUsage-0.13.tar.gz";
10285       hash = "sha256-/T5SxvYkEnGigTSNHUPEQVTC9hoyVD20aqnhVpLRtxM=";
10286     };
10287     buildInputs = [ TestWarn ];
10288     meta = {
10289       description = "Estimate file space usage (similar to `du`)";
10290       license = with lib.licenses; [ artistic1 gpl1Plus ];
10291       mainProgram = "fdu";
10292     };
10293   };
10295   FileSlurp = buildPerlPackage {
10296     pname = "File-Slurp";
10297     version = "9999.32";
10298     src = fetchurl {
10299       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz";
10300       hash = "sha256-TDwhmSqdQr46ed10o8g9J9OAVyadZVCaL1VeoPsrxbA=";
10301     };
10302     meta = {
10303       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
10304       license = with lib.licenses; [ artistic1 gpl1Plus ];
10305     };
10306   };
10308   FileSlurper = buildPerlPackage {
10309     pname = "File-Slurper";
10310     version = "0.014";
10311     src = fetchurl {
10312       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.014.tar.gz";
10313       hash = "sha256-1aNkhzOYiMPNdY5kgWDuHXDrQVPKy6/1eEbbzvs0Sww=";
10314     };
10315     buildInputs = [ TestWarnings ];
10316     meta = {
10317       description = "Simple, sane and efficient module to slurp a file";
10318       license = with lib.licenses; [ artistic1 gpl1Plus ];
10319     };
10320   };
10322   FileSlurpTiny = buildPerlPackage {
10323     pname = "File-Slurp-Tiny";
10324     version = "0.004";
10325     src = fetchurl {
10326       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz";
10327       hash = "sha256-RSmVvuq/DpI+Zf3GJ6cl27EsnhDADYAYwW0QumJ1fx4=";
10328     };
10329     meta = {
10330       description = "Simple, sane and efficient file slurper [DISCOURAGED]";
10331       license = with lib.licenses; [ artistic1 gpl1Plus ];
10332     };
10333   };
10335   FileTail = buildPerlPackage {
10336     pname = "File-Tail";
10337     version = "1.3";
10338     src = fetchurl {
10339       url = "mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz";
10340       hash = "sha256-JtCfgYNuQ+rkACjVKD/lYg/m/mJ4vz6462AMSOw0r8c=";
10341     };
10342     meta = {
10343       description = "Perl extension for reading from continously updated files";
10344       license = with lib.licenses; [ artistic1 gpl1Plus ];
10345       maintainers = teams.deshaw.members;
10346     };
10347   };
10349   FileTouch = buildPerlPackage {
10350     pname = "File-Touch";
10351     version = "0.12";
10352     src = fetchurl {
10353       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Touch-0.12.tar.gz";
10354       hash = "sha256-KgTcQk30jpjFRVbGBFyrAmpJ43N6qUohz0l3YbDy5Zw=";
10355     };
10356     meta = {
10357       description = "Update file access and modification times, optionally creating files if needed";
10358       homepage = "https://github.com/neilb/File-Touch";
10359       license = with lib.licenses; [ artistic1 gpl1Plus ];
10360       maintainers = teams.deshaw.members;
10361     };
10362   };
10364   FileTreeCreate = buildPerlModule {
10365     pname = "File-TreeCreate";
10366     version = "0.0.1";
10367     src = fetchurl {
10368       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-TreeCreate-0.0.1.tar.gz";
10369       hash = "sha256-V2hvEIQ76Br/rRha5BMXkLoMSvNtIQTW+2kSZSgFUmc=";
10370     };
10371     meta = {
10372       homepage = "http://metacpan.org/release/File-TreeCreate";
10373       description = "Recursively create a directory tree";
10374       license = lib.licenses.mit;
10375     };
10376   };
10378   FileType = buildPerlModule {
10379     pname = "File-Type";
10380     version = "0.22";
10381     src = fetchurl {
10382       url = "mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz";
10383       hash = "sha256-01zZX+9X/U39iDH2LDTilNfEuGH8kJ4Ct2Bxc51S00E=";
10384     };
10385     meta = {
10386       description = "Uses magic numbers (typically at the start of a file) to determine the MIME type of that file";
10387       license = with lib.licenses; [ artistic1 gpl1Plus ];
10388     };
10389   };
10391   FileUtil = buildPerlModule {
10392     pname = "File-Util";
10393     version = "4.201720";
10394     src = fetchurl {
10395       url = "mirror://cpan/authors/id/T/TO/TOMMY/File-Util-4.201720.tar.gz";
10396       hash = "sha256-1EkQIYUNXFy9cCx+R0SFgHmEHS+pPxwtCd3Jp4Y2CN8=";
10397     };
10398     buildInputs = [ TestNoWarnings ];
10399     meta = {
10400       description = "Easy, versatile, portable file handling";
10401       homepage = "https://github.com/tommybutler/file-util/wiki";
10402       license = with lib.licenses; [ artistic1 gpl1Plus ];
10403     };
10404   };
10406   FileUtilTempdir = buildPerlPackage {
10407     pname = "File-Util-Tempdir";
10408     version = "0.034";
10409     src = fetchurl {
10410       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/File-Util-Tempdir-0.034.tar.gz";
10411       hash = "sha256-0R3izl5vrT8GFLymR0ykScNa7TUSXVsyJ+ZpvBdv3Bw=";
10412     };
10413     buildInputs = [ Perlosnames TestException ];
10414     meta = {
10415       description = "Cross-platform way to get system-wide & user private temporary directory";
10416       homepage = "https://metacpan.org/release/File-Util-Tempdir";
10417       license = with lib.licenses; [ artistic1 gpl1Plus ];
10418       maintainers = [ maintainers.sgo ];
10419     };
10420   };
10422   FileWhich = buildPerlPackage {
10423     pname = "File-Which";
10424     version = "1.27";
10425     src = fetchurl {
10426       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Which-1.27.tar.gz";
10427       hash = "sha256-MgHxpg4/FkhAguYEXIloQiYfw0Xen7LmIP0qLHrzqTo=";
10428     };
10429     meta = {
10430       description = "Perl implementation of the which utility as an API";
10431       homepage = "https://metacpan.org/pod/File::Which";
10432       license = with lib.licenses; [ artistic1 gpl1Plus ];
10433     };
10434   };
10436   FileXDG = buildPerlPackage {
10437     pname = "File-XDG";
10438     version = "1.03";
10439     src = fetchurl {
10440       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-XDG-1.03.tar.gz";
10441       hash = "sha256-iL18FFjLdjvs7W570MEZcqFWseOSMphPinqL5CBr984=";
10442     };
10443     preCheck = "rm t/file_xdg.t"; # Tries to write to $HOME
10444     propagatedBuildInputs = [ PathClass PathTiny RefUtil ];
10445     meta = {
10446       homepage = "https://metacpan.org/pod/File::XDG";
10447       description = "Basic implementation of the XDG base directory specification";
10448       license = with lib.licenses; [ artistic1 gpl1Plus ];
10449     };
10450   };
10452   FileZglob = buildPerlPackage {
10453     pname = "File-Zglob";
10454     version = "0.11";
10455     src = fetchurl {
10456       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz";
10457       hash = "sha256-HLHt3iCsCU7wA3lLr+8sdiQWnPhALHNn2bdGD2wOZps=";
10458     };
10459     meta = {
10460       description = "Extended globs";
10461       license = with lib.licenses; [ artistic1 gpl1Plus ];
10462     };
10463   };
10465   Filter = buildPerlPackage {
10466     pname = "Filter";
10467     version = "1.64";
10468     src = fetchurl {
10469       url = "mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.64.tar.gz";
10470       hash = "sha256-E+f7fh0yZZjjZgEDzxl0vun2kKxbQ7M58sAi8rX87yw=";
10471     };
10472     meta = {
10473       description = "Source Filters";
10474       license = with lib.licenses; [ artistic1 gpl1Plus ];
10475     };
10476   };
10478   FinanceQuote = buildPerlPackage rec {
10479     pname = "Finance-Quote";
10480     version = "1.63";
10481     src = fetchurl {
10482       url = "mirror://cpan/authors/id/B/BP/BPSCHUCK/Finance-Quote-${version}.tar.gz";
10483       hash = "sha256-Y0dqDIJ60aHf7KjePopkKiToeMH0p6neb1FNaoV3so0=";
10484     };
10485     buildInputs = [ DateManip DateRange DateSimple DateTime DateTimeFormatISO8601 StringUtil TestKwalitee TestPerlCritic TestPod TestPodCoverage ];
10486     propagatedBuildInputs = [ DateManip DateTimeFormatStrptime Encode HTMLTableExtract HTMLTokeParserSimple HTMLTree HTMLTreeBuilderXPath HTTPCookies HTTPCookieJar JSON IOCompress IOString LWPProtocolHttps Readonly StringUtil SpreadsheetXLSX TextTemplate TryTiny WebScraper XMLLibXML libwwwperl ];
10487     meta = {
10488       homepage = "https://finance-quote.sourceforge.net/";
10489       changelog = "https://github.com/finance-quote/finance-quote/releases/tag/v${version}";
10490       description = "Get stock and mutual fund quotes from various exchanges";
10491       license = with lib.licenses; [ gpl2Plus ];
10492       maintainers = with lib.maintainers; [ nevivurn ];
10493     };
10494   };
10496   FindLib = buildPerlPackage {
10497     pname = "Find-Lib";
10498     version = "1.04";
10499     src = fetchurl {
10500       url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
10501       hash = "sha256-HXOSHjBh4bBG/kJo4tBf/VpMV2Jmbi5HI/g6rMFG6FE=";
10502     };
10503     meta = {
10504       description = "Helper to smartly find libs to use in the filesystem tree";
10505       license = with lib.licenses; [ artistic1 gpl1Plus ];
10506     };
10507   };
10509   FontAFM = buildPerlPackage {
10510     pname = "Font-AFM";
10511     version = "1.20";
10512     src = fetchurl {
10513       url = "mirror://cpan/authors/id/G/GA/GAAS/Font-AFM-1.20.tar.gz";
10514       hash = "sha256-MmcRZtoyWWoPa6rNDBIzglpgrK8lgF15yBo/GNYIi8E=";
10515     };
10516     meta = {
10517       description = "Interface to Adobe Font Metrics files";
10518       license = with lib.licenses; [ artistic1 gpl1Plus ];
10519     };
10520   };
10522   FontTTF = buildPerlPackage {
10523     pname = "Font-TTF";
10524     version = "1.06";
10525     src = fetchurl {
10526       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz";
10527       hash = "sha256-S2l9REJZdZ6gLSxELJv/5f/hTJIUCEoB90NpOpRMwpM=";
10528     };
10529     buildInputs = [ IOString ];
10530     meta = {
10531       description = "TTF font support for Perl";
10532       license = with lib.licenses; [ artistic2 ];
10533     };
10534   };
10536   ForksSuper = buildPerlPackage {
10537     pname = "Forks-Super";
10538     version = "0.97";
10539     src = fetchurl {
10540       url = "mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.97.tar.gz";
10541       hash = "sha256-M9tDV+Es1vQPKlijq5b+tP/9JedC29SL75B9skLQKk4=";
10542     };
10543     doCheck = false;
10544     propagatedBuildInputs = [ URI ];
10545     meta = {
10546       description = "Extensions and convenience methods to manage background processes";
10547       license = with lib.licenses; [ artistic1 gpl1Plus ];
10548     };
10549   };
10551   FormValidatorSimple = buildPerlPackage {
10552     pname = "FormValidator-Simple";
10553     version = "0.29";
10554     src = fetchurl {
10555       url = "mirror://cpan/authors/id/L/LY/LYOKATO/FormValidator-Simple-0.29.tar.gz";
10556       hash = "sha256-/Dpj3FS5YtdFhgcBdq2vW+hp8JtWG7MPX9Mu9TF5JmY=";
10557     };
10558     propagatedBuildInputs = [ ClassAccessor ClassDataAccessor DateCalc DateTimeFormatStrptime EmailValidLoose ListMoreUtils TieIxHash UNIVERSALrequire YAML ];
10559     buildInputs = [ CGI ];
10560     meta = {
10561       description = "Validation with simple chains of constraints";
10562       license = with lib.licenses; [ artistic1 gpl1Plus ];
10563     };
10564   };
10566   FreezeThaw = buildPerlPackage {
10567     pname = "FreezeThaw";
10568     version = "0.5001";
10569     src = fetchurl {
10570       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz";
10571       hash = "sha256-PF4IMpEG+c7jq0RLgTMcWTX4MIShUdiFBeekZdpUD0E=";
10572     };
10573     doCheck = false;
10574     meta = {
10575       description = "Converting Perl structures to strings and back";
10576       license = with lib.licenses; [ artistic1 gpl1Plus ];
10577     };
10578   };
10580   FunctionParameters = buildPerlPackage {
10581     pname = "Function-Parameters";
10582     version = "2.002004";
10583     src = fetchurl {
10584       url = "mirror://cpan/authors/id/M/MA/MAUKE/Function-Parameters-2.002004.tar.gz";
10585       hash = "sha256-KKvqWODAnOMnmaCMvXr3DaHimXd8KZEZQpygaacYg+g=";
10586     };
10587     buildInputs = [ DirSelf TestFatal ];
10588     meta = {
10589       description = "Define functions and methods with parameter lists (\"subroutine signatures\")";
10590       license = with lib.licenses; [ artistic1 gpl1Plus ];
10591     };
10592   };
10594   Furl = buildPerlModule {
10595     pname = "Furl";
10596     version = "3.14";
10597     src = fetchurl {
10598       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Furl-3.14.tar.gz";
10599       hash = "sha256-Nd29iIDXHxniAkM+F2H9EXc4XmML9QaFvEi2t6y4V7k=";
10600     };
10601     propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
10602     buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
10603     meta = {
10604       description = "Lightning-fast URL fetcher";
10605       homepage = "https://github.com/tokuhirom/Furl";
10606       license = with lib.licenses; [ artistic1 gpl1Plus ];
10607     };
10608   };
10610   Future = buildPerlModule {
10611     pname = "Future";
10612     version = "0.50";
10613     src = fetchurl {
10614       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.50.tar.gz";
10615       hash = "sha256-wDXj2eaaOvFEszrINN7p5lrTYPKlHbnxWNw0Ls3dX0Q=";
10616     };
10617     buildInputs = [ Test2Suite ];
10618     meta = {
10619       description = "Represent an operation awaiting completion";
10620       license = with lib.licenses; [ artistic1 gpl1Plus ];
10621     };
10622   };
10624   FutureAsyncAwait = buildPerlModule {
10625     pname = "Future-AsyncAwait";
10626     version = "0.66";
10627     src = fetchurl {
10628       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.66.tar.gz";
10629       hash = "sha256-xqD03kYr8yS1usoXddGZ7DJGo1jBPbm2Ssv82+bl7CE=";
10630     };
10631     buildInputs = [ Test2Suite ];
10632     propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
10633     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
10634     meta = {
10635       description = "Deferred subroutine syntax for futures";
10636       license = with lib.licenses; [ artistic1 gpl1Plus ];
10637       maintainers = [ maintainers.zakame ];
10638     };
10639   };
10641   FutureIO = buildPerlModule {
10642     pname = "Future-IO";
10643     version = "0.14";
10644     src = fetchurl {
10645       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-IO-0.14.tar.gz";
10646       hash = "sha256-a1j++vwwlMJwHwp7mMsUCwmItRaKfV3069Hu6OhyBgo=";
10647     };
10648     buildInputs = [ TestFutureIOImpl ];
10649     propagatedBuildInputs = [ Future StructDumb ];
10650     preCheck = "rm t/06connect.t"; # this test fails in sandbox
10651     meta = {
10652       description = "Future-returning IO methods";
10653       license = with lib.licenses; [ artistic1 gpl1Plus ];
10654       maintainers = [ maintainers.zakame ];
10655     };
10656   };
10658   FutureQueue = buildPerlModule {
10659     pname = "Future-Queue";
10660     version = "0.51";
10661     src = fetchurl {
10662       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-Queue-0.51.tar.gz";
10663       hash = "sha256-HVAcOpot3/x8YPlvpmlp1AyykuCSBM9t7NHCuLUAPNY=";
10664     };
10665     buildInputs = [ Test2Suite ];
10666     propagatedBuildInputs = [ Future ];
10667     meta = {
10668       description = "FIFO queue of values that uses L<Future>s";
10669       license = with lib.licenses; [ artistic1 gpl1Plus ];
10670     };
10671   };
10673   GamesSolitaireVerify = buildPerlModule {
10674     pname = "Games-Solitaire-Verify";
10675     version = "0.2403";
10676     src = fetchurl {
10677       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.2403.tar.gz";
10678       hash = "sha256-5atHXIK6HLCIrSj0I8pRTUaUTWrjw+tV6WNunn8dyJM=";
10679     };
10680     buildInputs = [ DirManifest TestDifferences ];
10681     propagatedBuildInputs = [ ClassXSAccessor ExceptionClass PathTiny ];
10682     meta = {
10683       description = "Verify solutions for solitaire games";
10684       homepage = "https://metacpan.org/release/Games-Solitaire-Verify";
10685       license = with lib.licenses; [ mit ];
10686       mainProgram = "verify-solitaire-solution";
10687     };
10688   };
10690   GD = buildPerlPackage {
10691     pname = "GD";
10692     version = "2.78";
10693     src = fetchurl {
10694       url = "mirror://cpan/authors/id/R/RU/RURBAN/GD-2.78.tar.gz";
10695       hash = "sha256-aDEFS/VCS09cI9NifT0UhEgPb5wsZmMiIpFfKFG+buQ=";
10696     };
10698     buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork TestNoWarnings ];
10700     # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
10701     hardeningDisable = [ "format" ];
10703     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}" ];
10705     meta = {
10706       description = "Perl interface to the gd2 graphics library";
10707       license = with lib.licenses; [ artistic1 gpl1Plus ];
10708       mainProgram = "bdf2gdfont.pl";
10709     };
10710   };
10712   GDGraph = buildPerlPackage {
10713     pname = "GDGraph";
10714     version = "1.56";
10715     src = fetchurl {
10716       url = "mirror://cpan/authors/id/B/BP/BPS/GDGraph-1.56.tar.gz";
10717       hash = "sha256-b0nMTlkBVIDbnJtrGK/YxQvjCIZoe2lBFRPQbziXERM=";
10718     };
10719     propagatedBuildInputs = [ GDText ];
10720     buildInputs = [ CaptureTiny TestException ];
10721     meta = {
10722       description = "Graph Plotting Module for Perl 5";
10723       license = with lib.licenses; [ artistic1 gpl1Plus ];
10724     };
10725   };
10727   GDSecurityImage = buildPerlPackage {
10728     pname = "GD-SecurityImage";
10729     version = "1.75";
10730     src = fetchurl {
10731       url = "mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.75.tar.gz";
10732       hash = "sha256-Pd4k2ay6lRzd5bVp0eQsrZRs/bUSgORGnzNv1f4MjqY=";
10733     };
10734     propagatedBuildInputs = [ GD ];
10735     meta = {
10736       description = "Security image (captcha) generator";
10737       license = with lib.licenses; [ artistic1 gpl1Plus ];
10738     };
10739   };
10741   GDText = buildPerlPackage {
10742     pname = "GDTextUtil";
10743     version = "0.86";
10744     src = fetchurl {
10745       url = "mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
10746       hash = "sha256-iG7L+Fz+lPQTXuVonEhHqa54PsuZ5nWeEsc08t1hFrw=";
10747     };
10748     propagatedBuildInputs = [ GD ];
10749     meta = {
10750       description = "Text utilities for use with GD";
10751       license = with lib.licenses; [ artistic1 gpl1Plus ];
10752     };
10753   };
10755   GeoIP = buildPerlPackage {
10756     pname = "Geo-IP";
10757     version = "1.51";
10758     src = fetchurl {
10759       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-1.51.tar.gz";
10760       hash = "sha256-FjAgMV1cVEGDaseeCKd7Qo8nf9CQvqT6gNpwd7JDaro=";
10761     };
10762     makeMakerFlags = [ "LIBS=-L${pkgs.geoip}/lib" "INC=-I${pkgs.geoip}/include" ];
10763     doCheck = false; # seems to access the network
10764     meta = {
10765       description = "Look up location and network information by IP Address";
10766       license = with lib.licenses; [ artistic1 gpl1Plus ];
10767     };
10768   };
10770   GeoIP2 = buildPerlPackage {
10771     pname = "GeoIP2";
10772     version = "2.006002";
10773     src = fetchurl {
10774       url = "mirror://cpan/authors/id/M/MA/MAXMIND/GeoIP2-2.006002.tar.gz";
10775       hash = "sha256-CQVCqO7pvTwS5ZxLZWJMidAf/ZQgTx8Hah20CybAmDQ=";
10776     };
10777     propagatedBuildInputs = [ JSONMaybeXS LWPProtocolHttps MaxMindDBReader ParamsValidate Throwable ];
10778     buildInputs = [ PathClass TestFatal TestNumberDelta ];
10779     meta = {
10780       description = "Perl API for MaxMind's GeoIP2 web services and databases";
10781       homepage = "https://metacpan.org/release/GeoIP2";
10782       license = with lib.licenses; [ artistic1 gpl1Plus ];
10783       mainProgram = "web-service-request";
10784     };
10785   };
10787   GetoptArgvFile = buildPerlPackage {
10788     pname = "Getopt-ArgvFile";
10789     version = "1.11";
10790     src = fetchurl {
10791       url = "mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-1.11.tar.gz";
10792       hash = "sha256-NwmqUTzm/XHRpVoC400vCQAX1TUKm9RHAFZTybCDWyI=";
10793     };
10794     meta = {
10795       description = "Interpolates script options from files into @ARGV or another array";
10796       license = with lib.licenses; [ artistic1 ];
10797       maintainers = [ maintainers.pSub ];
10798     };
10799   };
10801   GetoptLong = buildPerlPackage {
10802     pname = "Getopt-Long";
10803     version = "2.58";
10804     src = fetchurl {
10805       url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.58.tar.gz";
10806       hash = "sha256-EwXtRuoh95QwTpeqPc06OFGQWXhenbdBXa8sIYUGxWk=";
10807     };
10808     meta = {
10809       description = "Extended processing of command line options";
10810       license = with lib.licenses; [ artistic1 gpl2Plus ];
10811     };
10812   };
10814   GetoptLongDescriptive = buildPerlPackage {
10815     pname = "Getopt-Long-Descriptive";
10816     version = "0.114";
10817     src = fetchurl {
10818       url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.114.tar.gz";
10819       hash = "sha256-QQ6EIRSpy/0/06X9JIqWcDwHxdh5sqpfnbAzPyMnYBY=";
10820     };
10821     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
10822     propagatedBuildInputs = [ ParamsValidate SubExporter GetoptLong ];
10823     meta = {
10824       description = "Getopt::Long, but simpler and more powerful";
10825       homepage = "https://github.com/rjbs/Getopt-Long-Descriptive";
10826       license = with lib.licenses; [ artistic1 gpl1Plus ];
10827     };
10828   };
10830   GetoptTabular = buildPerlPackage {
10831     pname = "Getopt-Tabular";
10832     version = "0.3";
10833     src = fetchurl {
10834       url = "mirror://cpan/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz";
10835       hash = "sha256-m98GdjO1kTEngg9OgDXtxT0INy+qzla6a/oAyWiiU3c=";
10836     };
10837     meta = {
10838       description = "Table-driven argument parsing for Perl 5";
10839       license = with lib.licenses; [ artistic1 gpl1Plus ];
10840     };
10841   };
10843   Git = buildPerlPackage {
10844     pname = "Git";
10845     version = "0.42";
10846     src = fetchurl {
10847       url = "mirror://cpan/authors/id/M/MS/MSOUTH/Git-0.42.tar.gz";
10848       hash = "sha256-lGmp85jzor8rBQBWbuQdP/b65GBBKhNxhXZ6HMR4Om0=";
10849     };
10850     propagatedBuildInputs = [ Error ];
10851     meta = {
10852       description = "This is the Git.pm, plus the other files in the perl/Git directory, from github's git/git";
10853       license = with lib.licenses; [ gpl2Plus ];
10854       maintainers = teams.deshaw.members;
10855     };
10856   };
10858   GitAutofixup = buildPerlPackage {
10859     pname = "App-Git-Autofixup";
10860     version = "0.004001";
10861     src = fetchurl {
10862       url = "mirror://cpan/authors/id/T/TO/TORBIAK/App-Git-Autofixup-0.004001.tar.gz";
10863       hash = "sha256-WroBPI3hOZD1iRoOKjnJcHTQcnvjZTIMLGrxnTbF3aw=";
10864     };
10865     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
10866     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
10867       shortenPerlShebang $out/bin/git-autofixup
10868     '';
10869     meta = {
10870       description = "Create fixup commits for topic branches";
10871       license = with lib.licenses; [ artistic2 ];
10872       maintainers = [ maintainers.DamienCassou ];
10873       mainProgram = "git-autofixup";
10874     };
10875   };
10877   GitPurePerl = buildPerlPackage {
10878     pname = "Git-PurePerl";
10879     version = "0.53";
10880     src = fetchurl {
10881       url = "mirror://cpan/authors/id/B/BR/BROQ/Git-PurePerl-0.53.tar.gz";
10882       hash = "sha256-mHx0NmzEw37ghAUPmF+iVDWcicElB/W4v8ZgfeU41ag=";
10883     };
10884     buildInputs = [ Testutf8 ];
10885     propagatedBuildInputs = [ ArchiveExtract ConfigGitLike DataStreamBulk DateTime FileFindRule IODigest MooseXStrictConstructor MooseXTypesPathClass ];
10886     doCheck = false;
10887     meta = {
10888       description = "Pure Perl interface to Git repositories";
10889       license = with lib.licenses; [ artistic1 gpl1Plus ];
10890     };
10891   };
10893   GitRepository = buildPerlPackage {
10894     pname = "Git-Repository";
10895     version = "1.325";
10896     src = fetchurl {
10897       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.325.tar.gz";
10898       hash = "sha256-mypPoZT0oOtFI1XQyAhyfl6cFsFFrH0kw+qW0Kvv7UM=";
10899     };
10900     buildInputs = [ TestRequiresGit ];
10901     propagatedBuildInputs = [ GitVersionCompare SystemCommand namespaceclean ];
10902     meta = {
10903       description = "Perl interface to Git repositories";
10904       license = with lib.licenses; [ artistic1 gpl1Plus ];
10905     };
10906   };
10908   GitVersionCompare = buildPerlPackage {
10909     pname = "Git-Version-Compare";
10910     version = "1.005";
10911     src = fetchurl {
10912       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Version-Compare-1.005.tar.gz";
10913       hash = "sha256-NX/e2eVflesvUWoY9dwbRyCp3u+eLA52vNX+SuubPLs=";
10914     };
10915     buildInputs = [ TestNoWarnings ];
10916     meta = {
10917       description = "Functions to compare Git versions";
10918       license = with lib.licenses; [ artistic1 gpl1Plus ];
10919     };
10920   };
10922   Glib = buildPerlPackage {
10923     pname = "Glib";
10924     version = "1.3294";
10925     src = fetchurl {
10926       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3294.tar.gz";
10927       hash = "sha256-1xX1qGvMGHB13oXnrlvAewcU1u3BlqktpDmG76ROXLs=";
10928     };
10929     buildInputs = [ pkgs.glib ];
10930     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
10931     meta = {
10932       description = "Perl wrappers for the GLib utility and Object libraries";
10933       homepage = "https://gtk2-perl.sourceforge.net";
10934       license = with lib.licenses; [ lgpl21Only ];
10935     };
10936   };
10938   GlibObjectIntrospection = buildPerlPackage {
10939     pname = "Glib-Object-Introspection";
10940     version = "0.051";
10941     src = fetchurl {
10942       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.051.tar.gz";
10943       hash = "sha256-ZWlhHcyArBSCx8IiZLGujJw1HUmDUR65psX0ehAVAIk=";
10944     };
10945     patches = [
10946       # Fix build with gobject-introspection 1.82
10947       # https://gitlab.gnome.org/GNOME/perl-glib-object-introspection/-/issues/7
10948       (fetchpatch {
10949         url = "https://gitlab.gnome.org/GNOME/perl-glib-object-introspection/-/commit/e5adffecdc9b321d1f8d91777b190b8ae08f8dd0.patch";
10950         hash = "sha256-/QAhKENSeP+QRoWx/v8EMFPOouZ36Qd78lhZpvInz7Q=";
10951       })
10952     ];
10953     nativeCheckInputs = [ pkgs.cairo CairoGObject ];
10954     propagatedBuildInputs = [ pkgs.gobject-introspection Glib ];
10955     preCheck = ''
10956       # Our gobject-introspection patches make the shared library paths absolute
10957       # in the GIR files. When running tests, the library is not yet installed,
10958       # though, so we need to replace the absolute path with a local one during build.
10959       # We are using a symlink that we will delete after the execution of the tests.
10960       mkdir -p $out/lib
10961       ln -s $PWD/build/*.so $out/lib/
10962     '';
10963     postCheck = ''
10964       rm -r $out/lib
10965     '';
10966     doCheck = !stdenv.hostPlatform.isDarwin;
10967     meta = {
10968       description = "Dynamically create Perl language bindings";
10969       homepage = "https://gtk2-perl.sourceforge.net";
10970       license = with lib.licenses; [ lgpl21Only ];
10971     };
10972   };
10974   GnuPG = buildPerlPackage {
10975     pname = "GnuPG";
10976     version = "0.19";
10977     src = fetchurl {
10978       url = "mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz";
10979       hash = "sha256-r1Py0/Yyl+BGZ26uFKdilq/dKRDglyO2sRNwhiK3mJs=";
10980     };
10981     buildInputs = [ pkgs.gnupg1orig ];
10982     doCheck = false;
10983     meta = {
10984       description = "Perl interface to the GNU Privacy Guard";
10985       license = with lib.licenses; [ gpl2Plus ];
10986       mainProgram = "gpgmailtunl";
10987     };
10988   };
10990   GnuPGInterface = buildPerlPackage {
10991     pname = "GnuPG-Interface";
10992     version = "1.03";
10993     src = fetchurl {
10994       url = "mirror://cpan/authors/id/B/BP/BPS/GnuPG-Interface-1.03.tar.gz";
10995       hash = "sha256-WvVmMPD6wpDXJCGD9kSaoOAoKfRhHcYrxunps4CPGHo=";
10996     };
10997     buildInputs = [ pkgs.which pkgs.gnupg1compat ];
10998     propagatedBuildInputs = [ MooXHandlesVia MooXlate ];
10999     doCheck = false;
11000     meta = {
11001       description = "Supply object methods for interacting with GnuPG";
11002       license = with lib.licenses; [ artistic1 gpl1Plus ];
11003     };
11004   };
11006   GoferTransporthttp = buildPerlPackage {
11007     pname = "GoferTransport-http";
11008     version = "1.017";
11009     src = fetchurl {
11010       url = "mirror://cpan/authors/id/T/TI/TIMB/GoferTransport-http-1.017.tar.gz";
11011       hash = "sha256-9z7/4+p6+hkHzol3yHOHq7DUQE+FpySuJjeymnMVSps=";
11012     };
11013     propagatedBuildInputs = [ DBI LWP mod_perl2 ];
11014     doCheck = false; # no make target 'test'
11015     meta = {
11016       description = "HTTP transport for DBI stateless proxy driver DBD::Gofer";
11017       license = with lib.licenses; [ artistic1 gpl1Plus ];
11018     };
11019   };
11021   GooCanvas = buildPerlPackage {
11022     pname = "Goo-Canvas";
11023     version = "0.06";
11024     src = fetchurl {
11025       url = "mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz";
11026       hash = "sha256-DFiMUH7tXmLRLtHMHkkcb/Oh9ZxPs9Q14UIUs3qzklE=";
11027     };
11028     propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 ];
11029     meta = {
11030       description = "Perl interface to the GooCanvas";
11031       license = with lib.licenses; [ artistic1 gpl1Plus ];
11032     };
11033   };
11035   GooCanvas2 = buildPerlPackage {
11036     pname = "GooCanvas2";
11037     version = "0.06";
11038     src = fetchurl {
11039       url = "mirror://cpan/authors/id/P/PE/PERLMAX/GooCanvas2-0.06.tar.gz";
11040       hash = "sha256-4kyHhz4ZBj3U1eLHCcqs+MCuiIEEQ5W7hl3CtP3WO1A=";
11041     };
11042     buildInputs = [ pkgs.gtk3 ];
11043     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
11044     meta = {
11045       description = "Perl binding for GooCanvas2 widget using Glib::Object::Introspection";
11046       license = with lib.licenses; [ artistic1 gpl1Plus ];
11047     };
11048   };
11050   GooCanvas2CairoTypes = buildPerlPackage rec {
11051     pname = "GooCanvas2-CairoTypes";
11052     version = "0.001";
11053     src = fetchurl {
11054       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-${version}.tar.gz";
11055       hash = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI=";
11056     };
11057     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
11058     meta = {
11059       description = "Bridge between GooCanvas2 and Cairo types";
11060       license = with lib.licenses; [ artistic1 gpl1Plus ];
11061     };
11062   };
11064   GoogleProtocolBuffers = buildPerlPackage {
11065     pname = "Google-ProtocolBuffers";
11066     version = "0.12";
11067     src = fetchurl {
11068       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/Google-ProtocolBuffers-0.12.tar.gz";
11069       hash = "sha256-s4RJxguaJxLd5IFIXMerA7KgrBw/1ICzhT5BEawpTXE=";
11070     };
11071     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
11072     patches =
11073       [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ];
11074     meta = {
11075       description = "Simple interface to Google Protocol Buffers";
11076       homepage = "https://github.com/csirtgadgets/google-protocolbuffers-perl";
11077       license = with lib.licenses; [ artistic1 gpl1Plus ];
11078       mainProgram = "protoc-perl";
11079     };
11080   };
11082   gotofile = buildPerlPackage {
11083     pname = "goto-file";
11084     version = "0.005";
11085     src = fetchurl {
11086       url = "mirror://cpan/authors/id/E/EX/EXODIST/goto-file-0.005.tar.gz";
11087       hash = "sha256-xs3V7kps3L2/MU2SpPmYXbzfnkJYBIyudhJcBSqjH3c=";
11088     };
11089     buildInputs = [ Test2Suite ];
11090     meta = {
11091       description = "Stop parsing the current file and move on to a different one";
11092       license = with lib.licenses; [ artistic1 gpl1Plus ];
11093     };
11094   };
11096   Graph = buildPerlPackage {
11097     pname = "Graph";
11098     version = "0.9727";
11099     src = fetchurl {
11100       url = "mirror://cpan/authors/id/E/ET/ETJ/Graph-0.9727.tar.gz";
11101       hash = "sha256-OSqJFtyVExq+jJE9/Kx2mEhL9IZrQq9fcEPABi50Iik=";
11102     };
11103     propagatedBuildInputs = [ HeapFibonacci SetObject ];
11104     meta = {
11105       description = "GRaph data structures and algorithms";
11106       license = with lib.licenses; [ artistic1 gpl1Plus ];
11107     };
11108   };
11110   GraphicsColor = buildPerlPackage {
11111     pname = "Graphics-Color";
11112     version = "0.31";
11113     src = fetchurl {
11114       url = "mirror://cpan/authors/id/G/GP/GPHAT/Graphics-Color-0.31.tar.gz";
11115       hash = "sha256-+qj+1bLYDlFgr5duXbIkLAs1VVQs4QQldf9raUWHoz0=";
11116     };
11117     buildInputs = [ TestNumberDelta ModulePluggable ];
11118     propagatedBuildInputs = [ ColorLibrary Moose MooseXAliases MooseXClone MooseXStorage MooseXTypes ];
11119     meta = {
11120       description = "Device and library agnostic color spaces";
11121       homepage = "https://github.com/gphat/graphics-color";
11122       license = with lib.licenses; [ artistic1 gpl1Plus ];
11123     };
11124   };
11126   GraphicsTIFF = buildPerlPackage {
11127     pname = "Graphics-TIFF";
11128     version = "20";
11129     src = fetchurl {
11130       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Graphics-TIFF-20.tar.gz";
11131       hash = "sha256-PlXMIJRl4GQBmiFaUvBf9RBAKX0CA5P+n7PeJ60CDjU=";
11132     };
11133     buildInputs = [ pkgs.libtiff ExtUtilsDepends ExtUtilsPkgConfig ];
11134     propagatedBuildInputs = [ Readonly ];
11135     nativeCheckInputs = [ TestRequires TestDeep pkgs.hexdump ];
11136     meta = {
11137       description = "Perl extension for the libtiff library";
11138       license = with lib.licenses; [ artistic1 gpl1Plus ];
11139     };
11140   };
11142   GraphicsToolkitColor = buildPerlPackage {
11143     pname = "Graphics-Toolkit-Color";
11144     version = "1.71";
11145     src = fetchurl {
11146       url = "mirror://cpan/authors/id/L/LI/LICHTKIND/Graphics-Toolkit-Color-1.71.tar.gz";
11147       hash = "sha256-NOiLb2hY9H2ZYQHxWC8esA23+G4Snl8dYb9/m922LvI=";
11148     };
11149     buildInputs = [ TestWarn ];
11150     meta = {
11151       description = "Color palette constructor";
11152       license = with lib.licenses; [ artistic1 gpl1Plus ];
11153     };
11154   };
11156   GraphViz = buildPerlPackage {
11157     pname = "GraphViz";
11158     version = "2.26";
11159     src = fetchurl {
11160       url = "mirror://cpan/authors/id/E/ET/ETJ/GraphViz-2.26.tar.gz";
11161       hash = "sha256-ml0lILMmK/MEdSct12SkRfjn+TG++Ivg49O/9EXacyg=";
11162     };
11164     # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
11165     buildInputs = [ pkgs.graphviz TestPod ];
11166     propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath ];
11168     meta = {
11169       description = "Perl interface to the GraphViz graphing tool";
11170       license = with lib.licenses; [ artistic2 ];
11171     };
11172   };
11174   GraphViz2 = buildPerlPackage {
11175     pname = "GraphViz2";
11176     version = "2.67";
11177     src = fetchurl {
11178       url = "mirror://cpan/authors/id/E/ET/ETJ/GraphViz2-2.67.tar.gz";
11179       hash = "sha256-h8hcbt/86k+W5rSAD2+VEq6rGeuNOzSDAachMxvLhYA=";
11180     };
11182     # XXX: It'd be nicer if `GraphViz.pm' could record the path to graphviz.
11183     buildInputs = [ pkgs.graphviz TestPod Moo IPCRun3 TypeTiny TestSnapshot Graph ];
11184     propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath DataSectionSimple ];
11186     # needed for fontconfig tests
11187     HOME = "/build";
11188     FONTCONFIG_PATH = "${lib.getOutput "out" pkgs.fontconfig}/etc/fonts";
11190     meta = {
11191       description = "Perl interface to the GraphViz graphing tool";
11192       license = with lib.licenses; [ artistic2 ];
11193     };
11194   };
11196   grepmail = buildPerlPackage {
11197     pname = "grepmail";
11198     version = "5.3111";
11199     src = fetchurl {
11200       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/grepmail-5.3111.tar.gz";
11201       hash = "sha256-0JhOP3ob4XrgFFdfcMFngVGlvMliIYXcWgUstjJxp2E=";
11202     };
11203     buildInputs = [ FileHomeDir FileSlurper TestCompile UNIVERSALrequire URI ];
11204     propagatedBuildInputs = [ MailMboxMessageParser TimeDate ];
11205     outputs = [ "out" ];
11206     meta = {
11207       description = "Search mailboxes for mail matching a regular expression";
11208       homepage = "https://github.com/coppit/grepmail";
11209       license = with lib.licenses; [ gpl2Only ];
11210       maintainers = with maintainers; [ romildo ];
11211     };
11212   };
11214   GrowlGNTP = buildPerlModule {
11215     pname = "Growl-GNTP";
11216     version = "0.21";
11217     src = fetchurl {
11218       url = "mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz";
11219       hash = "sha256-KHl/jkJ0BnIFhMr9EOeAp47CtWnFVaGHQ9dFU9X1CD8=";
11220     };
11221     buildInputs = [ ModuleBuildTiny ];
11222     propagatedBuildInputs = [ CryptCBC DataUUID ];
11223     meta = {
11224       description = "Perl implementation of GNTP Protocol (Client Part)";
11225       license = with lib.licenses; [ artistic1 gpl1Plus ];
11226     };
11227   };
11229   GSSAPI = buildPerlPackage {
11230     pname = "GSSAPI";
11231     version = "0.28";
11232     src = fetchurl {
11233       url = "mirror://cpan/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz";
11234       hash = "sha256-fY8se2F2L7TsctLsKBKQ8vh/nH0pgnPaRSVDKmXncNY=";
11235     };
11236     propagatedBuildInputs = [ pkgs.krb5.dev ];
11237     makeMakerFlags = [ "--gssapiimpl" "${pkgs.krb5.dev}" ];
11238     meta = {
11239       description = "Perl extension providing access to the GSSAPIv2 library";
11240       license = with lib.licenses; [ artistic1 gpl1Plus ];
11241       maintainers = teams.deshaw.members;
11242     };
11243   };
11245   Gtk2 = buildPerlPackage {
11246     pname = "Gtk2";
11247     version = "1.24993";
11248     src = fetchurl {
11249       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz";
11250       hash = "sha256-ScRDdDsu7+EadoACck9/akxI78lP8806VZ+357aTyWc=";
11251     };
11252     patches = [
11253       # Fix incompatible function pointer conversion (assigning `GdkNativeWindow` to `guint32`).
11254       ../development/perl-modules/Gtk2-fix-incompatible-pointer-conversion.patch
11255     ];
11256     buildInputs = [ pkgs.gtk2 ];
11257     # https://rt.cpan.org/Public/Bug/Display.html?id=130742
11258     # doCheck = !stdenv.hostPlatform.isDarwin;
11259     doCheck = false;
11260     propagatedBuildInputs = [ Pango ];
11261     meta = {
11262       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
11263       homepage = "https://gtk2-perl.sourceforge.net";
11264       license = with lib.licenses; [ lgpl21Plus ];
11265     };
11266   };
11268   Gtk2TrayIcon = buildPerlPackage {
11269     pname = "Gtk2-TrayIcon";
11270     version = "0.07";
11271     src = fetchurl {
11272       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-TrayIcon-0.07.tar.gz";
11273       hash = "sha256-OfwrmabmE9qeqXfYy1MD+l4H5poVJIk03hIXqXuWRVQ=";
11274     };
11275     propagatedBuildInputs = [ pkgs.gtk2 Gtk2 ];
11276     meta = {
11277       description = "(DEPRECATED) Perl interface to the EggTrayIcon library";
11278       license = with lib.licenses; [ gpl2Plus ];
11279       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2TrayIcon.x86_64-darwin
11280     };
11281   };
11283   Gtk2AppIndicator = buildPerlPackage {
11284     pname = "Gtk2-AppIndicator";
11285     version = "0.15";
11286     src = fetchurl {
11287       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Gtk2-AppIndicator-0.15.tar.gz";
11288       hash = "sha256-olywceIU+4m0RQqkYFAx6uibeWHhSbDW6PSRwZwUqQo=";
11289     };
11290     propagatedBuildInputs = [ pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkg-config Gtk2 ];
11291     # Tests fail due to no display:
11292     #   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.
11293     doCheck = false;
11294     meta = {
11295       description = "Perl extension for libappindicator";
11296       license = with lib.licenses; [ artistic1 ];
11297     };
11298   };
11300   Gtk2ImageView = buildPerlPackage {
11301     pname = "Gtk2-ImageView";
11302     version = "0.05";
11303     src = fetchurl {
11304       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk2-ImageView-0.05.tar.gz";
11305       hash = "sha256-CHGGw2k6zxlkUc9ZzIt/XPmnsFq+INMty8uggilT+4A=";
11306     };
11307     buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
11308     propagatedBuildInputs = [ Gtk2 ];
11309     # Tests fail due to no display server:
11310     #   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.
11311     #   t/animview.t ...........
11312     doCheck = false;
11313     meta = {
11314       description = "Perl bindings for the GtkImageView widget";
11315       license = with lib.licenses; [ lgpl3Plus ];
11316     };
11317   };
11319   Gtk2Unique = buildPerlPackage {
11320     pname = "Gtk2-Unique";
11321     version = "0.07";
11322     src = fetchurl {
11323       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-Unique-0.07.tar.gz";
11324       hash = "sha256-nOX2ikFgC8z31u/eMMBwqxFOk57XqKx8O3rZE5mJGGc=";
11325     };
11326     propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 ];
11327     meta = {
11328       description = "(DEPRECATED) Use single instance applications";
11329       license = with lib.licenses; [ artistic1 gpl1Plus ];
11330       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2Unique.x86_64-darwin
11331     };
11332   };
11334   Gtk3 = buildPerlPackage rec {
11335     pname = "Gtk3";
11336     version = "0.038";
11337     src = fetchurl {
11338       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk3-${version}.tar.gz";
11339       hash = "sha256-cNxL8qp0mBx54V/SmNmY4FqS66SBHxrVyfH03jdzesw=";
11340     };
11341     propagatedBuildInputs = [ pkgs.gtk3 CairoGObject GlibObjectIntrospection ];
11342     preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
11343       # Currently failing on macOS
11344       rm t/overrides.t
11345       rm t/signals.t
11346       rm t/zz-GdkEvent.t
11347       rm t/zz-GtkContainer.t
11348       rm t/zz-GtkDialog.t
11349     '';
11350     meta = {
11351       description = "Perl interface to the 3.x series of the gtk+ toolkit";
11352       license = with lib.licenses; [ lgpl21Plus ];
11353     };
11354   };
11356   Gtk3ImageView = buildPerlPackage rec {
11357     pname = "Gtk3-ImageView";
11358     version = "10";
11359     src = fetchurl {
11360       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/Gtk3-ImageView-${version}.tar.gz";
11361       hash = "sha256-vHfnBgaeZPK7hBgZcP1KjepG+IvsDE3XwrH9U4xoN+Y=";
11362     };
11363     buildInputs = [ pkgs.gtk3 ];
11364     propagatedBuildInputs = [ Readonly Gtk3 ];
11365     nativeCheckInputs = [ TestDifferences TestDeep ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
11366     checkPhase = ''
11367       ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \
11368         make test
11369     '';
11370     meta = {
11371       description = "Image viewer widget for Gtk3";
11372       homepage = "https://github.com/carygravel/gtk3-imageview";
11373       license = with lib.licenses; [ artistic1 gpl1Plus ];
11374     };
11375   };
11377   Gtk3SimpleList = buildPerlPackage {
11378     pname = "Gtk3-SimpleList";
11379     version = "0.21";
11380     src = fetchurl {
11381       url = "mirror://cpan/authors/id/T/TV/TVIGNAUD/Gtk3-SimpleList-0.21.tar.gz";
11382       hash = "sha256-HURlEAvzvAR0opRppAb9AzVituNzYYgSEAA3KrKtqIQ=";
11383     };
11384     propagatedBuildInputs = [ Gtk3 ];
11385     meta = {
11386       description = "Simple interface to Gtk3's complex MVC list widget";
11387       homepage = "https://github.com/soig/Gtk3-SimpleList";
11388       license = with lib.licenses; [ lgpl21Plus ];
11389     };
11390   };
11392   Guard = buildPerlPackage {
11393     pname = "Guard";
11394     version = "1.023";
11395     src = fetchurl {
11396       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.023.tar.gz";
11397       hash = "sha256-NMTd+R/JPRCQ2G2hTfcG0XWxYQxnNywB4SzpVV1N0dw=";
11398     };
11399     meta = {
11400       description = "Safe cleanup blocks";
11401       license = with lib.licenses; [ artistic1 gpl1Plus ];
11402     };
11403   };
11405   HamAPRSFAP = buildPerlPackage {
11406     pname = "Ham-APRS-FAP";
11407     version = "1.21";
11408     src = fetchurl {
11409       url = "mirror://cpan/authors/id/H/HE/HESSU/Ham-APRS-FAP-1.21.tar.gz";
11410       hash = "sha256-4BtFXUb0RxDbzyG2+oQ/CTWM5g7uHEFBvHTgogTToCA=";
11411     };
11412     propagatedBuildInputs = [ DateCalc ];
11413     meta = {
11414       description = "Finnish APRS Parser (Fabulous APRS Parser)";
11415       maintainers = [ ];
11416       license = with lib.licenses; [ artistic1 gpl1Plus ];
11417     };
11418   };
11420   Hailo = buildPerlPackage {
11421     pname = "Hailo";
11422     version = "0.75";
11423     src = fetchurl {
11424       url = "mirror://cpan/authors/id/A/AV/AVAR/Hailo-0.75.tar.gz";
11425       hash = "sha256-u6mcsM+j7oYy3YmQbG5voF/muzZ/IoLoiQnO/Y+RdMI=";
11426     };
11427     buildInputs = [ BotTrainingMegaHAL BotTrainingStarCraft DataSection FileSlurp PodSection TestException TestExpect TestOutput TestScript TestScriptRun ];
11428     propagatedBuildInputs = [ ClassLoad DBDSQLite DataDump DirSelf FileCountLines GetoptLongDescriptive IOInteractive IPCSystemSimple ListMoreUtils Moose MooseXGetopt MooseXStrictConstructor MooseXTypes RegexpCommon TermSk namespaceclean ];
11429     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
11430     patches = [
11431       ../development/perl-modules/Hailo-fix-test-gld.patch
11432     ];
11433     postPatch = ''
11434       patchShebangs bin
11435     '';
11436     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
11437       shortenPerlShebang $out/bin/hailo
11438     '';
11439     meta = {
11440       description = "Pluggable Markov engine analogous to MegaHAL";
11441       homepage = "https://hailo.org";
11442       license = with lib.licenses; [ artistic1 gpl1Plus ];
11443       mainProgram = "hailo";
11444     };
11445   };
11447   HashDiff = buildPerlPackage {
11448     pname = "Hash-Diff";
11449     version = "0.010";
11450     src = fetchurl {
11451       url = "mirror://cpan/authors/id/B/BO/BOLAV/Hash-Diff-0.010.tar.gz";
11452       hash = "sha256-vJpKo47JjwqYKJ41q/mhfC8qMjmiIJoymADglwqi4MU=";
11453     };
11454     propagatedBuildInputs = [ HashMerge ];
11455     buildInputs = [ TestSimple13 ];
11457     meta = {
11458       description = "Return difference between two hashes as a hash";
11459       homepage = "https://github.com/bolav/hash-diff";
11460       license = with lib.licenses; [ artistic1 gpl1Plus ];
11461     };
11462   };
11464   ham = callPackage ../development/perl-modules/ham { };
11466   HashFlatten = buildPerlPackage {
11467     pname = "Hash-Flatten";
11468     version = "1.19";
11469     src = fetchurl {
11470       url = "mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz";
11471       hash = "sha256-cMbEnYtsRgdGQXpQmO3SoP0x/YuGxUv4SS6FPB9OS5g=";
11472     };
11473     buildInputs = [ TestAssertions ];
11474     propagatedBuildInputs = [ LogTrace ];
11475     meta = {
11476       description = "Flatten/unflatten complex data hashes";
11477       license = with lib.licenses; [ gpl2Only ];
11478     };
11479   };
11481   HashMerge = buildPerlPackage {
11482     pname = "Hash-Merge";
11483     version = "0.302";
11484     src = fetchurl {
11485       url = "mirror://cpan/authors/id/H/HE/HERMES/Hash-Merge-0.302.tar.gz";
11486       hash = "sha256-rgUi92U5YIth3eFGcOeWd+DzkQNoMvcKIfMa3eJThkQ=";
11487     };
11488     propagatedBuildInputs = [ CloneChoose ];
11489     buildInputs = [ Clone ClonePP ];
11490     meta = {
11491       description = "Merges arbitrarily deep hashes into a single hash";
11492       homepage = "https://metacpan.org/release/Hash-Merge";
11493       license = with lib.licenses; [ artistic1 gpl1Plus ];
11494     };
11495   };
11497   HashMergeSimple = buildPerlPackage {
11498     pname = "Hash-Merge-Simple";
11499     version = "0.051";
11500     src = fetchurl {
11501       url = "mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz";
11502       hash = "sha256-HFYyeHPS8E1XInd/BEhj2WiRBGaZd0DVWnVAccYoe3M=";
11503     };
11504     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
11505     propagatedBuildInputs = [ Clone ];
11506     meta = {
11507       description = "Recursively merge two or more hashes, simply";
11508       license = with lib.licenses; [ artistic1 gpl1Plus ];
11509     };
11510   };
11512   HashMoreUtils = buildPerlPackage {
11513     pname = "Hash-MoreUtils";
11514     version = "0.06";
11515     src = fetchurl {
11516       url = "mirror://cpan/authors/id/R/RE/REHSACK/Hash-MoreUtils-0.06.tar.gz";
11517       hash = "sha256-25qPuGfVB1PDgIiaXlQHVlG14IybO3IctyIMCINUfeg=";
11518     };
11519     meta = {
11520       description = "Provide the stuff missing in Hash::Util";
11521       homepage = "https://metacpan.org/release/Hash-MoreUtils";
11522       license = with lib.licenses; [ artistic1 gpl1Plus ];
11523     };
11524   };
11526   HashMultiValue = buildPerlPackage {
11527     pname = "Hash-MultiValue";
11528     version = "0.16";
11529     src = fetchurl {
11530       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz";
11531       hash = "sha256-Zhgd96po4nhvr2iVyIsYuVyACo5Ob7TAf9F2QQo8c/Q=";
11532     };
11533     meta = {
11534       description = "Store multiple values per key";
11535       homepage = "https://github.com/miyagawa/Hash-MultiValue";
11536       license = with lib.licenses; [ artistic1 gpl1Plus ];
11537     };
11538   };
11540   HashOrdered = buildPerlPackage {
11541     pname = "Hash-Ordered";
11542     version = "0.014";
11543     src = fetchurl {
11544       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Hash-Ordered-0.014.tar.gz";
11545       hash = "sha256-jcNs15FVrjerij3l/ZEg/7qaMeQJJYwoUp7FJRxZdHs=";
11546     };
11547     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
11548     meta = {
11549       homepage = "https://github.com/dagolden/Hash-Ordered";
11550       description = "Fast, pure-Perl ordered hash class";
11551       license = lib.licenses.asl20;
11552     };
11553   };
11555   HashSafeKeys = buildPerlPackage {
11556     pname = "Hash-SafeKeys";
11557     version = "0.04";
11558     src = fetchurl {
11559       url = "mirror://cpan/authors/id/M/MO/MOB/Hash-SafeKeys-0.04.tar.gz";
11560       hash = "sha256-pSStO/naZ3wfi+bhWXG3ZXVAj3RJI9onZHro8dPDfMw=";
11561     };
11562     meta = {
11563       description = "Get hash contents without resetting each iterator";
11564       license = with lib.licenses; [ artistic1 gpl1Plus ];
11565     };
11566   };
11568   HashSharedMem = buildPerlModule {
11569     pname = "Hash-SharedMem";
11570     version = "0.005";
11571     src = fetchurl {
11572       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
11573       hash = "sha256-Mkd2gIYC973EStqpN4lTZUVAKakm+mEfMhyb9rlAu14=";
11574     };
11575     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch64 "-mno-outline-atomics";
11576     buildInputs = [ ScalarString ];
11577     meta = {
11578       description = "Efficient shared mutable hash";
11579       license = with lib.licenses; [ artistic1 gpl1Plus ];
11580       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HashSharedMem.x86_64-darwin
11581     };
11582   };
11584   HashStoredIterator = buildPerlModule {
11585     pname = "Hash-StoredIterator";
11586     version = "0.008";
11587     src = fetchurl {
11588       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Hash-StoredIterator-0.008.tar.gz";
11589       hash = "sha256-ucvE3NgjPo0dfxSB3beaSl+dtxgMs+8CtLy+4F5l6gw=";
11590     };
11591     buildInputs = [ Test2Suite ];
11592     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
11593     meta = {
11594       description = "Functions for accessing a hashes internal iterator";
11595       license = with lib.licenses; [ artistic1 gpl1Plus ];
11596     };
11597   };
11599   HashUtilFieldHashCompat = buildPerlPackage {
11600     pname = "Hash-Util-FieldHash-Compat";
11601     version = "0.11";
11602     src = fetchurl {
11603       url = "mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz";
11604       hash = "sha256-ZC5Gp1tTe6EUILMPiwNAPJCgahVFjNgAnzOf6eXzdBs=";
11605     };
11606     meta = {
11607       description = "Use Hash::Util::FieldHash or ties, depending on availability";
11608       license = with lib.licenses; [ artistic1 gpl1Plus ];
11609     };
11610   };
11612   HeapFibonacci = buildPerlPackage {
11613     pname = "Heap";
11614     version = "0.80";
11615     src = fetchurl {
11616       url = "mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz";
11617       hash = "sha256-zNop88kxdq0P3/9N1vXkrJCzcMuksCg4a3NDv2QTm94=";
11618     };
11619     meta = {
11620       description = "Perl extensions for keeping data partially sorted";
11621       license = with lib.licenses; [ artistic1 gpl1Plus ];
11622     };
11623   };
11625   HookLexWrap = buildPerlPackage {
11626     pname = "Hook-LexWrap";
11627     version = "0.26";
11628     src = fetchurl {
11629       url = "mirror://cpan/authors/id/E/ET/ETHER/Hook-LexWrap-0.26.tar.gz";
11630       hash = "sha256-tgvcX5j5T5KUsGre+CsdmW2hktXxg/n0NLYQ/RE37C0=";
11631     };
11632     buildInputs = [ pkgs.unzip ];
11633     meta = {
11634       description = "Lexically scoped subroutine wrappers";
11635       homepage = "https://github.com/karenetheridge/Hook-LexWrap";
11636       license = with lib.licenses; [ artistic1 gpl1Plus ];
11637     };
11638   };
11640   HTMLClean = buildPerlPackage {
11641     pname = "HTML-Clean";
11642     version = "1.4";
11643     src = fetchurl {
11644       url = "mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz";
11645       hash = "sha256-pn1KvadR/DxrSjUYU3eoi8pbZRxgszN5gEtOkKF4hwY=";
11646     };
11647     meta = {
11648       description = "Cleans up HTML code for web browsers, not humans";
11649       license = with lib.licenses; [ artistic1 gpl1Plus ];
11650       mainProgram = "htmlclean";
11651     };
11652   };
11654   HTMLElementExtended = buildPerlPackage {
11655     pname = "HTML-Element-Extended";
11656     version = "1.18";
11657     src = fetchurl {
11658       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz";
11659       hash = "sha256-8+8a8Qjyf+8V6+xmR58lHOCKpJvQCwRiycgMhrS2sys=";
11660     };
11661     propagatedBuildInputs = [ HTMLTree ];
11662     meta = {
11663       description = "Perl extension for HTML::Element(3)";
11664       license = with lib.licenses; [ artistic1 gpl1Plus ];
11665     };
11666   };
11668   HTMLEscape = buildPerlModule {
11669     pname = "HTML-Escape";
11670     version = "1.11";
11671     src = fetchurl {
11672       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTML-Escape-1.11.tar.gz";
11673       hash = "sha256-Wl7viWUA0epsJKkIXs++mkOr7mjPxmwD+InSostoml0=";
11674     };
11675     buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
11676     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
11677     meta = {
11678       description = "Extremely fast HTML escaping";
11679       homepage = "https://github.com/tokuhirom/HTML-Escape";
11680       license = with lib.licenses; [ artistic1 gpl1Plus ];
11681       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTMLEscape.x86_64-darwin
11682     };
11683   };
11685   HTMLFromANSI = buildPerlPackage {
11686     pname = "HTML-FromANSI";
11687     version = "2.03";
11688     src = fetchurl {
11689       url = "mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz";
11690       hash = "sha256-IXdjRe1wGywEx7CTgK+UP5mEzH+ZYkCHrqRdtfwJw1k=";
11691     };
11692     propagatedBuildInputs = [ HTMLParser TermVT102Boundless ];
11693     meta = {
11694       description = "Mark up ANSI sequences as HTML";
11695       license = with lib.licenses; [ artistic1 gpl1Plus ];
11696       mainProgram = "ansi2html";
11697     };
11698   };
11700   HTMLForm = buildPerlPackage {
11701     pname = "HTML-Form";
11702     version = "6.11";
11703     src = fetchurl {
11704       url = "mirror://cpan/authors/id/S/SI/SIMBABQUE/HTML-Form-6.11.tar.gz";
11705       hash = "sha256-Q7+qcIc5NIfS1RJhoap/b4Gpex2P73pI/PbvMrFtZFQ=";
11706     };
11707     buildInputs = [ TestWarnings ];
11708     propagatedBuildInputs = [ HTMLParser URI ];
11709     meta = {
11710       description = "Class that represents an HTML form element";
11711       homepage = "https://github.com/libwww-perl/HTML-Form";
11712       license = with lib.licenses; [ artistic1 gpl1Plus ];
11713     };
11714   };
11716   HTMLFormatter = buildPerlPackage {
11717     pname = "HTML-Formatter";
11718     version = "2.16";
11719     src = fetchurl {
11720       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz";
11721       hash = "sha256-ywoN2Kpei6nKIUzkUb9N8zqgnBPpB+jTCC3a/rMBUcw=";
11722     };
11723     buildInputs = [ FileSlurper TestWarnings ];
11724     propagatedBuildInputs = [ FontAFM HTMLTree ];
11725     meta = {
11726       description = "Base class for HTML formatters";
11727       homepage = "https://metacpan.org/release/HTML-Formatter";
11728       license = with lib.licenses; [ artistic1 gpl1Plus ];
11729     };
11730   };
11732   HTMLFormatExternal = buildPerlPackage {
11733     pname = "HTML-FormatExternal";
11734     version = "26";
11735     src = fetchurl {
11736       url = "mirror://cpan/authors/id/K/KR/KRYDE/HTML-FormatExternal-26.tar.gz";
11737       hash = "sha256-PFnyM9CxBoaoWu0MmUARzsaGJtoBKN6pC1xP3BdGz8M=";
11738     };
11739     propagatedBuildInputs = [ IPCRun URI constant-defer ];
11740     meta = {
11741       description = "HTML to text formatting using external programs";
11742       homepage = "https://user42.tuxfamily.org/html-formatexternal/index.html";
11743       license = with lib.licenses; [ gpl3Plus ];
11744     };
11745   };
11747   HTMLFormatTextWithLinks = buildPerlModule {
11748     pname = "HTML-FormatText-WithLinks";
11749     version = "0.15";
11750     src = fetchurl {
11751       url = "mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz";
11752       hash = "sha256-f8wat561j7l9Q+W90U4heRolCiBJmJGMYtahcRMYM7E=";
11753     };
11754     propagatedBuildInputs = [ HTMLFormatter ];
11755     meta = {
11756       description = "HTML to text conversion with links as footnotes";
11757       license = with lib.licenses; [ artistic1 gpl1Plus ];
11758     };
11759   };
11761   HTMLFormatTextWithLinksAndTables = buildPerlPackage {
11762     pname = "HTML-FormatText-WithLinks-AndTables";
11763     version = "0.07";
11764     src = fetchurl {
11765       url = "mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz";
11766       hash = "sha256-gJ7i8RcFcGszxUMStce+5nSDjyvqrtr4y5RecCquObY=";
11767     };
11768     propagatedBuildInputs = [ HTMLFormatTextWithLinks ];
11769     meta = {
11770       description = "Converts HTML to Text with tables intact";
11771       license = with lib.licenses; [ artistic1 gpl1Plus ];
11772     };
11773   };
11775   HTMLFormFu = buildPerlPackage {
11776     pname = "HTML-FormFu";
11777     version = "2.07";
11778     src = fetchurl {
11779       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-FormFu-2.07.tar.gz";
11780       hash = "sha256-Ty8Bf3qHVPu26RIGyI7RPHVqFOO+oXgYjDuXdGNm6zI=";
11781     };
11782     buildInputs = [ CGI FileShareDirInstall RegexpAssemble TestException TestMemoryCycle TestRequiresInternet ];
11783     propagatedBuildInputs = [ ConfigAny DataVisitor DateTimeFormatBuilder DateTimeFormatNatural EmailValid HTMLScrubber HTMLTokeParserSimple HashFlatten JSONMaybeXS MooseXAliases MooseXAttributeChained NumberFormat PathClass Readonly RegexpCommon TaskWeaken YAMLLibYAML ];
11784     meta = {
11785       description = "HTML Form Creation, Rendering and Validation Framework";
11786       homepage = "https://github.com/FormFu/HTML-FormFu";
11787       license = with lib.licenses; [ artistic1 gpl1Plus ];
11788     };
11789   };
11791   HTMLFormFuMultiForm = buildPerlPackage {
11792     pname = "HTML-FormFu-MultiForm";
11793     version = "1.03";
11794     src = fetchurl {
11795       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-MultiForm-1.03.tar.gz";
11796       hash = "sha256-NvAM12u4luTaCd0rsOXYkGZ/cMePVCUa9NJYyCFJFZ8=";
11797     };
11798     propagatedBuildInputs = [ CryptCBC CryptDES HTMLFormFu ];
11799     meta = {
11800       description = "Handle multi-page/stage forms with FormFu";
11801       homepage = "https://github.com/FormFu/HTML-FormFu-MultiForm";
11802       license = with lib.licenses; [ artistic1 gpl1Plus ];
11803     };
11804   };
11806   HTMLFormHandler = buildPerlPackage {
11807     pname = "HTML-FormHandler";
11808     version = "0.40068";
11809     src = fetchurl {
11810       url = "mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz";
11811       hash = "sha256-63t43aMSV1LMi8wDltOXf70o2jPS1ExQQq1tNdbN6Cc=";
11812     };
11813     # a single test is failing on perl 5.20
11814     doCheck = false;
11815     buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle TestWarn ];
11816     propagatedBuildInputs = [ CryptBlowfish CryptCBC DataClone DateTimeFormatStrptime EmailValid HTMLTree JSONMaybeXS MooseXGetopt MooseXTypesCommon MooseXTypesLoadableClass aliased ];
11817     meta = {
11818       description = "HTML forms using Moose";
11819       license = with lib.licenses; [ artistic1 gpl1Plus ];
11820     };
11821   };
11823   HTMLGumbo = buildPerlModule {
11824     pname = "HTML-Gumbo";
11825     version = "0.18";
11826     src = fetchurl {
11827       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Gumbo-0.18.tar.gz";
11828       hash = "sha256-v1C2HCRlbMP8lYYC2AqcfQFyR6842Nv6Dp3sW3VCXV8=";
11829     };
11830     propagatedBuildInputs = [ AlienLibGumbo ];
11831     meta = {
11832       description = "HTML5 parser based on gumbo C library";
11833       license = with lib.licenses; [ artistic1 gpl1Plus ];
11834     };
11835   };
11837   HTMLMason = buildPerlPackage {
11838     pname = "HTML-Mason";
11839     version = "1.60";
11840     src = fetchurl {
11841       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.60.tar.gz";
11842       hash = "sha256-qgu9WmtjxiyJVfjFXsCF43DXktZSZrbDtcXweIu8d+Y=";
11843     };
11844     buildInputs = [ TestDeep ];
11845     propagatedBuildInputs = [ CGI CacheCache ClassContainer ExceptionClass LogAny ];
11846     meta = {
11847       description = "High-performance, dynamic web site authoring system";
11848       homepage = "https://metacpan.org/release/HTML-Mason";
11849       license = with lib.licenses; [ artistic1 gpl1Plus ];
11850     };
11851   };
11853   HTMLMasonPSGIHandler = buildPerlPackage {
11854     pname = "HTML-Mason-PSGIHandler";
11855     version = "0.53";
11856     src = fetchurl {
11857       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz";
11858       hash = "sha256-6v18dlXfqCYd80RrkxooPTAwaHe4OsRnHEnP906n8As=";
11859     };
11860     buildInputs = [ Plack ];
11861     propagatedBuildInputs = [ CGIPSGI HTMLMason ];
11862     meta = {
11863       description = "PSGI handler for HTML::Mason";
11864       homepage = "https://search.cpan.org/dist/HTML-Mason-PSGIHandler";
11865       license = with lib.licenses; [ artistic1 gpl1Plus ];
11866     };
11867   };
11869   HTMLParser = buildPerlPackage {
11870     pname = "HTML-Parser";
11871     version = "3.81";
11872     src = fetchurl {
11873       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTML-Parser-3.81.tar.gz";
11874       hash = "sha256-wJEKXI+S+IF+3QbM/SJLocLr6MEPVR8DJYeh/IPWL/I=";
11875     };
11876     propagatedBuildInputs = [ HTMLTagset HTTPMessage ];
11877     meta = {
11878       description = "HTML parser class";
11879       homepage = "https://github.com/libwww-perl/HTML-Parser";
11880       license = with lib.licenses; [ artistic1 gpl1Plus ];
11881     };
11882   };
11884   HTMLTagCloud = buildPerlModule {
11885     pname = "HTML-TagCloud";
11886     version = "0.38";
11887     src = fetchurl {
11888       url = "mirror://cpan/authors/id/R/RO/ROBERTSD/HTML-TagCloud-0.38.tar.gz";
11889       hash = "sha256-SYCZRy3vhmtEi/YvQYLfrfWUcuE/JMuGZKZxynm2cBU=";
11890     };
11891     meta = {
11892       description = "Generate An HTML Tag Cloud";
11893       license = with lib.licenses; [ artistic1 gpl1Plus ];
11894     };
11895   };
11897   HTMLQuoted = buildPerlPackage {
11898     pname = "HTML-Quoted";
11899     version = "0.04";
11900     src = fetchurl {
11901       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz";
11902       hash = "sha256-i0HzE/3BgS8C9vbDfVjyEshP3PeCf3/UsDCQfzncZQw=";
11903     };
11904     propagatedBuildInputs = [ HTMLParser ];
11905     meta = {
11906       description = "Extract structure of quoted HTML mail message";
11907       license = with lib.licenses; [ artistic1 gpl1Plus ];
11908     };
11909   };
11911   HTMLRewriteAttributes = buildPerlPackage {
11912     pname = "HTML-RewriteAttributes";
11913     version = "0.05";
11914     src = fetchurl {
11915       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz";
11916       hash = "sha256-GAjsfN9A0nCFdf5hVaiPEDsX/sd5c6WDHC8kwlDnpYw=";
11917     };
11918     propagatedBuildInputs = [ HTMLParser ];
11919     meta = {
11920       description = "Concise attribute rewriting";
11921       license = with lib.licenses; [ artistic1 gpl1Plus ];
11922     };
11923   };
11925   HTMLSelectorXPath = buildPerlPackage {
11926     pname = "HTML-Selector-XPath";
11927     version = "0.28";
11928     src = fetchurl {
11929       url = "mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.28.tar.gz";
11930       hash = "sha256-QycX8D7Szz1kETDP09ShU/Ca1PhW2gB4E3kv4LLljQ8=";
11931     };
11932     buildInputs = [ TestBase ];
11933     meta = {
11934       description = "CSS Selector to XPath compiler";
11935       license = with lib.licenses; [ artistic1 gpl1Plus ];
11936     };
11937   };
11939   HTMLScrubber = buildPerlPackage {
11940     pname = "HTML-Scrubber";
11941     version = "0.19";
11942     src = fetchurl {
11943       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz";
11944       hash = "sha256-rihVePhWX5FUxj5CNHBLV7aDX3ei+C/+ckiZ1FMmK7E=";
11945     };
11946     propagatedBuildInputs = [ HTMLParser ];
11947     buildInputs = [ TestDifferences TestMemoryCycle ];
11948     meta = {
11949       description = "Perl extension for scrubbing/sanitizing HTML";
11950       license = with lib.licenses; [ artistic1 gpl1Plus ];
11951     };
11952   };
11954   HTMLStripScripts = buildPerlPackage {
11955     pname = "HTML-StripScripts";
11956     version = "1.06";
11957     src = fetchurl {
11958       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-1.06.tar.gz";
11959       hash = "sha256-Iiv7fsH9+kZeMto9xKvtLtxzZLvhno48UTx9WFsBCa0=";
11960     };
11961     meta = {
11962       description = "Strip scripting constructs out of HTML";
11963       license = with lib.licenses; [ artistic1 gpl1Plus ];
11964     };
11965   };
11967   HTMLStripScriptsParser = buildPerlPackage {
11968     pname = "HTML-StripScripts-Parser";
11969     version = "1.03";
11970     src = fetchurl {
11971       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-Parser-1.03.tar.gz";
11972       hash = "sha256-R4waTkbrd/p7zpa6KIFo8LmMJ/JQ4A3GMSNlCBrtNAc=";
11973     };
11974     propagatedBuildInputs = [ HTMLParser HTMLStripScripts ];
11975     meta = {
11976       description = "XSS filter using HTML::Parser";
11977       license = with lib.licenses; [ artistic1 gpl1Plus ];
11978     };
11979   };
11981   HTMLTableExtract = buildPerlPackage {
11982     pname = "HTML-TableExtract";
11983     version = "2.15";
11984     src = fetchurl {
11985       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.15.tar.gz";
11986       hash = "sha256-hsWcnVjaPKF02l5i9aD7AvTaArGx4B355dFLtl5MPs8=";
11987     };
11988     preCheck = ''
11989       # https://rt.cpan.org/Public/Bug/Display.html?id=121920
11990       rm t/30_tree.t
11991     '';
11992     propagatedBuildInputs = [ HTMLElementExtended ];
11993     meta = {
11994       description = "Perl module for extracting the content contained in tables within an HTML document, either as text or encoded element trees";
11995       license = with lib.licenses; [ artistic1 gpl1Plus ];
11996     };
11997   };
11999   HTMLTagset = buildPerlPackage {
12000     pname = "HTML-Tagset";
12001     version = "3.20";
12002     src = fetchurl {
12003       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz";
12004       hash = "sha256-rbF9rJ42zQEfUkOIHJc5QX/RAvznYPjeTpvkxxMRCOI=";
12005     };
12006     meta = {
12007       description = "Data tables useful in parsing HTML";
12008       license = with lib.licenses; [ artistic1 gpl1Plus ];
12009     };
12010   };
12012   HTMLTemplate = buildPerlPackage {
12013     pname = "HTML-Template";
12014     version = "2.97";
12015     src = fetchurl {
12016       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz";
12017       hash = "sha256-ZUevYfOqhXk/hhYZCTjWd9eZX7O3IMFiWAQLyTXiEp8=";
12018     };
12019     propagatedBuildInputs = [ CGI ];
12020     buildInputs = [ TestPod ];
12021     meta = {
12022       description = "Perl module to use HTML-like templating language";
12023       license = with lib.licenses; [ artistic1 gpl1Plus ];
12024     };
12025   };
12027   HTMLTidy = buildPerlPackage {
12028     pname = "HTML-Tidy";
12029     version = "1.60";
12030     src = fetchurl {
12031       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tidy-1.60.tar.gz";
12032       hash = "sha256-vPv2XWh/jmcs9gyYIbzWXV6McqeCcrZ7sKwcaZoT18c=";
12033     };
12035     patchPhase = ''
12036       sed -i "s#/usr/include/tidyp#${pkgs.tidyp}/include/tidyp#" Makefile.PL
12037       sed -i "s#/usr/lib#${pkgs.tidyp}/lib#" Makefile.PL
12038     '';
12039     buildInputs = [ TestException ];
12040     meta = {
12041       description = "(X)HTML validation in a Perl object";
12042       homepage = "https://github.com/petdance/html-tidy";
12043       license = with lib.licenses; [ artistic2 ];
12044       mainProgram = "webtidy";
12045     };
12046   };
12048   HTMLTiny = buildPerlPackage {
12049     pname = "HTML-Tiny";
12050     version = "1.08";
12051     src = fetchurl {
12052       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/HTML-Tiny-1.08.tar.gz";
12053       hash = "sha256-DwHfDJ/ICz2dooi6q/jApTdHRE964euWAOevxKPc/rU=";
12054     };
12055     meta = {
12056       description = "Lightweight, dependency free HTML/XML generation";
12057       license = with lib.licenses; [ artistic1 gpl1Plus ];
12058     };
12059   };
12061   HTMLTokeParserSimple = buildPerlModule {
12062     pname = "HTML-TokeParser-Simple";
12063     version = "3.16";
12064     src = fetchurl {
12065       url = "mirror://cpan/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.16.tar.gz";
12066       hash = "sha256-7RETXGg55uDq+WlS5qw1Oi8i67QKchZZZx5dLcwOSp0=";
12067     };
12068     propagatedBuildInputs = [ HTMLParser SubOverride ];
12069     meta = {
12070       description = "Easy to use HTML::TokeParser interface";
12071       license = with lib.licenses; [ artistic1 gpl1Plus ];
12072     };
12073   };
12075   HTMLTree = buildPerlModule {
12076     pname = "HTML-Tree";
12077     version = "5.07";
12078     src = fetchurl {
12079       url = "mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz";
12080       hash = "sha256-8DdNuEcxwgS4bB1bkJdf7w0wqGvZ3vkZND5VTjGp278=";
12081     };
12082     buildInputs = [ TestFatal ];
12083     propagatedBuildInputs = [ HTMLParser ];
12084     meta = {
12085       description = "Work with HTML in a DOM-like tree structure";
12086       license = with lib.licenses; [ artistic1 gpl1Plus ];
12087       mainProgram = "htmltree";
12088     };
12089   };
12091   HTMLTreeBuilderXPath = buildPerlPackage {
12092     pname = "HTML-TreeBuilder-XPath";
12093     version = "0.14";
12094     src = fetchurl {
12095       url = "mirror://cpan/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz";
12096       hash = "sha256-Jeu9skRKClma5eekV9deCe/N8yZqXFcAsUA8y3SIpPM=";
12097     };
12098     propagatedBuildInputs = [ HTMLTree XMLXPathEngine ];
12099     meta = {
12100       description = "Add XPath support to HTML::TreeBuilder";
12101       license = with lib.licenses; [ artistic1 gpl1Plus ];
12102     };
12103   };
12105   HTMLWidget = buildPerlPackage {
12106     pname = "HTML-Widget";
12107     version = "1.11";
12108     src = fetchurl {
12109       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz";
12110       hash = "sha256-vkLfQFWSXOalob818eB60SvEP2VJ91JJAuozMFoOggs=";
12111     };
12112     doCheck = false;
12113     propagatedBuildInputs = [ ClassAccessorChained ClassDataAccessor DateCalc EmailValid HTMLScrubber HTMLTree ModulePluggableFast ];
12114     buildInputs = [ TestNoWarnings ];
12115     meta = {
12116       description = "HTML Widget And Validation Framework";
12117       license = with lib.licenses; [ artistic1 gpl1Plus ];
12118     };
12119   };
12121   HTTPAcceptLanguage = buildPerlModule {
12122     pname = "HTTP-AcceptLanguage";
12123     version = "0.02";
12124     src = fetchurl {
12125       url = "mirror://cpan/authors/id/Y/YA/YAPPO/HTTP-AcceptLanguage-0.02.tar.gz";
12126       hash = "sha256-LmBfVk7J66tlVI/17sk/nF3qvv7XBzpyneCuKE5OQq8=";
12127     };
12128     buildInputs = [ ModuleBuildTiny ];
12129     meta = {
12130       description = "Accept-Language header parser and find available language";
12131       homepage = "https://github.com/yappo/p5-HTTP-AcceptLanguage";
12132       license = with lib.licenses; [ artistic1 gpl1Plus ];
12133     };
12134   };
12136   HTTPBody = buildPerlPackage {
12137     pname = "HTTP-Body";
12138     version = "1.23";
12139     src = fetchurl {
12140       url = "mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.23.tar.gz";
12141       hash = "sha256-7OmB9BYWNaL7piFdAlcZXlOMTyNDhFMFAd/bahvY1jY=";
12142     };
12143     buildInputs = [ TestDeep ];
12144     propagatedBuildInputs = [ HTTPMessage ];
12145     meta = {
12146       description = "HTTP Body Parser";
12147       license = with lib.licenses; [ artistic1 gpl1Plus ];
12148     };
12149   };
12151   HTTPCookieJar = buildPerlPackage {
12152     pname = "HTTP-CookieJar";
12153     version = "0.014";
12154     src = fetchurl {
12155       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.014.tar.gz";
12156       hash = "sha256-cJTqXJH1NtJjuF6Dq06alj4RxECM4I7K5VP6nAzEfnM=";
12157     };
12158     propagatedBuildInputs = [ HTTPDate ];
12159     buildInputs = [ TestDeep TestRequires URI ];
12160     # Broken on Hydra since 2021-06-17: https://hydra.nixos.org/build/146507373
12161     doCheck = false;
12162     meta = {
12163       description = "Minimalist HTTP user agent cookie jar";
12164       homepage = "https://github.com/dagolden/HTTP-CookieJar";
12165       license = with lib.licenses; [ asl20 ];
12166     };
12167   };
12169   HTTPCookies = buildPerlPackage {
12170     pname = "HTTP-Cookies";
12171     version = "6.10";
12172     src = fetchurl {
12173       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz";
12174       hash = "sha256-4282Yzxc5rXkuHb/z3R4fMXv4HNt1/SHvdc8FPC9cAc=";
12175     };
12176     propagatedBuildInputs = [ HTTPMessage ];
12177     meta = {
12178       description = "HTTP cookie jars";
12179       homepage = "https://github.com/libwww-perl/HTTP-Cookies";
12180       license = with lib.licenses; [ artistic1 gpl1Plus ];
12181     };
12182   };
12184   HTTPDaemon = buildPerlPackage {
12185     pname = "HTTP-Daemon";
12186     version = "6.16";
12187     src = fetchurl {
12188       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Daemon-6.16.tar.gz";
12189       hash = "sha256-s40JJyXm+k4MTcKkfhVwcEkbr6Db4Wx4o1joBqp+Fz0=";
12190     };
12191     buildInputs = [ ModuleBuildTiny TestNeeds ];
12192     propagatedBuildInputs = [ HTTPMessage ];
12193     __darwinAllowLocalNetworking = true;
12194     meta = {
12195       description = "Simple http server class";
12196       homepage = "https://github.com/libwww-perl/HTTP-Daemon";
12197       license = with lib.licenses; [ artistic1 gpl1Plus ];
12198     };
12199   };
12201   HTTPDate = buildPerlPackage {
12202     pname = "HTTP-Date";
12203     version = "6.06";
12204     src = fetchurl {
12205       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.06.tar.gz";
12206       hash = "sha256-e2hRkcasw+dz0fwCyV7h+frpT3d4MXX154wYHMktK1I=";
12207     };
12208     propagatedBuildInputs = [ TimeDate ];
12209     meta = {
12210       description = "Date conversion routines";
12211       homepage = "https://github.com/libwww-perl/HTTP-Date";
12212       license = with lib.licenses; [ artistic1 gpl1Plus ];
12213     };
12214   };
12216   HTTPEntityParser = buildPerlModule {
12217     pname = "HTTP-Entity-Parser";
12218     version = "0.25";
12219     src = fetchurl {
12220       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.25.tar.gz";
12221       hash = "sha256-OozQ2Muj0XzYwE7oLXNB36okfb3ZSknrlLU/aeSD7Do=";
12222     };
12223     propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
12224     buildInputs = [ HTTPMessage ModuleBuildTiny ];
12225     meta = {
12226       description = "PSGI compliant HTTP Entity Parser";
12227       homepage = "https://github.com/kazeburo/HTTP-Entity-Parser";
12228       license = with lib.licenses; [ artistic1 gpl1Plus ];
12229     };
12230   };
12232   HTTPDAV = buildPerlPackage {
12233     pname = "HTTP-DAV";
12234     version = "0.49";
12235     src = fetchurl {
12236       url = "mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.49.tar.gz";
12237       hash = "sha256-MzOd+ewQbeN9hgnP0NPAg8z7sGwWxlG1s4UaVtF6lXw=";
12238     };
12239     propagatedBuildInputs = [ XMLDOM ];
12240     meta = {
12241       description = "WebDAV client library";
12242       license = with lib.licenses; [ artistic1 gpl1Plus ];
12243       mainProgram = "dave";
12244     };
12245   };
12247   HTTPHeadersActionPack = buildPerlPackage {
12248     pname = "HTTP-Headers-ActionPack";
12249     version = "0.09";
12250     src = fetchurl {
12251       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTTP-Headers-ActionPack-0.09.tar.gz";
12252       hash = "sha256-x4ERq4V+SMaYJJA9S2zoKT/v/GtdZw21UKdn+FOsx9o=";
12253     };
12254     buildInputs = [ TestFatal TestWarnings ];
12255     propagatedBuildInputs = [ HTTPDate HTTPMessage ModuleRuntime SubExporter URI ];
12256     meta = {
12257       description = "HTTP Action, Adventure and Excitement";
12258       license = with lib.licenses; [ artistic1 gpl1Plus ];
12259     };
12260   };
12262   HTTPHeaderParserXS = buildPerlPackage {
12263     pname = "HTTP-HeaderParser-XS";
12264     version = "0.20";
12265     src = fetchurl {
12266       url = "mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz";
12267       hash = "sha256-qeAP/7PYmRoUqq/dxh1tFoxP8U4xSuPbstTaMAjXRu8=";
12268     };
12269     meta = {
12270       description = "XS extension for processing HTTP headers";
12271       license = with lib.licenses; [ artistic1 gpl1Plus ];
12272       broken =
12273         stdenv.hostPlatform.isi686 # loadable library and perl binaries are mismatched (got handshake key 0x7d40080, needed 0x7dc0080)
12274         || stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTTPHeaderParserXS.x86_64-darwin
12275     };
12276   };
12278   HTTPHeadersFast = buildPerlModule {
12279     pname = "HTTP-Headers-Fast";
12280     version = "0.22";
12281     src = fetchurl {
12282       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz";
12283       hash = "sha256-zEMdtoSW3YhNtLwMC3ESwfSk8dxoxPWjyqdXoedIG0g=";
12284     };
12285     buildInputs = [ ModuleBuildTiny TestRequires ];
12286     propagatedBuildInputs = [ HTTPDate ];
12287     meta = {
12288       description = "Faster implementation of HTTP::Headers";
12289       homepage = "https://github.com/tokuhirom/HTTP-Headers-Fast";
12290       license = with lib.licenses; [ artistic1 gpl1Plus ];
12291     };
12292   };
12294   HTTPLite = buildPerlPackage {
12295     pname = "HTTP-Lite";
12296     version = "2.44";
12297     src = fetchurl {
12298       url = "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-2.44.tar.gz";
12299       hash = "sha256-OOQ9eRHPwU46OPA4K2zHptVZMH0jsQnOc6x9JKmz53w=";
12300     };
12301     buildInputs = [ CGI ];
12302     meta = {
12303       description = "Lightweight HTTP implementation";
12304       license = with lib.licenses; [ artistic1 gpl1Plus ];
12305     };
12306   };
12308   HTTPMessage = buildPerlPackage {
12309     pname = "HTTP-Message";
12310     version = "6.45";
12311     src = fetchurl {
12312       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Message-6.45.tar.gz";
12313       hash = "sha256-AcuEBmEqP3OIQtHpcxOuTYdIcNG41tZjMfFgAJQ9TL4=";
12314     };
12315     buildInputs = [ TestNeeds TryTiny ];
12316     propagatedBuildInputs = [ Clone EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
12317     meta = {
12318       description = "HTTP style message (base class)";
12319       homepage = "https://github.com/libwww-perl/HTTP-Message";
12320       license = with lib.licenses; [ artistic1 gpl1Plus ];
12321     };
12322   };
12324   HTTPMultiPartParser = buildPerlPackage {
12325     pname = "HTTP-MultiPartParser";
12326     version = "0.02";
12327     src = fetchurl {
12328       url = "mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz";
12329       hash = "sha256-Xt3aFZ9U0W+GjgMkQKwrAk5VqsSJMYcbYmJ/GhbQCxI=";
12330     };
12331     buildInputs = [ TestDeep ];
12332     meta = {
12333       description = "HTTP MultiPart Parser";
12334       license = with lib.licenses; [ artistic1 gpl1Plus ];
12335     };
12336   };
12338   HTTPNegotiate = buildPerlPackage {
12339     pname = "HTTP-Negotiate";
12340     version = "6.01";
12341     src = fetchurl {
12342       url = "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz";
12343       hash = "sha256-HHKcHqYxAOh4QFzafWb5rf0+1PHWysrKDukVLfco4BY=";
12344     };
12345     propagatedBuildInputs = [ HTTPMessage ];
12346     meta = {
12347       description = "Choose a variant to serve";
12348       license = with lib.licenses; [ artistic1 gpl1Plus ];
12349     };
12350   };
12352   HTTPParserXS = buildPerlPackage {
12353     pname = "HTTP-Parser-XS";
12354     version = "0.17";
12355     src = fetchurl {
12356       url = "mirror://cpan/authors/id/K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz";
12357       hash = "sha256-eU5oM+MmsQ0kNp+c2/wWZxBe9lkej0HlYaPUGnAnqAk=";
12358     };
12359     meta = {
12360       description = "Fast, primitive HTTP request parser";
12361       license = with lib.licenses; [ artistic1 gpl1Plus ];
12362     };
12363   };
12365   HTTPProxy = buildPerlPackage {
12366     pname = "HTTP-Proxy";
12367     version = "0.304";
12368     src = fetchurl {
12369       url = "mirror://cpan/authors/id/B/BO/BOOK/HTTP-Proxy-0.304.tar.gz";
12370       hash = "sha256-sFKQU07HNiXCGgVl/DUXCJDasWOEPZUzHCksI/UExp0=";
12371     };
12372     propagatedBuildInputs = [ LWP ];
12373     # tests fail because they require network access
12374     doCheck = false;
12375     meta = {
12376       description = "Pure Perl HTTP proxy";
12377       license = with lib.licenses; [ artistic1 gpl1Plus ];
12378     };
12379   };
12381   HTTPRequestAsCGI = buildPerlPackage {
12382     pname = "HTTP-Request-AsCGI";
12383     version = "1.2";
12384     src = fetchurl {
12385       url = "mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz";
12386       hash = "sha256-lFv7B8bRr1J3P7eEW6YuOnQRGzXL0tXkPvgxnlWsvOo=";
12387     };
12388     propagatedBuildInputs = [ ClassAccessor HTTPMessage ];
12389     meta = {
12390       description = "Set up a CGI environment from an HTTP::Request";
12391       license = with lib.licenses; [ artistic1 gpl1Plus ];
12392     };
12393   };
12395   HTTPResponseEncoding = buildPerlPackage {
12396     pname = "HTTP-Response-Encoding";
12397     version = "0.06";
12398     src = fetchurl {
12399       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz";
12400       hash = "sha256-EBZ7jiOKaCAEqw16zL6dduri21evB8WuLfqAgHSkqKo=";
12401     };
12402     propagatedBuildInputs = [ HTTPMessage ];
12403     buildInputs = [ LWP ];
12404     meta = {
12405       description = "Adds encoding() to HTTP::Response";
12406       license = with lib.licenses; [ artistic1 gpl1Plus ];
12407     };
12408   };
12410   HTTPServerSimple = buildPerlPackage {
12411     pname = "HTTP-Server-Simple";
12412     version = "0.52";
12413     src = fetchurl {
12414       url = "mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz";
12415       hash = "sha256-2JOfpPEr1rjAQ1N/0L+WsFWsNoa5zdn6dz3KauZ5y0w=";
12416     };
12417     doCheck = false;
12418     propagatedBuildInputs = [ CGI ];
12419     meta = {
12420       description = "Lightweight HTTP server";
12421       license = with lib.licenses; [ artistic1 gpl1Plus ];
12422     };
12423   };
12425   HTTPServerSimpleAuthen = buildPerlPackage {
12426     pname = "HTTP-Server-Simple-Authen";
12427     version = "0.04";
12428     src = fetchurl {
12429       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-Authen-0.04.tar.gz";
12430       hash = "sha256-Ld3Iq53ImGmAFR5LqDamu/CR9Fzxlb4XaOvbSpk+1Zs=";
12431     };
12432     propagatedBuildInputs = [ AuthenSimple HTTPServerSimple ];
12433     meta = {
12434       description = "Authentication plugin for HTTP::Server::Simple";
12435       license = with lib.licenses; [ artistic1 gpl1Plus ];
12436     };
12437   };
12439   HTTPServerSimpleMason = buildPerlPackage {
12440     pname = "HTTP-Server-Simple-Mason";
12441     version = "0.14";
12442     src = fetchurl {
12443       url = "mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-Mason-0.14.tar.gz";
12444       hash = "sha256-t6Sdjm5Vv/Cx8CeNlRaFRmsUMkO2+eWeBx9UcsoqAlo=";
12445     };
12446     propagatedBuildInputs = [ HTMLMason HTTPServerSimple HookLexWrap ];
12447     meta = {
12448       description = "Simple mason server";
12449       license = with lib.licenses; [ artistic1 gpl1Plus ];
12450     };
12451   };
12453   HTTPServerSimplePSGI = buildPerlPackage {
12454     pname = "HTTP-Server-Simple-PSGI";
12455     version = "0.16";
12456     src = fetchurl {
12457       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz";
12458       hash = "sha256-X3zLhFMEO5cnhJKnVzKBFuEeA1LyhUooqcY05ukTHbo=";
12459     };
12460     propagatedBuildInputs = [ HTTPServerSimple ];
12461     meta = {
12462       description = "Perl Web Server Gateway Interface Specification";
12463       homepage = "https://github.com/miyagawa/HTTP-Server-Simple-PSGI";
12464       license = with lib.licenses; [ artistic1 gpl1Plus ];
12465     };
12466   };
12468   HTTPTinyCache = buildPerlPackage {
12469     pname = "HTTP-Tiny-Cache";
12470     version = "0.002";
12471     src = fetchurl {
12472       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/HTTP-Tiny-Cache-0.002.tar.gz";
12473       hash = "sha256-c323zxncN4By2Rysdnh/sorNg8DRB85OTrS708kRhiE=";
12474     };
12475     propagatedBuildInputs = [ FileUtilTempdir Logger ];
12476     meta = {
12477       description = "Cache HTTP::Tiny responses";
12478       homepage = "https://metacpan.org/release/HTTP-Tiny-Cache";
12479       license = with lib.licenses; [ artistic1 gpl1Plus ];
12480       maintainers = [ maintainers.sgo ];
12481     };
12482   };
12484   HTTPTinyish = buildPerlPackage {
12485     pname = "HTTP-Tinyish";
12486     version = "0.18";
12487     src = fetchurl {
12488       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.18.tar.gz";
12489       hash = "sha256-gDgLjTPGv6lrsBBPpqQcJ9zE6cg6SN8frTkJf1/c/eU=";
12490     };
12491     propagatedBuildInputs = [ FileWhich IPCRun3 ];
12492     meta = {
12493       description = "HTTP::Tiny compatible HTTP client wrappers";
12494       homepage = "https://github.com/miyagawa/HTTP-Tinyish";
12495       license = with lib.licenses; [ artistic1 gpl1Plus ];
12496     };
12497   };
12499   iCalParser = buildPerlPackage {
12500     pname = "iCal-Parser";
12501     version = "1.21";
12502     src = fetchurl {
12503       url = "mirror://cpan/authors/id/R/RI/RIXED/iCal-Parser-1.21.tar.gz";
12504       hash = "sha256-DXk5pkSo5nAX7HI509lgTzmGu5pP+Avmj+cpnr/SJww=";
12505     };
12506     propagatedBuildInputs = [ DateTimeFormatICal FreezeThaw IOString TextvFileasData ];
12507     meta = {
12508       description = "Parse iCalendar files into a data structure";
12509       license = with lib.licenses; [ artistic1 gpl1Plus ];
12510     };
12511   };
12513   ImagePNGLibpng = buildPerlPackage {
12514     pname = "Image-PNG-Libpng";
12515     version = "0.57";
12516     src = fetchurl {
12517       url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-0.56.tar.gz";
12518       hash = "sha256-+vu/6/9CP3u4XvJ6MEH7YpG1AzbHpYIiSlysQzHDx9k=";
12519     };
12520     buildInputs = [ pkgs.libpng ];
12521     meta = {
12522       description = "Perl interface to libpng";
12523       license = with lib.licenses; [ artistic1 gpl1Plus ];
12524       mainProgram = "pnginspect";
12525       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.ImagePNGLibpng.x86_64-darwin
12526     };
12527   };
12529   Imager = buildPerlPackage {
12530     pname = "Imager";
12531     version = "1.019";
12532     src = fetchurl {
12533       url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.019.tar.gz";
12534       hash = "sha256-dNRNcBwfFPxLmE+toelVcmtQTC2LBtJl56hh+llDy0g=";
12535     };
12536     buildInputs = [ pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
12537     makeMakerFlags = [ "--incpath ${pkgs.libjpeg.dev}/include" "--libpath ${pkgs.libjpeg.out}/lib" "--incpath" "${pkgs.libpng.dev}/include" "--libpath" "${pkgs.libpng.out}/lib" ];
12538     meta = {
12539       description = "Perl extension for Generating 24 bit Images";
12540       homepage = "http://imager.perl.org";
12541       license = with lib.licenses; [ artistic1 gpl1Plus ];
12542     };
12543   };
12545   ImagerQRCode = buildPerlPackage {
12546     pname = "Imager-QRCode";
12547     version = "0.035";
12548     src = fetchurl {
12549       url = "mirror://cpan/authors/id/K/KU/KURIHARA/Imager-QRCode-0.035.tar.gz";
12550       hash = "sha256-KoSN66Kes5QsRHCaaFPjGKyrDEaMv+27m6rlR2ADJRM=";
12551     };
12552     propagatedBuildInputs = [ Imager ];
12553     meta = {
12554       description = "Generate QR Code with Imager using libqrencode";
12555       license = with lib.licenses; [ artistic1 gpl1Plus ];
12556       maintainers = with maintainers; [ sgo ];
12557     };
12558   };
12560   ImageInfo = buildPerlPackage {
12561     pname = "Image-Info";
12562     version = "1.44";
12563     src = fetchurl {
12564       url = "mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.44.tar.gz";
12565       hash = "sha256-y3/GXdHv/gHrR8HHmlLdFlT0KOOpfbHvI7EmzgFjbw0=";
12566     };
12567     propagatedBuildInputs = [ IOStringy ];
12568     meta = {
12569       description = "Extract meta information from image files";
12570       license = with lib.licenses; [ artistic1 gpl1Plus ];
12571     };
12572   };
12574   ImageSane = buildPerlPackage {
12575     pname = "Image-Sane";
12576     version = "5";
12577     src = fetchurl {
12578       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz";
12579       hash = "sha256-Ipqg6fBJ76dg88L25h2dU5r0PY92S1Cm4DBktHKaNf8=";
12580     };
12581     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
12582     propagatedBuildInputs = [ ExceptionClass Readonly ];
12583     meta = {
12584       description = "Perl extension for the SANE (Scanner Access Now Easy) Project";
12585       license = with lib.licenses; [ artistic1 gpl1Plus ];
12586     };
12587   };
12589   ImageScale = buildPerlPackage {
12590     pname = "Image-Scale";
12591     version = "0.14";
12592     src = fetchurl {
12593       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Image-Scale-0.14.tar.gz";
12594       hash = "sha256-8JxfBmO4dzg2WsKBnhhrkJq+ue2F2DvBXudocslHzfg=";
12595     };
12596     buildInputs = [ pkgs.libpng pkgs.libjpeg TestNoWarnings ];
12597     propagatedBuildInputs = [ pkgs.zlib ];
12598     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" ];
12599     meta = {
12600       description = "Fast, high-quality fixed-point image resizing";
12601       license = with lib.licenses; [ gpl2Plus ];
12602     };
12603   };
12605   ImageSize = buildPerlPackage {
12606     pname = "Image-Size";
12607     version = "3.300";
12608     src = fetchurl {
12609       url = "mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-3.300.tar.gz";
12610       hash = "sha256-U8mx+GUxzeBg7mNwnR/ac8q8DPLVgdKbIrAUeBufAms=";
12611     };
12612     buildInputs = [ ModuleBuild ];
12613     meta = {
12614       description = "Library to extract height/width from images";
12615       homepage = "https://search.cpan.org/dist/Image-Size";
12616       license = with lib.licenses; [ artistic1 gpl1Plus ];
12617       mainProgram = "imgsize";
12618     };
12619   };
12621   ImageOCRTesseract = buildPerlPackage {
12622     pname = "Image-OCR-Tesseract";
12623     version = "1.26";
12624     src = fetchurl {
12625       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/Image-OCR-Tesseract-1.26.tar.gz";
12626       hash = "sha256-mNkEJmpwYvCcm0b3fE6UUp4f6ZM54/g/2h+SAT8AfOo=";
12627     };
12628     nativeBuildInputs = [ pkgs.which pkgs.makeWrapper pkgs.tesseract pkgs.imagemagick ];
12629     propagatedBuildInputs = [ FileFindRule FileWhich LEOCHARRECLI StringShellQuote ];
12630     postPatch = ''
12631       substituteInPlace lib/Image/OCR/Tesseract.pm \
12632         --replace "which('tesseract')" "\"${pkgs.tesseract}/bin/tesseract\"" \
12633         --replace "which('convert')" "\"${pkgs.imagemagick}/bin/convert"\"
12634     '';
12635     postInstall = ''
12636       wrapProgram $out/bin/ocr --prefix PATH : ${lib.makeBinPath [ pkgs.tesseract pkgs.imagemagick ]}
12637     '';
12638     meta = {
12639       description = "Read an image with tesseract ocr and get output";
12640       license = with lib.licenses; [ artistic1 gpl1Plus ];
12641       mainProgram = "ocr";
12642     };
12643   };
12645   IMAPClient = buildPerlPackage {
12646     pname = "IMAP-Client";
12647     version = "0.13";
12648     src = fetchurl {
12649       url = "mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz";
12650       hash = "sha256-inovpVt1qFPEgBQXeDk62sKUts0gfN9UFA9nwS8kypU=";
12651     };
12652     doCheck = false; # nondeterministic
12653     meta = {
12654       description = "Advanced manipulation of IMAP services w/ referral support";
12655       license = with lib.licenses; [ artistic1 gpl1Plus ];
12656     };
12657   };
12659   Importer = buildPerlPackage {
12660     pname = "Importer";
12661     version = "0.026";
12662     src = fetchurl {
12663       url = "mirror://cpan/authors/id/E/EX/EXODIST/Importer-0.026.tar.gz";
12664       hash = "sha256-4I+oThPLmYt6iX/I7Jw0WfzBcWr/Jcw0Pjbvh1iRsO8=";
12665     };
12666     meta = {
12667       description = "Alternative but compatible interface to modules that export symbols";
12668       license = with lib.licenses; [ artistic1 gpl1Plus ];
12669     };
12670   };
12672   ImportInto = buildPerlPackage {
12673     pname = "Import-Into";
12674     version = "1.002005";
12675     src = fetchurl {
12676       url = "mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz";
12677       hash = "sha256-vZ53o/tmK0C0OxjTKAzTUu35+tjZQoPlGBgcwc6fBWc=";
12678     };
12679     propagatedBuildInputs = [ ModuleRuntime ];
12680     meta = {
12681       description = "Import packages into other packages";
12682       license = with lib.licenses; [ artistic1 gpl1Plus ];
12683     };
12684   };
12686   IO = buildPerlPackage {
12687     pname = "IO";
12688     version = "1.51";
12689     src = fetchurl {
12690       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-1.51.tar.gz";
12691       hash = "sha256-VJPqVZmHKM0rfsuCNMWPtdXfJwmNDwet3KIkRNdhbOA=";
12692     };
12693     doCheck = false;
12694     meta = {
12695       description = "Perl core IO modules";
12696       license = with lib.licenses; [ artistic1 gpl1Plus ];
12697     };
12698   };
12700   IOAIO = buildPerlPackage {
12701     pname = "IO-AIO";
12702     version = "4.73";
12703     src = fetchurl {
12704       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/IO-AIO-4.73.tar.gz";
12705       hash = "sha256-mltHx4Ak+rdmPR5a90ob6rRQ19Y7poV+MbP9gobkrFo=";
12706     };
12707     buildInputs = [ CanaryStability ];
12708     propagatedBuildInputs = [ commonsense ];
12709     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
12710     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
12711       shortenPerlShebang $out/bin/treescan
12712     '';
12713     meta = {
12714       description = "Asynchronous/Advanced Input/Output";
12715       license = with lib.licenses; [ artistic1 gpl1Plus ];
12716       mainProgram = "treescan";
12717     };
12718   };
12720   IOAll = buildPerlPackage {
12721     pname = "IO-All";
12722     version = "0.87";
12723     src = fetchurl {
12724       url = "mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz";
12725       hash = "sha256-VOIdJQwCKRJ+MLd6NGHhAHeFTsJE8m+2cPG0Re1MTVs=";
12726     };
12727     meta = {
12728       description = "IO::All of it to Graham and Damian!";
12729       homepage = "https://github.com/ingydotnet/io-all-pm";
12730       license = with lib.licenses; [ artistic1 gpl1Plus ];
12731     };
12732   };
12734   IOAsync = buildPerlModule {
12735     pname = "IO-Async";
12736     version = "0.802";
12737     src = fetchurl {
12738       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.802.tar.gz";
12739       hash = "sha256-5YJzFXd2fEfqxDXvKQRmPUp1Cw5oAqSmGJo38Mswhzg";
12740     };
12741     preCheck = "rm t/50resolver.t"; # this test fails with "Temporary failure in name resolution" in sandbox
12742     propagatedBuildInputs = [ Future StructDumb ];
12743     buildInputs = [ TestFatal TestFutureIOImpl TestIdentity TestMetricsAny TestRefcount ];
12744     meta = {
12745       description = "Asynchronous event-driven programming";
12746       license = with lib.licenses; [ artistic1 gpl1Plus ];
12747     };
12748   };
12750   IOAsyncSSL = buildPerlModule {
12751     pname = "IO-Async-SSL";
12752     version = "0.25";
12753     src = fetchurl {
12754       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-SSL-0.25.tar.gz";
12755       hash = "sha256-Te9IXbHv9OE5tLWRIgLA/WHDrtLOw1vVq4v3u9g/WnU=";
12756     };
12757     buildInputs = [ TestIdentity ];
12758     propagatedBuildInputs = [ Future IOAsync IOSocketSSL ];
12759     meta = {
12760       description = "Use SSL/TLS with IO::Async";
12761       license = with lib.licenses; [ artistic1 gpl1Plus ];
12762       maintainers = [ maintainers.zakame ];
12763     };
12764   };
12766   IOCapture = buildPerlPackage {
12767     pname = "IO-Capture";
12768     version = "0.05";
12769     src = fetchurl {
12770       url = "mirror://cpan/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz";
12771       hash = "sha256-wsFaJUynT7jFfSXXtsvK/3ejtPtWlUI/H4C7Qjq//qk=";
12772     };
12773     meta = {
12774       description = "Abstract Base Class to build modules to capture output";
12775       license = with lib.licenses; [ artistic1 gpl1Plus ];
12776     };
12777   };
12779   IOCaptureOutput = buildPerlPackage {
12780     pname = "IO-CaptureOutput";
12781     version = "1.1105";
12782     src = fetchurl {
12783       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz";
12784       hash = "sha256-rpkAn8oSc4APFp7LgvTtHMbHZ5XxVr7lwAkwBdVy9Ic=";
12785     };
12786     meta = {
12787       description = "(DEPRECATED) capture STDOUT and STDERR from Perl code, subprocesses or XS";
12788       homepage = "https://github.com/dagolden/IO-CaptureOutput";
12789       license = with lib.licenses; [ artistic1 gpl1Plus ];
12790     };
12791   };
12793   IOCompress = buildPerlPackage {
12794     pname = "IO-Compress";
12795     version = "2.206";
12796     src = fetchurl {
12797       url = "mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.206.tar.gz";
12798       hash = "sha256-fTBiuaSU91fo0GFPIg2D8icxu9oa6198/w5yqD9DPTU=";
12799     };
12800     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
12801     # Same as CompressRawZlib
12802     doCheck = false && !stdenv.hostPlatform.isDarwin;
12803     meta = {
12804       description = "IO Interface to compressed data files/buffers";
12805       homepage = "https://github.com/pmqs/IO-Compress";
12806       license = with lib.licenses; [ artistic1 gpl1Plus ];
12807       mainProgram = "streamzip";
12808     };
12809   };
12811   IODigest = buildPerlPackage {
12812     pname = "IO-Digest";
12813     version = "0.11";
12814     src = fetchurl {
12815       url = "mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz";
12816       hash = "sha256-j/z4Wn9iE+XpQUCtzCsXntAkmOrchDCUV+kE3sk/f5I=";
12817     };
12818     propagatedBuildInputs = [ PerlIOviadynamic ];
12819     meta = {
12820       description = "Calculate digests while reading or writing";
12821       license = with lib.licenses; [ artistic1 gpl1Plus ];
12822     };
12823   };
12825   IOHTML = buildPerlPackage {
12826     pname = "IO-HTML";
12827     version = "1.004";
12828     src = fetchurl {
12829       url = "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-1.004.tar.gz";
12830       hash = "sha256-yHst9ZRju/LDlZZ3PftcA73g9+EFGvM5+WP1jBy9i/U=";
12831     };
12832     meta = {
12833       description = "Open an HTML file with automatic charset detection";
12834       license = with lib.licenses; [ artistic1 gpl1Plus ];
12835     };
12836   };
12838   IOHandleUtil = buildPerlModule {
12839     pname = "IO-Handle-Util";
12840     version = "0.02";
12841     src = fetchurl {
12842       url = "mirror://cpan/authors/id/E/ET/ETHER/IO-Handle-Util-0.02.tar.gz";
12843       hash = "sha256-jblmqRPaxORkIwcCqiIr84r+ISGT5ja8DzzGUbrezO4=";
12844     };
12845     propagatedBuildInputs = [ IOString SubExporter asa ];
12846     buildInputs = [ ModuleBuildTiny TestSimple13 ];
12847     meta = {
12848       description = "Functions for working with IO::Handle like objects";
12849       homepage = "https://github.com/karenetheridge/IO-Handle-Util";
12850       license = with lib.licenses; [ artistic1 gpl1Plus ];
12851     };
12852   };
12854   IOInterface = buildPerlModule {
12855     pname = "IO-Interface";
12856     version = "1.09";
12857     src = fetchurl {
12858       url = "mirror://cpan/authors/id/L/LD/LDS/IO-Interface-1.09.tar.gz";
12859       hash = "sha256-5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo=";
12860     };
12861     nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.ld-is-cc-hook ];
12862     meta = {
12863       description = "Access and modify network interface card configuration";
12864       license = with lib.licenses; [ artistic1 gpl1Plus ];
12865     };
12866   };
12868   IOInteractive = buildPerlPackage {
12869     pname = "IO-Interactive";
12870     version = "1.025";
12871     src = fetchurl {
12872       url = "mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.025.tar.gz";
12873       hash = "sha256-yh7G+6t6AnXdLpz2e3yw4ARYY/MVMyEMfcVEYxtqqqc=";
12874     };
12875     meta = {
12876       description = "Utilities for interactive I/O";
12877       homepage = "https://github.com/briandfoy/io-interactive";
12878       license = with lib.licenses; [ artistic2 ];
12879     };
12880   };
12882   IOInteractiveTiny = buildPerlPackage {
12883     pname = "IO-Interactive-Tiny";
12884     version = "0.2";
12885     src = fetchurl {
12886       url = "mirror://cpan/authors/id/D/DM/DMUEY/IO-Interactive-Tiny-0.2.tar.gz";
12887       hash = "sha256-RcBpZQXH5DR4RfXNJRK3sbx4+85MvtK1gAgoP8lepfk=";
12888     };
12889     meta = {
12890       description = "Is_interactive() without large deps";
12891       license = with lib.licenses; [ artistic2 ];
12892     };
12893   };
12895   IOLockedFile = buildPerlPackage {
12896     pname = "IO-LockedFile";
12897     version = "0.23";
12898     src = fetchurl {
12899       url = "mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz";
12900       hash = "sha256-sdt+amvxvh4GFabstc6+eLAOKHsSfVhW0/FrNd1H+LU=";
12901     };
12902     meta = {
12903       description = "Supply object methods for locking files";
12904       license = with lib.licenses; [ artistic1 gpl1Plus ];
12905     };
12906   };
12908   IOMultiplex = buildPerlPackage {
12909     pname = "IO-Multiplex";
12910     version = "1.16";
12911     src = fetchurl {
12912       url = "mirror://cpan/authors/id/B/BB/BBB/IO-Multiplex-1.16.tar.gz";
12913       hash = "sha256-dNIsRLWtLnGQ4nhuihfXS79M74m00RV7ozWYtaJyDa0=";
12914     };
12915     meta = {
12916       description = "Supply object methods for locking files";
12917       license = with lib.licenses; [ artistic1 gpl1Plus ];
12918     };
12919   };
12921   IOPager = buildPerlPackage {
12922     version = "2.10";
12923     pname = "IO-Pager";
12924     src = fetchurl {
12925       url = "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-2.10.tgz";
12926       hash = "sha256-vLTYwtKAyANLglkcwLnrZ6AE+QzpqgWXn8YHEwessZU=";
12927     };
12928     propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
12929     meta = {
12930       description = "Select a pager (possibly perl-based) & pipe it text if a TTY";
12931       license = with lib.licenses; [ artistic1 gpl1Plus ];
12932       mainProgram = "tp";
12933     };
12934   };
12936   IOPty = buildPerlModule {
12937     pname = "IO-Pty";
12938     version = "1.16";
12939     src = fetchurl {
12940       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.16.tar.gz";
12941       hash = "sha256-jxoJwHBzitxpXfkD8uf3QwjdjZkbkUwLw5Cg5gISlN0=";
12942     };
12943     buildPhase = "make";
12944     checkPhase = "make test";
12945     installPhase = "make install";
12946     meta = {
12947       homepage = "https://github.com/toddr/IO-Tty";
12948       description = "Pseudo TTY object class";
12949       license = with lib.licenses; [ artistic1 gpl1Plus ];
12950     };
12951   };
12953   IOPrompt = buildPerlModule {
12954     pname = "IO-Prompt";
12955     version = "0.997004";
12956     src = fetchurl {
12957       url = "mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz";
12958       hash = "sha256-8XuzBe5qyLWyA+bYJuuUDE8/bW9L/nGcOzoiX0b1hhU=";
12959     };
12960     propagatedBuildInputs = [ TermReadKey Want ];
12961     doCheck = false; # needs access to /dev/tty
12962     meta = {
12963       description = "Interactively prompt for user input";
12964       license = with lib.licenses; [ artistic1 gpl1Plus ];
12965     };
12966   };
12968   IOSessionData = buildPerlPackage {
12969     pname = "IO-SessionData";
12970     version = "1.03";
12971     src = fetchurl {
12972       url = "mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz";
12973       hash = "sha256-ZKRxKj7bs/0QIw2ylsKcjGbwZq37wMPfakglj+85Ld0=";
12974     };
12975     outputs = [ "out" "dev" ]; # no "devdoc"
12976     meta = {
12977       description = "Supporting module for SOAP::Lite";
12978       license = with lib.licenses; [ artistic1 gpl1Plus ];
12979     };
12980   };
12982   IOSocketINET6 = buildPerlModule {
12983     pname = "IO-Socket-INET6";
12984     version = "2.73";
12985     src = fetchurl {
12986       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.73.tar.gz";
12987       hash = "sha256-ttp0aFMlPVtKxDGRtPaaRxlZXuE6fKZ2qAVM825tFrs=";
12988     };
12989     propagatedBuildInputs = [ Socket6 ];
12990     doCheck = false;
12991     meta = {
12992       description = "[DEPRECATED] Object interface for AF_INET/AF_INET6 domain sockets";
12993       license = with lib.licenses; [ artistic1 gpl1Plus ];
12994     };
12995   };
12997   IOSocketSSL = buildPerlPackage {
12998     pname = "IO-Socket-SSL";
12999     version = "2.083";
13000     src = fetchurl {
13001       url = "mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-2.083.tar.gz";
13002       hash = "sha256-kE7yh2VECpfYqaDfWX+MPX88sKBT0bCCwQvtA7yAIGk=";
13003     };
13004     propagatedBuildInputs = [ MozillaCA NetSSLeay ];
13005     # Fix path to default certificate store.
13006     postPatch = ''
13007       substituteInPlace lib/IO/Socket/SSL.pm \
13008         --replace "\$openssldir/cert.pem" "/etc/ssl/certs/ca-certificates.crt"
13009     '';
13010     doCheck = false; # tries to connect to facebook.com etc.
13011     meta = {
13012       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
13013       homepage = "https://github.com/noxxi/p5-io-socket-ssl";
13014       license = with lib.licenses; [ artistic1 gpl1Plus ];
13015     };
13016   };
13018   IOSocketSocks = buildPerlPackage {
13019     pname = "IO-Socket-Socks";
13020     version = "0.74";
13021     src = fetchurl {
13022       url = "mirror://cpan/authors/id/O/OL/OLEG/IO-Socket-Socks-0.74.tar.gz";
13023       hash = "sha256-N/Bxos9LqPCQoil8ZIK3osUJ61Lc1s5dgDXU7ixoJLE=";
13024     };
13025     meta = {
13026       description = "Provides a way to create socks client or server both 4 and 5 version";
13027       license = lib.licenses.free;
13028     };
13029   };
13031   IOSocketTimeout = buildPerlModule {
13032     pname = "IO-Socket-Timeout";
13033     version = "0.32";
13034     src = fetchurl {
13035       url = "mirror://cpan/authors/id/D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz";
13036       hash = "sha256-7fkV1sxmvuQ1A6ptwrNzNm846v9wFYIYPa0Qy4rfKXI=";
13037     };
13038     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
13039     propagatedBuildInputs = [ PerlIOviaTimeout ];
13040     meta = {
13041       description = "IO::Socket with read/write timeout";
13042       license = with lib.licenses; [ artistic1 gpl1Plus ];
13043     };
13044   };
13046   IOString = buildPerlPackage {
13047     pname = "IO-String";
13048     version = "1.08";
13049     src = fetchurl {
13050       url = "mirror://cpan/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz";
13051       hash = "sha256-Kj9K2EQtkHB4DljvQ3ItGdHuIagDv3yCBod6EEgt5aA=";
13052     };
13053     meta = {
13054       description = "Emulate file interface for in-core strings";
13055       license = with lib.licenses; [ artistic1 gpl1Plus ];
13056     };
13057   };
13059   IOStringy = buildPerlPackage {
13060     pname = "IO-Stringy";
13061     version = "2.113";
13062     src = fetchurl {
13063       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/IO-Stringy-2.113.tar.gz";
13064       hash = "sha256-USIPyvn2amObadJR17B1e/QgL0+d69Rb3TQaaspi/k4=";
13065     };
13066     meta = {
13067       description = "I/O on in-core objects like strings and arrays";
13068       license = with lib.licenses; [ artistic1 gpl1Plus ];
13069     };
13070   };
13072   IOStty = buildPerlModule {
13073     pname = "IO-Stty";
13074     version = "0.04";
13075     src = fetchurl {
13076       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Stty-0.04.tar.gz";
13077       hash = "sha256-XJUJ8ahpPYKH+gE97wv4eqZM2ScThGHvjetVUDxmUcI=";
13078     };
13079     buildPhase = "make";
13080     checkPhase = "make test";
13081     installPhase = "make install";
13082     meta = {
13083       description = "Change and print terminal line settings";
13084       homepage = "https://wiki.github.com/toddr/IO-Stty";
13085       license = with lib.licenses; [ artistic1 gpl1Plus ];
13086     };
13087   };
13089   IOTee = buildPerlPackage {
13090     pname = "IO-Tee";
13091     version = "0.66";
13092     src = fetchurl {
13093       url = "mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.66.tar.gz";
13094       hash = "sha256-LZznIGUW+cMIY6NnqhwrmzVwLjabCrqhX5n7LMCFUuA=";
13095     };
13096     meta = {
13097       description = "Multiplex output to multiple output handles";
13098       license = with lib.licenses; [ artistic1 gpl1Plus ];
13099     };
13100   };
13102   IOTieCombine = buildPerlPackage {
13103     pname = "IO-TieCombine";
13104     version = "1.005";
13105     src = fetchurl {
13106       url = "mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz";
13107       hash = "sha256-QC1NuDALPScWMvSZXgreMp2JKAp+R/K634s4r25Vaa8=";
13108     };
13109     meta = {
13110       description = "Produce tied (and other) separate but combined variables";
13111       homepage = "https://github.com/rjbs/IO-TieCombine";
13112       license = with lib.licenses; [ artistic1 gpl1Plus ];
13113     };
13114   };
13116   IOTty = buildPerlPackage {
13117     pname = "IO-Tty";
13118     version = "1.17";
13119     src = fetchurl {
13120       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.17.tar.gz";
13121       hash = "sha256-pfGoMCC8W13WwbVw9Ix1RuCo9/rBCgaHQLA5Ja2eFOg=";
13122     };
13123     patches = [ ../development/perl-modules/IO-Tty-fix-makefile.patch ];
13124     doCheck = !stdenv.hostPlatform.isDarwin;  # openpty fails in the sandbox
13125     meta = {
13126       description = "Low-level allocate a pseudo-Tty, import constants";
13127       license = with lib.licenses; [ artistic1 gpl1Plus ];
13128     };
13129   };
13131   IPCConcurrencyLimit = buildPerlPackage {
13132     pname = "IPC-ConcurrencyLimit";
13133     version = "0.17";
13134     src = fetchurl {
13135       url = "mirror://cpan/authors/id/M/MA/MATTK/IPC-ConcurrencyLimit-0.17.tar.gz";
13136       hash = "sha256-Lk11vlLpD8YFg31ajp+yacCofdPTYfMBLA/5Sl+9z+8=";
13137     };
13138     buildInputs = [ ExtUtilsMakeMaker ];
13139     propagatedBuildInputs = [ FilePath IO ];
13140     meta = {
13141       description = "Lock-based limits on cooperative multi-processing";
13142       license = with lib.licenses; [ artistic1 gpl1Plus ];
13143     };
13144   };
13146   IPCountry = buildPerlPackage {
13147     pname = "IP-Country";
13148     version = "2.28";
13149     src = fetchurl {
13150       url = "mirror://cpan/authors/id/N/NW/NWETTERS/IP-Country-2.28.tar.gz";
13151       hash = "sha256-iNuDOlqyLtBstT1vIFcl47U3GyVFlgU3OIhekfoQX3U=";
13152     };
13153     propagatedBuildInputs = [ GeographyCountries ];
13154     meta = {
13155       description = "Fast lookup of country codes from IP addresses";
13156       license = with lib.licenses; [ mit ];
13157       mainProgram = "ip2cc";
13158     };
13159   };
13161   GeographyCountries = buildPerlPackage {
13162     pname = "Geography-Countries";
13163     version = "2009041301";
13164     src = fetchurl {
13165       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Geography-Countries-2009041301.tar.gz";
13166       hash = "sha256-SMQuQOgoG6fJgXQ6hUxI5t7y1R6wkl6myW4lx0SX8g8=";
13167     };
13168     meta = {
13169       description = "2-letter, 3-letter, and numerical codes for countries";
13170       license = with lib.licenses; [ mit ];
13171     };
13172   };
13175   IPCRun = buildPerlPackage {
13176     pname = "IPC-Run";
13177     version = "20231003.0";
13178     src = fetchurl {
13179       url = "mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-20231003.0.tar.gz";
13180       hash = "sha256-6yW731kT0pF5fvG/6ZjxUTC0VdPtAqrN5oVvCyXk/lc=";
13181     };
13182     doCheck = false; /* attempts a network connection to localhost */
13183     propagatedBuildInputs = [ IOTty ];
13184     buildInputs = [ Readonly ];
13185     meta = {
13186       description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
13187       license = with lib.licenses; [ artistic1 gpl1Plus ];
13188     };
13189   };
13191   IPCRun3 = buildPerlPackage {
13192     pname = "IPC-Run3";
13193     version = "0.048";
13194     src = fetchurl {
13195       url = "mirror://cpan/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz";
13196       hash = "sha256-PYHDzBtc/2nMqTYeLG443wNSJRrntB4v8/68hQ5GNWU=";
13197     };
13198     meta = {
13199       description = "Run a subprocess with input/output redirection";
13200       license = with lib.licenses; [ artistic1 gpl1Plus bsd3 ];
13201     };
13202   };
13204   IPCShareLite = buildPerlPackage {
13205     pname = "IPC-ShareLite";
13206     version = "0.17";
13207     src = fetchurl {
13208       url = "mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz";
13209       hash = "sha256-FNQGuR2pbWUh0NGoLSKjBidHZSJrhrClbn/93Plq578=";
13210     };
13211     meta = {
13212       description = "Lightweight interface to shared memory";
13213       license = with lib.licenses; [ artistic1 gpl1Plus ];
13214     };
13215   };
13217   IPCSystemSimple = buildPerlPackage {
13218     pname = "IPC-System-Simple";
13219     version = "1.30";
13220     src = fetchurl {
13221       url = "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.30.tar.gz";
13222       hash = "sha256-Iub1IitQXuUTBY/co1q3oeq4BTm5jlykqSOnCorpup4=";
13223     };
13224     meta = {
13225       description = "Run commands simply, with detailed diagnostics";
13226       homepage = "http://thenceforward.net/perl/modules/IPC-System-Simple";
13227       license = with lib.licenses; [ artistic1 gpl1Plus ];
13228     };
13229   };
13231   IPCSysV = buildPerlPackage {
13232     pname = "IPC-SysV";
13233     version = "2.09";
13234     src = fetchurl {
13235       url = "mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.09.tar.gz";
13236       hash = "sha256-GJdUHHTVSP0QB+tsB/NBnTx1ddgFamK1ulJwohZtLb0=";
13237     };
13238     meta = {
13239       description = "System V IPC constants and system calls";
13240       license = with lib.licenses; [ artistic1 gpl1Plus ];
13241     };
13242   };
13244   IRCUtils = buildPerlPackage {
13245     pname = "IRC-Utils";
13246     version = "0.12";
13247     src = fetchurl {
13248       url = "mirror://cpan/authors/id/H/HI/HINRIK/IRC-Utils-0.12.tar.gz";
13249       hash = "sha256-x9YxHrbHnpg4M8nmtOjUJtB6mHTSD0vGQbMTuZybyKA=";
13250     };
13251     meta = {
13252       description = "Common utilities for IRC-related tasks";
13253       homepage = "https://metacpan.org/release/IRC-Utils";
13254       license = with lib.licenses; [ artistic1 gpl1Plus ];
13255       maintainers = with maintainers; [ sgo ];
13256     };
13257   };
13259   ImageExifTool = callPackage ../development/perl-modules/ImageExifTool { };
13261   Inline = buildPerlPackage {
13262     pname = "Inline";
13263     version = "0.86";
13264     src = fetchurl {
13265       url = "mirror://cpan/authors/id/I/IN/INGY/Inline-0.86.tar.gz";
13266       hash = "sha256-UQp94tARsNuAsIdOjA9zkAEJkQAK4TXP90dN8ebVHjo=";
13267     };
13268     buildInputs = [ TestWarn ];
13269     meta = {
13270       description = "Write Perl Subroutines in Other Programming Languages";
13271       longDescription = ''
13272         The Inline module allows you to put source code from other
13273         programming languages directly "inline" in a Perl script or
13274         module. The code is automatically compiled as needed, and then loaded
13275         for immediate access from Perl.
13276       '';
13277       homepage = "https://github.com/ingydotnet/inline-pm";
13278       license = with lib.licenses; [ artistic1 gpl1Plus ];
13279     };
13280   };
13282   InlineC = buildPerlPackage {
13283     pname = "Inline-C";
13284     version = "0.82";
13285     src = fetchurl {
13286       url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-C-0.82.tar.gz";
13287       hash = "sha256-EPvPHhWNHI134d2TTjeRZbEmpFwTZFrQvp3AfRUd0Mw=";
13288     };
13289     buildInputs = [ FileCopyRecursive TestWarn YAMLLibYAML ];
13290     propagatedBuildInputs = [ Inline ParseRecDescent Pegex ];
13291     postPatch = ''
13292       # this test will fail with chroot builds
13293       rm -f t/08taint.t
13294       rm -f t/28autowrap.t
13295     '';
13296     meta = {
13297       description = "C Language Support for Inline";
13298       homepage = "https://github.com/ingydotnet/inline-c-pm";
13299       license = with lib.licenses; [ artistic1 gpl1Plus ];
13300     };
13301   };
13303   InlineJava = buildPerlPackage {
13304     pname = "Inline-Java";
13305     version = "0.67";
13307     src = fetchurl {
13308       url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-Java-0.67.tar.gz";
13309       hash = "sha256-9YVLMcvOFjwz4mJN0jFODA2X4JRDcbcYjlkBuj9vpMk=";
13310     };
13312     buildInputs = [ FileWhich ];
13313     propagatedBuildInputs = [ Inline ];
13315     # TODO: upgrade https://github.com/NixOS/nixpkgs/pull/89731
13316     makeMakerFlags = [ "J2SDK=${pkgs.jdk8}" ];
13318     # FIXME: Apparently tests want to access the network.
13319     doCheck = false;
13321     meta = {
13322       description = "Write Perl classes in Java";
13323       longDescription = ''
13324         The Inline::Java module allows you to put Java source code directly
13325         "inline" in a Perl script or module.  A Java compiler is launched and
13326         the Java code is compiled.  Then Perl asks the Java classes what
13327         public methods have been defined.  These classes and methods are
13328         available to the Perl program as if they had been written in Perl.
13329       '';
13330       license = with lib.licenses; [ artistic2 ];
13331       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.InlineJava.x86_64-darwin
13332     };
13333   };
13335   IteratorSimple = buildPerlPackage {
13336     pname = "Iterator-Simple";
13337     version = "0.07";
13338     src = fetchurl {
13339       url = "mirror://cpan/authors/id/M/MI/MICHAEL/Iterator-Simple-0.07.tar.gz";
13340       hash = "sha256-y1dNBju0gcj7nLV4GkZFiWqg4e5xW6lHz3ZvH/Tp60Q=";
13341     };
13342     meta = {
13343       description = "Simple iterator and utilities";
13344       license = with lib.licenses; [ artistic1 gpl2Only ];
13345     };
13346   };
13348   IPCSignal = buildPerlPackage {
13349     pname = "IPC-Signal";
13350     version = "1.00";
13351     src = fetchurl {
13352       url = "mirror://cpan/authors/id/R/RO/ROSCH/IPC-Signal-1.00.tar.gz";
13353       hash = "sha256-fCH5yMLQwPDw9G533nw9h53VYmaN3wUlh1w4zvIHb9A=";
13354     };
13355     meta = {
13356       description = "Utility functions dealing with signals";
13357       license = with lib.licenses; [ artistic1 gpl1Plus ];
13358     };
13359   };
13361   JavaScriptMinifierXS = buildPerlPackage {
13362     pname = "JavaScript-Minifier-XS";
13363     version = "0.15";
13364     src = fetchurl {
13365       url = "mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.15.tar.gz";
13366       hash = "sha256-XZsDT1jwtv9bZGR708WpzgWypw7e4zn7wxc67nR8wFA=";
13367     };
13368     buildInputs = [ TestDiagINC ];
13369     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
13370     meta = {
13371       description = "XS based JavaScript minifier";
13372       homepage = "https://metacpan.org/release/JavaScript-Minifier-XS";
13373       license = with lib.licenses; [ artistic1 gpl1Plus ];
13374     };
13375   };
13377   JavaScriptValueEscape = buildPerlModule {
13378     pname = "JavaScript-Value-Escape";
13379     version = "0.07";
13380     src = fetchurl {
13381       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz";
13382       hash = "sha256-msvaNwjt4R9r6uXxEvGIw6kCOk0myOzYmqgru2kxo9w=";
13383     };
13384     meta = {
13385       description = "Avoid XSS with JavaScript value interpolation";
13386       homepage = "https://github.com/kazeburo/JavaScript-Value-Escape";
13387       license = with lib.licenses; [ artistic1 gpl1Plus ];
13388     };
13389   };
13391   JSON = buildPerlPackage {
13392     pname = "JSON";
13393     version = "4.10";
13394     src = fetchurl {
13395       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz";
13396       hash = "sha256-34tRQ9mn3pnEe1XxoXC9H2n3EZNcGGptwKtW3QV1jjU=";
13397     };
13398     # Do not abort cross-compilation on failure to load native JSON module into host perl
13399     preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
13400       substituteInPlace Makefile.PL --replace "exit 0;" ""
13401     '';
13402     buildInputs = [ TestPod ];
13403     meta = {
13404       description = "JSON (JavaScript Object Notation) encoder/decoder";
13405       license = with lib.licenses; [ artistic1 gpl1Plus ];
13406     };
13407   };
13409   JSONAny = buildPerlPackage {
13410     pname = "JSON-Any";
13411     version = "1.40";
13412     src = fetchurl {
13413       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.40.tar.gz";
13414       hash = "sha256-CDJWJVpICU/ZrBI54P6ooQojg6nNHvSxxyZO3htEAKs=";
13415     };
13416     buildInputs = [ TestFatal TestNeeds TestWarnings TestWithoutModule ];
13417     meta = {
13418       description = "(DEPRECATED) Wrapper Class for the various JSON classes";
13419       homepage = "https://github.com/karenetheridge/JSON-Any";
13420       license = with lib.licenses; [ artistic1 gpl1Plus ];
13421     };
13422   };
13424   JSONCreate = buildPerlPackage {
13425     pname = "JSON-Create";
13426     version = "0.35";
13427     src = fetchurl {
13428       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Create-0.35.tar.gz";
13429       hash = "sha256-X67+DYM7gTJWiGUwjzI5082qG4oezJtWJNzx774QaD4=";
13430     };
13431     propagatedBuildInputs = [ JSONParse UnicodeUTF8 ];
13432     meta = {
13433       description = "Create JSON";
13434       license = with lib.licenses; [ artistic1 gpl1Plus ];
13435     };
13436   };
13438   JSONMaybeXS = buildPerlPackage {
13439     pname = "JSON-MaybeXS";
13440     version = "1.004005";
13441     src = fetchurl {
13442       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-MaybeXS-1.004005.tar.gz";
13443       hash = "sha256-9ba8GfV55mtymfh0i4rD4XGTbcTn/LcqiiV6m9SCozE=";
13444     };
13445     buildInputs = [ TestNeeds ];
13446     meta = {
13447       description = "Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP";
13448       license = with lib.licenses; [ artistic1 gpl1Plus ];
13449     };
13450   };
13452   JSONPP = buildPerlPackage {
13453     pname = "JSON-PP";
13454     version = "4.16";
13455     src = fetchurl {
13456       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-4.16.tar.gz";
13457       hash = "sha256-i8LxYrr8QmRcSJkFrXJUDw08KEs2DJYpkJUYPDDMl4k=";
13458     };
13459     meta = {
13460       description = "JSON::XS compatible pure-Perl module";
13461       license = with lib.licenses; [ artistic1 gpl1Plus ];
13462       mainProgram = "json_pp";
13463     };
13464   };
13466   JSONPPCompat5006 = buildPerlPackage {
13467     pname = "JSON-PP-Compat5006";
13468     version = "1.09";
13469     src = fetchurl {
13470       url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz";
13471       hash = "sha256-GXAw31JjX5u+Ja8QdC7qW9dJcUcxGMETEfyry2LjcWo=";
13472     };
13473     meta = {
13474       description = "Helper module in using JSON::PP in Perl 5.6";
13475       license = with lib.licenses; [ artistic1 gpl1Plus ];
13476     };
13477   };
13479   JSONParse = buildPerlPackage {
13480     pname = "JSON-Parse";
13481     version = "0.62";
13482     src = fetchurl {
13483       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Parse-0.62.tar.gz";
13484       hash = "sha256-YnMYD5OSSXQB3dbYIHBvWqhsG+iIkd1qq02Qa1z/Ztk=";
13485     };
13486     meta = {
13487       description = "Parse JSON";
13488       license = with lib.licenses; [ artistic1 gpl1Plus ];
13489       mainProgram = "validjson";
13490     };
13491   };
13493   JSONValidator = buildPerlPackage {
13494     pname = "JSON-Validator";
13495     version = "5.14";
13496     src = fetchurl {
13497       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-5.14.tar.gz";
13498       hash = "sha256-YISl1AdeQhqTj/su6XuFBPqjXoZtD3tbWBETr17ijhs=";
13499     };
13500     buildInputs = [ TestDeep ];
13501     propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
13502     meta = {
13503       description = "Validate data against a JSON schema";
13504       homepage = "https://github.com/mojolicious/json-validator";
13505       license = with lib.licenses; [ artistic2 ];
13506       maintainers = [ maintainers.sgo ];
13507     };
13508   };
13510   JSONWebToken = buildPerlModule {
13511     pname = "JSON-WebToken";
13512     version = "0.10";
13513     src = fetchurl {
13514       url = "mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-0.10.tar.gz";
13515       hash = "sha256-d8GCqYUo8XFNgq/FSNWztNyT5nBpEou5uUE/JM8HJIs=";
13516     };
13517     buildInputs = [ TestMockGuard TestRequires ];
13518     propagatedBuildInputs = [ JSON ModuleRuntime ];
13519     meta = {
13520       description = "JSON Web Token (JWT) implementation";
13521       homepage = "https://github.com/xaicron/p5-JSON-WebToken";
13522       license = with lib.licenses; [ artistic1 gpl1Plus ];
13523     };
13524   };
13526   JSONXS = buildPerlPackage {
13527     pname = "JSON-XS";
13528     version = "4.03";
13529     src = fetchurl {
13530       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-4.03.tar.gz";
13531       hash = "sha256-UVU29F8voafojIgkUzdY0BIdJnq5y0U6G1iHyKVrkGg=";
13532     };
13533     propagatedBuildInputs = [ TypesSerialiser ];
13534     buildInputs = [ CanaryStability ];
13535     meta = {
13536       description = "JSON serialising/deserialising, done correctly and fast";
13537       license = with lib.licenses; [ artistic1 gpl1Plus ];
13538       mainProgram = "json_xs";
13539     };
13540   };
13542   JSONXSVersionOneAndTwo = buildPerlPackage {
13543     pname = "JSON-XS-VersionOneAndTwo";
13544     version = "0.31";
13545     src = fetchurl {
13546       url = "mirror://cpan/authors/id/L/LB/LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz";
13547       hash = "sha256-5gksTZYfrnd6z3/pn7PNbltxD+yFdlprkEF0gOTJSjQ=";
13548     };
13549     propagatedBuildInputs = [ JSONXS ];
13550     meta = {
13551       description = "Support versions 1 and 2 of JSON::XS";
13552       license = with lib.licenses; [ artistic1 gpl1Plus ];
13553     };
13554   };
13556   Later = buildPerlPackage {
13557     version = "0.21";
13558     pname = "Object-Realize-Later";
13559     src = fetchurl {
13560       url = "mirror://cpan/authors/id/M/MA/MARKOV/Object-Realize-Later-0.21.tar.gz";
13561       hash = "sha256-j3uWQMyONOqSvPbAEEmgPBReDrRuViJ14o3d06jW2Nk=";
13562     };
13563     meta = {
13564       description = "Delayed creation of objects";
13565       license = with lib.licenses; [ artistic1 gpl1Plus ];
13566     };
13567   };
13569   LatexIndent = buildPerlPackage rec {
13570     pname = "latexindent.pl";
13571     version = "3.21";
13573     src = fetchFromGitHub {
13574       owner = "cmhughes";
13575       repo = pname;
13576       rev = "V${version}";
13577       hash = "sha256-STXHOzsshyN7rc2VtJxxt6La4UPGpRYlMO8TX1Jd7pM=";
13578     };
13580     outputs = [ "out" ];
13582     propagatedBuildInputs = [ FileHomeDir YAMLTiny ];
13584     preBuild = ''
13585       patchShebangs ./latexindent.pl
13586     '';
13588     meta = {
13589       description = "Perl script to add indentation to LaTeX files";
13590       homepage = "https://github.com/cmhughes/latexindent.pl";
13591       license = lib.licenses.gpl3Plus;
13592     };
13593   };
13595   LaTeXML = buildPerlPackage rec {
13596     pname = "LaTeXML";
13597     version = "0.8.8";
13598     src = fetchurl {
13599       url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz";
13600       hash = "sha256-fSu+LOJSuvhro/OIzQ3sOqSDj0nWErnsfMT/iBBbrcw=";
13601     };
13602     outputs = [ "out" "tex" ];
13603     propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageMagick ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ];
13604     nativeBuildInputs = [ pkgs.makeWrapper ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
13605     makeMakerFlags = [ "TEXMF=\${tex}" "NOMKTEXLSR" ];
13606     # shebangs need to be patched before executables are copied to $out
13607     preBuild = ''
13608       patchShebangs bin/
13609     '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
13610       for file in bin/*; do
13611         shortenPerlShebang "$file"
13612       done
13613     '';
13614     postInstall = ''
13615       for file in latexmlc latexmlmath latexmlpost ; do
13616         # add runtime dependencies that cause silent failures when missing
13617         wrapProgram $out/bin/$file --prefix PATH : ${lib.makeBinPath [ pkgs.ghostscript pkgs.potrace ]}
13618       done
13619     '';
13620     passthru = {
13621       tlType = "run";
13622       pkgs = [ LaTeXML.tex ];
13623     };
13624     meta = {
13625       description = "Transforms TeX and LaTeX into XML/HTML/MathML";
13626       homepage = "https://dlmf.nist.gov/LaTeXML/";
13627       license = with lib.licenses; [ publicDomain ];
13628       maintainers = with maintainers; [ xworld21 ];
13629       mainProgram = "latexmlc";
13630     };
13631   };
13633   LEOCHARRECLI = buildPerlPackage {
13634     pname = "LEOCHARRE-CLI";
13635     version = "1.19";
13636     src = fetchurl {
13637       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-CLI-1.19.tar.gz";
13638       hash = "sha256-N4NfEe41MmJBtNMDaK4bwZWlBBSzZi2z4TuGW9Uvzek=";
13639     };
13640     propagatedBuildInputs = [ FileWhich Filechmod LEOCHARREDebug Linuxusermod YAML ];
13641     meta = {
13642       description = "Useful subs for coding cli scripts";
13643       license = with lib.licenses; [ artistic1 gpl1Plus ];
13644     };
13645   };
13647   LEOCHARREDebug = buildPerlPackage {
13648     pname = "LEOCHARRE-Debug";
13649     version = "1.03";
13650     src = fetchurl {
13651       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-Debug-1.03.tar.gz";
13652       hash = "sha256-wWZao6vUV8yGJLjEGMb4vfWPs6aG+O7VFc9+k1FN8ZI=";
13653     };
13654     meta = {
13655       description = "Debug sub";
13656       license = with lib.licenses; [ artistic1 gpl1Plus ];
13657     };
13658   };
13660   LexicalSealRequireHints = buildPerlModule {
13661     pname = "Lexical-SealRequireHints";
13662     version = "0.012";
13663     src = fetchurl {
13664       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.012.tar.gz";
13665       hash = "sha256-wyvcOOBvjWyQdlu74xaMNYJH2n2uhbgLqEotoXY3V90=";
13666     };
13667     meta = {
13668       description = "Prevent leakage of lexical hints";
13669       license = with lib.licenses; [ artistic1 gpl1Plus ];
13670     };
13671   };
13673   libapreq2 = buildPerlPackage rec {
13674     pname = "libapreq2";
13675     version = "2.17";
13676     src = fetchurl {
13677       url = "mirror://apache/httpd/libapreq/${pname}-${version}.tar.gz";
13678       hash = "sha256-BGSH8ITBL6HIIq/8X33lbv7ZtIkFpCbmMaa5ScEU2Gw=";
13679     };
13680     outputs = [ "out" ];
13681     buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
13682     propagatedBuildInputs = [ (pkgs.apacheHttpdPackages.mod_perl.override { inherit perl; }) ];
13683     makeMakerFlags = [
13684       "--with-apache2-src=${pkgs.apacheHttpd.dev}"
13685       "--with-apache2-apxs=${pkgs.apacheHttpd.dev}/bin/apxs"
13686       "--with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd"
13687       "--with-apr-config=${pkgs.apr.dev}/bin/apr-1-config"
13688       "--with-apu-config=${pkgs.aprutil.dev}/bin/apu-1-config"
13689     ];
13690     preConfigure = ''
13691       # override broken prereq check
13692       substituteInPlace configure --replace "prereq_check=\"\$PERL \$PERL_OPTS build/version_check.pl\"" "prereq_check=\"echo\""
13693       '';
13694     preBuild = ''
13695       substituteInPlace apreq2-config --replace "dirname" "${pkgs.coreutils}/bin/dirname"
13696       '';
13697     installPhase = ''
13698       mkdir $out
13700       # install the library
13701       make install DESTDIR=$out
13702       cp -r $out/${pkgs.apacheHttpd.dev}/. $out/.
13703       cp -r $out/$out/. $out/.
13705       # install the perl module
13706       pushd glue/perl
13707       perl Makefile.PL
13708       make install DESTDIR=$out
13709       cp -r $out/${perl}/lib/perl5 $out/lib/
13710       popd
13712       # install the apache module
13713       # https://computergod.typepad.com/home/2007/06/webgui_and_suse.html
13714       # NOTE: if using the apache module you must use "apreq" as the module name, not "apreq2"
13715       # services.httpd.extraModules = [ { name = "apreq"; path = "''${pkgs.perlPackages.libapreq2}/modules/mod_apreq2.so"; } ];
13716       pushd module
13717       make install DESTDIR=$out
13718       cp -r $out/${pkgs.apacheHttpd.out}/modules $out/
13719       popd
13721       rm -r $out/nix
13722     '';
13723     doCheck = false; # test would need to start apache httpd
13724     meta = {
13725       description = "Wrapper for libapreq2's module/handle API";
13726       license = with lib.licenses; [ asl20 ];
13727     };
13728   };
13730   libintl-perl = buildPerlPackage {
13731     pname = "libintl-perl";
13732     version = "1.33";
13733     src = fetchurl {
13734       url = "mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.33.tar.gz";
13735       hash = "sha256-USbtqczQ7rENuC3e9jy8r329dx54zA+xEMw7WmuGeec=";
13736     };
13737     meta = {
13738       description = "Portable l10n and i10n functions";
13739       license = with lib.licenses; [ gpl3Only ];
13740     };
13741   };
13743   libnet = buildPerlPackage {
13744     pname = "libnet";
13745     version = "3.15";
13746     src = fetchurl {
13747       url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.15.tar.gz";
13748       hash = "sha256-px9NtYDhp2fWk2+qW6848fpheCQ0LaB4tWEoPob49KI=";
13749     };
13750     meta = {
13751       description = "Collection of network protocol modules";
13752       license = with lib.licenses; [ artistic1 gpl1Plus ];
13753     };
13754   };
13756   librelative = buildPerlPackage {
13757     pname = "lib-relative";
13758     version = "1.002";
13759     src = fetchurl {
13760       url = "mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-1.002.tar.gz";
13761       hash = "sha256-5EcCFRZ8QGkXYD54vk2TESz2kTzTQq64ALQS4BHIp4s=";
13762     };
13763     meta = {
13764       description = "Add paths relative to the current file to @INC";
13765       homepage = "https://github.com/Grinnz/lib-relative";
13766       license = with lib.licenses; [ artistic2 ];
13767     };
13768   };
13770   libwwwperl = buildPerlPackage {
13771     pname = "libwww-perl";
13772     version = "6.72";
13773     src = fetchurl {
13774       url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.72.tar.gz";
13775       hash = "sha256-6bg1T9XiC+IHr+I93VhPzVm/gpmNwHfez2hLodrloF0=";
13776     };
13777     buildInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
13778     propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookieJar HTTPCookies HTTPDate HTTPMessage HTTPNegotiate LWPMediaTypes NetHTTP TryTiny URI WWWRobotRules ];
13779     meta = {
13780       homepage = "https://github.com/libwww-perl/libwww-perl";
13781       description = "World-Wide Web library for Perl";
13782       license = with lib.licenses; [ artistic1 gpl1Plus ];
13783     };
13784   };
13786   libxml_perl = buildPerlPackage {
13787     pname = "libxml-perl";
13788     version = "0.08";
13789     src = fetchurl {
13790       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz";
13791       hash = "sha256-RXEFm3tdSLfOUrATieldeYv1zyAgUjwVP/J7SYFTycs=";
13792     };
13793     propagatedBuildInputs = [ XMLParser ];
13794     meta = {
13795       description = "Collection of Perl modules for working with XML";
13796       license = with lib.licenses; [ artistic1 gpl1Plus ];
13797     };
13798   };
13800   LinguaENFindNumber = buildPerlPackage {
13801     pname = "Lingua-EN-FindNumber";
13802     version = "1.32";
13803     src = fetchurl {
13804       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz";
13805       hash = "sha256-HRdtHIY/uYRL0Z0sKk5ooO1z2hWPckqJQFuQ236NvQQ=";
13806     };
13807     propagatedBuildInputs = [ LinguaENWords2Nums ];
13808     meta = {
13809       description = "Locate (written) numbers in English text ";
13810       homepage = "https://github.com/neilb/Lingua-EN-FindNumber";
13811       license = with lib.licenses; [ artistic1 gpl1Plus ];
13812     };
13813   };
13815   LinguaENInflect = buildPerlPackage {
13816     pname = "Lingua-EN-Inflect";
13817     version = "1.905";
13818     src = fetchurl {
13819       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.905.tar.gz";
13820       hash = "sha256-BcKew0guVyMTpg2iGBsLMMXbfPAfiudhatZ+G2YmMpY=";
13821     };
13822     meta = {
13823       description = "Convert singular to plural. Select 'a' or 'an'";
13824       license = with lib.licenses; [ artistic1 gpl1Plus ];
13825     };
13826   };
13828   LinguaENInflectNumber = buildPerlPackage {
13829     pname = "Lingua-EN-Inflect-Number";
13830     version = "1.12";
13831     src = fetchurl {
13832       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-Inflect-Number-1.12.tar.gz";
13833       hash = "sha256-Zvszg4USdG9cWX6AJk/qZmQ/fyZXDsL5IFthNa1nrL8=";
13834     };
13835     propagatedBuildInputs = [ LinguaENInflect ];
13836     meta = {
13837       description = "Force number of words to singular or plural";
13838       homepage = "https://github.com/neilbowers/Lingua-EN-Inflect-Number";
13839       license = with lib.licenses; [ artistic1 gpl1Plus ];
13840     };
13841   };
13843   LinguaENInflectPhrase = buildPerlPackage {
13844     pname = "Lingua-EN-Inflect-Phrase";
13845     version = "0.20";
13846     src = fetchurl {
13847       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.20.tar.gz";
13848       hash = "sha256-VQWJEamfF1XePrRJqZ/765LYjAH/XcYFEaJGeQUN3qg=";
13849     };
13850     buildInputs = [ TestNoWarnings ];
13851     propagatedBuildInputs = [ LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
13852     meta = {
13853       description = "Inflect short English Phrases";
13854       homepage = "https://metacpan.org/release/Lingua-EN-Inflect-Phrase";
13855       license = with lib.licenses; [ artistic1 gpl1Plus ];
13856     };
13857   };
13859   LinguaENNumberIsOrdinal = buildPerlPackage {
13860     pname = "Lingua-EN-Number-IsOrdinal";
13861     version = "0.05";
13862     src = fetchurl {
13863       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Number-IsOrdinal-0.05.tar.gz";
13864       hash = "sha256-KNVpVADA9OK9IJeTy3T22iuSVzVqrLKUfGA0JeCWGNY=";
13865     };
13866     buildInputs = [ TestFatal TryTiny ];
13867     propagatedBuildInputs = [ LinguaENFindNumber ];
13868     meta = {
13869       description = "Detect if English number is ordinal or cardinal";
13870       homepage = "https://metacpan.org/release/Lingua-EN-Number-IsOrdinal";
13871       license = with lib.licenses; [ artistic1 gpl1Plus ];
13872     };
13873   };
13875   LinguaENTagger = buildPerlPackage {
13876     pname = "Lingua-EN-Tagger";
13877     version = "0.31";
13878     src = fetchurl {
13879       url = "mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.31.tar.gz";
13880       hash = "sha256-lJ6Mh+SAj3uglrl5Ig/wgbvgO21XiQ0u7NS4Ouhy6ZM=";
13881     };
13882     propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ];
13883     meta = {
13884       description = "Part-of-speech tagger for English natural language processing";
13885       license = with lib.licenses; [ gpl3Only ];
13886     };
13887   };
13889   LinguaENWords2Nums = buildPerlPackage {
13890     pname = "Lingua-EN-Words2Nums";
13891     version = "0.18";
13892     src = fetchurl {
13893       url = "mirror://cpan/authors/id/J/JO/JOEY/Lingua-EN-Words2Nums-0.18.tar.gz";
13894       hash = "sha256-aGVWeXzSpOqgZvGbvwOrJcBieCksnq0vGH39kDHqHYU=";
13895     };
13896     meta = {
13897       description = "Convert English text to numbers";
13898       license = with lib.licenses; [ artistic1 gpl1Plus ];
13899     };
13900   };
13902   LinguaPTStemmer = buildPerlPackage {
13903     pname = "Lingua-PT-Stemmer";
13904     version = "0.02";
13905     src = fetchurl {
13906       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz";
13907       hash = "sha256-WW3wH4q3n//9RQ6Ug2pUQ3HYpMk6FffojqLxt5xGhJ0=";
13908     };
13909     meta = {
13910       description = "Portuguese language stemming";
13911       homepage = "https://github.com/neilb/Lingua-PT-Stemmer";
13912       license = with lib.licenses; [ artistic1 gpl1Plus ];
13913     };
13914   };
13916   LinguaStem = buildPerlModule {
13917     pname = "Lingua-Stem";
13918     version = "2.31";
13919     src = fetchurl {
13920       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-2.31.tar.gz";
13921       hash = "sha256-qhqZMrZCflmCU+YajM0NBMxVn66dWNh3TCAncItjAmQ=";
13922     };
13923     doCheck = false;
13924     propagatedBuildInputs = [ LinguaPTStemmer LinguaStemFr LinguaStemIt LinguaStemRu LinguaStemSnowballDa SnowballNorwegian SnowballSwedish TextGerman ];
13925     meta = {
13926       description = "Stemming of words";
13927       license = with lib.licenses; [ artistic1 gpl1Plus ];
13928     };
13929   };
13931   LinguaStemFr = buildPerlPackage {
13932     pname = "Lingua-Stem-Fr";
13933     version = "0.02";
13934     src = fetchurl {
13935       url = "mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz";
13936       hash = "sha256-nU9ks6iJihhTQyGFJtWsaKSh+ObEQY1rqV1i9fnV2W8=";
13937     };
13938     meta = {
13939       description = "Perl French Stemming";
13940       license = with lib.licenses; [ artistic1 gpl1Plus ];
13941     };
13942   };
13944   LinguaStemIt = buildPerlPackage {
13945     pname = "Lingua-Stem-It";
13946     version = "0.02";
13947     src = fetchurl {
13948       url = "mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz";
13949       hash = "sha256-OOZz+3T+ARWILlrbJnTesIH6tyHXKO4qgRQWPVDIB4g=";
13950     };
13951     meta = {
13952       description = "Porter's stemming algorithm for Italian";
13953       license = with lib.licenses; [ artistic1 gpl1Plus ];
13954     };
13955   };
13957   LinguaStemRu = buildPerlPackage {
13958     pname = "Lingua-Stem-Ru";
13959     version = "0.04";
13960     src = fetchurl {
13961       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz";
13962       hash = "sha256-EnDOt0dk/blYNwqAiDSvl26H9pqFRw+LxGJYeX6rUig=";
13963     };
13964     meta = {
13965       description = "Porter's stemming algorithm for Russian (KOI8-R only)";
13966       homepage = "https://github.com/neilb/Lingua-Stem-Ru";
13967       license = with lib.licenses; [ artistic1 gpl1Plus ];
13968     };
13969   };
13971   LinguaStemSnowballDa = buildPerlPackage {
13972     pname = "Lingua-Stem-Snowball-Da";
13973     version = "1.01";
13974     src = fetchurl {
13975       url = "mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz";
13976       hash = "sha256-Ljm+TuAVx+xHwrBnhYAYp0BuONUSHWVcikaHSt+poFY=";
13977     };
13978     meta = {
13979       description = "Porters stemming algorithm for Denmark";
13980       license = with lib.licenses; [ gpl2Only ];
13981     };
13982   };
13984   LinguaTranslit = buildPerlPackage {
13985     pname = "Lingua-Translit";
13986     version = "0.29";
13987     src = fetchurl {
13988       url = "mirror://cpan/authors/id/A/AL/ALINKE/Lingua-Translit-0.29.tar.gz";
13989       hash = "sha256-GtL6vAB52tcIt9nVVDfJ67GS5hC/lgryWUWFi5JZd1I=";
13990     };
13991     doCheck = false;
13992     meta = {
13993       description = "Transliterates text between writing systems";
13994       license = with lib.licenses; [ artistic1 gpl1Plus ];
13995       mainProgram = "translit";
13996     };
13997   };
13999   LinkEmbedder = buildPerlPackage {
14000     pname = "LinkEmbedder";
14001     version = "1.20";
14002     src = fetchurl {
14003       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/LinkEmbedder-1.20.tar.gz";
14004       hash = "sha256-sd6LTiXHIplEOeesA0vorjeiCUijG/SF8iu0hvzI3KU=";
14005     };
14006     buildInputs = [ TestDeep ];
14007     propagatedBuildInputs = [ Mojolicious ];
14008     meta = {
14009       description = "Embed / expand oEmbed resources and other URL / links";
14010       homepage = "https://github.com/jhthorsen/linkembedder";
14011       license = with lib.licenses; [ artistic2 ];
14012       maintainers = with maintainers; [ sgo ];
14013     };
14014   };
14016   LinuxACL = buildPerlPackage {
14017     pname = "Linux-ACL";
14018     version = "0.05";
14019     src = fetchurl {
14020       url = "mirror://cpan/authors/id/N/NA/NAZAROV/Linux-ACL-0.05.tar.gz";
14021       hash = "sha256-MSlAwfYPR8T8k/oKnSpiZCX6qDcEDIwvGtWO4J9i83E=";
14022     };
14023     buildInputs = [ pkgs.acl ];
14024     NIX_CFLAGS_LINK = "-L${pkgs.acl.out}/lib -lacl";
14025     meta = {
14026       description = "Perl extension for reading and setting Access Control Lists for files by libacl linux library";
14027       license = with lib.licenses; [ artistic1 gpl1Plus ];
14028       maintainers = teams.deshaw.members;
14029     };
14030   };
14032   LinuxDesktopFiles = buildPerlModule {
14033     pname = "Linux-DesktopFiles";
14034     version = "0.25";
14035     src = fetchurl {
14036       url = "mirror://cpan/authors/id/T/TR/TRIZEN/Linux-DesktopFiles-0.25.tar.gz";
14037       hash = "sha256-YDd6dPupD6RlIA7hx0MNvd5p1FTYX57hAcA5gDoH5fU=";
14038     };
14039     meta = {
14040       description = "Fast parsing of the Linux desktop files";
14041       homepage = "https://github.com/trizen/Linux-DesktopFiles";
14042       license = with lib.licenses; [ artistic2 ];
14043     };
14044   };
14046   LinuxDistribution = buildPerlModule {
14047     pname = "Linux-Distribution";
14048     version = "0.23";
14049     src = fetchurl {
14050       url = "mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz";
14051       hash = "sha256-YD4n2mB7PocqZp16ZtdZgvCWkVPqstSyDDQTR7Tr2l8=";
14052     };
14053     # The tests fail if the distro it's built on isn't in the supported list.
14054     # This includes NixOS.
14055     doCheck = false;
14056     meta = {
14057       description = "Perl extension to detect on which Linux distribution we are running";
14058       license = with lib.licenses; [ artistic1 gpl1Plus ];
14059       platforms = lib.platforms.linux;
14060     };
14061   };
14063   LinuxFD = buildPerlModule {
14064     pname = "Linux-FD";
14065     version = "0.014";
14066     src = fetchurl {
14067       url = "mirror://cpan/authors/id/L/LE/LEONT/Linux-FD-0.014.tar.gz";
14068       hash = "sha256-eDHcJkxG2bh/dkNhdNdmFBRSQ2Mwg+CQqrTZo1LwQ60=";
14069     };
14070     buildInputs = [ TestException ];
14071     propagatedBuildInputs = [ SubExporter ];
14072     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
14073     meta = {
14074       description = "Linux specific special filehandles";
14075       license = with lib.licenses; [ artistic1 gpl1Plus ];
14076       platforms = lib.platforms.linux;
14077     };
14078   };
14080   LinuxInotify2 = buildPerlPackage {
14081     pname = "Linux-Inotify2";
14082     version = "2.3";
14083     src = fetchurl {
14084       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.3.tar.gz";
14085       hash = "sha256-y5kVD5/6UdvDvl7pjY6RyYzf6uIuuI5xjyzzZ78nDRc=";
14086     };
14087     propagatedBuildInputs = [ commonsense ];
14089     meta = {
14090       description = "Scalable directory/file change notification for Perl on Linux";
14091       license = with lib.licenses; [ artistic1 gpl1Plus ];
14092       platforms = lib.platforms.linux;
14093     };
14094   };
14096   Linuxusermod = buildPerlPackage {
14097     pname = "Linux-usermod";
14098     version = "0.69";
14099     src = fetchurl {
14100       url = "mirror://cpan/authors/id/V/VI/VIDUL/Linux-usermod-0.69.tar.gz";
14101       hash = "sha256-l8oYajxBa/ae1i2gRvGmDYjYm45u0lAIsvlueH3unWA=";
14102     };
14103     meta = {
14104       description = "This module adds, removes and modify user and group accounts according to the passwd and shadow files syntax";
14105       license = with lib.licenses; [ artistic1 gpl1Plus ];
14106       platforms = lib.platforms.linux;
14107     };
14108   };
14110   ListAllUtils = buildPerlPackage {
14111     pname = "List-AllUtils";
14112     version = "0.19";
14113     src = fetchurl {
14114       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.19.tar.gz";
14115       hash = "sha256-MKgUarIad4e4xW1YKc+afysVJ207P8oHM2rDjTAC/7w=";
14116     };
14117     propagatedBuildInputs = [ ListSomeUtils ListUtilsBy ];
14118     meta = {
14119       description = "Combines List::Util, List::SomeUtils and List::UtilsBy in one bite-sized package";
14120       homepage = "https://metacpan.org/release/List-AllUtils";
14121       license = with lib.licenses; [ artistic2 ];
14122     };
14123   };
14125   ListBinarySearch = buildPerlPackage {
14126     pname = "List-BinarySearch";
14127     version = "0.25";
14128     src = fetchurl {
14129       url = "mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz";
14130       hash = "sha256-yBEwcb1gQANe6KsBzxtyqRBXQZLx0XkQKud1qXPy6Co=";
14131     };
14132     meta = {
14133       description = "Binary Search within a sorted array";
14134       license = with lib.licenses; [ artistic1 gpl1Plus ];
14135     };
14136   };
14138   ListCompare = buildPerlPackage {
14139     pname = "List-Compare";
14140     version = "0.55";
14141     src = fetchurl {
14142       url = "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.55.tar.gz";
14143       hash = "sha256-zHGUeYNledUrArwyjtgKmPZ53wQ6mbVxCrLBkWaeuDc=";
14144     };
14145     buildInputs = [ CaptureTiny ];
14146     meta = {
14147       description = "Compare elements of two or more lists";
14148       homepage = "http://thenceforward.net/perl/modules/List-Compare";
14149       license = with lib.licenses; [ artistic1 gpl1Plus ];
14150     };
14151   };
14153   ListMoreUtils = buildPerlPackage {
14154     pname = "List-MoreUtils";
14155     version = "0.430";
14156     src = fetchurl {
14157       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-0.430.tar.gz";
14158       hash = "sha256-Y7H3hCzULZtTjR404DMN5f8VWeTCc3NCUGQYJ29kZSc=";
14159     };
14160     propagatedBuildInputs = [ ExporterTiny ListMoreUtilsXS ];
14161     buildInputs = [ TestLeakTrace ];
14162     meta = {
14163       description = "Provide the stuff missing in List::Util";
14164       license = with lib.licenses; [ artistic1 gpl1Plus ];
14165     };
14166   };
14168   ListMoreUtilsXS = buildPerlPackage {
14169     pname = "List-MoreUtils-XS";
14170     version = "0.430";
14171     src = fetchurl {
14172       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz";
14173       hash = "sha256-6M5G1XwXnuzYdYKT6UAP8wCq8g/v4KnRW5/iMCucskI=";
14174     };
14175     preConfigure = ''
14176       export LD=$CC
14177     '';
14178     meta = {
14179       description = "Provide the stuff missing in List::Util in XS";
14180       homepage = "https://metacpan.org/release/List-MoreUtils-XS";
14181       license = with lib.licenses; [ asl20 ];
14182     };
14183   };
14185   ListSomeUtils = buildPerlPackage {
14186     pname = "List-SomeUtils";
14187     version = "0.59";
14188     src = fetchurl {
14189       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.59.tar.gz";
14190       hash = "sha256-+rMDcuTGe/WkYGLaONHQyHVief6tqGbrQ5+ilXGi3Hs=";
14191     };
14192     buildInputs = [ TestLeakTrace ];
14193     propagatedBuildInputs = [ ModuleImplementation ];
14194     meta = {
14195       description = "Provide the stuff missing in List::Util";
14196       homepage = "https://metacpan.org/release/List-SomeUtils";
14197       license = with lib.licenses; [ artistic1 gpl1Plus ];
14198     };
14199   };
14201   ListUtilsBy = buildPerlModule {
14202     pname = "List-UtilsBy";
14203     version = "0.12";
14204     src = fetchurl {
14205       url = "mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.12.tar.gz";
14206       hash = "sha256-//EoH9Rp/pgrGlgES+z9lw8xO/86JuHHsrP0wKXtceA=";
14207     };
14208     meta = {
14209       description = "Higher-order list utility functions";
14210       license = with lib.licenses; [ artistic1 gpl1Plus ];
14211     };
14212   };
14214   LocaleCodes = buildPerlPackage {
14215     pname = "Locale-Codes";
14216     version = "3.76";
14217     src = fetchurl {
14218       url = "mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.76.tar.gz";
14219       hash = "sha256-Qo00GFUJ7fbaYoYoAJcohrsCwySTRU/L4Y+Zmk9DXzk=";
14220     };
14221     buildInputs = [ TestInter ];
14222     meta = {
14223       description = "Distribution of modules to handle locale codes";
14224       homepage = "https://github.com/SBECK-github/Locale-Codes";
14225       license = with lib.licenses; [ artistic1 gpl1Plus ];
14226     };
14227   };
14229   LocaleGettext = buildPerlPackage {
14230     pname = "gettext";
14231     version = "1.07";
14232     strictDeps = true;
14233     buildInputs = [ pkgs.gettext ];
14234     src = fetchurl {
14235       url = "mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz";
14236       hash = "sha256-kJ1HlUaX58BCGPlykVt4e9EkTXXjvQFiC8Fn1bvEnBU=";
14237     };
14238     LANG="C";
14239     meta = {
14240       description = "Perl extension for emulating gettext-related API";
14241       license = with lib.licenses; [ artistic1 gpl1Plus ];
14242     };
14243   };
14245   LocaleMaketextLexiconGetcontext = buildPerlPackage {
14246     pname = "Locale-Maketext-Lexicon-Getcontext";
14247     version = "0.05";
14248     src = fetchurl {
14249       url = "mirror://cpan/authors/id/S/SA/SAPER/Locale-Maketext-Lexicon-Getcontext-0.05.tar.gz";
14250       hash = "sha256-dcsz35RypZYt5UCC9CxqdrJg/EBboQylMkb7H4LAkgg=";
14251     };
14252     propagatedBuildInputs = [ LocaleMaketextLexicon ];
14253     meta = {
14254       description = "PO file parser for Maketext";
14255       license = with lib.licenses; [ mit ];
14256     };
14257   };
14259   LocaleMOFile = buildPerlPackage {
14260     pname = "Locale-MO-File";
14261     version = "0.09";
14262     src = fetchurl {
14263       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.09.tar.gz";
14264       hash = "sha256-lwNtw/Cds3BSrp2aUUSH6IS1bZDHbKEtbKtAXSNWSj8=";
14265     };
14266     propagatedBuildInputs = [ ConstFast MooXStrictConstructor MooXTypesMooseLike ParamsValidate namespaceautoclean ];
14267     buildInputs = [ TestDifferences TestException TestHexDifferences TestNoWarnings ];
14268     meta = {
14269       description = "Write or read gettext MO files";
14270       license = with lib.licenses; [ artistic1 gpl1Plus ];
14271     };
14272   };
14274   LocaleMaketextFuzzy = buildPerlPackage {
14275     pname = "Locale-Maketext-Fuzzy";
14276     version = "0.11";
14277     src = fetchurl {
14278       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz";
14279       hash = "sha256-N4UXHOt4zHZxMZo6bYztmxkOCX382bKp68gEzRooL5Y=";
14280     };
14281     meta = {
14282       description = "Maketext from already interpolated strings";
14283       license = with lib.licenses; [ cc0 ];
14284     };
14285   };
14287   LocaleMaketextLexicon = buildPerlPackage {
14288     pname = "Locale-Maketext-Lexicon";
14289     version = "1.00";
14290     src = fetchurl {
14291       url = "mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz";
14292       hash = "sha256-tz9rBKWNPw446/IRWkwVMvGk7vb6xcaipEnk4Uwd3Hw=";
14293     };
14294     meta = {
14295       description = "Use other catalog formats in Maketext";
14296       homepage = "https://search.cpan.org/dist/Locale-Maketext-Lexicon";
14297       license = with lib.licenses; [ mit ];
14298       mainProgram = "xgettext.pl";
14299     };
14300   };
14302   LocaleMsgfmt = buildPerlPackage {
14303     pname = "Locale-Msgfmt";
14304     version = "0.15";
14305     src = fetchurl {
14306       url = "mirror://cpan/authors/id/A/AZ/AZAWAWI/Locale-Msgfmt-0.15.tar.gz";
14307       hash = "sha256-wydoMcvuz1i+AggbzBgL00jao12iGnc3t7A4pZ9kOrQ=";
14308     };
14309     meta = {
14310       description = "Compile .po files to .mo files";
14311       license = with lib.licenses; [ artistic1 gpl1Plus ];
14312     };
14313   };
14315   LocalePO = buildPerlPackage {
14316     pname = "Locale-PO";
14317     version = "0.27";
14318     src = fetchurl {
14319       url = "mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz";
14320       hash = "sha256-PJlKS2Pm5Og2xveak/UZIcq3fJDJdT/g+LVCkiDVFrk=";
14321     };
14322     propagatedBuildInputs = [ FileSlurp ];
14323     meta = {
14324       description = "Perl module for manipulating .po entries from GNU gettext";
14325       license = with lib.licenses; [ artistic1 gpl1Plus ];
14326     };
14327   };
14329   LocaleTextDomainOO = buildPerlPackage {
14330     pname = "Locale-TextDomain-OO";
14331     version = "1.036";
14332     src = fetchurl {
14333       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.036.tar.gz";
14334       hash = "sha256-tReD4aiWICE+oqg+RbrsOqhunL4en6W590+HSbBUDjg=";
14335     };
14336     propagatedBuildInputs = [ ClassLoad Clone JSON LocaleMOFile LocalePO LocaleTextDomainOOUtil LocaleUtilsPlaceholderBabelFish LocaleUtilsPlaceholderMaketext LocaleUtilsPlaceholderNamed MooXSingleton PathTiny TieSub ];
14337     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14338     meta = {
14339       description = "Locale::TextDomain::OO - Perl OO Interface to Uniforum Message Translation";
14340       license = with lib.licenses; [ artistic1 gpl1Plus ];
14341     };
14342   };
14344   LocaleTextDomainOOUtil = buildPerlPackage {
14345     pname = "Locale-TextDomain-OO-Util";
14346     version = "4.002";
14347     src = fetchurl {
14348       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-4.002.tar.gz";
14349       hash = "sha256-PF+gf2Xtd8Ap4g0kahBAQRSPGptH4332PzflHQK9RqA=";
14350     };
14351     propagatedBuildInputs = [ namespaceautoclean ];
14352     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14353     meta = {
14354       description = "Locale::TextDomain::OO::Util - Lexicon utils";
14355       license = with lib.licenses; [ artistic1 gpl1Plus ];
14356     };
14357   };
14359   LocaleUtilsPlaceholderBabelFish = buildPerlPackage {
14360     pname = "Locale-Utils-PlaceholderBabelFish";
14361     version = "0.006";
14362     src = fetchurl {
14363       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz";
14364       hash = "sha256-LhwAU5ljqeyr0se5te+QpWBna7A0giUXYin8jqS0pMw=";
14365     };
14366     propagatedBuildInputs = [ HTMLParser MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14367     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14368     meta = {
14369       description = "Locale::Utils::PlaceholderBabelFish - Utils to expand BabelFish palaceholders";
14370       license = with lib.licenses; [ artistic1 gpl1Plus ];
14371     };
14372   };
14374   LocaleUtilsPlaceholderMaketext = buildPerlPackage {
14375     pname = "Locale-Utils-PlaceholderMaketext";
14376     version = "1.005";
14377     src = fetchurl {
14378       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz";
14379       hash = "sha256-UChgS9jzPY0yymkp+9DagP9L30KN6ARfs/Bbp9FdNOs=";
14380     };
14381     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14382     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14383     meta = {
14384       description = "Locale::Utils::PlaceholderMaketext - Utils to expand maketext placeholders";
14385       license = with lib.licenses; [ artistic1 gpl1Plus ];
14386     };
14387   };
14389   LocaleUtilsPlaceholderNamed = buildPerlPackage {
14390     pname = "Locale-Utils-PlaceholderNamed";
14391     version = "1.004";
14392     src = fetchurl {
14393       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz";
14394       hash = "sha256-b9eOojm1w1m6lCJ1N2b2OO5PkM0hdRpZs4YVXipFpr0=";
14395     };
14396     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14397     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14398     meta = {
14399       description = "Locale::Utils::PlaceholderNamed - Utils to expand named placeholders";
14400       license = with lib.licenses; [ artistic1 gpl1Plus ];
14401     };
14402   };
14404   locallib = buildPerlPackage {
14405     pname = "local-lib";
14406     version = "2.000029";
14407     src = fetchurl {
14408       url = "mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000029.tar.gz";
14409       hash = "sha256-jfh6EMFMjpCcW0fFcB5LgYfVGeUlHofIBwmwK7M+/dc=";
14410     };
14411     propagatedBuildInputs = [ ModuleBuild ];
14412     meta = {
14413       description = "Create and use a local lib/ for perl modules with PERL5LIB";
14414       license = with lib.licenses; [ artistic1 gpl1Plus ];
14415     };
14416   };
14418   LockFileSimple = buildPerlPackage {
14419     pname = "LockFile-Simple";
14420     version = "0.208";
14421     src = fetchurl {
14422       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz";
14423       hash = "sha256-Rcd4lrKloKRfYgKm+BP0N/+LKD+EocYNDE83MIAq86I=";
14424     };
14425     meta = {
14426       description = "Simple file locking scheme";
14427       license = with lib.licenses; [ artistic1 gpl2Plus ];
14428     };
14429   };
14431   LogAny = buildPerlPackage {
14432     pname = "Log-Any";
14433     version = "1.717";
14434     src = fetchurl {
14435       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-1.717.tar.gz";
14436       hash = "sha256-VmSdoPOQAjDJ49KSUssKdIBvst3r0igFrNc2iVmmW8o=";
14437     };
14438     # Syslog test fails.
14439     preCheck = "rm t/syslog.t";
14440     meta = {
14441       description = "Bringing loggers and listeners together";
14442       homepage = "https://github.com/preaction/Log-Any";
14443       license = with lib.licenses; [ artistic1 gpl1Plus ];
14444     };
14445   };
14447   LogAnyAdapterLog4perl = buildPerlPackage {
14448     pname = "Log-Any-Adapter-Log4perl";
14449     version = "0.09";
14450     src = fetchurl {
14451       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-0.09.tar.gz";
14452       hash = "sha256-EZfT5BIhS+IIgAz3v1BXsf6hVCRTmip5J8/kb3FuwaU=";
14453     };
14454     propagatedBuildInputs = [ LogAny LogLog4perl ];
14455     meta = {
14456       description = "Log::Any adapter for Log::Log4perl";
14457       homepage = "https://github.com/preaction/Log-Any-Adapter-Log4perl";
14458       license = with lib.licenses; [ artistic1 gpl1Plus ];
14459     };
14460   };
14462   LogAnyAdapterTAP = buildPerlPackage {
14463     pname = "Log-Any-Adapter-TAP";
14464     version = "0.003003";
14465     src = fetchurl {
14466       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Log-Any-Adapter-TAP-0.003003.tar.gz";
14467       hash = "sha256-Ex8GibK0KxsxRJcUxu2o+BHdlqfIZ0jx4DsjnP0BIcA=";
14468     };
14469     propagatedBuildInputs = [ LogAny TryTiny ];
14470     meta = {
14471       description = "Logger suitable for use with TAP test files";
14472       homepage = "https://github.com/silverdirk/perl-Log-Any-Adapter-TAP";
14473       license = with lib.licenses; [ artistic1 gpl1Plus ];
14474     };
14475   };
14477   LogContextual = buildPerlPackage {
14478     pname = "Log-Contextual";
14479     version = "0.008001";
14480     src = fetchurl {
14481       url = "mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.008001.tar.gz";
14482       hash = "sha256-uTy8+7h5bVHINuOwAkPNpWMICMFSwU7uXyDKCclFGZM=";
14483     };
14484     buildInputs = [ TestFatal ];
14485     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
14486     meta = {
14487       description = "Simple logging interface with a contextual log";
14488       homepage = "https://github.com/frioux/Log-Contextual";
14489       license = with lib.licenses; [ artistic1 gpl1Plus ];
14490     };
14491   };
14493   LogDispatch = buildPerlPackage {
14494     pname = "Log-Dispatch";
14495     version = "2.71";
14496     src = fetchurl {
14497       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.71.tar.gz";
14498       hash = "sha256-nWDZZIw1zidUcx603rfwWAns4b1jO3TXR5Wu2exzJXA=";
14499     };
14500     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
14501     buildInputs = [ IPCRun3 TestFatal TestNeeds ];
14502     meta = {
14503       description = "Dispatches messages to one or more outputs";
14504       homepage = "https://metacpan.org/release/Log-Dispatch";
14505       license = with lib.licenses; [ artistic2 ];
14506     };
14507   };
14509   LogDispatchFileRotate = buildPerlPackage {
14510     pname = "Log-Dispatch-FileRotate";
14511     version = "1.38";
14512     src = fetchurl {
14513       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.38.tar.gz";
14514       hash = "sha256-tV1s7ePwoGQmSI+/pVT0VhMgsBTBAjiTztKVCOW85Ow=";
14515     };
14516     propagatedBuildInputs = [ DateManip LogDispatch ];
14517     buildInputs = [ PathTiny TestWarn ];
14518     meta = {
14519       description = "Log to Files that Archive/Rotate Themselves";
14520       homepage = "https://github.com/mschout/perl-log-dispatch-filerotate";
14521       license = with lib.licenses; [ artistic1 gpl1Plus ];
14522     };
14523   };
14525   LogfileRotate = buildPerlPackage {
14526     pname = "Logfile-Rotate";
14527     version = "1.04";
14528     src = fetchurl {
14529       url = "mirror://cpan/authors/id/P/PA/PAULG/Logfile-Rotate-1.04.tar.gz";
14530       hash = "sha256-gQ+LfM2GV9Ox71PNR1glR4Rc67WCArBVObNAhjjK2j4=";
14531     };
14532     meta = {
14533       description = "Perl module to rotate logfiles";
14534       homepage = "https://metacpan.org/dist/Logfile-Rotate";
14535       license = with lib.licenses; [ artistic1 gpl1Plus ];
14536       maintainers = with maintainers; [ tomasajt ];
14537     };
14538   };
14540   Logger = buildPerlPackage {
14541     pname = "Log-ger";
14542     version = "0.040";
14543     src = fetchurl {
14544       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Log-ger-0.040.tar.gz";
14545       hash = "sha256-6JEdM4ePoWmeQ+jQpU7V1WEEA4Z/9cM5+TQQPRfsZLA=";
14546     };
14547     meta = {
14548       description = "Lightweight, flexible logging framework";
14549       homepage = "https://metacpan.org/release/Log-ger";
14550       license = with lib.licenses; [ artistic1 gpl1Plus ];
14551       maintainers = [ maintainers.sgo ];
14552     };
14553   };
14555   LogHandler = buildPerlModule {
14556     pname = "Log-Handler";
14557     version = "0.90";
14558     src = fetchurl {
14559       url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.90.tar.gz";
14560       hash = "sha256-OlyA5xKEVHcPg6yrjL0+cOXsPVmmHcMnkqF48LMb900=";
14561     };
14562     propagatedBuildInputs = [ ParamsValidate ];
14563     meta = {
14564       description = "Log messages to several outputs";
14565       license = with lib.licenses; [ artistic1 gpl1Plus ];
14566     };
14567   };
14569   LogMessage = buildPerlPackage {
14570     pname = "Log-Message";
14571     version = "0.08";
14572     src = fetchurl {
14573       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz";
14574       hash = "sha256-vWl91iqvJtEY6fCggTQp3rHFRORQFVmHm2H8vf6Z/kY=";
14575     };
14576     meta = {
14577       description = "Powerful and flexible message logging mechanism";
14578       license = with lib.licenses; [ artistic1 gpl1Plus ];
14579     };
14580   };
14582   LogMessageSimple = buildPerlPackage {
14583     pname = "Log-Message-Simple";
14584     version = "0.10";
14585     src = fetchurl {
14586       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz";
14587       hash = "sha256-qhLRpMCsJguU1Ej6Af66JCqKhctsv9xmQy47W0aK3ZY=";
14588     };
14589     propagatedBuildInputs = [ LogMessage ];
14590     meta = {
14591       description = "Simplified interface to Log::Message";
14592       license = with lib.licenses; [ artistic1 gpl1Plus ];
14593     };
14594   };
14596   LogTrace = buildPerlPackage {
14597     pname = "Log-Trace";
14598     version = "1.070";
14599     src = fetchurl {
14600       url = "mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz";
14601       hash = "sha256-nsuCWO8wwvJN7/SRckDQ/nMkLaWyGSQC95gVsJLtNuM=";
14602     };
14603     meta = {
14604       description = "Provides a unified approach to tracing";
14605       license = with lib.licenses; [ gpl1Only ];
14606     };
14607   };
14609   MCE = buildPerlPackage {
14610     pname = "MCE";
14611     version = "1.889";
14612     src = fetchurl {
14613       url = "mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.889.tar.gz";
14614       hash = "sha256-22FT5HTQRvwlMFC/U8VAAthM1Mp30hwrnfVv7rgJu+0=";
14615     };
14616     meta = {
14617       description = "Many-Core Engine for Perl providing parallel processing capabilities";
14618       homepage = "https://github.com/marioroy/mce-perl";
14619       license = with lib.licenses; [ artistic1 gpl1Plus ];
14620     };
14621   };
14623   LogLog4perl = buildPerlPackage {
14624     pname = "Log-Log4perl";
14625     version = "1.57";
14626     src = fetchurl {
14627       url = "mirror://cpan/authors/id/E/ET/ETJ/Log-Log4perl-1.57.tar.gz";
14628       hash = "sha256-D4/Ldjio89tMeX35T9vFYBN0kULy+Uy8lbQ8n8oJahM=";
14629     };
14630     meta = {
14631       description = "Log4j implementation for Perl";
14632       homepage = "https://mschilli.github.io/log4perl/";
14633       license = with lib.licenses; [ artistic1 gpl1Plus ];
14634       mainProgram = "l4p-tmpl";
14635     };
14636   };
14638   LogDispatchArray = buildPerlPackage {
14639     pname = "Log-Dispatch-Array";
14640     version = "1.005";
14641     src = fetchurl {
14642       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.005.tar.gz";
14643       hash = "sha256-MRZAt6ln+N18m7QaInBzVlY21w30/MHUT+2KgiOzR8o=";
14644     };
14645     buildInputs = [ TestDeep ];
14646     propagatedBuildInputs = [ LogDispatch ];
14647     meta = {
14648       description = "Log events to an array (reference)";
14649       homepage = "https://github.com/rjbs/Log-Dispatch-Array";
14650       license = with lib.licenses; [ artistic1 gpl1Plus ];
14651     };
14652   };
14654   LogDispatchouli = buildPerlPackage {
14655     pname = "Log-Dispatchouli";
14656     version = "3.007";
14657     src = fetchurl {
14658       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-3.007.tar.gz";
14659       hash = "sha256-mIEYlllSukmo+nkaZTaIDIkBf0651ywXRe1n0VwNJyw=";
14660     };
14661     buildInputs = [ TestDeep TestFatal ];
14662     propagatedBuildInputs = [ LogDispatchArray StringFlogger SubExporterGlobExporter ];
14663     meta = {
14664       description = "Simple wrapper around Log::Dispatch";
14665       homepage = "https://github.com/rjbs/Log-Dispatchouli";
14666       license = with lib.licenses; [ artistic1 gpl1Plus ];
14667     };
14668   };
14670   LogJournald = buildPerlModule {
14671     pname = "Log-Journald";
14672     version = "0.30";
14673     src = fetchurl {
14674       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-0.30.tar.gz";
14675       hash = "sha256-VZks+aHh+4M/QoMAUlv6fPftRrg+xBT4KgkXibN9CKM=";
14676     };
14677     nativeBuildInputs = [ pkgs.pkg-config ];
14678     buildInputs = [ pkgs.systemd ];
14679     postPatch = ''
14680       substituteInPlace Build.PL \
14681         --replace "libsystemd-journal" "libsystemd"
14682     '';
14683     meta = {
14684       description = "Send messages to a systemd journal";
14685       license = with lib.licenses; [ artistic1 gpl1Plus ];
14686     };
14687   };
14689   LogLogLite = buildPerlPackage {
14690     pname = "Log-LogLite";
14691     version = "0.82";
14692     src = fetchurl {
14693       url = "mirror://cpan/authors/id/R/RA/RANI/Log-LogLite-0.82.tar.gz";
14694       hash = "sha256-BQn7i8VDrJZ1pI6xplpjUoYIxsP99ioZ4XBzUA5RGms=";
14695     };
14696     propagatedBuildInputs = [ IOLockedFile ];
14697     meta = {
14698       description = "Helps us create simple logs for our application";
14699       license = with lib.licenses; [ artistic1 gpl1Plus ];
14700     };
14701   };
14703   LongJump = buildPerlPackage {
14704     pname = "Long-Jump";
14705     version = "0.000001";
14706     src = fetchurl {
14707       url = "mirror://cpan/authors/id/E/EX/EXODIST/Long-Jump-0.000001.tar.gz";
14708       hash = "sha256-1dZFbYaZK1Wdj2b8kJYPkZKSzTgDwTQD+qxXV2LHevQ=";
14709     };
14710     buildInputs = [ Test2Suite ];
14711     meta = {
14712       description = "Mechanism for returning to a specific point from a deeply nested stack";
14713       license = with lib.licenses; [ artistic1 gpl1Plus ];
14714     };
14715   };
14717   LWP = buildPerlPackage {
14718     pname = "libwww-perl";
14719     version = "6.72";
14720     src = fetchurl {
14721       url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.72.tar.gz";
14722       hash = "sha256-6bg1T9XiC+IHr+I93VhPzVm/gpmNwHfez2hLodrloF0=";
14723     };
14724     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPCookieJar HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
14725     preCheck = ''
14726       export NO_NETWORK_TESTING=1
14727     '';
14728     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
14729     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
14730       substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
14731     '';
14732     doCheck = !stdenv.hostPlatform.isDarwin;
14733     nativeCheckInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
14734     meta = {
14735       description = "World-Wide Web library for Perl";
14736       license = with lib.licenses; [ artistic1 gpl1Plus ];
14737     };
14738   };
14740   LWPAuthenOAuth = buildPerlPackage {
14741     pname = "LWP-Authen-OAuth";
14742     version = "1.02";
14743     src = fetchurl {
14744       url = "mirror://cpan/authors/id/T/TI/TIMBRODY/LWP-Authen-OAuth-1.02.tar.gz";
14745       hash = "sha256-544L196AAs+0dgBzJY1VXvVbLCfAepSz2KIWahf9lrw=";
14746     };
14747     propagatedBuildInputs = [ LWP ];
14748     meta = {
14749       description = "Generate signed OAuth requests";
14750       license = with lib.licenses; [ artistic1 gpl1Plus ];
14751     };
14752   };
14754   LWPMediaTypes = buildPerlPackage {
14755     pname = "LWP-MediaTypes";
14756     version = "6.04";
14757     src = fetchurl {
14758       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz";
14759       hash = "sha256-jxvKEtqxahwqfAOknF5YzOQab+yVGfCq37qNrZl5Gdk=";
14760     };
14761     buildInputs = [ TestFatal ];
14762     meta = {
14763       description = "Guess media type for a file or a URL";
14764       homepage = "https://github.com/libwww-perl/lwp-mediatypes";
14765       license = with lib.licenses; [ artistic1 gpl1Plus ];
14766     };
14767   };
14769   LWPProtocolConnect = buildPerlPackage {
14770     pname = "LWP-Protocol-connect";
14771     version = "6.09";
14772     src = fetchurl {
14773       url = "mirror://cpan/authors/id/B/BE/BENNING/LWP-Protocol-connect-6.09.tar.gz";
14774       hash = "sha256-nyUjlHdeI6pCwxdmEeWTBjirUo1RkBELRzGqWwvzWhU=";
14775     };
14776     buildInputs = [ TestException ];
14777     propagatedBuildInputs = [ LWPProtocolHttps ];
14778     meta = {
14779       description = "Provides HTTP/CONNECT proxy support for LWP::UserAgent";
14780       license = with lib.licenses; [ artistic1 gpl1Plus ];
14781     };
14782   };
14784   LWPProtocolHttps = buildPerlPackage {
14785     pname = "LWP-Protocol-https";
14786     version = "6.11";
14787     src = fetchurl {
14788       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.11.tar.gz";
14789       hash = "sha256-ATLdvwNmFWXKhQUPKlCU+5Jjy7w8yxpNnEGsm7CDuRc=";
14790     };
14791     patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
14792     propagatedBuildInputs = [ IOSocketSSL LWP ];
14793     preCheck = ''
14794       export NO_NETWORK_TESTING=1
14795     '';
14796     buildInputs = [ TestRequiresInternet TestNeeds ];
14797     meta = {
14798       description = "Provide https support for LWP::UserAgent";
14799       homepage = "https://github.com/libwww-perl/LWP-Protocol-https";
14800       license = with lib.licenses; [ artistic1 gpl1Plus ];
14801     };
14802   };
14804   LWPProtocolhttp10 = buildPerlPackage {
14805     pname = "LWP-Protocol-http10";
14806     version = "6.03";
14807     src = fetchurl {
14808       url = "mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz";
14809       hash = "sha256-8/+pEfnVkYHxcXkQ6iZiCQXCmLdNww99TlE57jAguNM=";
14810     };
14811     propagatedBuildInputs = [ LWP ];
14812     meta = {
14813       description = "Legacy HTTP/1.0 support for LWP";
14814       license = with lib.licenses; [ artistic1 gpl1Plus ];
14815     };
14816   };
14818   LWPUserAgentCached = buildPerlPackage {
14819     pname = "LWP-UserAgent-Cached";
14820     version = "0.08";
14821     src = fetchurl {
14822       url = "mirror://cpan/authors/id/O/OL/OLEG/LWP-UserAgent-Cached-0.08.tar.gz";
14823       hash = "sha256-Pc5atMeAQWVs54Vk92Az5b0ew4b1TS57MHQK5I7nh8M=";
14824     };
14825     propagatedBuildInputs = [ LWP ];
14826     meta = {
14827       description = "LWP::UserAgent with simple caching mechanism";
14828       license = with lib.licenses; [ artistic1 gpl1Plus ];
14829     };
14830   };
14832   LWPUserAgentDNSHosts = buildPerlModule {
14833     pname = "LWP-UserAgent-DNS-Hosts";
14834     version = "0.14";
14835     src = fetchurl {
14836       url = "mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.14.tar.gz";
14837       hash = "sha256-mWl5RD8Ib/yLNmvbukSGWR2T+SF7wgSz5dZrlHIghx8=";
14838     };
14839     propagatedBuildInputs = [ LWP ScopeGuard ];
14840     buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
14841     meta = {
14842       description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
14843       homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
14844       license = with lib.licenses; [ artistic1 gpl1Plus ];
14845     };
14846   };
14848   LWPUserAgentDetermined = buildPerlPackage {
14849     pname = "LWP-UserAgent-Determined";
14850     version = "1.07";
14851     src = fetchurl {
14852       url = "mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz";
14853       hash = "sha256-BtjVDozTaSoRy0+0Si+E5UdqmPDi5qSg386fZ+Vd21M=";
14854     };
14855     propagatedBuildInputs = [ LWP ];
14856     meta = {
14857       description = "Virtual browser that retries errors";
14858       license = with lib.licenses; [ artistic1 gpl1Plus ];
14859     };
14860   };
14862   LWPUserAgentMockable = buildPerlModule {
14863     pname = "LWP-UserAgent-Mockable";
14864     version = "1.18";
14865     src = fetchurl {
14866       url = "mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz";
14867       hash = "sha256-JYZPUOOlIZ+J00oYQlmFSUWussXtSBjzbw8wIShUQyQ=";
14868     };
14869     propagatedBuildInputs = [ HookLexWrap LWP SafeIsa ];
14870     # Tests require network connectivity
14871     # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream,
14872     # which doesn't look like it will get fixed anytime soon.
14873     doCheck = false;
14874     buildInputs = [ ModuleBuildTiny TestRequiresInternet ];
14875     meta = {
14876       description = "Permits recording, and later playing back of LWP requests";
14877       license = with lib.licenses; [ artistic1 gpl1Plus ];
14878     };
14879   };
14881   LWPxParanoidAgent = buildPerlPackage {
14882     pname = "LWPx-ParanoidAgent";
14883     version = "1.12";
14884     src = fetchurl {
14885       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-1.12.tar.gz";
14886       hash = "sha256-zAQa7bdOGDzfkcvryhx71tdk/e5o+9yE8r4IveTg0D0=";
14887     };
14888     doCheck = false; # 3 tests fail, probably because they try to connect to the network
14889     propagatedBuildInputs = [ LWP NetDNS ];
14890     meta = {
14891       description = "Subclass of LWP::UserAgent that protects you from harm";
14892       license = with lib.licenses; [ artistic1 gpl1Plus ];
14893     };
14894   };
14896   maatkit = callPackage ../development/perl-modules/maatkit { };
14898   MacPasteboard = buildPerlPackage {
14899     pname = "Mac-Pasteboard";
14900     version = "0.103";
14901     src = fetchurl {
14902       url = "mirror://cpan/authors/id/W/WY/WYANT/Mac-Pasteboard-0.103.tar.gz";
14903       hash = "sha256-L16N0tsNZEVVhITKbULYOcWpfuiqGyUOaU1n1bf2Y0w=";
14904     };
14905     buildInputs = [ pkgs.darwin.apple_sdk.frameworks.ApplicationServices ];
14906     meta = {
14907       description = "Manipulate Mac OS X pasteboards";
14908       license = with lib.licenses; [ artistic1 gpl1Plus ];
14909       platforms = lib.platforms.darwin;
14910       mainProgram = "pbtool";
14911     };
14912   };
14914   MacPropertyList = buildPerlPackage {
14915     pname = "Mac-PropertyList";
14916     version = "1.504";
14917     src = fetchurl {
14918       url = "mirror://cpan/authors/id/B/BD/BDFOY/Mac-PropertyList-1.504.tar.gz";
14919       hash = "sha256-aIl96Yw2j76c22iF1H3qADxG7Ho3MmNSPvZkVwc7eq4=";
14920     };
14921     propagatedBuildInputs = [ XMLEntities ];
14922     meta = {
14923       description = "Work with Mac plists at a low level";
14924       homepage = "https://github.com/briandfoy/mac-propertylist";
14925       license = lib.licenses.artistic2;
14926     };
14927   };
14929   MacSysProfile = buildPerlPackage {
14930     pname = "Mac-SysProfile";
14931     version = "0.05";
14932     src = fetchurl {
14933       url = "mirror://cpan/authors/id/D/DM/DMUEY/Mac-SysProfile-0.05.tar.gz";
14934       hash = "sha256-QDOXa3dbOcwqaTtyoC1l71p7oDveTU2w3/RuEmx9n2w=";
14935     };
14936     propagatedBuildInputs = [ MacPropertyList ];
14937     meta = {
14938       description = "Perl extension for OS X system_profiler";
14939       license = with lib.licenses; [ artistic1 gpl1Plus ];
14940       platforms = lib.platforms.darwin;
14941     };
14942   };
14944   MailAuthenticationResults = buildPerlPackage {
14945     pname = "Mail-AuthenticationResults";
14946     version = "2.20230112";
14947     src = fetchurl {
14948       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-AuthenticationResults-2.20230112.tar.gz";
14949       hash = "sha256-wtFEyuAiX4vJ0PX60cPxOdJ89TT85+rHB2T79m/SI0E=";
14950     };
14951     buildInputs = [ TestException ];
14952     propagatedBuildInputs = [ Clone JSON ];
14953     meta = {
14954       description = "Object Oriented Authentication-Results Headers";
14955       license = with lib.licenses; [ artistic1 gpl1Plus ];
14956     };
14957   };
14959   MailDMARC = buildPerlPackage {
14960     pname = "Mail-DMARC";
14961     version = "1.20230215";
14962     src = fetchurl {
14963       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DMARC-1.20230215.tar.gz";
14964       hash = "sha256-V9z1R1nLkkSOVukUE0D2E0QnTFjZ3WWqkKqczw5+uQM=";
14965     };
14966     buildInputs = [ ExtUtilsMakeMaker FileShareDirInstall ];
14967     doCheck = false;  # uses actual DNS at runtime
14968     checkInputs = [ XMLSAX XMLValidatorSchema TestException TestFileShareDir TestMore TestOutput ];
14969     propagatedBuildInputs = [
14970       ConfigTiny DBDSQLite DBIxSimple EmailMIME EmailSender Encode FileShareDir GetoptLong
14971       IOCompress IO IOSocketSSL NetDNS NetIDNEncode NetIP NetSSLeay RegexpCommon Socket6
14972       SysSyslog URI XMLLibXML
14973     ];
14974     meta = {
14975       description = "Perl implementation of DMARC";
14976       homepage = "https://github.com/msimerson/mail-dmarc";
14977       license = with lib.licenses; [ artistic1 gpl1Plus ];
14978     };
14979   };
14981   MailMaildir = buildPerlPackage {
14982     version = "1.0.0";
14983     pname = "Mail-Maildir";
14984     src = fetchurl {
14985       url = "mirror://cpan/authors/id/Z/ZE/ZEROALTI/Mail-Maildir-100/Mail-Maildir-1.0.0.tar.bz2";
14986       hash = "sha256-RF6s2ixmN5ApbXGbypzHKYVUX6GgkBRhdnFgo6/DM88=";
14987     };
14988     meta = {
14989       description = "Handle Maildir folders";
14990       license = with lib.licenses; [ artistic1 gpl1Plus ];
14991     };
14992   };
14994   MailBox = buildPerlPackage {
14995     version = "3.010";
14996     pname = "Mail-Box";
14997     src = fetchurl {
14998       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.010.tar.gz";
14999       hash = "sha256-rhlPolDFRcm5FT4/tRA8qyn3nPKs1On9dc7FMiAalWQ=";
15000     };
15002     doCheck = false;
15004     propagatedBuildInputs = [ DevelGlobalDestruction FileRemove Later MailTransport ];
15005     meta = {
15006       description = "Manage a mailbox, a folder with messages";
15007       license = with lib.licenses; [ artistic1 gpl1Plus ];
15008     };
15009   };
15011   MailMboxMessageParser = buildPerlPackage {
15012     pname = "Mail-Mbox-MessageParser";
15013     version = "1.5111";
15014     src = fetchurl {
15015       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/Mail-Mbox-MessageParser-1.5111.tar.gz";
15016       hash = "sha256-VyPAqpzBC6ue0eO/2dXJX3FZ5xwaR1QU6xrx3uOkYjc=";
15017     };
15018     buildInputs = [ FileSlurper TestCompile TestPod TestPodCoverage TextDiff UNIVERSALrequire URI ];
15019     propagatedBuildInputs = [ FileHandleUnget ];
15020     meta = {
15021       description = "Fast and simple mbox folder reader";
15022       homepage = "https://github.com/coppit/mail-mbox-messageparser";
15023       license = with lib.licenses; [ gpl2Only ];
15024       maintainers = with maintainers; [ romildo ];
15025     };
15026   };
15028   MailMessage = buildPerlPackage {
15029     pname = "Mail-Message";
15030     version = "3.013";
15031     src = fetchurl {
15032       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.013.tar.gz";
15033       hash = "sha256-yK1YiNsBWkUOti7Cqj6mbcLdwRtwpdtsjKGn+fgg6B8=";
15034     };
15035     propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ];
15036     meta = {
15037       description = "Processing MIME messages";
15038       homepage = "http://perl.overmeer.net/CPAN";
15039       license = with lib.licenses; [ artistic1 gpl1Plus ];
15040     };
15041   };
15043   MailDKIM = buildPerlPackage {
15044     pname = "Mail-DKIM";
15045     version = "1.20230911";
15046     src = fetchurl {
15047       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-1.20230911.tar.gz";
15048       hash = "sha256-kecxcoK3JM+9LJtuZjDvFDKISLb8UgPv1w3sL7hyaMo=";
15049     };
15050     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNS ];
15051     doCheck = false; # tries to access the domain name system
15052     buildInputs = [ NetDNSResolverMock TestRequiresInternet YAMLLibYAML ];
15053     meta = {
15054       description = "Signs/verifies Internet mail with DKIM/DomainKey signatures";
15055       license = with lib.licenses; [ artistic1 gpl1Plus ];
15056     };
15057   };
15059   MailIMAPClient = buildPerlPackage {
15060     pname = "Mail-IMAPClient";
15061     version = "3.43";
15062     src = fetchurl {
15063       url = "mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.43.tar.gz";
15064       hash = "sha256-CTyX+sFbR6j+TSk27y3zd6v3fMirdAktISi7lF0ftG8=";
15065     };
15066     propagatedBuildInputs = [ ParseRecDescent ];
15067     meta = {
15068       description = "IMAP Client API";
15069       license = with lib.licenses; [ artistic1 gpl1Plus ];
15070     };
15071   };
15073   MailPOP3Client = buildPerlPackage {
15074     pname = "Mail-POP3Client";
15075     version = "2.21";
15076     src = fetchurl {
15077       url = "mirror://cpan/authors/id/S/SD/SDOWD/Mail-POP3Client-2.21.tar.gz";
15078       hash = "sha256-sW7yFJtuNXOHPx5ZDk1RNmxZlLi1MV3xaSXRe4niSQE=";
15079     };
15080     meta = {
15081       description = "Perl 5 module to talk to a POP3 (RFC1939) server";
15082       license = with lib.licenses; [ artistic1 gpl1Plus ];
15083     };
15084   };
15086   MailRFC822Address = buildPerlPackage {
15087     pname = "Mail-RFC822-Address";
15088     version = "0.3";
15089     src = fetchurl {
15090       url = "mirror://cpan/authors/id/P/PD/PDWARREN/Mail-RFC822-Address-0.3.tar.gz";
15091       hash = "sha256-NR70EE7LZ17K5pAIJD+ugkPRp+U8aB7rdZ57eBaEyKc=";
15092     };
15093     meta = {
15094       description = "Perl extension for validating email addresses according to RFC822";
15095       license = with lib.licenses; [ mit ];
15096     };
15097   };
15099   MailSender = buildPerlPackage {
15100     pname = "Mail-Sender";
15101     version = "0.903";
15102     src = fetchurl {
15103       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/Mail-Sender-0.903.tar.gz";
15104       hash = "sha256-RBPrSfUgqDGBUYEcywWo1UKXOq2iCqUDrTL5/8mKOb8=";
15105     };
15106     meta = {
15107       description = "(DEPRECATED) module for sending mails with attachments through an SMTP server";
15108       homepage = "https://github.com/Perl-Email-Project/Mail-Sender";
15109       license = with lib.licenses; [ artistic1 gpl1Plus ];
15110     };
15111   };
15113   MailSendmail = buildPerlPackage {
15114     pname = "Mail-Sendmail";
15115     version = "0.80";
15116     src = fetchurl {
15117       url = "mirror://cpan/authors/id/N/NE/NEILB/Mail-Sendmail-0.80.tar.gz";
15118       hash = "sha256-W4qYy1zDnYBEGjiqsBCIXd+A5vzY5uAxQ5LLI+fCaOQ=";
15119     };
15120     # The test suite simply loads the module and attempts to send an email to
15121     # the module's author, the latter of which is a) more of an integration
15122     # test, b) impossible to verify, and c) won't work from a sandbox. Replace
15123     # it in its entirety with the following simple smoke test.
15124     checkPhase = ''
15125       perl -I blib/lib -MMail::Sendmail -e 'print "1..1\nok 1\n"'
15126     '';
15127     meta = {
15128       description = "Simple platform independent mailer";
15129       homepage = "https://github.com/neilb/Mail-Sendmail";
15130       license = with lib.licenses; [ artistic1 gpl1Plus ];
15131       maintainers = teams.deshaw.members;
15132     };
15133   };
15135   MailSPF = buildPerlPackage {
15136     pname = "Mail-SPF";
15137     version = "2.9.0";
15138     src = fetchurl {
15139       url = "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz";
15140       hash = "sha256-YctZFfHHrMepMf/Bv8EpG9+sVV4qRusjkbmV6p7LYWI=";
15141     };
15142     # remove this patch patches = [ ../development/perl-modules/Mail-SPF.patch ];
15144     buildInputs = [ ModuleBuild NetDNSResolverProgrammable ];
15145     propagatedBuildInputs = [ Error NetAddrIP NetDNS URI ];
15147     buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\" --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build ";
15149     doCheck = false; # The main test performs network access
15150     meta = {
15151       description = "Object-oriented implementation of Sender Policy Framework";
15152       license = with lib.licenses; [ bsd3 ];
15153       mainProgram = "spfquery";
15154     };
15155   };
15158   MailTools = buildPerlPackage {
15159     pname = "MailTools";
15160     version = "2.21";
15161     src = fetchurl {
15162       url = "mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz";
15163       hash = "sha256-Stm9aCa28DonJzMkZrG30piQyNmaMrSzsKjZJu4aRMs=";
15164     };
15165     propagatedBuildInputs = [ TimeDate ];
15166     meta = {
15167       description = "Various ancient e-mail related modules";
15168       homepage = "http://perl.overmeer.net/CPAN";
15169       license = with lib.licenses; [ artistic1 gpl1Plus ];
15170     };
15171   };
15173   MailTransport = buildPerlPackage {
15174     pname = "Mail-Transport";
15175     version = "3.005";
15176     src = fetchurl {
15177       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.005.tar.gz";
15178       hash = "sha256-0Ny5P3BcEoXYCONN59htvijR7WaqKn3oMPZlH8NRlqM=";
15179     };
15180     propagatedBuildInputs = [ MailMessage ];
15181     meta = {
15182       description = "Email message exchange";
15183       homepage = "http://perl.overmeer.net/CPAN";
15184       license = with lib.licenses; [ artistic1 gpl1Plus ];
15185     };
15186   };
15188   MathBase85 = buildPerlPackage {
15189     pname = "Math-Base85";
15190     version = "0.5";
15191     src = fetchurl {
15192       url = "mirror://cpan/authors/id/P/PT/PTC/Math-Base85-0.5.tar.gz";
15193       hash = "sha256-CwX3+2UKh5ezktjqkPLnK/uNCFBcmi4LlV39RacqNOU=";
15194     };
15195     meta = {
15196       description = "Perl extension for base 85 numbers, as referenced by RFC 1924";
15197       license = with lib.licenses; [ artistic1 gpl1Plus ];
15198     };
15199   };
15201   MathBaseConvert = buildPerlPackage {
15202     pname = "Math-Base-Convert";
15203     version = "0.11";
15204     src = fetchurl {
15205       url = "mirror://cpan/authors/id/M/MI/MIKER/Math-Base-Convert-0.11.tar.gz";
15206       hash = "sha256-jAlxNV8kyTt553rVSkVwCQoaWY/Lm4b1wX66QvOLQOA=";
15207     };
15208     meta = {
15209       description = "Very fast base to base conversion";
15210       license = with lib.licenses; [ artistic1 gpl1Plus ];
15211     };
15212   };
15214   MathLibm = buildPerlPackage {
15215     pname = "Math-Libm";
15216     version = "1.00";
15217     src = fetchurl {
15218       url = "mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz";
15219       hash = "sha256-v9MJ8oOsjLm/AK+MfDoQvyWr/WQoYcICLvr/CkpSwnY=";
15220     };
15221     meta = {
15222       description = "Perl extension for the C math library, libm";
15223       license = with lib.licenses; [ artistic1 gpl1Plus ];
15224     };
15225   };
15227   MathCalcParser = buildPerlPackage {
15228     pname = "Math-Calc-Parser";
15229     version = "1.005";
15230     src = fetchurl {
15231       url = "mirror://cpan/authors/id/D/DB/DBOOK/Math-Calc-Parser-1.005.tar.gz";
15232       hash = "sha256-r8PrSWqzo6MBs0N68H4ZfrdDwGCQ8BAdrPggMC8rf3U=";
15233     };
15234     buildInputs = [ TestNeeds ];
15235     meta = {
15236       description = "Parse and evaluate mathematical expressions";
15237       homepage = "https://github.com/Grinnz/Math-Calc-Parser";
15238       broken = true;
15239       license = with lib.licenses; [ artistic2 ];
15240       maintainers = with maintainers; [ sgo ];
15241     };
15242   };
15244   MathCalcUnits = buildPerlPackage {
15245     pname = "Math-Calc-Units";
15246     version = "1.07";
15247     src = fetchurl {
15248       url = "mirror://cpan/authors/id/S/SF/SFINK/Math-Calc-Units-1.07.tar.gz";
15249       hash = "sha256-YePP2ye7O+4nvrlxJN2TB2DhA57cHreBbC9WJ3Zfj48=";
15250     };
15251     meta = {
15252       description = "Human-readable unit-aware calculator";
15253       license = with lib.licenses; [ artistic1 gpl2Only ];
15254       mainProgram = "ucalc";
15255     };
15256   };
15258   MathBigInt = buildPerlPackage {
15259     pname = "Math-BigInt";
15260     version = "1.999842";
15261     src = fetchurl {
15262       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-1.999842.tar.gz";
15263       hash = "sha256-VGAcUMaZPn7hPYw6wzRs8VpNgGMUnNu+husB5WEORnU=";
15264     };
15265     meta = {
15266       description = "Arbitrary size integer/float math package";
15267       license = with lib.licenses; [ artistic1 gpl1Plus ];
15268     };
15269   };
15271   MathBigIntGMP = buildPerlPackage {
15272     pname = "Math-BigInt-GMP";
15273     version = "1.6013";
15274     src = fetchurl {
15275       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6013.tar.gz";
15276       hash = "sha256-yxqS4CJn1AUV+OA6TiEvZv0wfJdMu9MT4j3jL98Q9rU=";
15277     };
15278     buildInputs = [ pkgs.gmp ];
15279     doCheck = false;
15280     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15281     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15282     propagatedBuildInputs = [ MathBigInt ];
15283     meta = {
15284       description = "Backend library for Math::BigInt etc. based on GMP";
15285       license = with lib.licenses; [ artistic1 gpl1Plus ];
15286     };
15287   };
15289   MathBigIntLite = buildPerlPackage {
15290     pname = "Math-BigInt-Lite";
15291     version = "0.29";
15292     src = fetchurl {
15293       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.29.tar.gz";
15294       hash = "sha256-R4YN/KYxl4txxKqZkaGynk7LrzYbW7nrOVl1t//Nd/U=";
15295     };
15296     propagatedBuildInputs = [ MathBigInt ];
15297     meta = {
15298       description = "What Math::BigInts are before they become big";
15299       license = with lib.licenses; [ artistic1 gpl1Plus ];
15300     };
15301   };
15303   MathClipper = buildPerlModule {
15304     pname = "Math-Clipper";
15305     version = "1.29";
15306     src = fetchurl {
15307       url = "mirror://cpan/authors/id/S/SH/SHELDRAKE/Math-Clipper-1.29.tar.gz";
15308       hash = "sha256-UyfE8TOGbenXmzGGV/Zp7LSZhgVQs5aGmNRyiHr4dZM=";
15309     };
15310     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
15311     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp TestDeep ];
15312     meta = {
15313       description = "Polygon clipping in 2D";
15314       license = with lib.licenses; [ artistic1 gpl1Plus ];
15315     };
15316   };
15318   MathConvexHullMonotoneChain = buildPerlPackage {
15319     pname = "Math-ConvexHull-MonotoneChain";
15320     version = "0.01";
15321     src = fetchurl {
15322       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz";
15323       hash = "sha256-KIvEWQgmMkVUj5FIKrEkiGjdne5Ef5yibK15YT47lPU=";
15324     };
15325     meta = {
15326       description = "Andrew's monotone chain algorithm for finding a convex hull in 2D";
15327       license = with lib.licenses; [ artistic1 gpl1Plus ];
15328     };
15329   };
15331   MathFibonacci = buildPerlPackage {
15332     pname = "Math-Fibonacci";
15333     version = "1.5";
15334     src = fetchurl {
15335       url = "mirror://cpan/authors/id/V/VI/VIPUL/Math-Fibonacci-1.5.tar.gz";
15336       hash = "sha256-cKgobpRVjfmdyS9S2D4eIKe494UrzDod59njOCYLmbo=";
15337     };
15338     meta = {
15339       description = "This module provides a few functions related to Fibonacci numbers";
15340       license = with lib.licenses; [ artistic2 ];
15341     };
15342   };
15344   MathGMP = buildPerlPackage {
15345     pname = "Math-GMP";
15346     version = "2.25";
15347     src = fetchurl {
15348       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.25.tar.gz";
15349       hash = "sha256-OCtx5Udi9jnppCqbBpNBUZh7pX0Ru3DTXjvsiNUEUM4=";
15350     };
15351     buildInputs = [ pkgs.gmp AlienGMP ];
15352     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15353     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15354     meta = {
15355       description = "High speed arbitrary size integer math";
15356       license = with lib.licenses; [ lgpl21Plus ];
15357     };
15358   };
15360   MathGMPz = buildPerlPackage {
15361     pname = "Math-GMPz";
15362     version = "0.59";
15363     src = fetchurl {
15364       url = "mirror://cpan/authors/id/S/SI/SISYPHUS/Math-GMPz-0.59.tar.gz";
15365       hash = "sha256-mmrN45G0Ff5f7HwUyCTVUf/j+W81rycYRWuJ3jpkEaQ=";
15366     };
15367     buildInputs = [ TestWarn pkgs.gmp ];
15368     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15369     meta = {
15370       description = "Perl interface to the GMP integer functions";
15371       homepage = "https://github.com/sisyphus/math-gmpz";
15372       license = with lib.licenses; [ artistic1 gpl1Plus ];
15373       maintainers = with maintainers; [ sgo ];
15374     };
15375   };
15377   MathGeometryVoronoi = buildPerlPackage {
15378     pname = "Math-Geometry-Voronoi";
15379     version = "1.3";
15380     src = fetchurl {
15381       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz";
15382       hash = "sha256-cgdeTpiDzuUURrqVESZMjDKgFagPSlZIo/azgsU0QCw=";
15383     };
15384     propagatedBuildInputs = [ ClassAccessor ParamsValidate ];
15385     meta = {
15386       description = "Compute Voronoi diagrams from sets of points";
15387       license = with lib.licenses; [ artistic1 gpl1Plus ];
15388     };
15389   };
15391   MathInt128 = buildPerlPackage {
15392     pname = "Math-Int128";
15393     version = "0.22";
15394     src = fetchurl {
15395       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int128-0.22.tar.gz";
15396       hash = "sha256-pjDKQBdThmlV8Rc4SKtbSsStXKatkIfxHN+R3ehRGbw=";
15397     };
15398     propagatedBuildInputs = [ MathInt64 ];
15399     meta = {
15400       description = "Manipulate 128 bits integers in Perl";
15401       homepage = "https://metacpan.org/release/Math-Int128";
15402       license = with lib.licenses; [ artistic1 gpl1Plus ];
15403       broken = stdenv.hostPlatform.is32bit; # compiler doesn't support a 128-bit integer type
15404     };
15405   };
15407   MathInt64 = buildPerlPackage {
15408     pname = "Math-Int64";
15409     version = "0.54";
15410     src = fetchurl {
15411       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int64-0.54.tar.gz";
15412       hash = "sha256-3PxR5phDfqa5zv4CdiFcVs22p/hePiSitrQYnxlg01E=";
15413     };
15414     meta = {
15415       description = "Manipulate 64 bits integers in Perl";
15416       homepage = "https://metacpan.org/release/Math-Int64";
15417       license = with lib.licenses; [ artistic1 gpl1Plus ];
15418     };
15419   };
15421   MathPari = buildPerlPackage rec {
15422     pname = "Math-Pari";
15423     version = "2.030523";
15424     nativeBuildInputs = [ pkgs.unzip ];
15425     pariversion = "2.1.7";
15426     pari_tgz = fetchurl {
15427       url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/2.1/pari-${pariversion}.tgz";
15428       hash = "sha256-kULyza8wg8iWLxpcK7Dp/okV99lJDAMxKsI2HH6hVfo=";
15429     };
15430     # Workaround build failure on -fno-common toolchains:
15431     #   ld: libPARI/libPARI.a(compat.o):(.bss+0x8): multiple definition of
15432     #   `overflow'; Pari.o:(.bss+0x80): first defined here
15433     env.NIX_CFLAGS_COMPILE = "-fcommon";
15434     preConfigure = "cp ${pari_tgz} pari-${pariversion}.tgz";
15435     makeMakerFlags = [ "pari_tgz=pari-${pariversion}.tgz" ];
15436     src = fetchurl {
15437       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.030518.zip";
15438       hash = "sha256-3DiVWpaQvmuvqN4lJiEjd8Psn+jaXsAiY6nK+UtYu5E=";
15439     };
15440     meta = {
15441       description = "Perl interface to PARI";
15442       license = with lib.licenses; [ artistic1 gpl1Plus gpl2Only ];
15443     };
15444   };
15446   MathPlanePath = buildPerlPackage {
15447     pname = "Math-PlanePath";
15448     version = "129";
15449     src = fetchurl {
15450       url = "mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-129.tar.gz";
15451       hash = "sha256-jaFdDk1Qd7bF0gN2WyiFv3KOUJ4y3pJkYFwIYhN+OX4=";
15452     };
15453     propagatedBuildInputs = [ MathLibm constant-defer ];
15454     buildInputs = [ DataFloat MathBigIntLite NumberFraction ];
15455     meta = {
15456       description = "Points on a path through the 2-D plane";
15457       license = with lib.licenses; [ gpl3Plus ];
15458     };
15459   };
15461   MathPrimeUtil = buildPerlPackage {
15462     pname = "Math-Prime-Util";
15463     version = "0.73";
15464     src = fetchurl {
15465       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-0.73.tar.gz";
15466       hash = "sha256-Svpt2M25dJm9TsppJYYYEsKdn1oPGsJ62dLZybVgKJQ=";
15467     };
15468     propagatedBuildInputs = [ MathPrimeUtilGMP ];
15469     buildInputs = [ TestWarn ];
15470     meta = {
15471       description = "Utilities related to prime numbers, including fast sieves and factoring";
15472       homepage = "https://github.com/danaj/Math-Prime-Util";
15473       license = with lib.licenses; [ artistic1 gpl1Plus ];
15474       maintainers = [ maintainers.sgo ];
15475     };
15476   };
15478   MathPrimeUtilGMP = buildPerlPackage {
15479     pname = "Math-Prime-Util-GMP";
15480     version = "0.52";
15481     src = fetchurl {
15482       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-GMP-0.52.tar.gz";
15483       hash = "sha256-JpfH/Vx+Nf3sf1DtVqZ76Aei8iZXWJ5jfa01knRAA74=";
15484     };
15485     buildInputs = [ pkgs.gmp ];
15486     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15487     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15488     meta = {
15489       description = "Utilities related to prime numbers, using GMP";
15490       homepage = "https://github.com/danaj/Math-Prime-Util-GMP";
15491       license = with lib.licenses; [ artistic1 gpl1Plus ];
15492       maintainers = [ maintainers.sgo ];
15493     };
15494   };
15496   MathProvablePrime = buildPerlPackage {
15497     pname = "Math-ProvablePrime";
15498     version = "0.51";
15499     src = fetchurl {
15500       url = "mirror://cpan/authors/id/F/FE/FELIPE/Math-ProvablePrime-0.51.tar.gz";
15501       hash = "sha256-D7YWRJ+weorR6KgJxwghthjlPcD/3ayWVnYY3jPEbBE=";
15502     };
15503     buildInputs = [ FileWhich TestClass TestDeep TestException TestFailWarnings ];
15504     propagatedBuildInputs = [ BytesRandomSecureTiny ];
15505     meta = {
15506       description = "Generate a provable prime number, in pure Perl";
15507       license = with lib.licenses; [ artistic1 gpl1Plus ];
15508       maintainers = [ maintainers.sgo ];
15509     };
15510   };
15512   MathRandom = buildPerlPackage {
15513     pname = "Math-Random";
15514     version = "0.72";
15515     src = fetchurl {
15516       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Random-0.72.tar.gz";
15517       hash = "sha256-vgUiMogR2W3lBdnrrD0JY1kCb6jVw497uZmnjsW8JUw=";
15518     };
15519     meta = {
15520       description = "Random Number Generators";
15521       license = with lib.licenses; [ artistic1 gpl1Plus publicDomain ];
15522     };
15523   };
15525   MathRandomISAAC = buildPerlPackage {
15526     pname = "Math-Random-ISAAC";
15527     version = "1.004";
15528     src = fetchurl {
15529       url = "mirror://cpan/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz";
15530       hash = "sha256-J3PwL78gfpdF52oDffCL9ajMmH7SPFcEDOf3sVYfK3w=";
15531     };
15532     buildInputs = [ TestNoWarnings ];
15533     meta = {
15534       description = "Perl interface to the ISAAC PRNG algorithm";
15535       homepage = "https://search.cpan.org/dist/Math-Random-ISAAC";
15536       license = with lib.licenses; [ publicDomain mit artistic2 gpl1Plus ];
15537     };
15538   };
15540   MathRandomMTAuto = buildPerlPackage {
15541     pname = "Math-Random-MT-Auto";
15542     version = "6.23";
15543     src = fetchurl {
15544       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz";
15545       hash = "sha256-WLy1rTFilk/1oMTS3LqgICwshdnEcElvO3qZh1d3YxM=";
15546     };
15547     propagatedBuildInputs = [ ObjectInsideOut ];
15548     meta = {
15549       description = "Auto-seeded Mersenne Twister PRNGs";
15550       license = with lib.licenses; [ bsd3 ];
15551     };
15552   };
15554   MathRandomSecure = buildPerlPackage {
15555     pname = "Math-Random-Secure";
15556     version = "0.080001";
15557     src = fetchurl {
15558       url = "mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz";
15559       hash = "sha256-v6Sk6BfspyIGfB/z2hKrWrgNbFfapeXnq5NQyixx6zU=";
15560     };
15561     buildInputs = [ ListMoreUtils TestSharedFork TestWarn ];
15562     propagatedBuildInputs = [ CryptRandomSource MathRandomISAAC ];
15563     meta = {
15564       description = "Cryptographically-secure, cross-platform replacement for rand()";
15565       homepage = "https://github.com/frioux/Math-Random-Secure";
15566       license = with lib.licenses; [ artistic2 ];
15567     };
15568   };
15570   MathRound = buildPerlPackage {
15571     pname = "Math-Round";
15572     version = "0.07";
15573     src = fetchurl {
15574       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz";
15575       hash = "sha256-c6cymoblSlwppEA4LlgDCVtY8zEp5hod8Ak7SCTekyc=";
15576     };
15577     meta = {
15578       description = "Perl extension for rounding numbers";
15579       license = with lib.licenses; [ artistic1 gpl1Plus ];
15580     };
15581   };
15583   MathVecStat = buildPerlPackage {
15584     pname = "Math-VecStat";
15585     version = "0.08";
15586     src = fetchurl {
15587       url = "mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz";
15588       hash = "sha256-QJqODksQJcjoD2KPZal3iqd6soUWFAbKSmwJexNlbQ0=";
15589     };
15590     meta = {
15591       description = "Some basic numeric stats on vectors";
15592       license = with lib.licenses; [ artistic1 gpl1Plus ];
15593     };
15594   };
15596   MaxMindDBCommon = buildPerlPackage {
15597     pname = "MaxMind-DB-Common";
15598     version = "0.040001";
15599     src = fetchurl {
15600       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Common-0.040001.tar.gz";
15601       hash = "sha256-a8bfS9NjANB6pKX4GYrmaUyn4xPAOBCciNvDqZeyG9c=";
15602     };
15603     propagatedBuildInputs = [ DataDumperConcise DateTime ListAllUtils MooXStrictConstructor ];
15604     meta = {
15605       description = "Code shared by the MaxMind DB reader and writer modules";
15606       homepage = "https://metacpan.org/release/MaxMind-DB-Common";
15607       license = with lib.licenses; [ artistic2 ];
15608     };
15609   };
15611   MaxMindDBReader = buildPerlPackage {
15612     pname = "MaxMind-DB-Reader";
15613     version = "1.000014";
15614     src = fetchurl {
15615       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-1.000014.tar.gz";
15616       hash = "sha256-OCAHj5yWf5qIch6kDKBeSZnBxTAb68HRGQYPntXOOak=";
15617     };
15618     propagatedBuildInputs = [ DataIEEE754 DataPrinter DataValidateIP MaxMindDBCommon ];
15619     buildInputs = [ PathClass TestBits TestFatal TestNumberDelta TestRequires ];
15620     meta = {
15621       description = "Read MaxMind DB files and look up IP addresses";
15622       homepage = "https://metacpan.org/release/MaxMind-DB-Reader";
15623       license = with lib.licenses; [ artistic2 ];
15624     };
15625   };
15627   MaxMindDBReaderXS = buildPerlModule {
15628     pname = "MaxMind-DB-Reader-XS";
15629     version = "1.000009";
15630     src = fetchurl {
15631       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-XS-1.000009.tar.gz";
15632       hash = "sha256-qm+4f+0Z1UnymxNd55l+6SsSJ9Ymyw6JBgCpHK3DBTo=";
15633     };
15634     propagatedBuildInputs = [ pkgs.libmaxminddb MathInt128 MaxMindDBReader ];
15635     buildInputs = [ NetWorks PathClass TestFatal TestNumberDelta TestRequires ];
15636     meta = {
15637       description = "Fast XS implementation of MaxMind DB reader";
15638       homepage = "https://metacpan.org/release/MaxMind-DB-Reader-XS";
15639       license = with lib.licenses; [ artistic2 ];
15640       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBReaderXS.x86_64-darwin
15641     };
15642   };
15644   MaxMindDBWriter = buildPerlModule {
15645     pname = "MaxMind-DB-Writer";
15646     version = "0.300003";
15647     src = fetchurl {
15648       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Writer-0.300003.tar.gz";
15649       hash = "sha256-ulP1upZfekd/ZxZNl7R1oMESCIcv7fI4mIVQ2SvN6z4=";
15650     };
15651     propagatedBuildInputs = [ DigestSHA1 MaxMindDBReader MooseXParamsValidate MooseXStrictConstructor NetWorks SerealDecoder SerealEncoder ];
15652     buildInputs = [ DevelRefcount JSON TestBits TestDeep TestFatal TestHexDifferences TestRequires TestWarnings ];
15653     hardeningDisable = [ "format" ];
15654     meta = {
15655       description = "Create MaxMind DB database files";
15656       homepage = "https://metacpan.org/release/MaxMind-DB-Writer";
15657       license = with lib.licenses; [ artistic1 gpl1Plus ];
15658       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBWriter.x86_64-darwin
15659     };
15660   };
15662   Memoize = buildPerlPackage {
15663     pname = "Memoize";
15664     version = "1.16";
15665     src = fetchurl {
15666       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Memoize-1.16.tar.gz";
15667       hash = "sha256-CRlSvPSS7O41ueW41ykgxYAjRB15IIwduHg3xcV4B74=";
15668     };
15669     meta = {
15670       description = "Make functions faster by trading space for time";
15671       license = with lib.licenses; [ artistic1 gpl1Plus ];
15672     };
15673   };
15675   MemoizeExpireLRU = buildPerlPackage {
15676     pname = "Memoize-ExpireLRU";
15677     version = "0.56";
15678     src = fetchurl {
15679       url = "mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz";
15680       hash = "sha256-7oNjAcu6uaJLBfxlft+pS3/YV42YNuVmoZHQpbAc1/Y=";
15681     };
15682     meta = {
15683       description = "Expiry plug-in for Memoize that adds LRU cache expiration";
15684       homepage = "https://github.com/neilb/Memoize-ExpireLRU";
15685       license = with lib.licenses; [ artistic1 gpl1Plus ];
15686     };
15687   };
15689   MemoryProcess = buildPerlPackage {
15690     pname = "Memory-Process";
15691     version = "0.06";
15692     src = fetchurl {
15693       url = "mirror://cpan/authors/id/S/SK/SKIM/Memory-Process-0.06.tar.gz";
15694       hash = "sha256-NYFEiP/SnJdiFiXqOz1wCvv6YO0FW9dZ1OWNnI/UTk4=";
15695     };
15696     buildInputs = [ CaptureTiny TestNoWarnings ];
15697     propagatedBuildInputs = [ MemoryUsage Readonly ];
15698     meta = {
15699       description = "Memory process reporting";
15700       homepage = "https://github.com/michal-josef-spacek/Memory-Process";
15701       license = lib.licenses.bsd3;
15702       platforms = lib.platforms.linux;
15703     };
15704   };
15706   MemoryUsage = buildPerlPackage {
15707     pname = "Memory-Usage";
15708     version = "0.201";
15709     src = fetchurl {
15710       url = "mirror://cpan/authors/id/D/DO/DONEILL/Memory-Usage-0.201.tar.gz";
15711       hash = "sha256-jyr60h5Ap0joHIwPPkDKcYwU3bn7LYgL+9KK6RPOU0k=";
15712     };
15713     meta = {
15714       description = "Tools to determine actual memory usage";
15715       license = with lib.licenses; [ artistic1 gpl1Plus ];
15716     };
15717   };
15719   Menlo = buildPerlPackage {
15720     pname = "Menlo";
15721     version = "1.9019";
15722     src = fetchurl {
15723       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-1.9019.tar.gz";
15724       hash = "sha256-O1c/aOezo2qHyGC+JYWZMw+sJItRiFTftWV6xIPcpWU=";
15725     };
15726     propagatedBuildInputs = [ CPANCommonIndex CPANMetaCheck CaptureTiny ExtUtilsHelpers ExtUtilsInstallPaths Filepushd HTTPTinyish ModuleCPANfile ParsePMFile StringShellQuote Win32ShellQuote locallib ];
15727     meta = {
15728       description = "CPAN client";
15729       homepage = "https://github.com/miyagawa/cpanminus";
15730       license = with lib.licenses; [ artistic1 gpl1Plus ];
15731     };
15732   };
15734   MenloLegacy = buildPerlPackage {
15735     pname = "Menlo-Legacy";
15736     version = "1.9022";
15737     src = fetchurl {
15738       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-Legacy-1.9022.tar.gz";
15739       hash = "sha256-pqysP+4xioBLQ53lSsvHwn8LRM/a2FUbvJzUWYarwgE=";
15740     };
15741     propagatedBuildInputs = [ Menlo ];
15742     meta = {
15743       description = "Legacy internal and client support for Menlo";
15744       homepage = "https://github.com/miyagawa/cpanminus";
15745       license = with lib.licenses; [ artistic1 gpl1Plus ];
15746     };
15747   };
15749   meta = buildPerlModule {
15750     pname = "meta";
15751     version = "0.012";
15752     src = fetchurl {
15753       url = "mirror://cpan/authors/id/P/PE/PEVANS/meta-0.012.tar.gz";
15754       hash = "sha256-Fx0J0wn4APVTTQE4tXMDmpYfEDtDaKhBC3dogzFuuFk=";
15755     };
15756     buildInputs = [ Test2Suite ];
15757     meta = {
15758       description = "Meta-programming API";
15759       license = with lib.licenses; [ artistic1 gpl1Plus ];
15760       maintainers = [ maintainers.zakame ];
15761     };
15762   };
15764   MetaBuilder = buildPerlModule {
15765     pname = "Meta-Builder";
15766     version = "0.004";
15767     src = fetchurl {
15768       url = "mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.004.tar.gz";
15769       hash = "sha256-rLSZqnIG652yHrhTV6dFIb/jva5KZBbVCnx1uTnPVv4=";
15770     };
15771     buildInputs = [ FennecLite TestException ];
15772     meta = {
15773       description = "Tools for creating Meta objects to track custom metrics";
15774       license = with lib.licenses; [ artistic1 gpl1Plus ];
15775     };
15776   };
15778   MetaCPANClient = buildPerlPackage {
15779     pname = "MetaCPAN-Client";
15780     version = "2.030000";
15781     src = fetchurl {
15782       url = "mirror://cpan/authors/id/M/MI/MICKEY/MetaCPAN-Client-2.030000.tar.gz";
15783       hash = "sha256-2bdlxSN3VPFyYmljgqc4XZCy0BmGl5gXhisWZLBt068=";
15784     };
15786     # Most tests are online, so we only include offline tests
15787     postPatch = ''
15788       substituteInPlace Makefile.PL \
15789         --replace '"t/*.t t/api/*.t"' \
15790         '"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"'
15791     '';
15793     buildInputs = [ LWPProtocolHttps TestFatal TestNeeds ];
15794     propagatedBuildInputs = [ IOSocketSSL JSONMaybeXS Moo RefUtil SafeIsa TypeTiny URI ];
15795     meta = {
15796       description = "Comprehensive, DWIM-featured client to the MetaCPAN API";
15797       homepage = "https://github.com/metacpan/metacpan-client";
15798       license = with lib.licenses; [ artistic1 gpl1Plus ];
15799       maintainers = with maintainers; [ sgo ];
15800     };
15801   };
15803   MethodSignaturesSimple = buildPerlPackage {
15804     pname = "Method-Signatures-Simple";
15805     version = "1.07";
15806     src = fetchurl {
15807       url = "mirror://cpan/authors/id/R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz";
15808       hash = "sha256-yM19Rxl3zIh2BEGSq9mKga/d/yomu5oQu+NY76Nx2tw=";
15809     };
15810     propagatedBuildInputs = [ DevelDeclare ];
15811     meta = {
15812       description = "Basic method declarations with signatures, without source filters";
15813       license = with lib.licenses; [ artistic1 gpl1Plus ];
15814     };
15815   };
15817   MetricsAny = buildPerlModule {
15818     pname = "Metrics-Any";
15819     version = "0.10";
15820     src = fetchurl {
15821       url = "mirror://cpan/authors/id/P/PE/PEVANS/Metrics-Any-0.10.tar.gz";
15822       hash = "sha256-qQ6t+civJKUWu5obZwYfZBhT+QuP7p/8JNK7lyDouZs=";
15823     };
15824     buildInputs = [ Test2Suite ];
15825     meta = {
15826       description = "Abstract collection of monitoring metrics";
15827       license = with lib.licenses; [ artistic1 gpl1Plus ];
15828     };
15829   };
15831   # TODO: use CPAN version
15832   MHonArc = buildPerlPackage {
15833     pname = "MHonArc";
15834     version = "2.6.24";
15836     src = fetchurl {
15837       url = "mirror://cpan/authors/id/L/LD/LDIDRY/MHonArc-2.6.24.tar.gz";
15838       hash = "sha256-RX3HN07lnLdaBynlHO8vLFK0gYD3Odj9lW6hmIKBXzM=";
15839     };
15841     outputs = [ "out" "dev" ]; # no "devdoc"
15843     installTargets = [ "install" ];
15845     meta = {
15846       homepage = "https://www.mhonarc.org/";
15847       description = "Mail-to-HTML converter";
15848       mainProgram = "mhonarc";
15849       license = with lib.licenses; [ gpl2Only ];
15850     };
15851   };
15853   MIMECharset = buildPerlPackage {
15854     pname = "MIME-Charset";
15855     version = "1.013.1";
15856     src = fetchurl {
15857       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.013.1.tar.gz";
15858       hash = "sha256-G7em4MDSUfI9bmC/hMmt78W3TuxYR1v+5NORB+YIcPA=";
15859     };
15860     meta = {
15861       description = "Charset Information for MIME";
15862       license = with lib.licenses; [ artistic1 gpl1Plus ];
15863     };
15864   };
15866   mimeConstruct = buildPerlPackage {
15867     pname = "mime-construct";
15868     version = "1.11";
15869     src = fetchurl {
15870       url = "mirror://cpan/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz";
15871       hash = "sha256-TNe7YbUdQRktFJjBBRqmpMzXWusJtx0uxwanCEpKkwM=";
15872     };
15873     outputs = [ "out" ];
15874     buildInputs = [ ProcWaitStat ];
15875     meta = {
15876       description = "Construct and optionally mail MIME messages";
15877       license = with lib.licenses; [ gpl2Plus ];
15878     };
15879   };
15881   MIMEEncWords = buildPerlPackage {
15882     pname = "MIME-EncWords";
15883     version = "1.014.3";
15884     src = fetchurl {
15885       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-EncWords-1.014.3.tar.gz";
15886       hash = "sha256-6a+1SGEdTn5sULfwa70rG7KAjjeoEN7vtTfGevVIUjg=";
15887     };
15888     propagatedBuildInputs = [ MIMECharset ];
15889     meta = {
15890       description = "Deal with RFC 2047 encoded words (improved)";
15891       homepage = "https://metacpan.org/pod/MIME::EncWords";
15892       license = with lib.licenses; [ artistic1 gpl1Plus ];
15893       maintainers = [ maintainers.sgo ];
15894     };
15895   };
15897   MIMELite = buildPerlPackage {
15898     pname = "MIME-Lite";
15899     version = "3.033";
15900     src = fetchurl {
15901       url = "mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.033.tar.gz";
15902       hash = "sha256-eKJ58dLiQlUcNH75ehP8Z1dmYCy4TCqAxWlAD082i6s=";
15903     };
15904     propagatedBuildInputs = [ EmailDateFormat ];
15905     meta = {
15906       description = "Low-calorie MIME generator (DEPRECATED)";
15907       license = with lib.licenses; [ artistic1 gpl1Plus ];
15908     };
15909   };
15911   MIMELiteHTML = buildPerlPackage {
15912     pname = "MIME-Lite-HTML";
15913     version = "1.24";
15914     src = fetchurl {
15915       url = "mirror://cpan/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.24.tar.gz";
15916       hash = "sha256-22A8y/ZlO80oz6gk1y5RHq0Bn8ivufGFTshy2y082No=";
15917     };
15918     doCheck = false;
15919     propagatedBuildInputs = [ LWP MIMELite ];
15920     meta = {
15921       description = "Provide routine to transform a HTML page in a MIME-Lite mail";
15922       license = with lib.licenses; [ artistic1 gpl1Plus ];
15923     };
15924   };
15926   MIMETools = buildPerlPackage {
15927     pname = "MIME-tools";
15928     version = "5.509";
15929     src = fetchurl {
15930       url = "mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
15931       hash = "sha256-ZFefDJI9gdmiGUWG5Hw0dVGeJkbktcECqJIHWfrPaXM=";
15932     };
15933     propagatedBuildInputs = [ MailTools ];
15934     buildInputs = [ TestDeep ];
15935     meta = {
15936       description = "Tools to manipulate MIME messages";
15937       license = with lib.licenses; [ artistic1 gpl1Plus ];
15938     };
15939   };
15941   MIMETypes = buildPerlPackage {
15942     pname = "MIME-Types";
15943     version = "2.24";
15944     src = fetchurl {
15945       url = "mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.24.tar.gz";
15946       hash = "sha256-Yp42HyKyIL5QwtpzVOI8BFF1dwmgPCWiLzFg7blMtl8=";
15947     };
15948     meta = {
15949       description = "Definition of MIME types";
15950       homepage = "http://perl.overmeer.net/CPAN";
15951       license = with lib.licenses; [ artistic1 gpl1Plus ];
15952     };
15953   };
15955   Minion = buildPerlPackage {
15956     pname = "Minion";
15957     version = "10.30";
15958     src = fetchurl {
15959       url = "mirror://cpan/authors/id/S/SR/SRI/Minion-10.30.tar.gz";
15960       hash = "sha256-twS9ZuxK8cAzlGifAsCsBIDr0GzpzKFykVAbkgLG7Rw=";
15961     };
15962     propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
15963     meta = {
15964       description = "High performance job queue for Perl";
15965       homepage = "https://github.com/mojolicious/minion";
15966       license = with lib.licenses; [ artistic2 ];
15967       maintainers = [ maintainers.sgo ];
15968     };
15969   };
15971   MinionBackendRedis = buildPerlModule {
15972     pname = "Minion-Backend-Redis";
15973     version = "0.003";
15974     src = fetchurl {
15975       url = "mirror://cpan/authors/id/D/DF/DFUG/Minion-Backend-Redis-0.003.tar.gz";
15976       hash = "sha256-zXZRIQbfHKmQF75fObSmXgSCawzZQxe3GsAWGzXzI6A=";
15977     };
15978     buildInputs = [ ModuleBuildTiny ];
15979     propagatedBuildInputs = [ Minion MojoRedis Mojolicious SortVersions ];
15980     meta = {
15981       homepage = "https://github.com/Difegue/Minion-Backend-Redis";
15982       description = "Redis backend for Minion job queue";
15983       license = with lib.licenses; [ artistic2 ];
15984       maintainers = with maintainers; [ tomasajt ];
15985     };
15986   };
15988   MinionBackendSQLite = buildPerlModule {
15989     pname = "Minion-Backend-SQLite";
15990     version = "5.0.7";
15991     src = fetchurl {
15992       url = "mirror://cpan/authors/id/D/DB/DBOOK/Minion-Backend-SQLite-v5.0.7.tar.gz";
15993       hash = "sha256-zd49IrGv+n32seErKlLp88G2gci1k6G+TeO+aOTaXHI=";
15994     };
15995     buildInputs = [ ModuleBuildTiny ];
15996     propagatedBuildInputs = [ Minion MojoSQLite ];
15997     meta = {
15998       description = "SQLite backend for Minion job queue";
15999       homepage = "https://github.com/Grinnz/Minion-Backend-SQLite";
16000       license = with lib.licenses; [ artistic2 ];
16001       maintainers = [ maintainers.sgo ];
16002     };
16003   };
16005   MinionBackendmysql = buildPerlPackage {
16006     pname = "Minion-Backend-mysql";
16007     version = "1.003";
16008     src = fetchurl {
16009       url = "mirror://cpan/authors/id/P/PR/PREACTION/Minion-Backend-mysql-1.003.tar.gz";
16010       hash = "sha256-aaJcJAyw5NTvTxqjKgTt+Nolt+jTqCDP1kVhWZ7aRUI=";
16011     };
16012     buildInputs = [ Testmysqld ];
16013     propagatedBuildInputs = [ Minion Mojomysql ];
16014     meta = {
16015       description = "MySQL backend for the Minion job queue";
16016       homepage = "https://github.com/preaction/Minion-Backend-mysql";
16017       license = with lib.licenses; [ artistic1 gpl1Plus ];
16018       maintainers = [ maintainers.sgo ];
16019     };
16020   };
16022   MixinLinewise = buildPerlPackage {
16023     pname = "Mixin-Linewise";
16024     version = "0.111";
16025     src = fetchurl {
16026       url = "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.111.tar.gz";
16027       hash = "sha256-0o6IUWzptSlcMWMdzM3A/I8qt9ilzIdrsbIBMQh7Ads=";
16028     };
16029     propagatedBuildInputs = [ PerlIOutf8_strict SubExporter ];
16030     meta = {
16031       description = "Write your linewise code for handles; this does the rest";
16032       homepage = "https://github.com/rjbs/Mixin-Linewise";
16033       license = with lib.licenses; [ artistic1 gpl1Plus ];
16034     };
16035   };
16037   MLDBM = buildPerlModule {
16038     pname = "MLDBM";
16039     version = "2.05";
16040     src = fetchurl {
16041       url = "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-2.05.tar.gz";
16042       hash = "sha256-WGiA7QwggBq79nNHR+E+AgPt7+zm68TyDdtQWfAqF6I=";
16043     };
16044     meta = {
16045       description = "Store multi-level Perl hash structure in single level tied hash";
16046       license = with lib.licenses; [ artistic1 gpl1Plus ];
16047     };
16048   };
16050   MNI-Perllib = callPackage ../development/perl-modules/MNI {};
16052   Mo = buildPerlPackage {
16053     pname = "Mo";
16054     version = "0.40";
16055     src = fetchurl {
16056       url = "mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz";
16057       hash = "sha256-kdJBUjkfjCeX7jUDkTja6m3j7gO98+G4ck+lx1VAzrk=";
16058     };
16059     meta = {
16060       description = "Micro Objects. Mo is less";
16061       homepage = "https://github.com/ingydotnet/mo-pm";
16062       license = with lib.licenses; [ artistic1 gpl1Plus ];
16063       mainProgram = "mo-inline";
16064     };
16065   };
16067   MockConfig = buildPerlPackage {
16068     pname = "Mock-Config";
16069     version = "0.03";
16070     src = fetchurl {
16071       url = "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz";
16072       hash = "sha256-pbg0V1fKTyuTNfW+FOk+u7UChlIzp1W/U7xxVt7sABs=";
16073     };
16074     meta = {
16075       description = "Temporarily set Config or XSConfig values";
16076       license = with lib.licenses; [ artistic1 gpl1Plus ];
16077     };
16078   };
16080   ModernPerl = buildPerlPackage {
16081     pname = "Modern-Perl";
16082     version = "1.20230106";
16084     src = fetchurl {
16085       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20230106.tar.gz";
16086       hash = "sha256-BFncq4DOgrY0Yf2B7pTgbpplFdmPP7wxmDjdHmAoUfc=";
16087     };
16088     meta = {
16089       description = "Enable all of the features of Modern Perl with one import";
16090       homepage = "https://github.com/chromatic/Modern-Perl";
16091       license = with lib.licenses; [ artistic1 gpl1Plus ];
16092     };
16093   };
16095   Modulecpmfile = buildPerlModule {
16096     pname = "Module-cpmfile";
16097     version = "0.006";
16098     src = fetchurl {
16099       url = "mirror://cpan/authors/id/S/SK/SKAJI/Module-cpmfile-0.006.tar.gz";
16100       hash = "sha256-G8l24pN3JIlsn26unl3KmB4n+YQwuS3icO41FP0ArA8=";
16101     };
16102     buildInputs = [ ModuleBuildTiny ModuleCPANfile Test2Suite ];
16103     propagatedBuildInputs = [ YAMLPP ];
16104     meta = {
16105       description = "Parse cpmfile";
16106       homepage = "https://github.com/skaji/cpmfile";
16107       license = with lib.licenses; [ artistic1 gpl1Plus ];
16108       maintainers = [ maintainers.zakame ];
16109     };
16110   };
16112   ModuleBuild = buildPerlPackage {
16113     pname = "Module-Build";
16114     version = "0.4234";
16115     src = fetchurl {
16116       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4234.tar.gz";
16117       hash = "sha256-Zq6sYSdBi+XkcerTdEZIx2a9AUgoJcW2ZlJnXyvIao8=";
16118     };
16119     postConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
16120       # for unknown reason, the first run of Build fails
16121       ./Build || true
16122     '';
16123     postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
16124       # remove version check since miniperl uses a stub of File::Temp, which do not provide a version:
16125       # https://github.com/arsv/perl-cross/blob/master/cnf/stub/File/Temp.pm
16126       sed -i '/File::Temp/d' \
16127         Build.PL
16129       # fix discover perl function, it can not handle a wrapped perl
16130       sed -i "s,\$self->_discover_perl_interpreter,'$(type -p perl)',g" \
16131         lib/Module/Build/Base.pm
16132     '';
16133     meta = {
16134       description = "Build and install Perl modules";
16135       license = with lib.licenses; [ artistic1 gpl1Plus ];
16136       mainProgram = "config_data";
16137     };
16138   };
16140   ModuleBuildDeprecated = buildPerlModule {
16141     pname = "Module-Build-Deprecated";
16142     version = "0.4210";
16143     src = fetchurl {
16144       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Deprecated-0.4210.tar.gz";
16145       hash = "sha256-vgiTE/wjjuIYNHOsqMhrVfs89EeXMSy+m4ktY2JiFwM=";
16146     };
16147     doCheck = false;
16148     meta = {
16149       description = "Collection of modules removed from Module-Build";
16150       license = with lib.licenses; [ artistic1 gpl1Plus ];
16151     };
16152   };
16154   ModuleBuildPluggable = buildPerlModule {
16155     pname = "Module-Build-Pluggable";
16156     version = "0.10";
16157     src = fetchurl {
16158       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-0.10.tar.gz";
16159       hash = "sha256-5bsqyxF3ksmEYogSrLD+w3bLlwyu6O3ldTXgTXYrDkA=";
16160     };
16161     propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ];
16162     buildInputs = [ TestSharedFork ];
16163     meta = {
16164       description = "Module::Build meets plugins";
16165       homepage = "https://github.com/tokuhirom/Module-Build-Pluggable";
16166       license = with lib.licenses; [ artistic1 gpl1Plus ];
16167     };
16168   };
16170   ModuleBuildPluggableCPANfile = buildPerlModule {
16171     pname = "Module-Build-Pluggable-CPANfile";
16172     version = "0.05";
16173     src = fetchurl {
16174       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Module-Build-Pluggable-CPANfile-0.05.tar.gz";
16175       hash = "sha256-SuxsuiQMtueAFkBrajqHVjTMKuwI/8XxVy2hzcQOHnw=";
16176     };
16177     buildInputs = [ CaptureTiny TestRequires TestSharedFork ];
16178     propagatedBuildInputs = [ ModuleBuildPluggable ModuleCPANfile ];
16179     meta = {
16180       description = "Include cpanfile";
16181       homepage = "https://github.com/kazeburo/Module-Build-Pluggable-CPANfile";
16182       license = with lib.licenses; [ artistic1 gpl1Plus ];
16183     };
16184   };
16186   ModuleBuildPluggablePPPort = buildPerlModule {
16187     pname = "Module-Build-Pluggable-PPPort";
16188     version = "0.04";
16189     src = fetchurl {
16190       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-PPPort-0.04.tar.gz";
16191       hash = "sha256-RAhLo9iBXzQ705FYWsXYM5pIB85cDdhMmNuPMQtkwOo=";
16192     };
16193     buildInputs = [ TestRequires TestSharedFork ];
16194     propagatedBuildInputs = [ ModuleBuildPluggable ];
16195     meta = {
16196       description = "Generate ppport.h";
16197       license = with lib.licenses; [ artistic1 gpl1Plus ];
16198     };
16199   };
16201   ModuleBuildTiny = buildPerlModule {
16202     pname = "Module-Build-Tiny";
16203     version = "0.047";
16204     src = fetchurl {
16205       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.047.tar.gz";
16206       hash = "sha256-cSYOlCG5PDPdGz59DPFfdZwMp8dT+oQCeew75w+PjJ0=";
16207     };
16208     buildInputs = [ FileShareDir ];
16209     propagatedBuildInputs = [ ExtUtilsHelpers ExtUtilsInstallPaths ];
16210     meta = {
16211       description = "Tiny replacement for Module::Build";
16212       license = with lib.licenses; [ artistic1 gpl1Plus ];
16213     };
16214   };
16216   ModuleBuildWithXSpp = buildPerlModule {
16217     pname = "Module-Build-WithXSpp";
16218     version = "0.14";
16219     src = fetchurl {
16220       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-0.14.tar.gz";
16221       hash = "sha256-U7PIyP29UPw9rT0Z2iDxtkFO9wZluTEXEMgClp50aTQ=";
16222     };
16223     propagatedBuildInputs = [ ExtUtilsCppGuess ExtUtilsXSpp ];
16224     meta = {
16225       description = "XS++ enhanced flavour of Module::Build";
16226       license = with lib.licenses; [ artistic1 gpl1Plus ];
16227     };
16228   };
16230   ModuleBuildXSUtil = buildPerlModule {
16231     pname = "Module-Build-XSUtil";
16232     version = "0.19";
16233     src = fetchurl {
16234       url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz";
16235       hash = "sha256-kGOzw0bt60IoB//kn/sjA4xPkA1Kd7hFzktT2XvylAA=";
16236     };
16237     buildInputs = [ CaptureTiny CwdGuard FileCopyRecursiveReduced ];
16238     propagatedBuildInputs = [ DevelCheckCompiler ];
16239     perlPreHook = "export LD=$CC";
16240     meta = {
16241       description = "Module::Build class for building XS modules";
16242       homepage = "https://github.com/hideo55/Module-Build-XSUtil";
16243       license = with lib.licenses; [ artistic1 gpl1Plus ];
16244     };
16245   };
16247   ModuleCompile = buildPerlPackage {
16248     pname = "Module-Compile";
16249     version = "0.38";
16250     src = fetchurl {
16251       url = "mirror://cpan/authors/id/I/IN/INGY/Module-Compile-0.38.tar.gz";
16252       hash = "sha256-gJDPu2ESNDfu/sPjvthgBdH3xaUp+2/aLr68ZWS5qhA=";
16253     };
16254     propagatedBuildInputs = [ CaptureTiny DigestSHA1 ];
16255     meta = {
16256       description = "Perl Module Compilation";
16257       homepage = "https://github.com/ingydotnet/module-compile-pm";
16258       license = with lib.licenses; [ artistic1 gpl1Plus ];
16259     };
16260   };
16262   ModuleCPANTSAnalyse = buildPerlPackage {
16263     pname = "Module-CPANTS-Analyse";
16264     version = "1.02";
16265     src = fetchurl {
16266       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.02.tar.gz";
16267       hash = "sha256-nhFzm5zQi6LXWllzfx+yl/RYA/KJBjxcdZv8eP1Rbns=";
16268     };
16269     propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff ClassAccessor DataBinary FileFindObject ModuleFind ParseDistname PerlPrereqScannerNotQuiteLite SoftwareLicense ];
16270     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings ];
16271     meta = {
16272       description = "Generate Kwalitee ratings for a distribution";
16273       homepage = "https://cpants.cpanauthors.org";
16274       license = with lib.licenses; [ artistic1 gpl1Plus ];
16275     };
16276   };
16278   ModuleCPANfile = buildPerlPackage {
16279     pname = "Module-CPANfile";
16280     version = "1.1004";
16281     src = fetchurl {
16282       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1004.tar.gz";
16283       hash = "sha256-iO++LppkLc6qGGQw/t/PmZqvDgb2zO0opxS45WtRSSE=";
16284     };
16285     buildInputs = [ Filepushd ];
16286     meta = {
16287       description = "Parse cpanfile";
16288       homepage = "https://github.com/miyagawa/cpanfile";
16289       license = with lib.licenses; [ artistic1 gpl1Plus ];
16290     };
16291   };
16293   ModuleExtractUse = buildPerlModule {
16294     pname = "Module-ExtractUse";
16295     version = "0.345";
16296     src = fetchurl {
16297       url = "mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.345.tar.gz";
16298       hash = "sha256-juJOh0KrnaeSKL4Yfdoxm01fUKkaHs+H1JQhO1uzDdE=";
16299     };
16300     propagatedBuildInputs = [ ParseRecDescent PodStrip ];
16301     buildInputs = [ TestDeep TestNoWarnings ];
16302     meta = {
16303       description = "Find out what modules are used";
16304       license = with lib.licenses; [ artistic1 gpl1Plus ];
16305     };
16306   };
16308   ModuleExtractVERSION = buildPerlPackage {
16309     pname = "Module-Extract-VERSION";
16310     version = "1.116";
16311     src = fetchurl {
16312       url = "mirror://cpan/authors/id/B/BD/BDFOY/Module-Extract-VERSION-1.116.tar.gz";
16313       hash = "sha256-QZA6BoUXgoU0X12oVdkluUVO5xCpeV48TDJ7ri9Vdpg=";
16314     };
16315     meta = {
16316       homepage = "https://github.com/briandfoy/module-extract-version";
16317       description = "Extract a module version safely";
16318       license = lib.licenses.artistic2;
16319     };
16320   };
16322   ModuleFind = buildPerlPackage {
16323     pname = "Module-Find";
16324     version = "0.16";
16325     src = fetchurl {
16326       url = "mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.16.tar.gz";
16327       hash = "sha256-S8qqN2kVAUco1PUzqYxbWdZlBRzTzbr8lg5aZv0TEJI=";
16328     };
16329     meta = {
16330       description = "Find and use installed modules in a (sub)category";
16331       license = with lib.licenses; [ artistic1 gpl1Plus ];
16332     };
16333   };
16335   ModuleImplementation = buildPerlPackage {
16336     pname = "Module-Implementation";
16337     version = "0.09";
16338     src = fetchurl {
16339       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz";
16340       hash = "sha256-wV8aEvDCEwye//PC4a/liHsIzNAzvRMhhtHn1Qh/1m0=";
16341     };
16342     buildInputs = [ TestFatal TestRequires ];
16343     propagatedBuildInputs = [ ModuleRuntime TryTiny ];
16344     meta = {
16345       description = "Loads one of several alternate underlying implementations for a module";
16346       homepage = "https://metacpan.org/release/Module-Implementation";
16347       license = with lib.licenses; [ artistic2 ];
16348     };
16349   };
16351   ModuleInfo = buildPerlPackage {
16352     pname = "Module-Info";
16353     version = "0.37";
16354     src = fetchurl {
16355       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz";
16356       hash = "sha256-jqgCUpeQsZwfNzoeR9g4FmT5xMH3ao2LvG221zEcJEg=";
16357     };
16358     buildInputs = [ TestPod TestPodCoverage ];
16359     propagatedBuildInputs = [ BUtils ];
16360     meta = {
16361       description = "Information about Perl modules";
16362       license = with lib.licenses; [ artistic1 gpl1Plus ];
16363       mainProgram = "module_info";
16364     };
16365   };
16367   ModuleInstall = buildPerlPackage {
16368     pname = "Module-Install";
16369     version = "1.21";
16370     src = fetchurl {
16371       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Install-1.21.tar.gz";
16372       hash = "sha256-+/kQB/MFZfOSDhBgVf0NQoeYHV59rYs1MjzktzPxWns=";
16373     };
16374     propagatedBuildInputs = [ FileRemove ModuleBuild ModuleScanDeps YAMLTiny ];
16375     meta = {
16376       description = "Standalone, extensible Perl module installer";
16377       license = with lib.licenses; [ artistic1 gpl1Plus ];
16378     };
16379   };
16381   ModuleInstallAuthorRequires = buildPerlPackage {
16382     pname = "Module-Install-AuthorRequires";
16383     version = "0.02";
16384     src = fetchurl {
16385       url = "mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz";
16386       hash = "sha256-zGMhU310XSqDqChvhe8zRnRZOcw7NBAgRb7IVg6PTOw=";
16387     };
16388     propagatedBuildInputs = [ ModuleInstall ];
16389     meta = {
16390       description = "Declare author-only dependencies";
16391       license = with lib.licenses; [ artistic1 gpl1Plus ];
16392     };
16393   };
16395   ModuleInstallAuthorTests = buildPerlPackage {
16396     pname = "Module-Install-AuthorTests";
16397     version = "0.002";
16398     src = fetchurl {
16399       url = "mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz";
16400       hash = "sha256-QCVyLeY1ft9TwoUBsA59qSzS+fxhG6B1N2Gg4d/zLYg=";
16401     };
16402     propagatedBuildInputs = [ ModuleInstall ];
16403     meta = {
16404       description = "Designate tests only run by module authors";
16405       license = with lib.licenses; [ artistic1 gpl1Plus ];
16406     };
16407   };
16409   ModuleInstallGithubMeta = buildPerlPackage {
16410     pname = "Module-Install-GithubMeta";
16411     version = "0.30";
16412     src = fetchurl {
16413       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-GithubMeta-0.30.tar.gz";
16414       hash = "sha256-Lq1EyXPHSNctnxmeQcRNwYAf6a4GsPrcWUR2k6PJgoE=";
16415     };
16416     buildInputs = [ CaptureTiny ];
16417     propagatedBuildInputs = [ ModuleInstall ];
16418     meta = {
16419       description = "Module::Install extension to include GitHub meta information in META.yml";
16420       homepage = "https://github.com/bingos/module-install-githubmeta";
16421       license = with lib.licenses; [ artistic1 gpl1Plus ];
16422       maintainers = [ maintainers.sgo ];
16423     };
16424   };
16426   ModuleInstallReadmeFromPod = buildPerlPackage {
16427     pname = "Module-Install-ReadmeFromPod";
16428     version = "0.30";
16429     src = fetchurl {
16430       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-ReadmeFromPod-0.30.tar.gz";
16431       hash = "sha256-efbfVTZhn6/72mlr3SXMrRfEab8y5RzT5hM2bUlAAWk=";
16432     };
16433     buildInputs = [ TestInDistDir ];
16434     propagatedBuildInputs = [ CaptureTiny IOAll ModuleInstall PodMarkdown ];
16435     meta = {
16436       description = "Module::Install extension to automatically convert POD to a README";
16437       homepage = "https://github.com/bingos/module-install-readmefrompod";
16438       license = with lib.licenses; [ artistic1 gpl1Plus ];
16439       maintainers = [ maintainers.sgo ];
16440     };
16441   };
16443   ModuleInstallReadmeMarkdownFromPod = buildPerlPackage {
16444     pname = "Module-Install-ReadmeMarkdownFromPod";
16445     version = "0.04";
16446     src = fetchurl {
16447       url = "mirror://cpan/authors/id/M/MA/MATTN/Module-Install-ReadmeMarkdownFromPod-0.04.tar.gz";
16448       hash = "sha256-MAsuJE+DuaVKlfhATBzTrwY1tPrpdMplOQ7kKOxmhZE=";
16449     };
16450     buildInputs = [ URI ];
16451     propagatedBuildInputs = [ ModuleInstall PodMarkdown ];
16452     meta = {
16453       description = "Create README.mkdn from POD";
16454       homepage = "https://search.cpan.org/dist/Module-Install-ReadmeMarkdownFromPod";
16455       license = with lib.licenses; [ artistic1 gpl1Plus ];
16456       maintainers = [ maintainers.sgo ];
16457     };
16458   };
16460   ModuleInstallRepository = buildPerlPackage {
16461     pname = "Module-Install-Repository";
16462     version = "0.06";
16463     src = fetchurl {
16464       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-Install-Repository-0.06.tar.gz";
16465       hash = "sha256-AOJZDQkznMzL2qMo0SrY7HfoMaOMmtZjcF5Z7LsYcis=";
16466     };
16467     buildInputs = [ PathClass ];
16468     meta = {
16469       description = "Automatically sets repository URL from svn/svk/Git checkout";
16470       license = with lib.licenses; [ artistic1 gpl1Plus ];
16471       maintainers = [ maintainers.sgo ];
16472     };
16473   };
16475   ModuleInstallXSUtil = buildPerlPackage {
16476     pname = "Module-Install-XSUtil";
16477     version = "0.45";
16478     src = fetchurl {
16479       url = "mirror://cpan/authors/id/G/GF/GFUJI/Module-Install-XSUtil-0.45.tar.gz";
16480       hash = "sha256-/nHlMyC+4TGXdJoLF2CaomP3H/RuXiwTDpR0Lqar31Y=";
16481     };
16482     buildInputs = [ BHooksOPAnnotation ];
16483     propagatedBuildInputs = [ ModuleInstall ];
16484     meta = {
16485       description = "Utility functions for XS modules";
16486       license = with lib.licenses; [ artistic1 gpl1Plus ];
16487     };
16488   };
16490   ModuleManifest = buildPerlPackage {
16491     pname = "Module-Manifest";
16492     version = "1.09";
16493     src = fetchurl {
16494       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz";
16495       hash = "sha256-o5X4D/FeoOZv1sRThEtnh+1Kh1o82N+ffikoAlC9U5s=";
16496     };
16497     buildInputs = [ TestException TestWarn ];
16498     propagatedBuildInputs = [ ParamsUtil ];
16499     meta = {
16500       description = "Parse and examine a Perl distribution MANIFEST file";
16501       homepage = "https://github.com/karenetheridge/Module-Manifest";
16502       license = with lib.licenses; [ artistic1 gpl1Plus ];
16503     };
16504   };
16506   ModulePath = buildPerlPackage {
16507     pname = "Module-Path";
16508     version = "0.19";
16509     src = fetchurl {
16510       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.19.tar.gz";
16511       hash = "sha256-szF5zk3XPfzefUaAiAS5/7sR2wJF/kVafQAXR1Yv6so=";
16512     };
16513     buildInputs = [ DevelFindPerl ];
16514     meta = {
16515       description = "Get the full path to a locally installed module";
16516       homepage = "https://github.com/neilbowers/Module-Path";
16517       license = with lib.licenses; [ artistic1 gpl1Plus ];
16518       mainProgram = "mpath";
16519     };
16520   };
16522   ModulePluggable = buildPerlPackage {
16523     pname = "Module-Pluggable";
16524     version = "5.2";
16525     src = fetchurl {
16526       url = "mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz";
16527       hash = "sha256-s/KtReT9ELP7kNkS142LeVqylUgNtW3GToa5+nXFpt8=";
16528     };
16529     patches = [
16530       # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
16531       ../development/perl-modules/module-pluggable.patch
16532     ];
16533     buildInputs = [ AppFatPacker ];
16534     meta = {
16535       description = "Automatically give your module the ability to have plugins";
16536       license = with lib.licenses; [ artistic1 gpl1Plus ];
16537     };
16538   };
16540   ModulePluggableFast = buildPerlPackage {
16541     pname = "Module-Pluggable-Fast";
16542     version = "0.19";
16543     src = fetchurl {
16544       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz";
16545       hash = "sha256-CMhXcFjxmTLKG2Zre5EmoYtVajmwi+b7ObBqRTkqB18=";
16546     };
16547     propagatedBuildInputs = [ UNIVERSALrequire ];
16548     meta = {
16549       description = "Fast plugins with instantiation";
16550       license = with lib.licenses; [ artistic1 gpl1Plus ];
16551     };
16552   };
16554   ModuleRefresh = buildPerlPackage {
16555     pname = "Module-Refresh";
16556     version = "0.18";
16557     src = fetchurl {
16558       url = "mirror://cpan/authors/id/B/BP/BPS/Module-Refresh-0.18.tar.gz";
16559       hash = "sha256-4JTaqQmv32SJqeKzJzP2haLBy1zIh2BhB1SGEJsN71k=";
16560     };
16561     buildInputs = [ PathClass ];
16562     meta = {
16563       description = "Refresh %INC files when updated on disk";
16564       license = with lib.licenses; [ artistic1 gpl1Plus ];
16565     };
16566   };
16568   ModuleRuntime = buildPerlModule {
16569     pname = "Module-Runtime";
16570     version = "0.016";
16571     src = fetchurl {
16572       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz";
16573       hash = "sha256-aDAuxkaDNUfUEL4o4JZ223UAb0qlihHzvbRP/pnw8CQ=";
16574     };
16575     meta = {
16576       description = "Runtime module handling";
16577       license = with lib.licenses; [ artistic1 gpl1Plus ];
16578     };
16579   };
16581   ModuleRuntimeConflicts = buildPerlPackage {
16582     pname = "Module-Runtime-Conflicts";
16583     version = "0.003";
16584     src = fetchurl {
16585       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz";
16586       hash = "sha256-cHzcdQOMcP6Rd5uIisBQ8ShWXTlnupZoDhscfMlzOHU=";
16587     };
16588     propagatedBuildInputs = [ DistCheckConflicts ];
16589     meta = {
16590       description = "Provide information on conflicts for Module::Runtime";
16591       homepage = "https://github.com/karenetheridge/Module-Runtime-Conflicts";
16592       license = with lib.licenses; [ artistic1 gpl1Plus ];
16593     };
16594   };
16596   ModuleScanDeps = buildPerlPackage {
16597     pname = "Module-ScanDeps";
16598     version = "1.34";
16599     src = fetchurl {
16600       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.34.tar.gz";
16601       hash = "sha256-ysUw5c/EE+BneXx9I3xsXNMpFcPZ+u5dlANcjzqFUOs=";
16602     };
16603     buildInputs = [ TestRequires IPCRun3 ];
16604     propagatedBuildInputs = [ TextParsewords ];
16605     meta = {
16606       description = "Recursively scan Perl code for dependencies";
16607       license = with lib.licenses; [ artistic1 gpl1Plus ];
16608       mainProgram = "scandeps.pl";
16609     };
16610   };
16612   ModuleSignature = buildPerlPackage {
16613     pname = "Module-Signature";
16614     version = "0.87";
16615     src = fetchurl {
16616       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.87.tar.gz";
16617       hash = "sha256-IU6AVcUP7DcalXQ1IP4mlAAE52FpBjsrROyQoNRdaYI=";
16618     };
16619     buildInputs = [ IPCRun ];
16620     meta = {
16621       description = "Module signature file manipulation";
16622       license = with lib.licenses; [ cc0 ];
16623       mainProgram = "cpansign";
16624     };
16625   };
16627   ModuleUtil = buildPerlModule {
16628     pname = "Module-Util";
16629     version = "1.09";
16630     src = fetchurl {
16631       url = "mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz";
16632       hash = "sha256-bPvLakUGREbsiqDuGn3dxCC1RGkwM0QYeu+E0sfz4sY=";
16633     };
16634     meta = {
16635       description = "Module name tools and transformations";
16636       license = with lib.licenses; [ artistic1 gpl1Plus ];
16637       mainProgram = "pm_which";
16638     };
16639   };
16641   ModuleVersions = buildPerlPackage {
16642     pname = "Module-Versions";
16643     version = "0.02";
16644     src = fetchurl {
16645       url = "mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip";
16646       hash = "sha256-DTimWxenrFGI1zh8/+f6oSY4Rw3JNxYevz2kh7fR+Dw=";
16647     };
16648     buildInputs = [ pkgs.unzip ];
16649     meta = {
16650       description = "Handle versions of loaded modules with flexible result interface";
16651       license = with lib.licenses; [ artistic1 gpl1Plus ];
16652     };
16653   };
16655   ModuleVersionsReport = buildPerlPackage {
16656     pname = "Module-Versions-Report";
16657     version = "1.06";
16658     src = fetchurl {
16659       url = "mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz";
16660       hash = "sha256-oyYdDYSxdnjYxP1V6w+JL1FE2BylPqmjjXXRoArZeWo=";
16661     };
16662     meta = {
16663       description = "Report versions of all modules in memory";
16664       license = with lib.licenses; [ artistic1 gpl1Plus ];
16665     };
16666   };
16668   MojoDOM58 = buildPerlPackage {
16669     pname = "Mojo-DOM58";
16670     version = "3.001";
16671     src = fetchurl {
16672       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-DOM58-3.001.tar.gz";
16673       hash = "sha256-GLJtVB5TFEFa3d8xQ2nZQMi6BrESNMpQb9vmzyJPV5Y=";
16674     };
16675     meta = {
16676       description = "Minimalistic HTML/XML DOM parser with CSS selectors";
16677       homepage = "https://github.com/Grinnz/Mojo-DOM58";
16678       license = with lib.licenses; [ artistic2 ];
16679     };
16680   };
16682   mod_perl2 = buildPerlPackage {
16683     pname = "mod_perl";
16684     version = "2.0.12";
16685     src = fetchurl {
16686       url = "mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.12.tar.gz";
16687       hash = "sha256-9bghtZsP3JZw5G7Q/PMtiRHyUSYYmotowWUvkiHu4mk=";
16688     };
16690     makeMakerFlags = [ "MP_AP_DESTDIR=$out" ];
16691     buildInputs = [ pkgs.apacheHttpd ];
16692     doCheck = false; # would try to start Apache HTTP server
16693     passthru.tests = nixosTests.mod_perl;
16694     meta = {
16695       description = "Embed a Perl interpreter in the Apache/2.x HTTP server";
16696       license = with lib.licenses; [ asl20 ];
16697       mainProgram = "mp2bug";
16698     };
16699   };
16701   Mojolicious = buildPerlPackage {
16702     pname = "Mojolicious";
16703     version = "9.36";
16704     src = fetchurl {
16705       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.36.tar.gz";
16706       hash = "sha256-UX7Pb9hqC3xhadVRAiOL+YUWGNt2L7ANTPDZTGJSAV8=";
16707     };
16708     meta = {
16709       description = "Real-time web framework";
16710       homepage = "https://mojolicious.org";
16711       license = with lib.licenses; [ artistic2 ];
16712       maintainers = with maintainers; [ marcusramberg sgo thoughtpolice ];
16713       mainProgram = "mojo";
16714     };
16715   };
16717   MojoliciousPluginAssetPack = buildPerlPackage {
16718     pname = "Mojolicious-Plugin-AssetPack";
16719     version = "2.14";
16720     src = fetchurl {
16721       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-AssetPack-2.14.tar.gz";
16722       hash = "sha256-jwWMyIw1mb6/ZjeK7GS91uvNkMljGL3m1ov6551j6qM=";
16723     };
16724     propagatedBuildInputs = [ FileWhich IPCRun3 Mojolicious ];
16725     meta = {
16726       description = "Compress and convert css, less, sass, javascript and coffeescript files";
16727       homepage = "https://github.com/jhthorsen/mojolicious-plugin-assetpack";
16728       license = with lib.licenses; [ artistic2 ];
16729       maintainers = with maintainers; [ sgo ];
16730     };
16731   };
16733   MojoliciousPluginGravatar = buildPerlPackage {
16734     pname = "Mojolicious-Plugin-Gravatar";
16735     version = "0.04";
16736     src = fetchurl {
16737       url = "mirror://cpan/authors/id/K/KO/KOORCHIK/Mojolicious-Plugin-Gravatar-0.04.tar.gz";
16738       hash = "sha256-pJ+XDGxw+ZMLMEp1IWPLlfHZmHEvecsTZAgy5Le2dd0=";
16739     };
16740     propagatedBuildInputs = [ Mojolicious ];
16741     meta = {
16742       description = "Globally Recognized Avatars for Mojolicious";
16743       license = with lib.licenses; [ artistic1 gpl1Plus ];
16744       maintainers = with maintainers; [ sgo ];
16745     };
16746   };
16748   MojoliciousPluginI18N = buildPerlModule {
16749     pname = "Mojolicious-Plugin-I18N";
16750     version = "1.6";
16751     src = fetchurl {
16752       url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-I18N-1.6.tar.gz";
16753       hash = "sha256-Mvte+AN9lUt+zr71wbKyS0IKvYKXAjEvStQnlPUrUU0=";
16754     };
16755     propagatedBuildInputs = [ Mojolicious ];
16756     meta = {
16757       homepage = "https://github.com/sharifulin/Mojolicious-Plugin-I18N";
16758       description = "Internationalization Plugin for Mojolicious";
16759       license = with lib.licenses; [ artistic1 gpl1Plus ];
16760     };
16761   };
16763   MojoliciousPluginMail = buildPerlModule {
16764     pname = "Mojolicious-Plugin-Mail";
16765     version = "1.5";
16766     src = fetchurl {
16767       url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-Mail-1.5.tar.gz";
16768       hash = "sha256-VvDTQevDp6zzkZ9a3UPpghbqEoWqDYfn+wDAK7Dv8UY=";
16769     };
16770     propagatedBuildInputs = [ MIMEEncWords MIMELite Mojolicious ];
16771     meta = {
16772       description = "Mojolicious Plugin for send mail";
16773       homepage = "https://github.com/sharifulin/Mojolicious-Plugin-Mail";
16774       license = with lib.licenses; [ artistic1 gpl1Plus ];
16775       maintainers = [ maintainers.sgo ];
16776     };
16777   };
16779   MojoliciousPluginOpenAPI = buildPerlPackage {
16780     pname = "Mojolicious-Plugin-OpenAPI";
16781     version = "5.09";
16782     src = fetchurl {
16783       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-5.09.tar.gz";
16784       hash = "sha256-BIJdfOIe20G80Ujrz6Gu+Ek258QOhKOdvyeGcdSaMQY=";
16785     };
16786     propagatedBuildInputs = [ JSONValidator Mojolicious ];
16787     meta = {
16788       description = "OpenAPI / Swagger plugin for Mojolicious";
16789       homepage = "https://github.com/jhthorsen/mojolicious-plugin-openapi";
16790       license = with lib.licenses; [ artistic2 ];
16791       maintainers = [ maintainers.sgo ];
16792     };
16793   };
16795   MojoliciousPluginRenderFile = buildPerlPackage {
16796     pname = "Mojolicious-Plugin-RenderFile";
16797     version = "0.12";
16798     src = fetchurl {
16799       url = "mirror://cpan/authors/id/K/KO/KOORCHIK/Mojolicious-Plugin-RenderFile-0.12.tar.gz";
16800       hash = "sha256-AT5CoswGvHBBuxPJ3ziK8kAQ5peTqN8PCrHSQKphFz8=";
16801     };
16802     propagatedBuildInputs = [ Mojolicious ];
16803     meta = {
16804       description = "\"render_file\" helper for Mojolicious";
16805       homepage = "https://github.com/koorchik/Mojolicious-Plugin-RenderFile";
16806       license = with lib.licenses; [ artistic1 gpl1Plus ];
16807       maintainers = with maintainers; [ tomasajt ];
16808     };
16809   };
16811   MojoliciousPluginStatus = buildPerlPackage {
16812     pname = "Mojolicious-Plugin-Status";
16813     version = "1.17";
16814     src = fetchurl {
16815       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.17.tar.gz";
16816       hash = "sha256-TCsfr+PhkSYby0TiDo75rz+YjR25akrgsG7tQSArh7Q=";
16817     };
16818     propagatedBuildInputs = [ BSDResource CpanelJSONXS FileMap Mojolicious Sereal ];
16819     meta = {
16820       description = "Mojolicious server status";
16821       homepage = "https://mojolicious.org";
16822       license = with lib.licenses; [ artistic2 ];
16823       maintainers = [ maintainers.thoughtpolice ];
16824     };
16825   };
16827   MojoliciousPluginSyslog = buildPerlPackage {
16828     pname = "Mojolicious-Plugin-Syslog";
16829     version = "0.06";
16830     src = fetchurl {
16831       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Syslog-0.06.tar.gz";
16832       hash = "sha256-IuxL9TYwDseyAYuoV3C9g2ZFDBAwVDZ9srFp9Mh3QRM=";
16833     };
16834     propagatedBuildInputs = [ Mojolicious ];
16835     meta = {
16836       description = "Plugin for enabling a Mojolicious app to log to syslog";
16837       homepage = "https://github.com/jhthorsen/mojolicious-plugin-syslog";
16838       license = with lib.licenses; [ artistic2 ];
16839       maintainers = [ maintainers.sgo ];
16840     };
16841   };
16843   MojoliciousPluginTemplateToolkit = buildPerlModule {
16844     pname = "Mojolicious-Plugin-TemplateToolkit";
16845     version = "0.006";
16846     src = fetchurl {
16847       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojolicious-Plugin-TemplateToolkit-0.006.tar.gz";
16848       hash = "sha256-dBoFAmtTArtrKc+I3KICC3rv0iNHgWELpZNaqPCXNKY=";
16849     };
16850     buildInputs = [ ModuleBuildTiny ];
16851     propagatedBuildInputs = [ ClassMethodModifiers Mojolicious TemplateToolkit ];
16852     meta = {
16853       homepage = "https://github.com/Grinnz/Mojolicious-Plugin-TemplateToolkit";
16854       description = "Template Toolkit renderer plugin for Mojolicious";
16855       license = with lib.licenses; [ artistic2 ];
16856       maintainers = with maintainers; [ tomasajt ];
16857     };
16858   };
16860   MojoliciousPluginTextExceptions = buildPerlPackage {
16861     pname = "Mojolicious-Plugin-TextExceptions";
16862     version = "0.02";
16863     src = fetchurl {
16864       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Mojolicious-Plugin-TextExceptions-0.02.tar.gz";
16865       hash = "sha256-Oht0BcV4TO5mHP8bARpzlRBN1IS7kbnnWT+ralOb+HQ=";
16866     };
16867     propagatedBuildInputs = [ Mojolicious ];
16868     meta = {
16869       description = "Render exceptions as text in command line user agents";
16870       homepage = "https://github.com/marcusramberg/mojolicious-plugin-textexceptions";
16871       license = with lib.licenses; [ artistic2 ];
16872       maintainers = [ maintainers.sgo ];
16873     };
16874   };
16876   MojoliciousPluginWebpack = buildPerlPackage {
16877     pname = "Mojolicious-Plugin-Webpack";
16878     version = "1.02";
16879     src = fetchurl {
16880       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Webpack-1.02.tar.gz";
16881       hash = "sha256-REzqioOZquelrWt8iQ/yFgk8WM6uaxyKBl77cBC3zn0=";
16882     };
16883     propagatedBuildInputs = [ Mojolicious Filechdir ];
16884     meta = {
16885       description = "Mojolicious <3 Webpack";
16886       homepage = "https://github.com/jhthorsen/mojolicious-plugin-webpack";
16887       license = with lib.licenses; [ artistic2 ];
16888       maintainers = [ maintainers.sgo ];
16889     };
16890   };
16892   MojoRedis = buildPerlPackage {
16893     pname = "Mojo-Redis";
16894     version = "3.29";
16895     src = fetchurl {
16896       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-Redis-3.29.tar.gz";
16897       hash = "sha256-oDMZpF0uYTpsfS1ZrAD9SwtHiGVi5ish3pG0r4llgII=";
16898     };
16899     propagatedBuildInputs = [ Mojolicious ProtocolRedisFaster ];
16900     meta = {
16901       description = "Redis driver based on Mojo::IOLoop";
16902       homepage = "https://github.com/jhthorsen/mojo-redis";
16903       license = with lib.licenses; [ artistic2 ];
16904       maintainers = [ maintainers.sgo ];
16905     };
16906   };
16908   MojoSAML = buildPerlModule {
16909     pname = "Mojo-SAML";
16910     version = "0.07";
16911     src = fetchurl {
16912       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-SAML-0.07.tar.gz";
16913       hash = "sha256-csJMrNtvHXp14uqgBDfHFKv1eafSENSqTT8g8e/0cQ0=";
16914     };
16915     buildInputs = [ ModuleBuildTiny ];
16916     propagatedBuildInputs = [ CryptOpenSSLRSA CryptOpenSSLX509 DataGUID Mojolicious XMLCanonicalizeXML ];
16917     meta = {
16918       description = "SAML2 toolkit using the Mojo toolkit";
16919       license = with lib.licenses; [ artistic1 gpl1Plus ];
16920       maintainers = [ maintainers.sgo ];
16921     };
16922   };
16924   MojoSQLite = buildPerlModule {
16925     pname = "Mojo-SQLite";
16926     version = "3.009";
16927     src = fetchurl {
16928       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.009.tar.gz";
16929       hash = "sha256-Vzmprz/A/BYrOAMt9hCgcANSY7++C+wWrsUvDd3Xtkc=";
16930     };
16931     buildInputs = [ ModuleBuildTiny ];
16932     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstractPg URIdb URI ];
16933     meta = {
16934       description = "Tiny Mojolicious wrapper for SQLite";
16935       homepage = "https://github.com/Grinnz/Mojo-SQLite";
16936       license = with lib.licenses; [ artistic2 ];
16937       maintainers = [ maintainers.sgo ];
16938     };
16939   };
16941   Mojomysql = buildPerlPackage {
16942     pname = "Mojo-mysql";
16943     version = "1.26";
16944     src = fetchurl {
16945       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-mysql-1.26.tar.gz";
16946       hash = "sha256-H9LjBlr4Je9N2x2W9g9MVc9NCCD77L0wrHGdTeJx5rw=";
16947     };
16948     propagatedBuildInputs = [ DBDmysql Mojolicious SQLAbstract ];
16949     buildInputs = [ TestDeep ];
16950     meta = {
16951       description = "Mojolicious and Async MySQL/MariaDB";
16952       homepage = "https://github.com/jhthorsen/mojo-mysql";
16953       license = with lib.licenses; [ artistic2 ];
16954       maintainers = [ maintainers.sgo ];
16955     };
16956   };
16958   MojoIOLoopDelay = buildPerlModule {
16959     pname = "Mojo-IOLoop-Delay";
16960     version = "8.76";
16961     src = fetchurl {
16962       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-Delay-8.76.tar.gz";
16963       hash = "sha256-jsvAYUg3IdkgRZQya+zpXM2/vbbRihc8gt1xgXLQqe0=";
16964     };
16965     buildInputs = [ ModuleBuildTiny ];
16966     propagatedBuildInputs = [ Mojolicious ];
16967     meta = {
16968       description = "(DISCOURAGED) Promises/A+ and flow-control helpers";
16969       homepage = "https://github.com/jberger/Mojo-IOLoop-Delay";
16970       license = with lib.licenses; [ artistic2 ];
16971       maintainers = [ maintainers.zakame ];
16972     };
16973   };
16975   MojoIOLoopForkCall = buildPerlModule {
16976     pname = "Mojo-IOLoop-ForkCall";
16977     version = "0.21";
16978     src = fetchurl {
16979       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-ForkCall-0.21.tar.gz";
16980       hash = "sha256-8dpdh4RxvdhvAcQjhQgAgE9ttCtUU8IW8Jslt5RYS3g=";
16981     };
16982     propagatedBuildInputs = [ IOPipely Mojolicious MojoIOLoopDelay ];
16983     preBuild = ''
16984       # This module needs the deprecated Mojo::IOLoop::Delay
16985       substituteInPlace lib/Mojo/IOLoop/ForkCall.pm \
16986         --replace "use Mojo::IOLoop;" "use Mojo::IOLoop; use Mojo::IOLoop::Delay;"
16987     '';
16988     meta = {
16989       description = "(DEPRECATED) run blocking functions asynchronously by forking";
16990       homepage = "https://github.com/jberger/Mojo-IOLoop-ForkCall";
16991       license = with lib.licenses; [ artistic1 gpl1Plus ];
16992       maintainers = [ maintainers.zakame ];
16993     };
16994   };
16996   MojoJWT = buildPerlModule {
16997     pname = "Mojo-JWT";
16998     version = "0.09";
16999     src = fetchurl {
17000       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-JWT-0.09.tar.gz";
17001       hash = "sha256-wE4DmD4MbyvORdCOoucph5yWee+mNLDmjLa4t7SoWIY=";
17002     };
17003     buildInputs = [ ModuleBuildTiny ];
17004     propagatedBuildInputs = [ Mojolicious ];
17005     meta = {
17006       description = "JSON Web Token the Mojo way";
17007       homepage = "https://github.com/jberger/Mojo-JWT";
17008       license = with lib.licenses; [ artistic1 gpl1Plus ];
17009       maintainers = [ maintainers.sgo ];
17010     };
17011   };
17013   MojoPg = buildPerlPackage {
17014     pname = "Mojo-Pg";
17015     version = "4.27";
17016     src = fetchurl {
17017       url = "mirror://cpan/authors/id/S/SR/SRI/Mojo-Pg-4.27.tar.gz";
17018       hash = "sha256-oyLI3wDj5WVf300LernXmSiTIOKfZP6ZrHrxJEhO+dg=";
17019     };
17020     propagatedBuildInputs = [ DBDPg Mojolicious SQLAbstractPg ];
17021     buildInputs = [ TestDeep ];
17022     meta = {
17023       description = "Mojolicious â™¥ PostgreSQL";
17024       homepage = "https://mojolicious.org";
17025       license = with lib.licenses; [ artistic2 ];
17026       maintainers = [ maintainers.sgo ];
17027     };
17028   };
17030   MojoUserAgentCached = buildPerlPackage {
17031     pname = "Mojo-UserAgent-Cached";
17032     version = "1.25";
17033     src = fetchurl {
17034       url = "mirror://cpan/authors/id/N/NI/NICOMEN/Mojo-UserAgent-Cached-1.25.tar.gz";
17035       hash = "sha256-lZmikTjq/ZKPWF7jDvFm0j/x3FKkBn50hyxR4W3shko=";
17036     };
17037     buildInputs = [ ModuleInstall ];
17038     propagatedBuildInputs = [ AlgorithmLCSS CHI DataSerializer DevelStackTrace Mojolicious Readonly StringTruncate ];
17039     doCheck = !stdenv.hostPlatform.isDarwin;
17040     meta = {
17041       description = "Caching, Non-blocking I/O HTTP, Local file and WebSocket user agent";
17042       homepage = "https://github.com/nicomen/mojo-useragent-cached";
17043       license = with lib.licenses; [ artistic1 gpl1Plus ];
17044       maintainers = [ maintainers.sgo ];
17045     };
17046   };
17048   MongoDB = buildPerlPackage {
17049     pname = "MongoDB";
17050     version = "2.2.2";
17051     src = fetchurl {
17052       url = "mirror://cpan/authors/id/M/MO/MONGODB/MongoDB-v2.2.2.tar.gz";
17053       hash = "sha256-IBk1+S2slPOcNd5zZh6LJSQ55JbyKGV9uF/5MlfDJo8=";
17054     };
17055     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal TimeMoment ];
17056     propagatedBuildInputs = [ AuthenSASLSASLprep AuthenSCRAM BSON IOSocketSSL NetSSLeay ClassXSAccessor BSONXS TypeTinyXS MozillaCA Moo NetDNS SafeIsa SubQuote TieIxHash TypeTiny UUIDURandom boolean namespaceclean ];
17057     meta = {
17058       description = "Official MongoDB Driver for Perl (EOL)";
17059       homepage = "https://github.com/mongodb-labs/mongo-perl-driver";
17060       license = with lib.licenses; [ asl20 ];
17061     };
17062   };
17064   MonitoringPlugin = buildPerlPackage {
17065     pname = "Monitoring-Plugin";
17066     version = "0.40";
17067     src = fetchurl {
17068       url = "mirror://cpan/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-0.40.tar.gz";
17069       hash = "sha256-+LprfifSuwpPmjKVWiRC1OQo0cSLgMixIUL/YRvnI28=";
17070     };
17071     propagatedBuildInputs = [ ClassAccessor ConfigTiny MathCalcUnits ParamsValidate ];
17072     meta = {
17073       description = ''
17074         A family of perl modules to streamline writing Naemon,
17075         Nagios, Icinga or Shinken (and compatible) plugins
17076       '';
17077       license = with lib.licenses; [ artistic1 gpl1Plus ];
17078     };
17079   };
17081   IOPipely = buildPerlPackage {
17082     pname = "IO-Pipely";
17083     version = "0.006";
17084     src = fetchurl {
17085       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/IO-Pipely-0.006.tar.gz";
17086       hash = "sha256-Dj/NhBoyfvtUn6AbIIPcNpXnLqDGMwPlbtUWG/gQQTs=";
17087     };
17088     meta = {
17089       description = "Portably create pipe() or pipe-like handles, one way or another";
17090       homepage = "https://search.cpan.org/dist/IO-Pipely";
17091       license = with lib.licenses; [ artistic1 gpl1Plus ];
17092     };
17093   };
17095   Moo = buildPerlPackage {
17096     pname = "Moo";
17097     version = "2.005005";
17098     src = fetchurl {
17099       url = "mirror://cpan/authors/id/H/HA/HAARG/Moo-2.005005.tar.gz";
17100       hash = "sha256-+1opUmSfrtBzc/Igt4AEqcaro4dzkTN0DBdw6bH0sQg=";
17101     };
17102     buildInputs = [ TestFatal ];
17103     propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
17104     meta = {
17105       description = "Minimalist Object Orientation (with Moose compatibility)";
17106       license = with lib.licenses; [ artistic1 gpl1Plus ];
17107     };
17108   };
17110   Moose = buildPerlPackage {
17111     pname = "Moose";
17112     version = "2.2206";
17113     src = fetchurl {
17114       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2206.tar.gz";
17115       hash = "sha256-Z5csTivDn72jhRgXevDme7vrVIVi5OxLdZoaelg+UFs=";
17116     };
17117     buildInputs = [ DistCheckConflicts CPANMetaCheck TestCleanNamespaces TestFatal TestNeeds TestRequires ];
17118     propagatedBuildInputs = [ ClassLoadXS DataOptList DevelGlobalDestruction DevelOverloadInfo DevelStackTrace EvalClosure MROCompat ModuleRuntimeConflicts PackageDeprecationManager PackageStashXS ParamsUtil SubExporter TryTiny ];
17119     preConfigure = ''
17120       export LD=$CC
17121     '';
17122     meta = {
17123       description = "Postmodern object system for Perl 5";
17124       homepage = "http://moose.perl.org";
17125       license = with lib.licenses; [ artistic1 gpl1Plus ];
17126       maintainers = [ ];
17127       mainProgram = "moose-outdated";
17128     };
17129   };
17131   MooXHandlesVia = buildPerlPackage {
17132     pname = "MooX-HandlesVia";
17133     version = "0.001009";
17134     src = fetchurl {
17135       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-0.001009.tar.gz";
17136       hash = "sha256-cWNT44iU7Lfo5MF7yVSD219ZACsDVBtUpywn8qjzbBI=";
17137     };
17138     buildInputs = [ MooXTypesMooseLike TestException TestFatal ];
17139     propagatedBuildInputs = [ DataPerl Moo ];
17140     meta = {
17141       description = "NativeTrait-like behavior for Moo";
17142       license = with lib.licenses; [ artistic1 gpl1Plus ];
17143     };
17144   };
17146   MooXLocalePassthrough = buildPerlPackage {
17147     pname = "MooX-Locale-Passthrough";
17148     version = "0.001";
17149     src = fetchurl {
17150       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz";
17151       hash = "sha256-egWCflKrWh3eLqXHEpJ7HljI0lFmTZZmJ6353TDsBRI=";
17152     };
17153     propagatedBuildInputs = [ Moo ];
17154     meta = {
17155       description = "Provide API used in translator modules without translating";
17156       homepage = "https://metacpan.org/release/MooX-Locale-Passthrough";
17157       license = with lib.licenses; [ artistic1 gpl1Plus ];
17158     };
17159   };
17161   MooXLocaleTextDomainOO = buildPerlPackage {
17162     pname = "MooX-Locale-TextDomain-OO";
17163     version = "0.001";
17164     src = fetchurl {
17165       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz";
17166       hash = "sha256-W45Sz/3YSpXTaMoQuUNUG5lqk+DQY5b0/hkzVojkFz0=";
17167     };
17168     propagatedBuildInputs = [ LocaleTextDomainOO MooXLocalePassthrough ];
17169     meta = {
17170       description = "Provide API used in translator modules without translating";
17171       homepage = "https://metacpan.org/release/MooX-Locale-TextDomain-OO";
17172       license = with lib.licenses; [ artistic1 gpl1Plus ];
17173     };
17174   };
17176   MooXOptions = buildPerlPackage {
17177     pname = "MooX-Options";
17178     version = "4.103";
17179     src = fetchurl {
17180       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz";
17181       hash = "sha256-TfnVdPjybbAivwbBvaRwgolFEJjC4VYzNd840jsHMm0=";
17182     };
17183     propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
17184     buildInputs = [ Mo MooXCmd MooXLocaleTextDomainOO Moose TestTrap ];
17185     preCheck = "rm t/16-namespace_clean.t"; # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942275
17186     meta = {
17187       description = "Explicit Options eXtension for Object Class";
17188       homepage = "https://metacpan.org/celogeek/MooX-Options";
17189       license = with lib.licenses; [ artistic1 gpl1Plus ];
17190     };
17191   };
17193   MooXSingleton = buildPerlModule {
17194     pname = "MooX-Singleton";
17195     version = "1.20";
17196     src = fetchurl {
17197       url = "mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz";
17198       hash = "sha256-99dib//emPhewSwe4msB8Tmk3d0vRT6lbDQd8ZTjIQ4=";
17199     };
17200     propagatedBuildInputs = [ RoleTiny ];
17201     buildInputs = [ Moo ];
17202     meta = {
17203       description = "Turn your Moo class into singleton";
17204       homepage = "https://search.cpan.org/dist/MooX-Singleton";
17205       license = with lib.licenses; [ artistic1 gpl1Plus ];
17206     };
17207   };
17209   MooXStrictConstructor = buildPerlPackage {
17210     pname = "MooX-StrictConstructor";
17211     version = "0.011";
17212     src = fetchurl {
17213       url = "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.011.tar.gz";
17214       hash = "sha256-2jgvgi/8TiKgOqQZpCVydJmdNtiaThI27PT892vGU+I=";
17215     };
17216     propagatedBuildInputs = [ Moo strictures ];
17217     buildInputs = [ TestFatal ];
17218     meta = {
17219       description = "Make your Moo-based object constructors blow up on unknown attributes";
17220       homepage = "https://metacpan.org/release/MooX-StrictConstructor";
17221       license = with lib.licenses; [ artistic1 gpl1Plus ];
17222     };
17223   };
17225   MooXTypesMooseLike = buildPerlPackage {
17226     pname = "MooX-Types-MooseLike";
17227     version = "0.29";
17228     src = fetchurl {
17229       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz";
17230       hash = "sha256-HTeAqpvqQwr75lqox25xjxBFzniKrdpBFvWdO3p60rQ=";
17231     };
17232     propagatedBuildInputs = [ ModuleRuntime ];
17233     buildInputs = [ Moo TestFatal ];
17234     meta = {
17235       description = "Some Moosish types and a type builder";
17236       license = with lib.licenses; [ artistic1 gpl1Plus ];
17237     };
17238   };
17240   MooXTypesMooseLikeNumeric = buildPerlPackage {
17241     pname = "MooX-Types-MooseLike-Numeric";
17242     version = "1.03";
17243     src = fetchurl {
17244       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-Numeric-1.03.tar.gz";
17245       hash = "sha256-Fq3rYXuWPQEBeZIsLk6HYt93x1Iy4XMgtFmGjElwxEs=";
17246     };
17247     buildInputs = [ Moo TestFatal ];
17248     propagatedBuildInputs = [ MooXTypesMooseLike ];
17249     meta = {
17250       description = "Moo types for numbers";
17251       license = with lib.licenses; [ artistic1 gpl1Plus ];
17252     };
17253   };
17255   MooXTypeTiny = buildPerlPackage {
17256     pname = "MooX-TypeTiny";
17257     version = "0.002003";
17258     src = fetchurl {
17259       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-TypeTiny-0.002003.tar.gz";
17260       hash = "sha256-2B4m/2+NsQJh8Ah/ltxUNn3LSanz3o1TI4+DTs4ZYks=";
17261     };
17262     buildInputs = [ TestFatal ];
17263     propagatedBuildInputs = [ Moo TypeTiny ];
17264     meta = {
17265       description = "Tiny, yet Moo(se)-compatible type constraint";
17266       homepage = "https://typetiny.toby.ink";
17267       license = with lib.licenses; [ artistic1 gpl1Plus ];
17268     };
17269   };
17271   MooseAutobox = buildPerlModule {
17272     pname = "Moose-Autobox";
17273     version = "0.16";
17274     src = fetchurl {
17275       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz";
17276       hash = "sha256-kkAdpM9ITrcYjsGWtoGG76eCoQK0UeoVbNi4dy5ocFU=";
17277     };
17278     buildInputs = [ ModuleBuildTiny TestException ];
17279     propagatedBuildInputs = [ ListMoreUtils Moose SyntaxKeywordJunction autobox namespaceautoclean ];
17280     meta = {
17281       description = "Autoboxed wrappers for Native Perl datatypes";
17282       homepage = "https://github.com/moose/Moose-Autobox";
17283       license = with lib.licenses; [ artistic1 gpl1Plus ];
17284     };
17285   };
17287   MooseXABC = buildPerlPackage {
17288     pname = "MooseX-ABC";
17289     version = "0.06";
17290     src = fetchurl {
17291       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-ABC-0.06.tar.gz";
17292       hash = "sha256-Tr7suUbkVSssRyH1u/I+9huTJlELVzlr9ZkLEW8Dfuo=";
17293     };
17294     buildInputs = [ TestFatal ];
17295     propagatedBuildInputs = [ Moose ];
17296     meta = {
17297       description = "Abstract base classes for Moose";
17298       homepage = "https://metacpan.org/release/MooseX-ABC";
17299       license = with lib.licenses; [ artistic1 gpl1Plus ];
17300     };
17301   };
17303   MooseXAliases = buildPerlPackage {
17304     pname = "MooseX-Aliases";
17305     version = "0.11";
17306     src = fetchurl {
17307       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-Aliases-0.11.tar.gz";
17308       hash = "sha256-xIUPlyQmw0R6ru2Ny0Az6ERgylFwWtPqeLY6+Rn+B0g=";
17309     };
17310     buildInputs = [ TestFatal ];
17311     propagatedBuildInputs = [ Moose ];
17312     meta = {
17313       description = "Easy aliasing of methods and attributes in Moose";
17314       license = with lib.licenses; [ artistic1 gpl1Plus ];
17315     };
17316   };
17318   MooseXAppCmd = buildPerlModule {
17319     pname = "MooseX-App-Cmd";
17320     version = "0.34";
17321     src = fetchurl {
17322       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-App-Cmd-0.34.tar.gz";
17323       hash = "sha256-9eLy7xKcOI8qPjb1PeWYBErxtyLofXEFKdBcwl0jesI=";
17324     };
17325     buildInputs = [ ModuleBuildTiny MooseXConfigFromFile TestOutput YAML ];
17326     propagatedBuildInputs = [ AppCmd MooseXGetopt MooseXNonMoose ];
17327     meta = {
17328       description = "Mashes up MooseX::Getopt and App::Cmd";
17329       homepage = "https://github.com/moose/MooseX-App-Cmd";
17330       license = with lib.licenses; [ artistic1 gpl1Plus ];
17331     };
17332   };
17334   MooseXStorageFormatJSONpm = buildPerlPackage {
17335     pname = "MooseX-Storage-Format-JSONpm";
17336     version = "0.093094";
17337     src = fetchurl {
17338       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Storage-Format-JSONpm-0.093094.tar.gz";
17339       hash = "sha256-9sgItyC99HI4VaZ4sblQLHSSABXFq8YL2uasYNFGxYQ=";
17340     };
17341     buildInputs = [ Moose TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
17342     propagatedBuildInputs = [ JSON MooseXRoleParameterized MooseXStorage namespaceautoclean ];
17343     meta = {
17344       description = "Format role for MooseX::Storage using JSON.pm";
17345       homepage = "https://github.com/rjbs/MooseX-Storage-Format-JSONpm";
17346       license = with lib.licenses; [ artistic1 gpl1Plus ];
17347     };
17348   };
17350   MooX = buildPerlPackage {
17351     pname = "MooX";
17352     version = "0.101";
17353     src = fetchurl {
17354       url = "mirror://cpan/authors/id/G/GE/GETTY/MooX-0.101.tar.gz";
17355       hash = "sha256-L/kaZW54quCspCKTgp16flrLm/IrBAFjWyq2yHDeMtU=";
17356     };
17357     propagatedBuildInputs = [ DataOptList ImportInto Moo ];
17358     meta = {
17359       description = "Using Moo and MooX:: packages the most lazy way";
17360       homepage = "https://github.com/Getty/p5-moox";
17361       license = with lib.licenses; [ artistic1 gpl1Plus ];
17362     };
17363   };
17365   MooXAliases = buildPerlPackage {
17366     pname = "MooX-Aliases";
17367     version = "0.001006";
17368     src = fetchurl {
17369       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-Aliases-0.001006.tar.gz";
17370       hash = "sha256-AWAxJ4ysYSY9AZUt/lv7XztGtLhCsv/6nyybiKrGOGc=";
17371     };
17372     propagatedBuildInputs = [ Moo strictures ];
17373     buildInputs = [ TestFatal ];
17374     meta = {
17375       description = "Easy aliasing of methods and attributes in Moo";
17376       license = with lib.licenses; [ artistic1 gpl1Plus ];
17377     };
17378   };
17380   MooXCmd = buildPerlPackage {
17381     pname = "MooX-Cmd";
17382     version = "0.017";
17383     src = fetchurl {
17384       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz";
17385       hash = "sha256-lD/yjaqAiXMnx8X+xacQDPqsktrw+fl8OOOnfQCucPU=";
17386     };
17387     propagatedBuildInputs = [ ListMoreUtils ModulePluggable Moo PackageStash ParamsUtil RegexpCommon ];
17388     buildInputs = [ CaptureTiny ];
17389     meta = {
17390       description = "Giving an easy Moo style way to make command organized CLI apps";
17391       homepage = "https://metacpan.org/release/MooX-Cmd";
17392       license = with lib.licenses; [ artistic1 gpl1Plus ];
17393     };
17394   };
17396   MooXlate = buildPerlPackage {
17397     pname = "MooX-late";
17398     version = "0.100";
17399     src = fetchurl {
17400       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.100.tar.gz";
17401       hash = "sha256-KuWx49pavA5ABieOy8+o+nwiTqVSmmpoisuyKcCeal8=";
17402     };
17403     buildInputs = [ TestFatal TestRequires ];
17404     propagatedBuildInputs = [ Moo SubHandlesVia ];
17405     meta = {
17406       description = "Easily translate Moose code to Moo";
17407       homepage = "https://metacpan.org/release/MooX-late";
17408       license = with lib.licenses; [ artistic1 gpl1Plus ];
17409     };
17410   };
17412   MouseXSimpleConfig = buildPerlPackage {
17413     pname = "MouseX-SimpleConfig";
17414     version = "0.11";
17415     src = fetchurl {
17416       url = "mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz";
17417       hash = "sha256-JX84QJHTPTQDc6YVOUcDnGmNxEnR75iTNWRPw9LaAGk=";
17418     };
17419     propagatedBuildInputs = [ ConfigAny MouseXConfigFromFile ];
17420     meta = {
17421       description = "Mouse role for setting attributes from a simple configfile";
17422       license = with lib.licenses; [ artistic1 gpl1Plus ];
17423     };
17424   };
17426   TestArchiveLibarchive = buildPerlPackage {
17427     pname = "Test-Archive-Libarchive";
17428     version = "0.02";
17429     src = fetchurl {
17430       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Archive-Libarchive-0.02.tar.gz";
17431       hash = "sha256-KxkYZx4F2i2dIiwQx9kXWFpiQYb+r7j4SQhZnDRwJ1E=";
17432     };
17433     propagatedBuildInputs = [ RefUtil Test2Suite ];
17434     meta = {
17435       homepage = "https://metacpan.org/pod/Test::Archive::Libarchive";
17436       description = "Testing tools for Archive::Libarchive";
17437       license = with lib.licenses; [ artistic1 gpl1Plus ];
17438       maintainers = with maintainers; [ tomasajt ];
17439     };
17440   };
17442   TestPostgreSQL = buildPerlModule {
17443     pname = "Test-PostgreSQL";
17444     version = "1.29";
17445     src = fetchurl {
17446       url = "mirror://cpan/authors/id/T/TJ/TJC/Test-PostgreSQL-1.29.tar.gz";
17447       hash = "sha256-GKz35YnKTMqc3kdgm1NsnYI8hWLRqlIQwWjl6xuOT54=";
17448     };
17449     buildInputs = [ ModuleBuildTiny TestSharedFork pkgs.postgresql ];
17450     propagatedBuildInputs = [ DBDPg DBI FileWhich FunctionParameters Moo TieHashMethod TryTiny TypeTiny ];
17452     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
17454     meta = {
17455       description = "PostgreSQL runner for tests";
17456       homepage = "https://github.com/TJC/Test-postgresql";
17457       license = with lib.licenses; [ artistic2 ];
17458     };
17459   };
17461   TestUseAllModules = buildPerlPackage {
17462     pname = "Test-UseAllModules";
17463     version = "0.17";
17464     src = fetchurl {
17465       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz";
17466       hash = "sha256-px8v6LlquL/Cdgqh0xNeoEmlsg3LEFRXt2mhGVx6JQk=";
17467     };
17468     meta = {
17469       description = "Do use_ok() for all the MANIFESTed modules";
17470       license = with lib.licenses; [ artistic1 gpl1Plus ];
17471     };
17472   };
17474   TestValgrind = buildPerlPackage {
17475     pname = "Test-Valgrind";
17476     version = "1.19";
17477     src = fetchurl {
17478       url = "mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz";
17479       hash = "sha256-GDinoV/ueo8Gnk5rRhxeFpBYthW437Q3hLPV2hpggRs=";
17480     };
17481     propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
17482     meta = {
17483       description = "Generate suppressions, analyse and test any command with valgrind";
17484       homepage = "https://search.cpan.org/dist/Test-Valgrind";
17485       license = with lib.licenses; [ artistic1 gpl1Plus ];
17486     };
17487   };
17489   MouseXTypesPathClass = buildPerlPackage {
17490     pname = "MouseX-Types-Path-Class";
17491     version = "0.07";
17492     src = fetchurl {
17493       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz";
17494       hash = "sha256-Io1LTz8O2VRyeGkdC3xf5T2Qh0pp33CaSXA8avh8Cd4=";
17495     };
17496     buildInputs = [ TestUseAllModules ];
17497     propagatedBuildInputs = [ MouseXTypes PathClass ];
17498     meta = {
17499       description = "Cross-platform path specification manipulation";
17500       license = with lib.licenses; [ artistic1 gpl1Plus ];
17501     };
17502   };
17504   MouseXTypes = buildPerlPackage {
17505     pname = "MouseX-Types";
17506     version = "0.06";
17507     src = fetchurl {
17508       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz";
17509       hash = "sha256-dyiEQf2t0Vvu7JoIE+zorsFULx2M6q7BR1Wz8xb7z4s=";
17510     };
17511     buildInputs = [ TestException ];
17512     propagatedBuildInputs = [ AnyMoose ];
17513     meta = {
17514       description = "Organize your Mouse types in libraries";
17515       license = with lib.licenses; [ artistic1 gpl1Plus ];
17516     };
17517   };
17519   MouseXConfigFromFile = buildPerlPackage {
17520     pname = "MouseX-ConfigFromFile";
17521     version = "0.05";
17522     src = fetchurl {
17523       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz";
17524       hash = "sha256-khsxyxP8H5gqYC+OI4Fbet0joiQlfkN5Dih1BM6HlTQ=";
17525     };
17526     buildInputs = [ TestUseAllModules ];
17527     propagatedBuildInputs = [ MouseXTypesPathClass ];
17528     meta = {
17529       description = "Abstract Mouse role for setting attributes from a configfile";
17530       license = with lib.licenses; [ artistic1 gpl1Plus ];
17531     };
17532   };
17534   MouseXGetopt = buildPerlModule {
17535     pname = "MouseX-Getopt";
17536     version = "0.38";
17537     src = fetchurl {
17538       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz";
17539       hash = "sha256-3j6o70Ut2VAeqMTtqHRLciRgJgKwRpJgft19YrefA48=";
17540     };
17541     buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
17542     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
17543     preCheck = ''
17544       # Remove tests that fail due to updated Getopt::Long::Descriptive
17545       rm -f t/109_help_flag.t t/107_no_auto_help.t t/104_override_usage.t t/110_sort_usage_by_attr_order.t
17546     '';
17547     meta = {
17548       description = "Mouse role for processing command line options";
17549       homepage = "https://github.com/gfx/mousex-getopt";
17550       license = with lib.licenses; [ artistic1 gpl1Plus ];
17551     };
17552   };
17554   MooseXAttributeChained = buildPerlModule {
17555     pname = "MooseX-Attribute-Chained";
17556     version = "1.0.3";
17557     src = fetchurl {
17558       url = "mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz";
17559       hash = "sha256-5+OKp8O3i1c06dQ892gy/OAHZ+alPV3Xmhci2GdtXk4=";
17560     };
17561     propagatedBuildInputs = [ Moose ];
17562     meta = {
17563       description = "Attribute that returns the instance to allow for chaining";
17564       license = with lib.licenses; [ artistic1 gpl1Plus ];
17565     };
17566   };
17568   MooseXAttributeHelpers = buildPerlModule {
17569     pname = "MooseX-AttributeHelpers";
17570     version = "0.25";
17571     src = fetchurl {
17572       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-AttributeHelpers-0.25.tar.gz";
17573       hash = "sha256-sMgZ7IOZmyWLJI+CBZ+ll1oM7jZUI6u+4O+spUAcXsY=";
17574     };
17575     buildInputs = [ ModuleBuildTiny TestException ];
17576     propagatedBuildInputs = [ Moose ];
17577     meta = {
17578       description = "(DEPRECATED) Extend your attribute interfaces";
17579       homepage = "https://github.com/moose/MooseX-AttributeHelpers";
17580       license = with lib.licenses; [ artistic1 gpl1Plus ];
17581     };
17582   };
17584   MooseXClone = buildPerlModule {
17585     pname = "MooseX-Clone";
17586     version = "0.06";
17587     src = fetchurl {
17588       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz";
17589       hash = "sha256-y9eCXbnnSwU/UkVEoBTwZv3OKQMW67Vo+HZ5GBs5jac=";
17590     };
17591     propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat namespaceautoclean ];
17592     buildInputs = [ ModuleBuildTiny ];
17593     meta = {
17594       description = "Fine-grained cloning support for Moose objects";
17595       license = with lib.licenses; [ artistic1 gpl1Plus ];
17596     };
17597   };
17599   MooseXConfigFromFile = buildPerlModule {
17600     pname = "MooseX-ConfigFromFile";
17601     version = "0.14";
17602     src = fetchurl {
17603       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.14.tar.gz";
17604       hash = "sha256-mtNDzZ+G1xS+m1S5xopEPYrMZQG2rWsV6coBMLLpbwg=";
17605     };
17606     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestRequires TestWithoutModule ];
17607     propagatedBuildInputs = [ MooseXTypesPathTiny ];
17608     meta = {
17609       description = "Abstract Moose role for setting attributes from a configfile";
17610       homepage = "https://github.com/moose/MooseX-ConfigFromFile";
17611       license = with lib.licenses; [ artistic1 gpl1Plus ];
17612     };
17613   };
17615   MooseXDaemonize = buildPerlModule {
17616     pname = "MooseX-Daemonize";
17617     version = "0.22";
17618     src = fetchurl {
17619       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Daemonize-0.22.tar.gz";
17620       hash = "sha256-in+5mdypuAKoUTahAUGy0zeKPs3gUnwd9z1V7bKOWbM=";
17621     };
17622     buildInputs = [ DevelCheckOS ModuleBuildTiny TestFatal ];
17623     propagatedBuildInputs = [ MooseXGetopt MooseXTypesPathClass ];
17624     meta = {
17625       description = "Role for daemonizing your Moose based application";
17626       homepage = "https://github.com/moose/MooseX-Daemonize";
17627       license = with lib.licenses; [ artistic1 gpl1Plus ];
17628     };
17629   };
17631   MooseXEmulateClassAccessorFast = buildPerlPackage {
17632     pname = "MooseX-Emulate-Class-Accessor-Fast";
17633     version = "0.009032";
17634     src = fetchurl {
17635       url = "mirror://cpan/authors/id/H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz";
17636       hash = "sha256-gu637x8NJUGK5AbqJpErJBQo1LKrlRDV6d6z9ywYeZQ=";
17637     };
17638     buildInputs = [ TestException ];
17639     propagatedBuildInputs = [ Moose namespaceclean ];
17640     meta = {
17641       description = "Emulate Class::Accessor::Fast behavior using Moose attributes";
17642       license = with lib.licenses; [ artistic1 gpl1Plus ];
17643     };
17644   };
17646   MooseXGetopt = buildPerlModule {
17647     pname = "MooseX-Getopt";
17648     version = "0.76";
17649     src = fetchurl {
17650       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.76.tar.gz";
17651       hash = "sha256-/4cxvSsd+DNH37av6coVwE0uzYsojleT0JXq+Va2sCg=";
17652     };
17653     buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestNeeds TestTrap TestWarnings ];
17654     propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ];
17655     meta = {
17656       description = "Moose role for processing command line options";
17657       homepage = "https://github.com/moose/MooseX-Getopt";
17658       license = with lib.licenses; [ artistic1 gpl1Plus ];
17659     };
17660   };
17662   MooseXHasOptions = buildPerlPackage {
17663     pname = "MooseX-Has-Options";
17664     version = "0.003";
17665     src = fetchurl {
17666       url = "mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz";
17667       hash = "sha256-B8Ic+O1QCycgIP+NoZ8ZRyi7QU4AEqLwzFTvLvYiKmg=";
17668     };
17669     buildInputs = [ Moose TestDeep TestDifferences TestException TestMost TestWarn namespaceautoclean ];
17670     propagatedBuildInputs = [ ClassLoad ListMoreUtils StringRewritePrefix ];
17671     meta = {
17672       description = "Succinct options for Moose";
17673       homepage = "https://github.com/pshangov/moosex-has-options";
17674       license = with lib.licenses; [ artistic1 gpl1Plus ];
17675     };
17676   };
17678   MooseXHasSugar = buildPerlPackage {
17679     pname = "MooseX-Has-Sugar";
17680     version = "1.000006";
17681     src = fetchurl {
17682       url = "mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz";
17683       hash = "sha256-7+7T3bOo6hj0FtSF88KwQnFF0mfmM2jGUdSI6qjCjQk=";
17684     };
17685     buildInputs = [ TestFatal namespaceclean ];
17686     propagatedBuildInputs = [ SubExporterProgressive ];
17687     meta = {
17688       description = "Sugar Syntax for moose 'has' fields";
17689       homepage = "https://github.com/kentnl/MooseX-Has-Sugar";
17690       license = with lib.licenses; [ artistic1 gpl1Plus ];
17691     };
17692   };
17694   MooseXLazyRequire = buildPerlModule {
17695     pname = "MooseX-LazyRequire";
17696     version = "0.11";
17697     src = fetchurl {
17698       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz";
17699       hash = "sha256-72IMHgGdr5zz8jqUPSWpTJHpOrMSvNY74ul0DsC5Qog=";
17700     };
17701     buildInputs = [ ModuleBuildTiny TestFatal ];
17702     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
17703     meta = {
17704       description = "Required attributes which fail only when trying to use them";
17705       homepage = "https://github.com/moose/MooseX-LazyRequire";
17706       license = with lib.licenses; [ artistic1 gpl1Plus ];
17707     };
17708   };
17710   MooseXMarkAsMethods = buildPerlPackage {
17711     pname = "MooseX-MarkAsMethods";
17712     version = "0.15";
17713     src = fetchurl {
17714       url = "mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz";
17715       hash = "sha256-yezBM3bQ/326SBl3M3wz6nTl0makKLavMVUqKRnvfvg=";
17716     };
17717     propagatedBuildInputs = [ Moose namespaceautoclean ];
17718     meta = {
17719       description = "Mark overload code symbols as methods";
17720       homepage = "https://metacpan.org/release/MooseX-MarkAsMethods";
17721       license = with lib.licenses; [ lgpl21Only ];
17722     };
17723   };
17725   MooseXMethodAttributes = buildPerlPackage {
17726     pname = "MooseX-MethodAttributes";
17727     version = "0.32";
17728     src = fetchurl {
17729       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.32.tar.gz";
17730       hash = "sha256-yzOIZXS30t05xCwNzccHrNsK7H273pohwEImYDaMGXs=";
17731     };
17732     buildInputs = [ MooseXRoleParameterized TestFatal TestNeeds ];
17733     propagatedBuildInputs = [ Moose namespaceautoclean ];
17734     meta = {
17735       description = "Code attribute introspection";
17736       homepage = "https://github.com/moose/MooseX-MethodAttributes";
17737       license = with lib.licenses; [ artistic1 gpl1Plus ];
17738     };
17739   };
17741   MooseXNonMoose = buildPerlPackage {
17742     pname = "MooseX-NonMoose";
17743     version = "0.26";
17744     src = fetchurl {
17745       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz";
17746       hash = "sha256-y75S7PFgOCMfvX8sxrzhZqNWnIyzlq6A7EUXwuCNqn0=";
17747     };
17748     buildInputs = [ TestFatal ];
17749     propagatedBuildInputs = [ ListMoreUtils Moose ];
17750     meta = {
17751       description = "Easy subclassing of non-Moose classes";
17752       homepage = "https://metacpan.org/release/MooseX-NonMoose";
17753       license = with lib.licenses; [ artistic1 gpl1Plus ];
17754     };
17755   };
17757   MooseXOneArgNew = buildPerlPackage {
17758     pname = "MooseX-OneArgNew";
17759     version = "0.007";
17760     src = fetchurl {
17761       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.007.tar.gz";
17762       hash = "sha256-hCgkNfEWnPCddRP6k4fiCReRY1zzWgeLUAuCmu6gYTg=";
17763     };
17764     propagatedBuildInputs = [ MooseXRoleParameterized ];
17765     meta = {
17766       description = "Teach ->new to accept single, non-hashref arguments";
17767       homepage = "https://github.com/rjbs/MooseX-OneArgNew";
17768       license = with lib.licenses; [ artistic1 gpl1Plus ];
17769     };
17770   };
17772   MooseXRelatedClassRoles = buildPerlPackage {
17773     pname = "MooseX-RelatedClassRoles";
17774     version = "0.004";
17775     src = fetchurl {
17776       url = "mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz";
17777       hash = "sha256-MNt6I33SYCIhb/+5cLmFKFNHEws2kjxxGqCVaty0fp8=";
17778     };
17779     propagatedBuildInputs = [ MooseXRoleParameterized ];
17780     meta = { description = "Apply roles to a class related to yours";
17781       license = with lib.licenses; [ artistic1 gpl1Plus ];
17782     };
17783   };
17785   MooseXParamsValidate = buildPerlPackage {
17786     pname = "MooseX-Params-Validate";
17787     version = "0.21";
17788     src = fetchurl {
17789       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz";
17790       hash = "sha256-iClURqupmcu4+ZjX+5onAdZhc5SlHW1yTHdObZ/xOdk=";
17791     };
17792     buildInputs = [ TestFatal ];
17793     propagatedBuildInputs = [ DevelCaller Moose ParamsValidate ];
17794     meta = {
17795       description = "Extension of Params::Validate using Moose's types";
17796       license = with lib.licenses; [ artistic1 gpl1Plus ];
17797     };
17798   };
17800   MooseXRoleParameterized = buildPerlModule {
17801     pname = "MooseX-Role-Parameterized";
17802     version = "1.11";
17803     src = fetchurl {
17804       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz";
17805       hash = "sha256-HP52bF1/Dsq1f3M9zKQwoqKs1rmVdXFBuUCt42kr7J4=";
17806     };
17807     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
17808     propagatedBuildInputs = [ Moose namespaceautoclean ];
17809     meta = {
17810       description = "Moose roles with composition parameters";
17811       homepage = "https://github.com/moose/MooseX-Role-Parameterized";
17812       license = with lib.licenses; [ artistic1 gpl1Plus ];
17813     };
17814   };
17816   MooseXRoleWithOverloading = buildPerlPackage {
17817     pname = "MooseX-Role-WithOverloading";
17818     version = "0.17";
17819     src = fetchurl {
17820       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.17.tar.gz";
17821       hash = "sha256-krCV1z8SIPnC7S06qlugcutaot4gm3xFXaWocBuYaGU=";
17822     };
17823     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
17824     meta = {
17825       description = "(DEPRECATED) Roles which support overloading";
17826       homepage = "https://github.com/moose/MooseX-Role-WithOverloading";
17827       license = with lib.licenses; [ artistic1 gpl1Plus ];
17828     };
17829   };
17831   MooseXRunnable = buildPerlModule {
17832     pname = "MooseX-Runnable";
17833     version = "0.10";
17834     src = fetchurl {
17835       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Runnable-0.10.tar.gz";
17836       hash = "sha256-QNj9G1UkrpZZZaHxRNegoMhQWUxSRAKyMZsk1cSvEZk=";
17837     };
17838     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 TestTableDriven ];
17839     propagatedBuildInputs = [ ListSomeUtils MooseXTypesPathTiny ];
17840     meta = {
17841       description = "Tag a class as a runnable application";
17842       homepage = "https://github.com/moose/MooseX-Runnable";
17843       license = with lib.licenses; [ artistic1 gpl1Plus ];
17844       mainProgram = "mx-run";
17845     };
17846   };
17848   MooseXSemiAffordanceAccessor = buildPerlPackage {
17849     pname = "MooseX-SemiAffordanceAccessor";
17850     version = "0.10";
17851     src = fetchurl {
17852       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz";
17853       hash = "sha256-pbhXdrzd7RaAJ6H/ZktBxfZYhnIc3VQ+OvnVN1misdU=";
17854     };
17855     propagatedBuildInputs = [ Moose ];
17856     meta = {
17857       description = "Name your accessors foo() and set_foo()";
17858       license = with lib.licenses; [ artistic2 ];
17859     };
17860   };
17862   MooseXSetOnce = buildPerlPackage {
17863     pname = "MooseX-SetOnce";
17864     version = "0.200002";
17865     src = fetchurl {
17866       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz";
17867       hash = "sha256-y+0Gt/zTU/DZm/gKh8HAtYEWBpcjGzrZpgjaIxuitlk=";
17868     };
17869     buildInputs = [ TestFatal ];
17870     propagatedBuildInputs = [ Moose ];
17871     meta = {
17872       description = "Write-once, read-many attributes for Moose";
17873       license = with lib.licenses; [ artistic1 gpl1Plus ];
17874     };
17875   };
17877   MooseXSingleton = buildPerlModule {
17878     pname = "MooseX-Singleton";
17879     version = "0.30";
17880     src = fetchurl {
17881       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz";
17882       hash = "sha256-ZYSy8xsdPrbdfiMShzjnP2wBWxUhOLCoFX09DVnQZUE=";
17883     };
17884     buildInputs = [ ModuleBuildTiny TestFatal TestRequires TestWarnings ];
17885     propagatedBuildInputs = [ Moose ];
17886     meta = {
17887       description = "Turn your Moose class into a singleton";
17888       license = with lib.licenses; [ artistic1 gpl1Plus ];
17889     };
17890   };
17892   MooseXStorage = buildPerlPackage {
17893     pname = "MooseX-Storage";
17894     version = "0.53";
17895     src = fetchurl {
17896       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Storage-0.53.tar.gz";
17897       hash = "sha256-hwS/5QX2azQPYuhcn/MZwZ6WcLJtSwEskfThA7HarOA=";
17898     };
17899     buildInputs = [ TestDeep TestDeepType TestFatal TestNeeds TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
17900     propagatedBuildInputs = [ ModuleRuntime Moose MooseXRoleParameterized PodCoverage StringRewritePrefix namespaceautoclean IOStringy JSON JSONXS JSONMaybeXS CpanelJSONXS YAML YAMLOld YAMLTiny YAMLLibYAML YAMLSyck ];
17901     meta = {
17902       description = "Serialization framework for Moose classes";
17903       homepage = "https://github.com/moose/MooseX-Storage";
17904       license = with lib.licenses; [ artistic1 gpl1Plus ];
17905     };
17906   };
17908   MooseXStrictConstructor = buildPerlPackage {
17909     pname = "MooseX-StrictConstructor";
17910     version = "0.21";
17911     src = fetchurl {
17912       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz";
17913       hash = "sha256-xypa6Vg3Bszexx1AHcswVAE6dTa3UN8UNmE9hY6ikg0=";
17914     };
17915     buildInputs = [ Moo TestFatal TestNeeds ];
17916     propagatedBuildInputs = [ Moose namespaceautoclean ];
17917     meta = {
17918       description = "Make your object constructors blow up on unknown attributes";
17919       homepage = "https://metacpan.org/release/MooseX-StrictConstructor";
17920       license = with lib.licenses; [ artistic2 ];
17921     };
17922   };
17924   MooseXTraits = buildPerlModule {
17925     pname = "MooseX-Traits";
17926     version = "0.13";
17927     src = fetchurl {
17928       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Traits-0.13.tar.gz";
17929       hash = "sha256-dK/gxPr047l8V/KJQ3yqYL7Mo0zVgh9IndTMnaT74po=";
17930     };
17931     buildInputs = [ ModuleBuildTiny MooseXRoleParameterized TestFatal TestRequires TestSimple13 ];
17932     propagatedBuildInputs = [ Moose namespaceautoclean ];
17933     meta = {
17934       description = "Automatically apply roles at object creation time";
17935       homepage = "https://github.com/moose/MooseX-Traits";
17936       license = with lib.licenses; [ artistic1 gpl1Plus ];
17937     };
17938   };
17940   MooseXTraitsPluggable = buildPerlPackage {
17941     pname = "MooseX-Traits-Pluggable";
17942     version = "0.12";
17943     src = fetchurl {
17944       url = "mirror://cpan/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.12.tar.gz";
17945       hash = "sha256-q5a3lQ7L8puDb9/uu+Cqwiylc+cYO+fLfW0S3yKrWMo=";
17946     };
17947     buildInputs = [ TestException ];
17948     propagatedBuildInputs = [ ListMoreUtils Moose namespaceautoclean ];
17949     meta = {
17950       description = "Trait loading and resolution for Moose";
17951       license = with lib.licenses; [ artistic1 gpl1Plus ];
17952     };
17953   };
17955   MooseXTypes = buildPerlModule {
17956     pname = "MooseX-Types";
17957     version = "0.50";
17958     src = fetchurl {
17959       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.50.tar.gz";
17960       hash = "sha256-nNh7NJLL8L6dLfkxeyrfn8MGY3cOaZBmVL6j9BsXywg=";
17961     };
17962     buildInputs = [ ModuleBuildTiny TestFatal TestRequires ];
17963     propagatedBuildInputs = [ CarpClan Moose SubExporterForMethods namespaceautoclean ];
17964     meta = {
17965       description = "Organise your Moose types in libraries";
17966       homepage = "https://github.com/moose/MooseX-Types";
17967       license = with lib.licenses; [ artistic1 gpl1Plus ];
17968     };
17969   };
17971   MooseXTypesCommon = buildPerlModule {
17972     pname = "MooseX-Types-Common";
17973     version = "0.001014";
17974     src = fetchurl {
17975       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz";
17976       hash = "sha256-75Nxi20vJA1QtcOssadLTCoZGGllFHAAGoK+HzXQ7w8=";
17977     };
17978     buildInputs = [ ModuleBuildTiny TestDeep TestWarnings ];
17979     propagatedBuildInputs = [ MooseXTypes ];
17980     meta = {
17981       description = "Library of commonly used type constraints";
17982       homepage = "https://github.com/moose/MooseX-Types-Common";
17983       license = with lib.licenses; [ artistic1 gpl1Plus ];
17984     };
17985   };
17987   MooseXTypesDateTime = buildPerlModule {
17988     pname = "MooseX-Types-DateTime";
17989     version = "0.13";
17990     src = fetchurl {
17991       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-0.13.tar.gz";
17992       hash = "sha256-uJ+iZjb2oX6qOGi0UUNARytou9whYaHXmiKhv1sdOcY=";
17993     };
17994     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
17995     propagatedBuildInputs = [ DateTime MooseXTypes ];
17996     meta = {
17997       description = "DateTime related constraints and coercions for Moose";
17998       homepage = "https://github.com/moose/MooseX-Types-DateTime";
17999       license = with lib.licenses; [ artistic1 gpl1Plus ];
18000     };
18001   };
18003   MooseXTypesDateTimeMoreCoercions = buildPerlModule {
18004     pname = "MooseX-Types-DateTime-MoreCoercions";
18005     version = "0.15";
18006     src = fetchurl {
18007       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz";
18008       hash = "sha256-Ibs6WXcZiI7bbOqhMkGNXPkuy5KlDM43uUJZpV4ON5Y=";
18009     };
18010     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
18011     propagatedBuildInputs = [ DateTimeXEasy MooseXTypesDateTime TimeDurationParse ];
18012     meta = {
18013       description = "Extensions to MooseX::Types::DateTime";
18014       homepage = "https://github.com/moose/MooseX-Types-DateTime-MoreCoercions";
18015       license = with lib.licenses; [ artistic1 gpl1Plus ];
18016     };
18017   };
18019   MooseXTypesLoadableClass = buildPerlModule {
18020     pname = "MooseX-Types-LoadableClass";
18021     version = "0.015";
18022     src = fetchurl {
18023       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz";
18024       hash = "sha256-4DfTd4JT3PkpRkNXFbraDmRJwKKAj6P/MqllBk1aO/Q=";
18025     };
18026     buildInputs = [ ModuleBuildTiny TestFatal ];
18027     propagatedBuildInputs = [ MooseXTypes ];
18028     meta = {
18029       description = "ClassName type constraint with coercion to load the class";
18030       homepage = "https://github.com/moose/MooseX-Types-LoadableClass";
18031       license = with lib.licenses; [ artistic1 gpl1Plus ];
18032     };
18033   };
18035   MooseXTypesPathClass = buildPerlModule {
18036     pname = "MooseX-Types-Path-Class";
18037     version = "0.09";
18038     src = fetchurl {
18039       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz";
18040       hash = "sha256-54S6tTaYrpWnCahmMwYUX/7FVmjfbPMWFTM1I/vn734=";
18041     };
18042     propagatedBuildInputs = [ MooseXTypes PathClass ];
18043     buildInputs = [ ModuleBuildTiny TestNeeds ];
18044     meta = {
18045       description = "Path::Class type library for Moose";
18046       license = with lib.licenses; [ artistic1 gpl1Plus ];
18047     };
18048   };
18050   MooseXTypesPathTiny = buildPerlModule {
18051     pname = "MooseX-Types-Path-Tiny";
18052     version = "0.012";
18053     src = fetchurl {
18054       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz";
18055       hash = "sha256-Ge7eAt1lTnD3PjTNevAGN2UXO8rv7v8b2+ITGOz9kVg=";
18056     };
18057     buildInputs = [ Filepushd ModuleBuildTiny TestFatal ];
18058     propagatedBuildInputs = [ MooseXGetopt MooseXTypesStringlike PathTiny ];
18059     meta = {
18060       description = "Path::Tiny types and coercions for Moose";
18061       homepage = "https://github.com/karenetheridge/moosex-types-path-tiny";
18062       license = with lib.licenses; [ asl20 ];
18063     };
18064   };
18066   MooseXTypesPerl = buildPerlPackage {
18067     pname = "MooseX-Types-Perl";
18068     version = "0.101344";
18069     src = fetchurl {
18070       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101344.tar.gz";
18071       hash = "sha256-h2RDVPdPplI1yyv8pEJ3kwp+q+UazF+B+2MVMKg1XiQ=";
18072     };
18073     propagatedBuildInputs = [ MooseXTypes ];
18074     meta = {
18075       description = "Moose types that check against Perl syntax";
18076       homepage = "https://github.com/rjbs/MooseX-Types-Perl";
18077       license = with lib.licenses; [ artistic1 gpl1Plus ];
18078     };
18079   };
18081   MooseXTypesStringlike = buildPerlPackage {
18082     pname = "MooseX-Types-Stringlike";
18083     version = "0.003";
18084     src = fetchurl {
18085       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz";
18086       hash = "sha256-LuNJ7FxSmm80f0L/ZA5HskVWS5PMowXfY8eCH1tVzxk=";
18087     };
18088     propagatedBuildInputs = [ MooseXTypes ];
18089     meta = {
18090       description = "Moose type constraints for strings or string-like objects";
18091       homepage = "https://github.com/dagolden/MooseX-Types-Stringlike";
18092       license = with lib.licenses; [ asl20 ];
18093     };
18094   };
18096   MooseXTypesStructured = buildPerlModule {
18097     pname = "MooseX-Types-Structured";
18098     version = "0.36";
18099     src = fetchurl {
18100       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz";
18101       hash = "sha256-Q822UvljhyPjV3yw+LVGhiAkTJY252WYEeW0qAFgPVc=";
18102     };
18103     buildInputs = [ DateTime ModuleBuildTiny MooseXTypesDateTime TestFatal TestNeeds ];
18104     propagatedBuildInputs = [ DevelPartialDump MooseXTypes ];
18105     meta = {
18106       description = "Structured Type Constraints for Moose";
18107       homepage = "https://github.com/moose/MooseX-Types-Structured";
18108       license = with lib.licenses; [ artistic1 gpl1Plus ];
18109     };
18110   };
18112   MooseXTypesURI = buildPerlModule {
18113     pname = "MooseX-Types-URI";
18114     version = "0.09";
18115     src = fetchurl {
18116       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.09.tar.gz";
18117       hash = "sha256-Jxd1Ta25EIbhHSH+oGy6qaEuYBtB0VRDFQ7dfZUI7+g=";
18118     };
18119     buildInputs = [ ModuleBuildTiny TestNeeds TestWithoutModule ];
18120     propagatedBuildInputs = [ MooseXTypes URI URIFromHash namespaceautoclean ];
18121     meta = {
18122       description = "URI related types and coercions for Moose";
18123       homepage = "https://github.com/moose/MooseX-Types-URI";
18124       license = with lib.licenses; [ artistic1 gpl1Plus ];
18125     };
18126   };
18128   MP3CutGapless = buildPerlPackage {
18129     pname = "MP3-Cut-Gapless";
18130     version = "0.03";
18131     src = fetchurl {
18132       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/MP3-Cut-Gapless-0.03.tar.gz";
18133       hash = "sha256-PoS3OdHx4902FvhR3GV14WXTKEZ/AySGB5UOWVH+pPM=";
18134     };
18135     propagatedBuildInputs = [ AudioCuefileParser ];
18136     meta = {
18137       description = "Split an MP3 file without gaps (based on pcutmp3)";
18138       license = with lib.licenses; [ artistic1 ];
18139     };
18140   };
18142   MP3Info = buildPerlPackage {
18143     pname = "MP3-Info";
18144     version = "1.26";
18145     src = fetchurl {
18146       url = "mirror://cpan/authors/id/J/JM/JMERELO/MP3-Info-1.26.tar.gz";
18147       hash = "sha256-V2I0BzJCHyUCp3DWoSblhPLNljNR0rwle9J4w5vOi+c=";
18148     };
18149     meta = {
18150       description = "Manipulate / fetch info from MP3 audio files";
18151       license = with lib.licenses; [ artistic1 gpl1Plus ];
18152     };
18153   };
18155   MP3Tag = buildPerlPackage {
18156     pname = "MP3-Tag";
18157     version = "1.16";
18158     src = fetchurl {
18159       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/MP3-Tag-1.16.zip";
18160       hash = "sha256-UDhQk6owAFa8Jiu2pACpbiGVl3wcXh6/FaXgdak3e4Y=";
18161     };
18162     buildInputs = [ pkgs.unzip ];
18164     postPatch = ''
18165       substituteInPlace Makefile.PL --replace "'PL_FILES'" "#'PL_FILES'"
18166     '';
18167     postFixup = ''
18168       perl data_pod.PL PERL5LIB:$PERL5LIB
18169     '';
18170     outputs = [ "out" ];
18171     meta = {
18172       description = "Module for reading tags of MP3 audio files";
18173       license = with lib.licenses; [ artistic1 ];
18174     };
18175   };
18177   MockMonkeyPatch = buildPerlModule {
18178     pname = "Mock-MonkeyPatch";
18179     version = "1.02";
18180     src = fetchurl {
18181       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mock-MonkeyPatch-1.02.tar.gz";
18182       hash = "sha256-xbaUTKVP6DVXN2cwYO1OnvhyNyZXfXluHK5eVr8bAYE=";
18183     };
18184     buildInputs = [ ModuleBuildTiny ];
18185     meta = {
18186       description = "Monkey patching with test mocking in mind";
18187       license = with lib.licenses; [ artistic1 gpl1Plus ];
18188     };
18189   };
18191   Mouse = buildPerlModule {
18192     pname = "Mouse";
18193     version = "2.5.10";
18194     src = fetchurl {
18195       url = "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.10.tar.gz";
18196       hash = "sha256-zo3COUYVOkZ/8JdlFn7iWQ9cUCEg9IotlEFzPzmqMu4=";
18197     };
18198     buildInputs = [ ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny ];
18199     perlPreHook = "export LD=$CC";
18200     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isi686 "-fno-stack-protector";
18201     hardeningDisable = lib.optional stdenv.hostPlatform.isi686 "stackprotector";
18202     meta = {
18203       description = "Moose minus the antlers";
18204       license = with lib.licenses; [ artistic1 gpl1Plus ];
18205     };
18206   };
18208   MouseXNativeTraits = buildPerlPackage {
18209     pname = "MouseX-NativeTraits";
18210     version = "1.09";
18211     src = fetchurl {
18212       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-NativeTraits-1.09.tar.gz";
18213       hash = "sha256-+KW/WihwLfsTyAk75cQcq5xfwcXSR6uR4i591ydky14=";
18214     };
18215     buildInputs = [ AnyMoose TestFatal ];
18216     propagatedBuildInputs = [ Mouse ];
18217     meta = {
18218       description = "Extend your attribute interfaces for Mouse";
18219       license = with lib.licenses; [ artistic1 gpl1Plus ];
18220     };
18221   };
18223   MozillaCA = buildPerlPackage {
18224     pname = "Mozilla-CA";
18225     version = "20230821";
18226     src = fetchurl {
18227       url = "mirror://cpan/authors/id/L/LW/LWP/Mozilla-CA-20230821.tar.gz";
18228       hash = "sha256-MuHQBFKZAEBFucTRbC2q5FOiFiCIc97qJED3EmCnzaE=";
18229     };
18231     postPatch = ''
18232       ln -s --force ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt lib/Mozilla/CA/cacert.pem
18233     '';
18235     meta = {
18236       description = "Mozilla's CA cert bundle in PEM format";
18237       homepage = "https://github.com/gisle/mozilla-ca";
18238       license = with lib.licenses; [ mpl20 ];
18239     };
18240   };
18242   MozillaLdap = callPackage ../development/perl-modules/Mozilla-LDAP { };
18244   MROCompat = buildPerlPackage {
18245     pname = "MRO-Compat";
18246     version = "0.15";
18247     src = fetchurl {
18248       url = "mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.15.tar.gz";
18249       hash = "sha256-DUU1+I5Dur2Eq2BIZiFfxNBDmL1Nt7IYUtSjGxwV72E=";
18250     };
18251     meta = {
18252       description = "Mro::* interface compatibility for Perls < 5.9.5";
18253       homepage = "https://metacpan.org/release/MRO-Compat";
18254       license = with lib.licenses; [ artistic1 gpl1Plus ];
18255     };
18256   };
18258   MsgPackRaw = buildPerlPackage rec {
18259     pname = "MsgPack-Raw";
18260     version = "0.05";
18261     src = fetchurl {
18262       url = "mirror://cpan/authors/id/J/JA/JACQUESG/MsgPack-Raw-${version}.tar.gz";
18263       hash = "sha256-hVnitkzZjZmrxmbt8qTIckyVNGEmFq8R9OsLvQ1CLaw=";
18264     };
18265     checkInputs = [ TestPod TestPodCoverage ];
18266     meta = with lib; {
18267       description = "Perl bindings to the msgpack C library";
18268       homepage = "https://github.com/jacquesg/p5-MsgPack-Raw";
18269       license = with licenses; [ gpl1Plus /* or */ artistic1 ];
18270       maintainers = with maintainers; [ figsoda ];
18271     };
18272   };
18274   MusicBrainzDiscID = buildPerlPackage {
18275     pname = "MusicBrainz-DiscID";
18276     version = "0.06";
18277     src = fetchurl {
18278       url = "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.06.tar.gz";
18279       hash = "sha256-ugtu0JiX/1Y7pZhy7pNxW+83FXUVsZt8bW8obmVI7Ks=";
18280     };
18281     # Makefile.PL in this package uses which to find pkg-config -- make it use envvar instead
18282     postPatch = ''
18283       substituteInPlace Makefile.PL \
18284         --replace-fail '`which pkg-config`' "'$PKG_CONFIG'"
18285     '';
18286     doCheck = false; # The main test performs network access
18287     nativeBuildInputs = [ pkgs.pkg-config ];
18288     propagatedBuildInputs = [ pkgs.libdiscid ];
18289     meta = {
18290       description = "- Perl interface for the MusicBrainz libdiscid library";
18291       license = with lib.licenses; [ mit ];
18292     };
18293   };
18295   MusicBrainz = buildPerlModule {
18296     pname = "WebService-MusicBrainz";
18297     version = "1.0.6";
18298     src = fetchurl {
18299       url = "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-1.0.6.tar.gz";
18300       hash = "sha256-XpH1ZZZ3w5CJv28lO0Eoe7zTVh9qJaB5Zc6DsmKIUuE=";
18301     };
18302     propagatedBuildInputs = [ Mojolicious ];
18303     doCheck = false; # Test performs network access.
18304     meta = {
18305       description = "API to search the musicbrainz.org database";
18306       license = with lib.licenses; [ artistic1 gpl1Plus ];
18307     };
18308   };
18310   MustacheSimple = buildPerlPackage {
18311     pname = "Mustache-Simple";
18312     version = "1.3.6";
18313     src = fetchurl {
18314       url = "mirror://cpan/authors/id/C/CM/CMS/Mustache-Simple-v1.3.6.tar.gz";
18315       hash = "sha256-UdtdUf9LJaZw2L+r45ArbUVDTs94spvB//Ga9uc4MAM=";
18316     };
18317     propagatedBuildInputs = [ YAMLLibYAML ];
18318     meta = {
18319       description = "Simple Mustache Renderer";
18320       license = with lib.licenses; [ artistic1 gpl1Plus ];
18321     };
18322   };
18324   MySQLDiff = buildPerlPackage {
18325     pname = "MySQL-Diff";
18326     version = "0.60";
18327     src = fetchurl {
18328       url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
18329       hash = "sha256-XXCApL1XFP+e9Taqd0p62zxvDnYCFcpsOdijVFNE+VY=";
18330     };
18331     propagatedBuildInputs = [ pkgs.mariadb.client FileSlurp StringShellQuote ];
18332     meta = {
18333       description = "Generates a database upgrade instruction set";
18334       homepage = "https://github.com/estrabd/mysqldiff";
18335       license = with lib.licenses; [ artistic1 gpl1Plus ];
18336       maintainers = [ maintainers.sgo ];
18337       mainProgram = "mysqldiff";
18338     };
18339   };
18341   namespaceautoclean = buildPerlPackage {
18342     pname = "namespace-autoclean";
18343     version = "0.29";
18344     src = fetchurl {
18345       url = "mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz";
18346       hash = "sha256-RevY5kpUqG+I2OAa5VISlnyKqP7VfoFAhd73YIrGWAQ=";
18347     };
18348     buildInputs = [ TestNeeds ];
18349     propagatedBuildInputs = [ SubIdentify namespaceclean ];
18350     meta = {
18351       description = "Keep imports out of your namespace";
18352       homepage = "https://github.com/moose/namespace-autoclean";
18353       license = with lib.licenses; [ artistic1 gpl1Plus ];
18354     };
18355   };
18357   namespaceclean = buildPerlPackage {
18358     pname = "namespace-clean";
18359     version = "0.27";
18360     src = fetchurl {
18361       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz";
18362       hash = "sha256-ihCoPD4YPcePnnt6pNCbR8EftOfTozuaEpEv0i4xr50=";
18363     };
18364     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
18365     meta = {
18366       description = "Keep imports and functions out of your namespace";
18367       homepage = "https://search.cpan.org/dist/namespace-clean";
18368       license = with lib.licenses; [ artistic1 gpl1Plus ];
18369     };
18370   };
18372   NeovimExt = buildPerlPackage rec {
18373     pname = "Neovim-Ext";
18374     version = "0.06";
18375     src = fetchurl {
18376       url = "mirror://cpan/authors/id/J/JA/JACQUESG/Neovim-Ext-${version}.tar.gz";
18377       hash = "sha256-bSzrMGLJZzfbpVbLIEYxMPxABocbJbfE9mzTgZ1FBLg=";
18378     };
18379     propagatedBuildInputs = [
18380       ClassAccessor
18381       EvalSafe
18382       IOAsync
18383       MsgPackRaw
18384     ];
18385     checkInputs = [
18386       ArchiveZip
18387       FileSlurper
18388       FileWhich
18389       ProcBackground
18390       TestPod
18391       TestPodCoverage
18392     ];
18393     # TODO: fix tests
18394     doCheck = false;
18395     meta = with lib; {
18396       description = "Perl bindings for Neovim";
18397       homepage = "https://github.com/jacquesg/p5-Neovim-Ext";
18398       license = with licenses; [ gpl1Plus /* or */ artistic1 ];
18399       maintainers = with maintainers; [ figsoda ];
18400     };
18401   };
18403   NetDNSNative = buildPerlPackage {
18404     pname = "Net-DNS-Native";
18405     version = "0.22";
18406     src = fetchurl {
18407       url = "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-0.22.tar.gz";
18408       hash = "sha256-EI2d7bq5/69qDQFSVSbeGJSITpUL/YM3F+XNOJBcMNU=";
18409     };
18410     meta = {
18411       description = "Non-blocking system DNS resolver";
18412       license = with lib.licenses; [ artistic1 gpl1Plus ];
18413       maintainers = with maintainers; [ tomasajt ];
18414     };
18415   };
18417   NetIdent = buildPerlPackage {
18418     pname = "Net-Ident";
18419     version = "1.25";
18420     src = fetchurl {
18421       url = "mirror://cpan/authors/id/T/TO/TODDR/Net-Ident-1.25.tar.gz";
18422       hash = "sha256-LlvViwHCpm6ASaL42ck+G19tzlPg7jpIHOam9BHyyPg=";
18423     };
18424     meta = {
18425       description = "Lookup the username on the remote end of a TCP/IP connection";
18426       homepage = "https://github.com/toddr/Net-Ident";
18427       license = with lib.licenses; [ mit ];
18428     };
18429   };
18431   NetINET6Glue = buildPerlPackage {
18432     pname = "Net-INET6Glue";
18433     version = "0.604";
18434     src = fetchurl {
18435       url = "mirror://cpan/authors/id/S/SU/SULLR/Net-INET6Glue-0.604.tar.gz";
18436       hash = "sha256-kMNjmPlQFBTMzaiynyOn908vK09VLhLevxYhjHNbuxc=";
18437     };
18438     meta = {
18439       description = "Make common modules IPv6 ready by hotpatching";
18440       homepage = "https://github.com/noxxi/p5-net-inet6glue";
18441       license = with lib.licenses; [ artistic1 gpl1Plus ];
18442     };
18443   };
18445   NetAddrIP = buildPerlPackage {
18446     pname = "NetAddr-IP";
18447     version = "4.079";
18448     src = fetchurl {
18449       url = "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz";
18450       hash = "sha256-7FqC37cCi80ouz1Wn5XYfdQWbMGYZ/IYTtOln21soOc=";
18451     };
18452     meta = {
18453       description = "Manages IPv4 and IPv6 addresses and subnets";
18454       license = with lib.licenses; [ artistic1 gpl1Plus ];
18455     };
18456   };
18458   NetAmazonAWSSign = buildPerlPackage {
18459     pname = "Net-Amazon-AWSSign";
18460     version = "0.12";
18461     src = fetchurl {
18462       url = "mirror://cpan/authors/id/N/NA/NATON/Net-Amazon-AWSSign-0.12.tar.gz";
18463       hash = "sha256-HQQMazseorVlkFefnBjgUAtsaiF7WdiDHw2WBMqX7T4=";
18464     };
18465     propagatedBuildInputs = [ URI ];
18466     meta = {
18467       description = "Perl extension to create signatures for AWS requests";
18468       license = with lib.licenses; [ artistic1 gpl1Plus ];
18469     };
18470   };
18472   NetAmazonEC2 = buildPerlPackage {
18473     pname = "Net-Amazon-EC2";
18474     version = "0.36";
18475     src = fetchurl {
18476       url = "mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz";
18477       hash = "sha256-Tig2kufwZsJBjtrpIz47YkAPk1X01SH5lRXlL3t9cvE=";
18478     };
18479     propagatedBuildInputs = [ LWPProtocolHttps Moose ParamsValidate XMLSimple ];
18480     buildInputs = [ TestException ];
18481     meta = {
18482       description = "Perl interface to the Amazon Elastic Compute Cloud (EC2) environment";
18483       homepage = "https://metacpan.org/dist/Net-Amazon-EC2";
18484       license = with lib.licenses; [ artistic1 gpl1Plus ];
18485     };
18486   };
18488   NetAmazonMechanicalTurk = buildPerlModule {
18489     pname = "Net-Amazon-MechanicalTurk";
18490     version = "1.02";
18491     src = fetchurl {
18492       url = "mirror://cpan/authors/id/M/MT/MTURK/Net-Amazon-MechanicalTurk-1.02.tar.gz";
18493       hash = "sha256-jQlewUjglLJ/TMzHnhyvnDHzzA5t2CzoqORCyNx7D44=";
18494     };
18495     patches =
18496       [ ../development/perl-modules/net-amazon-mechanicalturk.patch ];
18497     propagatedBuildInputs = [ DigestHMAC LWPProtocolHttps XMLParser ];
18498     doCheck = false; /* wants network */
18499     meta = {
18500       description = "Amazon Mechanical Turk SDK for Perl";
18501       license = with lib.licenses; [ asl20 ];
18502     };
18503   };
18505   NetAmazonS3 = buildPerlPackage {
18506     pname = "Net-Amazon-S3";
18507     version = "0.991";
18508     src = fetchurl {
18509       url = "mirror://cpan/authors/id/B/BA/BARNEY/Net-Amazon-S3-0.991.tar.gz";
18510       hash = "sha256-+3r4umSUjRo/MdgJ13EFImiA8GmYrH8Rn4JITmijI9M=";
18511     };
18512     buildInputs = [ TestDeep TestException TestLWPUserAgent TestMockTime TestWarnings ];
18513     propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXRoleParameterized MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon SafeIsa SubOverride TermEncoding TermProgressBarSimple XMLLibXML ];
18514     meta = {
18515       description = "Use the Amazon S3 - Simple Storage Service";
18516       license = with lib.licenses; [ artistic1 gpl1Plus ];
18517       mainProgram = "s3cl";
18518     };
18519   };
18521   NetAmazonS3Policy = buildPerlModule {
18522     pname = "Net-Amazon-S3-Policy";
18523     version = "0.1.6";
18524     src = fetchurl {
18525       url = "mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz";
18526       hash = "sha256-0rFukwhnSHQ0tHdHhooAP0scyECy15WfiPw2vQ2G2RQ=";
18527     };
18528     propagatedBuildInputs = [ JSON ];
18529     meta = {
18530       description = "Manage Amazon S3 policies for HTTP POST forms";
18531       license = with lib.licenses; [ artistic1 gpl1Plus ];
18532     };
18533   };
18535   NetAsyncHTTP = buildPerlModule {
18536     pname = "Net-Async-HTTP";
18537     version = "0.49";
18538     src = fetchurl {
18539       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-0.49.tar.gz";
18540       hash = "sha256-OSBtBpSV0bhq7jeqitPJM0025ZzObPec04asDPN5jNs=";
18541     };
18542     buildInputs = [ HTTPCookies Test2Suite TestMetricsAny ];
18543     propagatedBuildInputs = [ Future HTTPMessage IOAsync MetricsAny StructDumb URI ];
18544     preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
18545       # network tests fail on Darwin/sandbox, so disable these
18546       rm -f t/20local-connect.t t/22local-connect-pipeline.t t/23local-connect-redir.t
18547       rm -f t/90rt75615.t t/90rt75616.t t/90rt93232.t
18548     '';
18549     meta = {
18550       description = "Use HTTP with IO::Async";
18551       license = with lib.licenses; [ artistic1 gpl1Plus ];
18552       maintainers = [ maintainers.zakame ];
18553     };
18554   };
18556   NetAsyncHTTPServer = buildPerlModule {
18557     pname = "Net-Async-HTTP-Server";
18558     version = "0.14";
18559     src = fetchurl {
18560       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-Server-0.14.tar.gz";
18561       hash = "sha256-6nG3kcEtD6X3JubMA/Zuo20bRhNxj2xb84EzvRinsrY=";
18562     };
18563     buildInputs = [ Test2Suite TestMetricsAny TestRefcount ];
18564     propagatedBuildInputs = [ HTTPMessage IOAsync MetricsAny ];
18565     meta = {
18566       description = "Serve HTTP with IO::Async";
18567       license = with lib.licenses; [ artistic1 gpl1Plus ];
18568       maintainers = [ maintainers.anoa ];
18569     };
18570   };
18572   NetAsyncPing = buildPerlPackage {
18573     pname = "Net-Async-Ping";
18574     version = "0.004001";
18575     src = fetchurl {
18576       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Net-Async-Ping-0.004001.tar.gz";
18577       hash = "sha256-kFfoUHYMcT2rB6DBycj4isEfbnTop0gcEObyc12K6Vs=";
18578     };
18579     propagatedBuildInputs = [ IOAsync Moo NetFrameLayerIPv6 namespaceclean ];
18580     buildInputs = [ TestFatal ];
18581     preCheck = "rm t/icmp_ps.t t/icmpv6_ps.t"; # ping socket tests fail
18582     meta = {
18583       description = "Asyncronously check remote host for reachability";
18584       homepage = "https://github.com/frioux/Net-Async-Ping";
18585       license = with lib.licenses; [ artistic1 gpl1Plus ];
18586     };
18587   };
18589   NetAsyncWebSocket = buildPerlModule {
18590     pname = "Net-Async-WebSocket";
18591     version = "0.13";
18592     src = fetchurl {
18593       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-WebSocket-0.13.tar.gz";
18594       hash = "sha256-DayDQtPHii/syr1GZxRd1a3U+4zRjRVtKXoead/hFgA=";
18595     };
18596     propagatedBuildInputs = [ IOAsync ProtocolWebSocket URI ];
18597     preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
18598       # network tests fail on Darwin/sandbox, so disable these
18599       rm -f t/02server.t t/03cross.t
18600     '';
18601     meta = {
18602       description = "Use WebSockets with IO::Async";
18603       license = with lib.licenses; [ artistic1 gpl1Plus ];
18604       maintainers = [ maintainers.zakame ];
18605     };
18606   };
18608   NetAMQP = buildPerlModule {
18609     pname = "Net-AMQP";
18610     version = "0.06";
18611     src = fetchurl {
18612       url = "mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz";
18613       hash = "sha256-Cyun3izX3dX+ECouKueuuiHqqxB4vzv9PFpyKTclY4A=";
18614     };
18615     doCheck = false; # failures on 32bit
18616     buildInputs = [ TestDeep ];
18617     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
18618     meta = {
18619       description = "Advanced Message Queue Protocol (de)serialization and representation";
18620       license = with lib.licenses; [ artistic1 gpl1Plus ];
18621     };
18622   };
18624   NetCIDR = buildPerlPackage {
18625     pname = "Net-CIDR";
18626     version = "0.21";
18627     src = fetchurl {
18628       url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.21.tar.gz";
18629       hash = "sha256-MPMDwHNZSNozNw3sx+h8+mi8QwqkS4HRj42CO20av78=";
18630     };
18631     meta = {
18632       description = "Manipulate IPv4/IPv6 netblocks in CIDR notation";
18633       license = with lib.licenses; [ artistic1 gpl1Plus ];
18634       maintainers = [ maintainers.bjornfor ];
18635     };
18636   };
18638   NetCIDRLite = buildPerlPackage {
18639     pname = "Net-CIDR-Lite";
18640     version = "0.22";
18641     src = fetchurl {
18642       url = "mirror://cpan/authors/id/S/ST/STIGTSP/Net-CIDR-Lite-0.22.tar.gz";
18643       hash = "sha256-QxfYyzQaYXueCIjaQ8Cc3//8sMnt97jJko10KlY7hRc=";
18644     };
18645     meta = {
18646       description = "Perl extension for merging IPv4 or IPv6 CIDR addresses";
18647       license = with lib.licenses; [ artistic1 gpl1Plus ];
18648       maintainers = [ maintainers.sgo ];
18649     };
18650   };
18652   NetCoverArtArchive = buildPerlPackage {
18653     pname = "Net-CoverArtArchive";
18654     version = "1.02";
18655     src = fetchurl {
18656       url = "mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz";
18657       hash = "sha256-VyXiCCZDVq1rP6++uXVqz8Kny5WDiMpcCHqsJzNF3dE=";
18658     };
18659     buildInputs = [ FileFindRule ];
18660     propagatedBuildInputs = [ JSONAny LWP Moose namespaceautoclean ];
18661     meta = {
18662       description = "Query the coverartarchive.org";
18663       homepage = "https://github.com/metabrainz/CoverArtArchive";
18664       license = with lib.licenses; [ artistic1 gpl1Plus ];
18665     };
18666   };
18668   NetCUPS = buildPerlPackage {
18669     pname = "Net-CUPS";
18670     version = "0.64";
18671     src = fetchurl {
18672       url = "mirror://cpan/authors/id/N/NI/NINE/Net-CUPS-0.64.tar.gz";
18673       hash = "sha256-17x3/w9iv4dMhDxZDrEqgLvUR0mi+3Tb7URcNdDoWoU=";
18674     };
18675     buildInputs = [ pkgs.cups pkgs.cups-filters ];
18676     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.cups}/lib -lcups";
18677     meta = {
18678       description = "Common Unix Printing System Interface";
18679       homepage = "https://github.com/niner/perl-Net-CUPS";
18680       license = with lib.licenses; [ artistic1 gpl1Plus ];
18681     };
18682   };
18684   NetDBus = buildPerlPackage {
18685     pname = "Net-DBus";
18686     version = "1.2.0";
18687     src = fetchurl {
18688       url = "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz";
18689       hash = "sha256-56GsnvShI1s/29WIj4bDRxgjBkZ715q8mwdWpktEHLw=";
18690     };
18691     nativeBuildInputs = [ buildPackages.pkg-config ];
18692     buildInputs = [ pkgs.dbus TestPod TestPodCoverage ];
18693     propagatedBuildInputs = [ XMLTwig ];
18695     # https://gitlab.com/berrange/perl-net-dbus/-/merge_requests/19
18696     patches = fetchpatch {
18697       url = "https://gitlab.com/berrange/perl-net-dbus/-/commit/6bac8f188fb06e5e5edd27aee672d66b7c28caa4.patch";
18698       hash = "sha256-68kyUxM3E7w99rM2AZWZQMpGcaQxfSWaBs3DnmwnzqY=";
18699     };
18701     postPatch = ''
18702       substituteInPlace Makefile.PL --replace pkg-config $PKG_CONFIG
18703     '';
18705     meta = {
18706       description = "Extension for the DBus bindings";
18707       homepage = "https://www.freedesktop.org/wiki/Software/dbus";
18708       license = with lib.licenses; [ artistic1 gpl1Plus ];
18709     };
18710   };
18712   NetDNS = buildPerlPackage {
18713     pname = "Net-DNS";
18714     version = "1.44";
18715     src = fetchurl {
18716       url = "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.44.tar.gz";
18717       hash = "sha256-E9ftxLjOoBMhR/qsNXH2s8cdHQz9hExTDFoET0o+wx4=";
18718     };
18719     propagatedBuildInputs = [ DigestHMAC ];
18720     makeMakerFlags = [ "--noonline-tests" ];
18721     meta = {
18722       description = "Perl Interface to the Domain Name System";
18723       license = with lib.licenses; [ mit ];
18724     };
18725   };
18727   NetDNSResolverMock = buildPerlPackage {
18728     pname = "Net-DNS-Resolver-Mock";
18729     version = "1.20230216";
18730     src = fetchurl {
18731       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20230216.tar.gz";
18732       hash = "sha256-7UkwV3/Rop1kNbWHVTPTso9cElijWDP+bKLLaiaFpJs=";
18733     };
18734     propagatedBuildInputs = [ NetDNS ];
18735     buildInputs = [ TestException ];
18736     meta = {
18737       description = "Mock a DNS Resolver object for testing";
18738       license = with lib.licenses; [ artistic1 gpl1Plus ];
18739     };
18740   };
18742   NetDomainTLD = buildPerlPackage {
18743     pname = "Net-Domain-TLD";
18744     version = "1.75";
18745     src = fetchurl {
18746       url = "mirror://cpan/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.75.tar.gz";
18747       hash = "sha256-TDf4ERhNaKxBedSMEOoxki3V/KLBv/zc2VxaKjtAAu4=";
18748     };
18749     meta = {
18750       description = "Work with TLD names";
18751       license = with lib.licenses; [ artistic1 gpl1Plus ];
18752     };
18753   };
18755   NetFastCGI = buildPerlPackage {
18756     pname = "Net-FastCGI";
18757     version = "0.14";
18758     src = fetchurl {
18759       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz";
18760       hash = "sha256-EZOQCk/V6eupzNBuE4+RCSG3Ugf/i1JLZDqIyD61WWo=";
18761     };
18762     buildInputs = [ TestException TestHexString ];
18763     meta = {
18764       description = "FastCGI Toolkit";
18765       license = with lib.licenses; [ artistic1 gpl1Plus ];
18766     };
18767   };
18769   NetFrame = buildPerlModule {
18770     pname = "Net-Frame";
18771     version = "1.21";
18772     src = fetchurl {
18773       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-1.21.tar.gz";
18774       hash = "sha256-vLNXootjnwyvfWLTPS5g/wv8z4lNAHzmAfY1UTiD1zk=";
18775     };
18776     propagatedBuildInputs = [ BitVector ClassGomor NetIPv6Addr ];
18777     preCheck = "rm t/13-gethostsubs.t"; # it performs DNS queries
18778     meta = {
18779       description = "Base framework for frame crafting";
18780       license = with lib.licenses; [ artistic1 ];
18781     };
18782   };
18784   NetFrameLayerIPv6 = buildPerlModule {
18785     pname = "Net-Frame-Layer-IPv6";
18786     version = "1.08";
18787     src = fetchurl {
18788       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-Layer-IPv6-1.08.tar.gz";
18789       hash = "sha256-ui2FK+jzf1iE4wfagriqPNeU4YoVyAdSGsLKKtE599c=";
18790     };
18791     propagatedBuildInputs = [ NetFrame ];
18792     meta = {
18793       description = "Internet Protocol v6 layer object";
18794       license = with lib.licenses; [ artistic1 ];
18795     };
18796   };
18798   NetFreeDB = buildPerlPackage {
18799     pname = "Net-FreeDB";
18800     version = "0.10";
18801     src = fetchurl {
18802       url = "mirror://cpan/authors/id/D/DS/DSHULTZ/Net-FreeDB-0.10.tar.gz";
18803       hash = "sha256-90PhIjjrFslIBK+0sxCwJUj3C8rxeRZOrlZ/i0mIroU=";
18804     };
18805     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
18806     propagatedBuildInputs = [ CDDBFile Moo ];
18807     meta = {
18808       description = "OOP Interface to FreeDB Server(s)";
18809       license = with lib.licenses; [ artistic1 ];
18810       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.NetFreeDB.x86_64-darwin
18811     };
18812   };
18814   NetHTTP = buildPerlPackage {
18815     pname = "Net-HTTP";
18816     version = "6.23";
18817     src = fetchurl {
18818       url = "mirror://cpan/authors/id/O/OA/OALDERS/Net-HTTP-6.23.tar.gz";
18819       hash = "sha256-DWXAndbIWJsq4RGBdNPBphcDtuz8FKNEKox0r2XgyU4=";
18820     };
18821     propagatedBuildInputs = [ URI ];
18822     __darwinAllowLocalNetworking = true;
18823     doCheck = false; /* wants network */
18824     meta = {
18825       description = "Low-level HTTP connection (client)";
18826       homepage = "https://github.com/libwww-perl/Net-HTTP";
18827       license = with lib.licenses; [ artistic1 gpl1Plus ];
18828     };
18829   };
18831   NetHTTPSNB = buildPerlPackage {
18832     pname = "Net-HTTPS-NB";
18833     version = "0.15";
18834     src = fetchurl {
18835       url = "mirror://cpan/authors/id/O/OL/OLEG/Net-HTTPS-NB-0.15.tar.gz";
18836       hash = "sha256-amnPT6Vfuju70iYu4UKC7YMQc22PWslNGmxZfNEnjE8=";
18837     };
18838     propagatedBuildInputs = [ IOSocketSSL NetHTTP ];
18839     meta = {
18840       description = "Non-blocking HTTPS client";
18841       homepage = "https://github.com/olegwtf/p5-Net-HTTPS-NB";
18842       license = with lib.licenses; [ artistic1 gpl1Plus ];
18843     };
18844   };
18846   NetIDNEncode = buildPerlModule {
18847     pname = "Net-IDN-Encode";
18848     version = "2.500";
18849     src = fetchurl {
18850       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.500.tar.gz";
18851       hash = "sha256-VUU2M+P/JM4yWzS8LIFXuYWZYqMatc8ov3zMHJs6Pqo=";
18852     };
18853     buildInputs = [ TestNoWarnings ];
18854     perlPreHook = "export LD=$CC";
18855     meta = {
18856       description = "Internationalizing Domain Names in Applications (UTS #46)";
18857       homepage = "https://metacpan.org/release/Net-IDN-Encode";
18858       license = with lib.licenses; [ artistic1 gpl1Plus ];
18859     };
18860   };
18862   NetIMAPClient = buildPerlPackage {
18863     pname = "Net-IMAP-Client";
18864     version = "0.9507";
18865     src = fetchurl {
18866       url = "mirror://cpan/authors/id/G/GA/GANGLION/Net-IMAP-Client-0.9507.tar.gz";
18867       hash = "sha256-QE5vW7xQjPFnxAUqXhRwXv7sb7eTvPm1xCniX0cYNUk=";
18868     };
18869     propagatedBuildInputs = [ IOSocketSSL ListMoreUtils ];
18870     meta = {
18871       description = "Not so simple IMAP client library";
18872       license = with lib.licenses; [ artistic1 gpl1Plus ];
18873     };
18874   };
18876   NetIP = buildPerlPackage {
18877     pname = "Net-IP";
18878     version = "1.26";
18879     src = fetchurl {
18880       url = "mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz";
18881       hash = "sha256-BA8W8wZmR9dhtySjtwdU0oy9Hm/l6gHGPtHNhXEX1jk=";
18882     };
18883     meta = {
18884       description = "Perl extension for manipulating IPv4/IPv6 addresses";
18885       license = with lib.licenses; [ artistic1 gpl1Plus ];
18886     };
18887   };
18889   NetIPLite = buildPerlPackage {
18890     pname = "Net-IP-Lite";
18891     version = "0.03";
18892     src = fetchurl {
18893       url = "mirror://cpan/authors/id/A/AL/ALEXKOM/Net-IP-Lite-0.03.tar.gz";
18894       hash = "sha256-yZFubPqlO+J1N5zksqVQrhdt36tQ2tQ7Q+1D6CZ4Aqk=";
18895     };
18896     buildInputs = [ TestException ];
18897     meta = {
18898       description = "Perl extension for manipulating IPv4/IPv6 addresses";
18899       homepage = "https://metacpan.org/pod/Net::IP::Lite";
18900       license = with lib.licenses; [ artistic1 gpl1Plus ];
18901       maintainers = [ maintainers.sgo ];
18902     };
18903   };
18905   NetIPv4Addr = buildPerlPackage {
18906     pname = "Net-IPv4Addr";
18907     version = "0.10";
18908     src = fetchurl {
18909       url = "mirror://cpan/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-0.10.tar.gz";
18910       hash = "sha256-OEXeTzCxfIQrGSys6Iedu2IU3paSz6cPCq8JgUIqY/4=";
18911     };
18912     meta = {
18913       description = "Perl extension for manipulating IPv4 addresses";
18914       license = with lib.licenses; [ artistic1 gpl1Plus ];
18915       mainProgram = "ipv4calc";
18916     };
18917   };
18919   NetIPv6Addr = buildPerlPackage {
18920     pname = "Net-IPv6Addr";
18921     version = "1.02";
18922     src = fetchurl {
18923       url = "mirror://cpan/authors/id/B/BK/BKB/Net-IPv6Addr-1.02.tar.gz";
18924       hash = "sha256-sjQBwSJv7o3+Yn9a4OkMVaxUcBDso5gRDcFjH0HJ7H0=";
18925     };
18926     propagatedBuildInputs = [ MathBase85 NetIPv4Addr ];
18927     meta = {
18928       description = "Check and manipulate IPv6 addresses";
18929       license = with lib.licenses; [ artistic1 gpl1Plus ];
18930     };
18931   };
18933   NetIPXS = buildPerlPackage {
18934     pname = "Net-IP-XS";
18935     version = "0.22";
18936     src = fetchurl {
18937       url = "mirror://cpan/authors/id/T/TO/TOMHRR/Net-IP-XS-0.22.tar.gz";
18938       hash = "sha256-JZe0aDizgur3S6XJnD9gpqC1poHsNqFBchJL9E9LGSA=";
18939     };
18940     propagatedBuildInputs = [ IOCapture TieSimple ];
18941     meta = {
18942       homepage = "https://github.com/tomhrr/p5-Net-IP-XS";
18943       description = "IPv4/IPv6 address library";
18944       license = with lib.licenses; [ gpl2Plus ];
18945     };
18946   };
18948   NetLDAPServer = buildPerlPackage {
18949     pname = "Net-LDAP-Server";
18950     version = "0.43";
18951     src = fetchurl {
18952       url = "mirror://cpan/authors/id/A/AA/AAR/Net-LDAP-Server-0.43.tar.gz";
18953       hash = "sha256-3WxMtNMLwyEUsHh/qioeK0/t0bkcLvN5Zey6ETMbsGI=";
18954     };
18955     propagatedBuildInputs = [ perlldap ConvertASN1 ];
18956     meta = {
18957       description = "LDAP server side protocol handling";
18958       license = with lib.licenses; [ artistic1 gpl1Plus ];
18959     };
18960   };
18962   NetLDAPSID = buildPerlPackage {
18963     pname = "Net-LDAP-SID";
18964     version = "0.001";
18965     src = fetchurl {
18966       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-SID-0.001.tar.gz";
18967       hash = "sha256-qMLNQGeQl/w7hCV24bU+w1/UNIGoalA4PutOJOu81tY=";
18968     };
18969     meta = {
18970       description = "Active Directory Security Identifier manipulation";
18971       homepage = "https://github.com/karpet/net-ldap-sid";
18972       license = with lib.licenses; [ artistic1 gpl1Plus ];
18973     };
18974   };
18976   NetLDAPServerTest = buildPerlPackage {
18977     pname = "Net-LDAP-Server-Test";
18978     version = "0.22";
18979     src = fetchurl {
18980       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-Server-Test-0.22.tar.gz";
18981       hash = "sha256-sSBxe18fb2sTsxQ3/dIY7g/GnrASGN4U2SL5Kc+NLY4=";
18982     };
18983     propagatedBuildInputs = [ perlldap NetLDAPServer DataDump NetLDAPSID ];
18984     meta = {
18985       description = "Test Net::LDAP code";
18986       homepage = "https://github.com/karpet/net-ldap-server-test";
18987       license = with lib.licenses; [ artistic1 gpl1Plus ];
18988     };
18989   };
18991   NetLibIDN2 = buildPerlModule {
18992     pname = "Net-LibIDN2";
18993     version = "1.02";
18994     src = fetchurl {
18995       url = "mirror://cpan/authors/id/T/TH/THOR/Net-LibIDN2-1.02.tar.gz";
18996       hash = "sha256-0fMK/GrPplQbAMCafkx059jkuknjJ3wLvEGuNcE5DQc=";
18997     };
18998     propagatedBuildInputs = [ pkgs.libidn2 ];
18999     meta = {
19000       description = "Perl bindings for GNU Libidn2";
19001       homepage = "https://github.com/gnuthor/Net--LibIDN2";
19002       license = with lib.licenses; [ artistic1 gpl1Plus ];
19003     };
19004   };
19006   NetNetmask = buildPerlPackage {
19007     pname = "Net-Netmask";
19008     version = "2.0002";
19009     src = fetchurl {
19010       url = "mirror://cpan/authors/id/J/JM/JMASLAK/Net-Netmask-2.0002.tar.gz";
19011       hash = "sha256-JKmy58a8wTAteXROukwCG/PeR/FJqvrM2U+bBC/dv5Q=";
19012     };
19013     buildInputs = [ Test2Suite TestUseAllModules ];
19014     meta = {
19015       description = "Understand and manipulate IP netmasks";
19016       homepage = "https://search.cpan.org/~jmaslak/Net-Netmask";
19017       license = with lib.licenses; [ artistic1 gpl1Plus ];
19018     };
19019   };
19021   NetMPD = buildPerlModule {
19022     pname = "Net-MPD";
19023     version = "0.07";
19024     buildInputs = [ ModuleBuildTiny ];
19025     src = fetchurl {
19026       url = "mirror://cpan/authors/id/A/AB/ABERNDT/Net-MPD-0.07.tar.gz";
19027       hash = "sha256-M4L7nG9cJd4mKPVhRCn6igB5FSFnjELaBoyZ57KU6VM=";
19028     };
19029     meta = {
19030       description = "Communicate with an MPD server";
19031       homepage = "https://metacpan.org/pod/Net::MPD";
19032       license = with lib.licenses; [ mit ];
19033     };
19034   };
19036   NetMQTTSimple = buildPerlPackage {
19037     pname = "Net-MQTT-Simple";
19038     version = "1.28";
19039     src = fetchurl {
19040       url = "mirror://cpan/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.28.tar.gz";
19041       hash = "sha256-Sp6hB+a8IuJrUzZ4oKPMbEI7N4TsP8ROjjM5t8Vr7gM=";
19042     };
19043     meta = {
19044       description = "Minimal MQTT version 3 interface";
19045       license = with lib.licenses; [ artistic1 gpl1Plus ];
19046     };
19047   };
19049   NetNVD = buildPerlPackage {
19050     pname = "Net-NVD";
19051     version = "0.0.3";
19052     src = fetchurl {
19053       url = "mirror://cpan/authors/id/G/GA/GARU/Net-NVD-0.0.3.tar.gz";
19054       hash = "sha256-uKZXEg+UsO7R2OvbA4i8M2DSj6Xw+CNrnNjNrovv5Bg=";
19055     };
19056     propagatedBuildInputs = [ IOSocketSSL JSON ];
19057     meta = {
19058       description = "Query CVE data from NIST's NVD (National Vulnerability Database)";
19059       license = with lib.licenses; [ artistic1 gpl1Plus ];
19060     };
19061   };
19063   NetOAuth = buildPerlModule {
19064     pname = "Net-OAuth";
19065     version = "0.28";
19066     src = fetchurl {
19067       url = "mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz";
19068       hash = "sha256-e/wxnaCsV44Ali81o1DPUREKOjEwFtH9wwciAooikEw=";
19069     };
19070     buildInputs = [ TestWarn ];
19071     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWP ];
19072     meta = {
19073       description = "Implementation of the OAuth protocol";
19074       license = with lib.licenses; [ artistic1 gpl1Plus ];
19075     };
19076   };
19078   NetPatricia = buildPerlPackage {
19079     pname = "Net-Patricia";
19080     version = "1.22";
19081     src = fetchurl {
19082       url = "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-1.22.tar.gz";
19083       hash = "sha256-cINakm4cWo0DJMcv/+6C7rfsbBQd7gT9RGggtk9xxVI=";
19084     };
19085     propagatedBuildInputs = [ NetCIDRLite Socket6 ];
19086     meta = {
19087       description = "Patricia Trie perl module for fast IP address lookups";
19088       license = with lib.licenses; [ gpl2Plus ];
19089     };
19090   };
19092   NetPing = buildPerlPackage {
19093     pname = "Net-Ping";
19094     version = "2.75";
19095     src = fetchurl {
19096       url = "mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.75.tar.gz";
19097       hash = "sha256-tH3zz9lpLM0Aca05/nRxjrwy9ZcBVWpgT9FaCfCeDXQ=";
19098     };
19099     meta = {
19100       description = "Check a remote host for reachability";
19101       license = with lib.licenses; [ artistic1 gpl1Plus ];
19102     };
19103   };
19105   NetDNSResolverProgrammable = buildPerlPackage {
19106     pname = "Net-DNS-Resolver-Programmable";
19107     version = "0.009";
19108     src = fetchurl {
19109       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz";
19110       hash = "sha256-gICiq3dmKVhZEa8Reb23xNwr6/1LXv13sR0drGJFS/g=";
19111     };
19112     propagatedBuildInputs = [ NetDNS ];
19113     meta = {
19114       description = "Programmable DNS resolver class for offline emulation of DNS";
19115       homepage = "https://github.com/bigpresh/Net-DNS-Resolver-Programmable";
19116       license = with lib.licenses; [ artistic1 gpl1Plus ];
19117     };
19118   };
19120   NetPrometheus = buildPerlModule {
19121     pname = "Net-Prometheus";
19122     version = "0.12";
19123     src = fetchurl {
19124       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Prometheus-0.12.tar.gz";
19125       hash = "sha256-rs73NJygSW/yNahKkQ+KBDZtB/WqQfrieixKxbip6SM=";
19126     };
19127     propagatedBuildInputs = [ RefUtil StructDumb URI ];
19128     buildInputs = [ HTTPMessage TestFatal ];
19129     meta = {
19130       description = "Export monitoring metrics for prometheus";
19131       license = with lib.licenses; [ artistic1 gpl1Plus ];
19132     };
19133   };
19135   NetSCP = buildPerlPackage {
19136     pname = "Net-SCP";
19137     version = "0.08.reprise";
19138     src = fetchurl {
19139       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SCP-0.08.reprise.tar.gz";
19140       hash = "sha256-iKmy32nnaeWFWkCLGfYZFbguj+Bwq1z01SXdO4u+McE=";
19141     };
19142     propagatedBuildInputs = [ pkgs.openssl ];
19143     patchPhase = ''
19144       sed -i 's|$scp = "scp";|$scp = "${pkgs.openssh}/bin/scp";|' SCP.pm
19145     '';
19146     buildInputs = [ NetSSH StringShellQuote ];
19147     meta = {
19148       description = "Simple wrappers around ssh and scp commands";
19149       license = with lib.licenses; [ artistic1 gpl1Plus ];
19150     };
19151   };
19153   NetRemctl = callPackage ../development/perl-modules/NetRemctl { };
19155   NetServer = buildPerlPackage {
19156     pname = "Net-Server";
19157     version = "2.014";
19158     src = fetchurl {
19159       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.014.tar.gz";
19160       hash = "sha256-NAa5ylpmKgB17tR/t43hMWtgHJT2Kg7jSlVE25uqNyA=";
19161     };
19162     doCheck = false; # seems to hang waiting for connections
19163     meta = {
19164       description = "Extensible Perl internet server";
19165       license = with lib.licenses; [ artistic1 gpl1Plus ];
19166       mainProgram = "net-server";
19167     };
19168   };
19170   NetSFTPForeign = buildPerlPackage {
19171     pname = "Net-SFTP-Foreign";
19172     version = "1.93";
19173     src = fetchurl {
19174       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-SFTP-Foreign-1.93.tar.gz";
19175       hash = "sha256-bH1kJQh2hz2kNIAOUGCovvekZFHYH4F+N+Q8/aUaD3o=";
19176     };
19177     propagatedBuildInputs = [ pkgs.openssl ];
19178     patchPhase = ''
19179       sed -i "s|$ssh_cmd = 'ssh'|$ssh_cmd = '${pkgs.openssh}/bin/ssh'|" lib/Net/SFTP/Foreign/Backend/Unix.pm
19180     '';
19181     meta = {
19182       description = "Secure File Transfer Protocol client";
19183       license = with lib.licenses; [ artistic1 gpl1Plus ];
19184     };
19185   };
19187   NetServerCoro = buildPerlPackage {
19188     pname = "Net-Server-Coro";
19189     version = "1.3";
19190     src = fetchurl {
19191       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz";
19192       hash = "sha256-HhpwKw3TkMPmKfip6EzKY7eU0eInlX9Cm2dgEHV3+4Y=";
19193     };
19194     propagatedBuildInputs = [ Coro NetServer ];
19195     meta = {
19196       description = "Co-operative multithreaded server using Coro";
19197       license = with lib.licenses; [ mit ];
19198     };
19199   };
19201   NetServerSSPrefork = buildPerlPackage {
19202     pname = "Net-Server-SS-PreFork";
19203     version = "0.06pre";
19204     src = fetchFromGitHub {
19205       owner = "kazuho";
19206       repo = "p5-Net-Server-SS-PreFork";
19207       rev = "5fccc0c270e25c65ef634304630af74b48807d21";
19208       hash = "sha256-pveVyFdEe/TQCEI83RrQTWr7aoYrgOGaNqc1wJeiAnw=";
19209     };
19210     nativeCheckInputs = [ HTTPMessage LWP TestSharedFork HTTPServerSimple TestTCP TestUNIXSock ];
19211     buildInputs = [ ModuleInstall ];
19212     propagatedBuildInputs = [ NetServer ServerStarter ];
19213     meta = {
19214       description = "Hot-deployable variant of Net::Server::PreFork";
19215       license = with lib.licenses; [ artistic1 gpl1Plus ];
19216     };
19217   };
19219   NetSMTPSSL = buildPerlPackage {
19220     pname = "Net-SMTP-SSL";
19221     version = "1.04";
19222     src = fetchurl {
19223       url = "mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz";
19224       hash = "sha256-eynEWt0Z09UIS3Ufe6iajkBHmkRs4hz9nMdB5VgzKgA=";
19225     };
19226     propagatedBuildInputs = [ IOSocketSSL ];
19227     meta = {
19228       description = "SSL support for Net::SMTP";
19229       license = with lib.licenses; [ artistic1 gpl1Plus ];
19230     };
19231   };
19233   NetSMTPTLS = buildPerlPackage {
19234     pname = "Net-SMTP-TLS";
19235     version = "0.12";
19236     src = fetchurl {
19237       url = "mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz";
19238       hash = "sha256-7+dyZnrDdwK5a221KXzIJ0J6Ozo4GbekMVsIudRE5KU=";
19239     };
19240     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
19241     meta = {
19242       description = "SMTP client supporting TLS and AUTH";
19243       license = with lib.licenses; [ artistic1 gpl1Plus ];
19244     };
19245   };
19247   NetSMTPTLSButMaintained = buildPerlPackage {
19248     pname = "Net-SMTP-TLS-ButMaintained";
19249     version = "0.24";
19250     src = fetchurl {
19251       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz";
19252       hash = "sha256-a5XAj3FXnYUcAYP1AqcAyGof7O9XDjzugybF5M5mJW4=";
19253     };
19254     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
19255     meta = {
19256       description = "SMTP client supporting TLS and AUTH (DEPRECATED, use Net::SMTPS instead)";
19257       license = with lib.licenses; [ artistic1 gpl1Plus ];
19258     };
19259   };
19261   NetSNMP = buildPerlModule {
19262     pname = "Net-SNMP";
19263     version = "6.0.1";
19264     src = fetchurl {
19265       url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
19266       hash = "sha256-FMN7wcuz883H1sE+DyeoWfFM3P1epUoEZ6iLwlmwt0E=";
19267     };
19268     patches = [
19269       (fetchpatch2 {
19270         url = "https://src.fedoraproject.org/rpms/perl-Net-SNMP/raw/6e1d3e8ff2b9bd38dab48301a9d8b5d81ef3b7fe/f/Net-SNMP-v6.0.1-Switch_from_Socket6_to_Socket.patch";
19271         hash = "sha256-IpVhqI+dXqzauTkLF0Doulg5U33FxHUhqFTp0jeMtMY=";
19272       })
19273       (fetchpatch2 {
19274         url = "https://src.fedoraproject.org/rpms/perl-Net-SNMP/raw/6e1d3e8ff2b9bd38dab48301a9d8b5d81ef3b7fe/f/Net-SNMP-v6.0.1-Simple_rewrite_to_Digest-HMAC-helpers.patch";
19275         hash = "sha256-ZXo9w2YLtPmM1SJLvIiLWefw7SwrTFyTo4eX6DG1yfA=";
19276       })
19277       (fetchpatch2 {
19278         url = "https://src.fedoraproject.org/rpms/perl-Net-SNMP/raw/6e1d3e8ff2b9bd38dab48301a9d8b5d81ef3b7fe/f/Net-SNMP-v6.0.1-Split_usm.t_to_two_parts.patch";
19279         hash = "sha256-A2gsD6DIX1aFSVLbSL/1zKSM1xiM6hWBadJJH7f5E8o=";
19280       })
19281       (fetchpatch2 {
19282         url = "https://src.fedoraproject.org/rpms/perl-Net-SNMP/raw/6e1d3e8ff2b9bd38dab48301a9d8b5d81ef3b7fe/f/Net-SNMP-v6.0.1-Add_tests_for_another_usm_scenarios.patch";
19283         hash = "sha256-U7nNuL35l/zdSzx1jgjp1PmLQn3xzzDw9DGnyeydi2E=";
19284       })
19285       (fetchpatch2 {
19286         url = "https://src.fedoraproject.org/rpms/perl-Net-SNMP/raw/6e1d3e8ff2b9bd38dab48301a9d8b5d81ef3b7fe/f/Net-SNMP-v6.0.1-Rewrite_from_Digest-SHA1-to-Digest-SHA.patch";
19287         hash = "sha256-dznhj1Fcy0iBBl92p825InjkNZixR2MURVQ/b9bVjtc=";
19288       })
19289       ../development/perl-modules/net-snmp-add-sha-algorithms.patch
19290     ];
19291     preCheck =
19292       (lib.optionalString stdenv.hostPlatform.isLinux ''
19293         export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols
19294         export LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
19295       '');
19296     propagatedBuildInputs = [
19297       CryptDES
19298       CryptRijndael
19299       DigestHMAC
19300     ];
19301     meta = {
19302       description = "Object oriented interface to SNMP";
19303       license = with lib.licenses; [ artistic1 gpl1Plus ];
19304       mainProgram = "snmpkey";
19305     };
19306   };
19308   NetSNPP = buildPerlPackage {
19309     pname = "Net-SNPP";
19310     version = "1.17";
19311     src = fetchurl {
19312       url = "mirror://cpan/authors/id/T/TO/TOBEYA/Net-SNPP-1.17.tar.gz";
19313       hash = "sha256-BrhR1kWWYl6GY1n7AX3Q0Ilz4OvFDDI/Sh1Q7N2GjnY=";
19314     };
19316     doCheck = false;
19317     meta = {
19318       description = "Simple Network Pager Protocol Client";
19319       license = with lib.licenses; [ artistic1 gpl1Plus ];
19320     };
19321   };
19323   NetSSH = buildPerlPackage {
19324     pname = "Net-SSH";
19325     version = "0.09";
19326     src = fetchurl {
19327       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SSH-0.09.tar.gz";
19328       hash = "sha256-fHHHw8vpUyNN/iW8wa1+2w4fWgV4YB9VI7xgcCYqOBc=";
19329     };
19330     propagatedBuildInputs = [ pkgs.openssl ];
19331     patchPhase = ''
19332       sed -i 's|$ssh = "ssh";|$ssh = "${pkgs.openssh}/bin/ssh";|' SSH.pm
19333     '';
19334     meta = {
19335       description = "Simple wrappers around ssh commands";
19336       license = with lib.licenses; [ artistic1 gpl1Plus ];
19337     };
19338   };
19340   NetSSHPerl = buildPerlPackage {
19341     pname = "Net-SSH-Perl";
19342     version = "2.142";
19343     src = fetchurl {
19344       url = "mirror://cpan/authors/id/B/BD/BDFOY/Net-SSH-Perl-2.142.tar.gz";
19345       hash = "sha256-UAHbPllS/BjYXDF5Uhr2kT0VQ+tP30/ZfcYDpHSMLJY=";
19346     };
19347     propagatedBuildInputs = [ CryptCurve25519 CryptIDEA CryptX FileHomeDir MathGMP StringCRC32 ];
19348     preCheck = "export HOME=$TMPDIR";
19349     meta = {
19350       description = "Perl client interface to SSH";
19351       homepage = "https://search.cpan.org/dist/Net-SSH-Perl";
19352       license = with lib.licenses; [ artistic1 gpl1Plus ];
19353     };
19354   };
19356   NetSSLeay = buildPerlPackage {
19357     pname = "Net-SSLeay";
19358     version = "1.92";
19359     src = fetchurl {
19360       url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz";
19361       hash = "sha256-R8LyswDy5xYtcdaZ9jPdajWwYloAy9qMUKwBFEqTlqk=";
19362     };
19363     buildInputs = [ pkgs.openssl pkgs.zlib ];
19364     doCheck = false; # Test performs network access.
19365     preConfigure = ''
19366       mkdir openssl
19367       ln -s ${lib.getLib pkgs.openssl}/lib openssl
19368       ln -s ${pkgs.openssl.bin}/bin openssl
19369       ln -s ${pkgs.openssl.dev}/include openssl
19370       export OPENSSL_PREFIX=$(realpath openssl)
19371     '';
19372     meta = {
19373       description = "Perl bindings for OpenSSL and LibreSSL";
19374       license = with lib.licenses; [ artistic2 ];
19375     };
19376   };
19378   NetStatsd = buildPerlPackage {
19379     pname = "Net-Statsd";
19380     version = "0.12";
19381     src = fetchurl {
19382       url = "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz";
19383       hash = "sha256-Y+RTYD2hZbxtHEygtV7aPSIE8EDFkwSkd4LFqniGVlw=";
19384     };
19385     meta = {
19386       description = "Perl client for Etsy's statsd daemon";
19387       license = with lib.licenses; [ artistic1 gpl1Plus ];
19388       mainProgram = "benchmark.pl";
19389     };
19390   };
19392   NetTelnet = buildPerlPackage {
19393     pname = "Net-Telnet";
19394     version = "3.05";
19395     src = fetchurl {
19396       url = "mirror://cpan/authors/id/J/JR/JROGERS/Net-Telnet-3.05.tar.gz";
19397       hash = "sha256-Z39ouizSqCT64yP6guGDv349A8PEmckdkjvWKDeWp0M=";
19398     };
19399     meta = {
19400       description = "Interact with TELNET port or other TCP ports";
19401       license = with lib.licenses; [ artistic1 gpl1Plus ];
19402     };
19403   };
19405   NetTwitterLite = buildPerlModule {
19406     pname = "Net-Twitter-Lite";
19407     version = "0.12008";
19408     src = fetchurl {
19409       url = "mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz";
19410       hash = "sha256-suq+Hyo/LGTezWDye8O0buZSVgsCTExWgRVhbI1KRo4=";
19411     };
19412     buildInputs = [ ModuleBuildTiny TestFatal ];
19413     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
19414     doCheck = false;
19415     meta = {
19416       description = "Perl API library for the Twitter API";
19417       homepage = "https://github.com/semifor/net-twitter-lite";
19418       license = with lib.licenses; [ artistic1 gpl1Plus ];
19419     };
19420   };
19422   NetWhoisIP = buildPerlPackage {
19423     pname = "Net-Whois-IP";
19424     version = "1.19";
19425     src = fetchurl {
19426       url = "mirror://cpan/authors/id/B/BS/BSCHMITZ/Net-Whois-IP-1.19.tar.gz";
19427       hash = "sha256-8JvfoPHSZltTSCa186hmI0mTDu0pmO/k2Nv5iBMUciI=";
19428     };
19429     doCheck = false;
19431     # https://rt.cpan.org/Public/Bug/Display.html?id=99377
19432     postPatch = ''
19433       substituteInPlace IP.pm --replace " AutoLoader" ""
19434     '';
19435     buildInputs = [ RegexpIPv6 ];
19436     meta = {
19437       description = "Perl extension for looking up the whois information for ip addresses";
19438       license = with lib.licenses; [ artistic1 gpl1Plus ];
19439     };
19440   };
19442   NetWorks = buildPerlPackage {
19443     pname = "Net-Works";
19444     version = "0.22";
19445     src = fetchurl {
19446       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Net-Works-0.22.tar.gz";
19447       hash = "sha256-CsmyPfvKGE4ocpskU5S8ZpOq22/EUcqplbS3GewO6f8=";
19448     };
19449     propagatedBuildInputs = [ ListAllUtils MathInt128 Moo namespaceautoclean ];
19450     buildInputs = [ TestFatal ];
19451     meta = {
19452       description = "Sane APIs for IP addresses and networks";
19453       license = with lib.licenses; [ artistic1 gpl1Plus ];
19454     };
19455   };
19457   NumberBytesHuman = buildPerlPackage {
19458     pname = "Number-Bytes-Human";
19459     version = "0.11";
19460     src = fetchurl {
19461       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Number-Bytes-Human-0.11.tar.gz";
19462       hash = "sha256-X8ecSbC0DfeAR5xDaWOBND4ratH+UoWfYLxltm6+byw=";
19463     };
19464     meta = {
19465       description = "Convert byte count to human readable format";
19466       license = with lib.licenses; [ artistic1 gpl1Plus ];
19467     };
19468   };
19470   NumberCompare = buildPerlPackage {
19471     pname = "Number-Compare";
19472     version = "0.03";
19473     src = fetchurl {
19474       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz";
19475       hash = "sha256-gyk3N+gDtDESgwRD+1II7FIIoubqUS7VTvjk3SuICCc=";
19476     };
19477     meta = {
19478       description = "Numeric comparisons";
19479       license = with lib.licenses; [ artistic1 gpl1Plus ];
19480     };
19481   };
19483   NumberFormat = buildPerlPackage {
19484     pname = "Number-Format";
19485     version = "1.76";
19486     src = fetchurl {
19487       url = "mirror://cpan/authors/id/R/RJ/RJBS/Number-Format-1.76.tar.gz";
19488       hash = "sha256-DgBg6zY2NaiFcGxqJvX8qv6udZ97Ksrkndpw4ZXdRNY=";
19489     };
19490     meta = {
19491       description = "Perl extension for formatting numbers";
19492       license = with lib.licenses; [ artistic1 gpl1Plus ];
19493     };
19494   };
19496   NumberFraction = buildPerlModule {
19497     pname = "Number-Fraction";
19498     version = "3.0.4";
19499     src = fetchurl {
19500       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-v3.0.4.tar.gz";
19501       hash = "sha256-xkGcird4/XKbENfmp487ewf8CJV8H3nlZm3Ny01iwIU=";
19502     };
19503     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
19504     meta = {
19505       description = "Perl extension to model fractions";
19506       license = with lib.licenses; [ artistic1 gpl1Plus ];
19507     };
19508   };
19510   NumberMisc = buildPerlModule {
19511     pname = "Number-Misc";
19512     version = "1.2";
19513     src = fetchurl {
19514       url = "mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz";
19515       hash = "sha256-d7m2jGAKBpzxb02BJuyzIVHmvNNLDtsXt4re5onckdg=";
19516     };
19517     meta = {
19518       description = "Number::Misc - handy utilities for numbers";
19519       license = with lib.licenses; [ artistic1 gpl1Plus ];
19520     };
19521   };
19523   NumberPhone = buildPerlPackage {
19524     pname = "Number-Phone";
19525     version = "4.0000";
19526     src = fetchurl {
19527       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Number-Phone-4.0000.tar.gz";
19528       hash = "sha256-H0mX/oMJSrDNgUDwvn/cHz+JGQKareajOYH4fLBIZjQ=";
19529     };
19530     buildInputs = [ DevelHide FileShareDirInstall ParallelForkManager TestDifferences TestWarnings ];
19531     propagatedBuildInputs = [ DataDumperConcise DataCompactReadonly DevelCheckOS DevelDeprecationsEnvironmental FileFindRule FileShareDir ];
19532     preCheck = ''
19533       # Remove slow memory hungry tests
19534       rm t/fork.t
19535       rm t/uk_slurp.t
19536     '';
19537     meta = {
19538       description = "Large suite of perl modules for parsing and dealing with phone numbers";
19539       homepage = "https://github.com/DrHyde/perl-modules-Number-Phone";
19540       license = with lib.licenses; [ artistic1 gpl2Only asl20 ];
19541     };
19542   };
19544   NumberWithError = buildPerlPackage {
19545     pname = "Number-WithError";
19546     version = "1.01";
19547     src = fetchurl {
19548       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Number-WithError-1.01.tar.gz";
19549       hash = "sha256-3/agcn54ROpng3vfrdVSuG9rIW0Y7o7kaEKyLM7w9VQ=";
19550     };
19551     propagatedBuildInputs = [ ParamsUtil prefork ];
19552     buildInputs = [ TestLectroTest ];
19553     meta = {
19554       description = "Numbers with error propagation and scientific rounding";
19555       license = with lib.licenses; [ artistic1 gpl1Plus ];
19556     };
19557   };
19559   NTLM = buildPerlPackage {
19560     pname = "NTLM";
19561     version = "1.09";
19562     src = fetchurl {
19563       url = "mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-1.09.tar.gz";
19564       hash = "sha256-yCPjDNp2vBVjblhDAslg4rXu75UXwkSPdFRJiJMVH4U=";
19565     };
19566     propagatedBuildInputs = [ DigestHMAC ];
19567     meta = {
19568       description = "NTLM authentication module";
19569       license = with lib.licenses; [ artistic1 gpl1Plus ];
19570       maintainers = [ maintainers.pSub ];
19571     };
19572   };
19574   ObjectAccessor = buildPerlPackage {
19575     pname = "Object-Accessor";
19576     version = "0.48";
19577     src = fetchurl {
19578       url = "mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz";
19579       hash = "sha256-dsuCSie2tOVgQJ/Pb9Wzv7vTi3Lx89N+0LVL2cC66t4=";
19580     };
19581     meta = {
19582       description = "Per object accessors";
19583       license = with lib.licenses; [ artistic1 gpl1Plus ];
19584     };
19585   };
19587   ObjectEvent = buildPerlPackage rec {
19588     pname = "Object-Event";
19589     version = "1.23";
19590     src = fetchurl {
19591       url = "mirror://cpan/authors/id/E/EL/ELMEX/${pname}-${version}.tar.gz";
19592       hash = "sha256-q2u4BQj0/dry1RsgyodqqwOFgqhrUijmQ1QRNIr1PII=";
19593     };
19594     propagatedBuildInputs = [ AnyEvent commonsense ];
19595     meta = {
19596       description = "Class that provides an event callback interface";
19597       license = with lib.licenses; [ artistic1 gpl1Plus ];
19598     };
19599   };
19601   ObjectInsideOut = buildPerlModule {
19602     pname = "Object-InsideOut";
19603     version = "4.05";
19604     src = fetchurl {
19605       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz";
19606       hash = "sha256-nf1sooInJDR+DrZ1nQBwlCWBRwOtXGa9tiFFeYaLysQ=";
19607     };
19608     propagatedBuildInputs = [ ExceptionClass ];
19609     meta = {
19610       description = "Comprehensive inside-out object support module";
19611       license = with lib.licenses; [ artistic1 gpl1Plus ];
19612     };
19613   };
19615   ObjectPad = buildPerlModule {
19616     pname = "Object-Pad";
19617     version = "0.809";
19618     src = fetchurl {
19619       url = "mirror://cpan/authors/id/P/PE/PEVANS/Object-Pad-0.809.tar.gz";
19620       hash = "sha256-EpUKZkwGB+o/ynSA82XfVNF0YpH0XrsO2AkXt0+xXvU=";
19621     };
19622     buildInputs = [ Test2Suite TestFatal TestRefcount ];
19623     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
19624     propagatedBuildInputs = [ XSParseKeyword XSParseSublike ];
19625     meta = {
19626       description = "Simple syntax for lexical field-based objects";
19627       license = with lib.licenses; [ artistic1 gpl1Plus ];
19628       maintainers = [ maintainers.zakame ];
19629     };
19630   };
19632   ObjectSignature = buildPerlPackage {
19633     pname = "Object-Signature";
19634     version = "1.08";
19635     src = fetchurl {
19636       url = "mirror://cpan/authors/id/E/ET/ETHER/Object-Signature-1.08.tar.gz";
19637       hash = "sha256-hCFTyU2pPiucs7VN7lcrUGS79JmjanPDiiN5mgIDaYo=";
19638     };
19639     meta = {
19640       description = "Generate cryptographic signatures for objects";
19641       homepage = "https://github.com/karenetheridge/Object-Signature";
19642       license = with lib.licenses; [ artistic1 gpl1Plus ];
19643     };
19644   };
19646   OggVorbisHeaderPurePerl = buildPerlPackage {
19647     pname = "Ogg-Vorbis-Header-PurePerl";
19648     version = "1.05";
19649     src = fetchurl {
19650       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Ogg-Vorbis-Header-PurePerl-1.05.tar.gz";
19651       hash = "sha256-Uh04CPQtcSKmsGwzpurm18OZR6q1fEyMyvzE9gP9pT4=";
19652     };
19654     # The testing mechanism is erorrneous upstream. See http://matrix.cpantesters.org/?dist=Ogg-Vorbis-Header-PurePerl+1.0
19655     doCheck = false;
19656     meta = {
19657       description = "Access Ogg Vorbis info and comment fields";
19658       license = with lib.licenses; [ artistic1 ];
19659     };
19660   };
19662   OLEStorage_Lite = buildPerlPackage {
19663     pname = "OLE-Storage_Lite";
19664     version = "0.22";
19665     src = fetchurl {
19666       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-0.22.tar.gz";
19667       hash = "sha256-0FZtbCnTl+pzY3ncUVw2hJ9rlxB89wC6glBQXJhM+WU=";
19668     };
19669     meta = {
19670       description = "Read and write OLE storage files";
19671       license = with lib.licenses; [ artistic1 gpl1Plus ];
19672     };
19673   };
19675   Opcodes = buildPerlPackage {
19676     pname = "Opcodes";
19677     version = "0.14";
19678     src = fetchurl {
19679       url = "mirror://cpan/authors/id/R/RU/RURBAN/Opcodes-0.14.tar.gz";
19680       hash = "sha256-f3NlRH5NHFuHtDCRRI8EiOZ8nwNrJsAipUCc1z00OJM=";
19681     };
19682     meta = {
19683       description = "More Opcodes information from opnames.h and opcode.h";
19684       license = with lib.licenses; [ artistic1 gpl1Plus ];
19685     };
19686   };
19688   OpenAPIClient = buildPerlPackage {
19689     pname = "OpenAPI-Client";
19690     version = "1.07";
19691     src = fetchurl {
19692       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/OpenAPI-Client-1.07.tar.gz";
19693       hash = "sha256-Ue1kHSg7j0u7wG0BwVZzm9K5qItO+Et7hPlQ+g7hTbM=";
19694     };
19695     propagatedBuildInputs = [ MojoliciousPluginOpenAPI ];
19696     meta = {
19697       description = "Client for talking to an Open API powered server";
19698       homepage = "https://github.com/jhthorsen/openapi-client";
19699       license = with lib.licenses; [ artistic2 ];
19700       maintainers = [ maintainers.sgo ];
19701     };
19702   };
19704   OpenGL = buildPerlPackage rec {
19705     pname = "OpenGL";
19706     version = "0.70";
19707     src = fetchurl {
19708       url = "mirror://cpan/authors/id/C/CH/CHM/OpenGL-0.70.tar.gz";
19709       hash = "sha256-sg4q9EBLSQGrNbumrV46iqYL/3JBPJkojwEBjEz4dOA=";
19710     };
19712     # FIXME: try with libGL + libGLU instead of libGLU libGL
19713     buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.libglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
19715     patches = [ ../development/perl-modules/perl-opengl.patch ];
19717     configurePhase = ''
19718       substituteInPlace Makefile.PL \
19719         --replace "@@libpaths@@" '${lib.concatStringsSep "\n" (map (f: "-L${f}/lib") buildInputs)}'
19721       cp -v ${../development/perl-modules/perl-opengl-gl-extensions.txt} utils/glversion.txt
19723       perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
19724     '';
19726     doCheck = false;
19727     meta = {
19728       description = "Perl OpenGL bindings";
19729       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from EPEL
19730     };
19731   };
19733   OpenOfficeOODoc = buildPerlPackage {
19734     pname = "OpenOffice-OODoc";
19735     version = "2.125";
19736     src = fetchurl {
19737       url = "mirror://cpan/authors/id/J/JM/JMGDOC/OpenOffice-OODoc-2.125.tar.gz";
19738       hash = "sha256-wRRIlwaTxCqLnpPaSMrJE1Fs4zqdRKZGhAD3rYeR2rY=";
19739     };
19740     propagatedBuildInputs = [ ArchiveZip XMLTwig ];
19741     meta = {
19742       description = "Perl Open OpenDocument Connector";
19743       license = with lib.licenses; [ lgpl21Only ];
19744       maintainers = [ maintainers.wentasah ];
19745     };
19746   };
19748   NetOpenIDCommon = buildPerlPackage {
19749     pname = "Net-OpenID-Common";
19750     version = "1.20";
19751     src = fetchurl {
19752       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Common-1.20.tar.gz";
19753       hash = "sha256-q06X10pHcQ4NtKwMgi9/32Iq+GpgpSunIlWoicKdq8k=";
19754     };
19755     propagatedBuildInputs = [ CryptDHGMP XMLSimple ];
19756     meta = {
19757       description = "Libraries shared between Net::OpenID::Consumer and Net::OpenID::Server";
19758       license = with lib.licenses; [ artistic1 gpl1Plus ];
19759     };
19760   };
19762   NetOpenIDConsumer = buildPerlPackage {
19763     pname = "Net-OpenID-Consumer";
19764     version = "1.18";
19765     src = fetchurl {
19766       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz";
19767       hash = "sha256-Dhw4b+fBhDBx3Zlr3KymEJEGZK5LXRJ8lf6u/Zk2Tzg=";
19768     };
19769     propagatedBuildInputs = [ JSON NetOpenIDCommon ];
19770     buildInputs = [ CGI ];
19771     meta = {
19772       description = "Library for consumers of OpenID identities";
19773       license = with lib.licenses; [ artistic1 gpl1Plus ];
19774     };
19775   };
19777   NetOpenSSH = buildPerlPackage {
19778     pname = "Net-OpenSSH";
19779     version = "0.84";
19780     src = fetchurl {
19781       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-OpenSSH-0.84.tar.gz";
19782       hash = "sha256-h4DmLwGxzw20PJy3BclP9JSbAyIzvkvpH8kavHkVOfg=";
19783     };
19784     meta = {
19785       description = "Perl SSH client package implemented on top of OpenSSH";
19786       license = with lib.licenses; [ artistic1 gpl1Plus ];
19787     };
19788   };
19790   NetZooKeeper = buildPerlPackage {
19791     pname = "Net-ZooKeeper";
19792     version = "0.42pre";
19793     src = fetchFromGitHub {
19794       owner = "mark-5";
19795       repo = "p5-net-zookeeper";
19796       rev = "66e1a360aff9c39af728c36092b540a4b6045f70";
19797       hash = "sha256-NyY97EWtqWFtKJnwX2HDkKcyviKq57yRtWC7lzajiHY=";
19798     };
19799     buildInputs = [ pkgs.zookeeper_mt ];
19800     # fix "error: format not a string literal and no format arguments [-Werror=format-security]"
19801     hardeningDisable = [ "format" ];
19802     # Make the async API accessible
19803     env.NIX_CFLAGS_COMPILE = "-DTHREADED";
19804     NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt";
19805     # Most tests are skipped as no server is available in the sandbox.
19806     # `t/35_log.t` seems to suffer from a race condition; remove it.  See
19807     # https://github.com/NixOS/nixpkgs/pull/104889#issuecomment-737144513
19808     preCheck = ''
19809       rm t/35_log.t
19810     '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
19811       rm t/30_connect.t
19812       rm t/45_class.t
19813     '';
19814     meta = {
19815       description = "Perl extension for Apache ZooKeeper";
19816       homepage = "https://github.com/mark-5/p5-net-zookeeper";
19817       license = with lib.licenses; [ asl20 ];
19818       maintainers = teams.deshaw.members ++ [ maintainers.ztzg ];
19819     };
19820   };
19822   PackageConstants = buildPerlPackage {
19823     pname = "Package-Constants";
19824     version = "0.06";
19825     src = fetchurl {
19826       url = "mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz";
19827       hash = "sha256-C1i+eHBszE5L2butQXZ0cEJ/17LPrXSUid4QH4W8XfU=";
19828     };
19829     meta = {
19830       description = "List constants defined in a package";
19831       license = with lib.licenses; [ artistic1 gpl1Plus ];
19832     };
19833   };
19835   PackageDeprecationManager = buildPerlPackage {
19836     pname = "Package-DeprecationManager";
19837     version = "0.18";
19838     src = fetchurl {
19839       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.18.tar.gz";
19840       hash = "sha256-to0/DO1Vt2Ff3btgKbifkqNP4N2Mb9a87/wVfVaDT+g=";
19841     };
19842     buildInputs = [ TestFatal TestWarnings ];
19843     propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName ];
19844     meta = {
19845       description = "Manage deprecation warnings for your distribution";
19846       homepage = "https://metacpan.org/release/Package-DeprecationManager";
19847       license = with lib.licenses; [ artistic2 ];
19848     };
19849   };
19851   PatchReader = buildPerlPackage {
19852     pname = "PatchReader";
19853     version = "0.9.6";
19854     src = fetchurl {
19855       url = "mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz";
19856       hash = "sha256-uN43RgNHu1R03AGRbMsx3S/gzZIkLEoy1zDo6wh8Mjw=";
19857     };
19858     meta = {
19859       description = "Utilities to read and manipulate patches and CVS";
19860       license = with lib.licenses; [ artistic1 ];
19861     };
19862   };
19864   PackageStash = buildPerlPackage {
19865     pname = "Package-Stash";
19866     version = "0.40";
19867     src = fetchurl {
19868       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-0.40.tar.gz";
19869       hash = "sha256-WpcixtnLKe4TPl97CKU2J2KgtWM/9RcGQqWwaG6V4GY=";
19870     };
19871     buildInputs = [ CPANMetaCheck TestFatal TestNeeds TestRequires ];
19872     propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
19873     meta = {
19874       description = "Routines for manipulating stashes";
19875       homepage = "https://github.com/moose/Package-Stash";
19876       license = with lib.licenses; [ artistic1 gpl1Plus ];
19877       mainProgram = "package-stash-conflicts";
19878     };
19879   };
19881   PackageStashXS = buildPerlPackage {
19882     pname = "Package-Stash-XS";
19883     version = "0.30";
19884     src = fetchurl {
19885       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-XS-0.30.tar.gz";
19886       hash = "sha256-JrrWXBlZxXN5s+E53HdvvsX3ApBmF+8nzcKT3fEjkjE=";
19887     };
19888     buildInputs = [ TestFatal TestNeeds ];
19889     meta = {
19890       description = "Faster and more correct implementation of the Package::Stash API";
19891       homepage = "https://github.com/moose/Package-Stash-XS";
19892       license = with lib.licenses; [ artistic1 gpl1Plus ];
19893     };
19894   };
19896   Pango = buildPerlPackage {
19897     pname = "Pango";
19898     version = "1.227";
19899     src = fetchurl {
19900       url = "mirror://cpan/authors/id/X/XA/XAOC/Pango-1.227.tar.gz";
19901       hash = "sha256-NLCkIt8/7NdZdYcEhVJFfUiudkxDu+/SqdYs62yLrHE=";
19902     };
19903     buildInputs = [ pkgs.pango ];
19904     propagatedBuildInputs = [ Cairo Glib ];
19905     meta = {
19906       description = "Layout and render international text";
19907       homepage = "https://gtk2-perl.sourceforge.net";
19908       license = with lib.licenses; [ lgpl21Plus ];
19909     };
19910   };
19912   ParallelForkManager = buildPerlPackage {
19913     pname = "Parallel-ForkManager";
19914     version = "2.02";
19915     src = fetchurl {
19916       url = "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz";
19917       hash = "sha256-wbKXCou2ZsPefKrEqPTbzAQ6uBm7wzdpLse/J62uRAQ=";
19918     };
19919     buildInputs = [ TestWarn ];
19920     propagatedBuildInputs = [ Moo ];
19921     meta = {
19922       description = "Simple parallel processing fork manager";
19923       homepage = "https://github.com/dluxhu/perl-parallel-forkmanager";
19924       license = with lib.licenses; [ artistic1 gpl1Plus ];
19925     };
19926   };
19928   ParallelLoops = buildPerlPackage {
19929     pname = "Parallel-Loops";
19930     version = "0.12";
19931     src = fetchurl {
19932       url = "mirror://cpan/authors/id/P/PM/PMORCH/Parallel-Loops-0.12.tar.gz";
19933       hash = "sha256-tmyP4v1RmHPIp7atHRoE3yAmkSJZteKKQeUdnJsVQVA=";
19934     };
19935     propagatedBuildInputs = [ ParallelForkManager ];
19936     meta = {
19937       description = "Execute loops using parallel forked subprocesses";
19938       homepage = "https://github.com/pmorch/perl-Parallel-Loops";
19939       license = with lib.licenses; [ artistic1 gpl1Plus ];
19940       maintainers = with maintainers; [ tomasajt ];
19941     };
19942   };
19944   ParallelPipes = buildPerlModule {
19945     pname = "Parallel-Pipes";
19946     version = "0.200";
19947     src = fetchurl {
19948       url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.200.tar.gz";
19949       hash = "sha256-iLmFDqzJ1hjz6RpRyqOGxKZOgswYc1AzUkTjSbgREQY=";
19950     };
19951     buildInputs = [ ModuleBuildTiny ];
19952     meta = {
19953       description = "Parallel processing using pipe(2) for communication and synchronization";
19954       homepage = "https://github.com/skaji/Parallel-Pipes";
19955       license = with lib.licenses; [ artistic1 gpl1Plus ];
19956       maintainers = [ maintainers.zakame ];
19957     };
19958   };
19960   ParallelPrefork = buildPerlPackage {
19961     pname = "Parallel-Prefork";
19962     version = "0.18";
19963     src = fetchurl {
19964       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz";
19965       hash = "sha256-8cH0jxrhR6WLyI+csvVw1rsV6kwNWJq9TDCE3clhWW4=";
19966     };
19967     buildInputs = [ TestRequires TestSharedFork ];
19968     propagatedBuildInputs = [ ClassAccessorLite ListMoreUtils ProcWait3 ScopeGuard SignalMask ];
19969     meta = {
19970       description = "Simple prefork server framework";
19971       license = with lib.licenses; [ artistic1 gpl1Plus ];
19972     };
19973   };
19975   ParamsClassify = buildPerlModule {
19976     pname = "Params-Classify";
19977     version = "0.015";
19978     src = fetchurl {
19979       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz";
19980       hash = "sha256-OY7BXNiZ/Ni+89ueoXSL9jHxX2wyviA+R1tn31EKWRQ=";
19981     };
19982     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
19983     meta = {
19984       description = "Argument type classification";
19985       license = with lib.licenses; [ artistic1 gpl1Plus ];
19986     };
19987   };
19989   ParamsUtil = buildPerlPackage {
19990     pname = "Params-Util";
19991     version = "1.102";
19992     src = fetchurl {
19993       url = "mirror://cpan/authors/id/R/RE/REHSACK/Params-Util-1.102.tar.gz";
19994       hash = "sha256-SZuxtILbJP2id6UVJVlq0JLCvVHdUI+o/sLp+EkJdAI=";
19995     };
19996     meta = {
19997       description = "Simple, compact and correct param-checking functions";
19998       homepage = "https://metacpan.org/release/Params-Util";
19999       license = with lib.licenses; [ artistic1 gpl1Plus ];
20000     };
20001   };
20003   ParamsValidate = buildPerlModule {
20004     pname = "Params-Validate";
20005     version = "1.31";
20006     src = fetchurl {
20007       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.31.tar.gz";
20008       hash = "sha256-G/JRjvLEhp+RWQ4hn1RcjvEu1TzzE+DrVwSt9/Gylh4=";
20009     };
20010     buildInputs = [ TestFatal TestRequires ];
20011     propagatedBuildInputs = [ ModuleImplementation ];
20012     perlPreHook = "export LD=$CC";
20013     meta = {
20014       description = "Validate method/function parameters";
20015       homepage = "https://metacpan.org/release/Params-Validate";
20016       license = with lib.licenses; [ artistic2 ];
20017     };
20018   };
20020   ParamsValidationCompiler = buildPerlPackage {
20021     pname = "Params-ValidationCompiler";
20022     version = "0.31";
20023     src = fetchurl {
20024       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz";
20025       hash = "sha256-e2SXFz8batsp9dUdjPnsNtLxIZQStLJBDp13qQHoSm0=";
20026     };
20027     propagatedBuildInputs = [ EvalClosure ExceptionClass ];
20028     buildInputs = [ Specio Test2PluginNoWarnings Test2Suite TestWithoutModule ];
20029     meta = {
20030       description = "Build an optimized subroutine parameter validator once, use it forever";
20031       homepage = "https://metacpan.org/release/Params-ValidationCompiler";
20032       license = with lib.licenses; [ artistic2 ];
20033     };
20034   };
20036   Paranoid = buildPerlPackage {
20037     pname = "Paranoid";
20038     version = "2.10";
20039     src = fetchurl {
20040       url = "mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/Paranoid-2.10.tar.gz";
20041       hash = "sha256-vvS25l1cmk72C8qjF0hvOg0jm/2rRQqnEgLCl5i4dSk=";
20042     };
20043     patches = [ ../development/perl-modules/Paranoid-blessed-path.patch ];
20044     preConfigure = ''
20045       # Capture the path used when compiling this module as the "blessed"
20046       # system path, analogous to the module's own use of '/bin:/sbin'.
20047       sed -i "s#__BLESSED_PATH__#${pkgs.coreutils}/bin#" lib/Paranoid.pm t/01_init_core.t
20048     '';
20049     meta = {
20050       description = "General function library for safer, more secure programming";
20051       license = with lib.licenses; [ artistic1 gpl1Plus ];
20052       maintainers = teams.deshaw.members;
20053     };
20054   };
20056   PARDist = buildPerlPackage {
20057     pname = "PAR-Dist";
20058     version = "0.52";
20059     src = fetchurl {
20060       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.52.tar.gz";
20061       hash = "sha256-y+ljAJ6nnSRUqF/heU9CW33cHoa3F0nIhNsp1gHqj4g=";
20062     };
20063     meta = {
20064       description = "Create and manipulate PAR distributions";
20065       license = with lib.licenses; [ artistic1 gpl1Plus ];
20066     };
20067   };
20069   PAUSEPermissions = buildPerlPackage {
20070     pname = "PAUSE-Permissions";
20071     version = "0.17";
20072     src = fetchurl {
20073       url = "mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz";
20074       hash = "sha256-ek6SDeODL5CfJV1aMj942M0hXGCMlJbNbJVwEsi0MQg=";
20075     };
20076     propagatedBuildInputs = [ FileHomeDir HTTPDate MooXOptions TimeDurationParse ];
20077     buildInputs = [ PathTiny ];
20078     meta = {
20079       description = "Interface to PAUSE's module permissions file (06perms.txt)";
20080       homepage = "https://github.com/neilb/PAUSE-Permissions";
20081       license = with lib.licenses; [ artistic1 gpl1Plus ];
20082       mainProgram = "pause-permissions";
20083     };
20084   };
20086   Parent = buildPerlPackage {
20087     pname = "parent";
20088     version = "0.241";
20089     src = fetchurl {
20090       url = "mirror://cpan/authors/id/C/CO/CORION/parent-0.241.tar.gz";
20091       hash = "sha256-sQs5YKs5l9q3Vx/+l1ukYtl50IZFB0Ch4Is5WedRKP4=";
20092     };
20093     meta = {
20094       description = "Establish an ISA relationship with base classes at compile time";
20095       license = with lib.licenses; [ artistic1 gpl1Plus ];
20096     };
20097   };
20099   ParseWin32Registry = buildPerlPackage {
20100     pname = "ParseWin32Registry";
20101     version = "1.1";
20102     src = fetchurl {
20103       url = "mirror://cpan/authors/id/J/JM/JMACFARLA/Parse-Win32Registry-1.1.tar.gz";
20104       hash = "sha256-wWOyAr5q17WPSEZJT/crjJqXloPKmU5DgOmsZWTcBbo=";
20105     };
20106     meta = with lib; {
20107       description = "Module for parsing Windows Registry files";
20108       license = with licenses; [ artistic1 gpl1Only ];
20109     };
20110   };
20112   ParseEDID = buildPerlPackage {
20113     pname = "Parse-Edid";
20114     version = "1.0.7";
20115     src = fetchurl {
20116       url = "mirror://cpan/authors/id/G/GR/GROUSSE/Parse-EDID-1.0.7.tar.gz";
20117       hash = "sha256-GtwPEFoyGYoqK02lsOD5hfBe/tmc42YZCnkOFl1nW/E=";
20118     };
20119     buildInputs = [ TestWarn ];
20120     meta = {
20121       description = "Extended display identification data (EDID) parser";
20122       license = lib.licenses.gpl3Plus;
20123     };
20124   };
20126   ParseDebControl = buildPerlPackage {
20127     pname = "Parse-DebControl";
20128     version = "2.005";
20129     src = fetchurl {
20130       url = "mirror://cpan/authors/id/J/JA/JAYBONCI/Parse-DebControl-2.005.tar.gz";
20131       hash = "sha256-tkvOH/IS1+PvnUNo57YnSc8ndR+oNgzfU+lpEjNGpyk=";
20132     };
20133     propagatedBuildInputs = [ IOStringy LWP ];
20134     meta = {
20135       description = "Easy OO parsing of debian control-like files";
20136       license = with lib.licenses; [ artistic1 gpl1Plus ];
20137     };
20138   };
20140   ParseDistname = buildPerlPackage {
20141     pname = "Parse-Distname";
20142     version = "0.05";
20143     src = fetchurl {
20144       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-Distname-0.05.tar.gz";
20145       hash = "sha256-pfqTvsLat22IPaEtTzRLc7+L6wzEtmwkN28+Dzh67wc=";
20146     };
20147     buildInputs = [ ExtUtilsMakeMakerCPANfile TestDifferences TestUseAllModules ];
20148     meta = {
20149       description = "Parse a distribution name";
20150       license = with lib.licenses; [ artistic1 gpl1Plus ];
20151     };
20152   };
20154   ParseIRC = buildPerlPackage {
20155     pname = "Parse-IRC";
20156     version = "1.22";
20157     src = fetchurl {
20158       url = "mirror://cpan/authors/id/B/BI/BINGOS/Parse-IRC-1.22.tar.gz";
20159       hash = "sha256-RXsJiX8304pwVPlWMkc2VCf+JBAWIu1MfwVHI6RbWNU=";
20160     };
20161     meta = {
20162       description = "Parser for the IRC protocol";
20163       homepage = "https://github.com/bingos/parse-irc";
20164       license = with lib.licenses; [ artistic1 gpl1Plus ];
20165       maintainers = with maintainers; [ sgo ];
20166     };
20167   };
20169   ParseLocalDistribution = buildPerlPackage {
20170     pname = "Parse-LocalDistribution";
20171     version = "0.19";
20172     src = fetchurl {
20173       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz";
20174       hash = "sha256-awvDLE6NnoHz8qzB0qdMKi+IepHBUisxzkyNSaQV6Z4=";
20175     };
20176     propagatedBuildInputs = [ ParsePMFile ];
20177     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
20178     meta = {
20179       description = "Parses local .pm files as PAUSE does";
20180       license = with lib.licenses; [ artistic1 gpl1Plus ];
20181     };
20182   };
20184   ParsePlainConfig = buildPerlPackage {
20185     pname = "Parse-PlainConfig";
20186     version = "3.06";
20187     src = fetchurl {
20188       url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/Parse-PlainConfig-3.06.tar.gz";
20189       hash = "sha256-8ffT5OWawrbPbJjaDKpBxdTl2GVcIQdRSBlplS/+G4c=";
20190     };
20191     propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
20192     meta = {
20193       description = "Parser/Generator of human-readable conf files";
20194       license = with lib.licenses; [ artistic1 gpl1Plus ];
20195       maintainers = teams.deshaw.members;
20196     };
20197   };
20199   ParsePMFile = buildPerlPackage {
20200     pname = "Parse-PMFile";
20201     version = "0.44";
20202     src = fetchurl {
20203       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.44.tar.gz";
20204       hash = "sha256-4I8PVkVbOsEtzNjHEWUGErfTzRUPim+K5rQ7LaR9+ZQ=";
20205     };
20206     buildInputs = [ ExtUtilsMakeMakerCPANfile ];
20207     meta = {
20208       description = "Parses .pm file as PAUSE does";
20209       license = with lib.licenses; [ artistic1 gpl1Plus ];
20210     };
20211   };
20213   ParseRecDescent = buildPerlModule {
20214     pname = "Parse-RecDescent";
20215     version = "1.967015";
20216     src = fetchurl {
20217       url = "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz";
20218       hash = "sha256-GUMzaky1TxeIpzPwgnwMVdtDENXq4V5UJjnJ3YVlbjc=";
20219     };
20220     meta = {
20221       description = "Generate Recursive-Descent Parsers";
20222       license = with lib.licenses; [ artistic1 gpl1Plus ];
20223     };
20224   };
20226   ParseSyslog = buildPerlPackage {
20227     pname = "Parse-Syslog";
20228     version = "1.10";
20229     src = fetchurl {
20230       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz";
20231       hash = "sha256-ZZohRUQe822YNd7K+D2jCPzQP0kTjLPZCSjov8nxOdk=";
20232     };
20233     meta = {
20234       description = "Parse Unix syslog files";
20235       license = with lib.licenses; [ artistic1 gpl1Plus ];
20236     };
20237   };
20239   ParserMGC = buildPerlModule {
20240     pname = "Parser-MGC";
20241     version = "0.21";
20242     src = fetchurl {
20243       url = "mirror://cpan/authors/id/P/PE/PEVANS/Parser-MGC-0.21.tar.gz";
20244       hash = "sha256-DmGIpydqn5B1fGIEc98W08mGGRO6viWvIJz0RhWgKk8=";
20245     };
20246     buildInputs = [ TestFatal ];
20247     propagatedBuildInputs = [ FeatureCompatTry ];
20248     meta = {
20249       description = "Build simple recursive-descent parsers";
20250       license = with lib.licenses; [ artistic1 gpl1Plus ];
20251     };
20252   };
20254   ParseYapp = buildPerlPackage {
20255     pname = "Parse-Yapp";
20256     version = "1.21";
20257     src = fetchurl {
20258       url = "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz";
20259       hash = "sha256-OBDpmDCPui4PTyYEMDUDKwJ85RzlyKUqi440DKZfE+U=";
20260     };
20261     meta = {
20262       description = "Perl extension for generating and using LALR parsers";
20263       license = with lib.licenses; [ artistic1 gpl1Plus ];
20264       mainProgram = "yapp";
20265     };
20266   };
20268   PathClass = buildPerlModule {
20269     pname = "Path-Class";
20270     version = "0.37";
20271     src = fetchurl {
20272       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz";
20273       hash = "sha256-ZUeBlIYCOG8ssuRHOnOfF9xpU9kqq8JJikyiVhvCSM4=";
20274     };
20275     meta = {
20276       description = "Cross-platform path specification manipulation";
20277       license = with lib.licenses; [ artistic1 gpl1Plus ];
20278     };
20279   };
20281   PathDispatcher = buildPerlPackage {
20282     pname = "Path-Dispatcher";
20283     version = "1.08";
20284     src = fetchurl {
20285       url = "mirror://cpan/authors/id/E/ET/ETHER/Path-Dispatcher-1.08.tar.gz";
20286       hash = "sha256-ean2HCdAi0/R7SNNrCRpdN3q+n/mNaGP5B7HeDEwrio=";
20287     };
20288     buildInputs = [ ModuleBuildTiny TestFatal ];
20289     propagatedBuildInputs = [ Moo MooXTypeTiny TryTiny TypeTiny ];
20290     meta = {
20291       description = "Flexible and extensible dispatch";
20292       homepage = "https://github.com/karenetheridge/Path-Dispatcher";
20293       license = with lib.licenses; [ artistic1 gpl1Plus ];
20294     };
20295   };
20297   PathIteratorRule = buildPerlPackage {
20298     pname = "Path-Iterator-Rule";
20299     version = "1.015";
20300     src = fetchurl {
20301       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-1.015.tar.gz";
20302       hash = "sha256-87Bixo4Hx29o3lvDOHfP6eB4tjUaYboWUOM+CfUeyyk=";
20303     };
20304     propagatedBuildInputs = [ NumberCompare TextGlob TryTiny ];
20305     buildInputs = [ Filepushd PathTiny TestDeep TestFilename ];
20306     meta = {
20307       description = "Iterative, recursive file finder";
20308       homepage = "https://github.com/dagolden/Path-Iterator-Rule";
20309       license = with lib.licenses; [ asl20 ];
20310     };
20311   };
20313   PathTiny = buildPerlPackage {
20314     pname = "Path-Tiny";
20315     version = "0.144";
20316     src = fetchurl {
20317       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.144.tar.gz";
20318       hash = "sha256-9uoJTs6EXJUqAsJ4kzJXk1TejUEKcH+bcEW9JBIGSH0=";
20319     };
20320     preConfigure =
20321       ''
20322         substituteInPlace lib/Path/Tiny.pm --replace 'use File::Spec 3.40' \
20323           'use File::Spec 3.39'
20324       '';
20325     # This appears to be currently failing tests, though I don't know why.
20326     # -- ocharles
20327     doCheck = false;
20328     meta = {
20329       description = "File path utility";
20330       homepage = "https://github.com/dagolden/Path-Tiny";
20331       license = with lib.licenses; [ asl20 ];
20332     };
20333   };
20335   PathTools = buildPerlPackage {
20336     pname = "PathTools";
20337     version = "3.75";
20338     preConfigure = ''
20339       substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd'
20340     '';
20341     src = fetchurl {
20342       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz";
20343       hash = "sha256-pVhQOqax+McnwAczOQgad4iGBqpwGtoa1i3Z2MP5RaI=";
20344     };
20345     # cwd() and fastgetcwd() does not work with taint due to PATH in nixpkgs
20346     preCheck = "rm t/taint.t";
20347     meta = {
20348       description = "Get pathname of current working directory";
20349       license = with lib.licenses; [ artistic1 gpl1Plus ];
20350     };
20351   };
20353   PBKDF2Tiny = buildPerlPackage {
20354     pname = "PBKDF2-Tiny";
20355     version = "0.005";
20356     src = fetchurl {
20357       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/PBKDF2-Tiny-0.005.tar.gz";
20358       hash = "sha256-tOIdxZswJl6qpBtwUIfsA0R9nGVaFKxA/0bk3inqv44=";
20359     };
20360     meta = {
20361       description = "Minimalist PBKDF2 (RFC 2898) with HMAC-SHA1 or HMAC-SHA2";
20362       homepage = "https://github.com/dagolden/PBKDF2-Tiny";
20363       license = with lib.licenses; [ asl20 ];
20364       maintainers = [ maintainers.sgo ];
20365     };
20366   };
20368   PDFAPI2 = buildPerlPackage {
20369     pname = "PDF-API2";
20370     version = "2.045";
20371     src = fetchurl {
20372       url = "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.045.tar.gz";
20373       hash = "sha256-tr204NDNZSYQP91YwXHgVgw2uEO3/jyk3cm7HkyDJAY=";
20374     };
20375     buildInputs = [ TestException TestMemoryCycle ];
20376     propagatedBuildInputs = [ FontTTF ];
20377     meta = {
20378       description = "Create, modify, and examine PDF files";
20379       license = with lib.licenses; [ lgpl21Plus ];
20380     };
20381   };
20383   PDFBuilder = buildPerlPackage {
20384     pname = "PDF-Builder";
20385     version = "3.025";
20386     src = fetchurl {
20387       url = "mirror://cpan/authors/id/P/PM/PMPERRY/PDF-Builder-3.025.tar.gz";
20388       hash = "sha256-qb6076DsKXWpFFzvBSEYsgmPRtnBUQ3WV4agPQ2j49U=";
20389     };
20390     nativeCheckInputs = [ TestException TestMemoryCycle ];
20391     propagatedBuildInputs = [ FontTTF ];
20392     meta = {
20393       description = "Facilitates the creation and modification of PDF files";
20394       homepage = "https://metacpan.org/pod/PDF::Builder";
20395       license = with lib.licenses; [ lgpl21Plus ];
20396     };
20397   };
20399   PDL = buildPerlPackage {
20400     pname = "PDL";
20401     version = "2.025";
20402     src = fetchurl {
20403       url = "mirror://cpan/authors/id/E/ET/ETJ/PDL-2.025.tar.gz";
20404       hash = "sha256-G1oWfq0ndy2V2tJ/jrfQlRnSkVbu1TxvwUQVGUtaitY=";
20405     };
20406     patchPhase = ''
20407       substituteInPlace perldl.conf \
20408         --replace 'POSIX_THREADS_LIBS => undef' 'POSIX_THREADS_LIBS => "-L${pkgs.glibc.dev}/lib"' \
20409         --replace 'POSIX_THREADS_INC  => undef' 'POSIX_THREADS_INC  => "-I${pkgs.glibc.dev}/include"' \
20410         --replace 'WITH_MINUIT => undef' 'WITH_MINUIT => 0' \
20411         --replace 'WITH_SLATEC => undef' 'WITH_SLATEC => 0' \
20412         --replace 'WITH_HDF => undef' 'WITH_HDF => 0' \
20413         --replace 'WITH_GD => undef' 'WITH_GD => 0' \
20414         --replace 'WITH_PROJ => undef' 'WITH_PROJ => 0'
20415     '';
20417     # FIXME: Why are these libraries in `nativeBuildInputs`?
20418     nativeBuildInputs = with pkgs; [ autoPatchelfHook (lib.getDev libGL) (lib.getDev glibc) (lib.getDev mesa_glu) ];
20420     buildInputs = [ DevelChecklib TestDeep TestException TestWarn ] ++
20421                   (with pkgs; [ gsl libglut xorg.libXmu xorg.libXi ]);
20423     propagatedBuildInputs = [
20424       AstroFITSHeader
20425       ConvertUU
20426       ExtUtilsF77
20427       FileMap
20428       Inline
20429       InlineC
20430       ListMoreUtils
20431       ModuleCompile
20432       OpenGL
20433       PodParser
20434       TermReadKey
20435     ];
20437     meta = {
20438       description = "Perl Data Language";
20439       homepage = "https://pdl.perl.org";
20440       license = with lib.licenses; [ artistic1 gpl1Plus ];
20441       mainProgram = "pdl2";
20442       platforms = lib.platforms.unix;
20443     };
20444   };
20446   Pegex = buildPerlPackage {
20447     pname = "Pegex";
20448     version = "0.75";
20449     src = fetchurl {
20450       url = "mirror://cpan/authors/id/I/IN/INGY/Pegex-0.75.tar.gz";
20451       hash = "sha256-TcjTNd6AslJHzbP5RvDRDZugs8NLDtfQAxb9Bo/QXtw=";
20452     };
20453     buildInputs = [ TestPod TieIxHash ];
20454     propagatedBuildInputs = [ FileShareDirInstall XXX ];
20455     meta = {
20456       description = "Acmeist PEG Parser Framework";
20457       homepage = "https://github.com/ingydotnet/pegex-pm";
20458       license = with lib.licenses; [ artistic1 gpl1Plus ];
20459     };
20460   };
20462   PerconaToolkit = callPackage ../development/perl-modules/Percona-Toolkit { };
20464   Perl5lib = buildPerlPackage {
20465     pname = "perl5lib";
20466     version = "1.02";
20467     src = fetchurl {
20468       url = "mirror://cpan/authors/id/N/NO/NOBULL/perl5lib-1.02.tar.gz";
20469       hash = "sha256-JLlpJYQBU8REJBOYs2/Il24IX9sNh5yRc0cJz5F+zqw=";
20470     };
20471     meta = {
20472       description = "Honour PERL5LIB even in taint mode";
20473       license = with lib.licenses; [ artistic1 gpl1Plus ];
20474     };
20475   };
20477   Perlosnames = buildPerlPackage {
20478     pname = "Perl-osnames";
20479     version = "0.122";
20480     src = fetchurl {
20481       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Perl-osnames-0.122.tar.gz";
20482       hash = "sha256-cHWTnXR+N1F40ANI0AxS/52yzrsYuudHPcsJ34JRGKA=";
20483     };
20484     meta = {
20485       description = "List possible $^O ($OSNAME) values, with description";
20486       homepage = "https://metacpan.org/release/Perl-osnames";
20487       license = with lib.licenses; [ artistic1 gpl1Plus ];
20488     };
20489   };
20491   PerlCritic = buildPerlModule {
20492     pname = "Perl-Critic";
20493     version = "1.150";
20494     src = fetchurl {
20495       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-1.150.tar.gz";
20496       hash = "sha256-5c2V3j5DvOcHdRdidLqkBfMm/IdA3wBUu4FpdcyNNJs=";
20497     };
20498     buildInputs = [ TestDeep ];
20499     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
20500     propagatedBuildInputs = [ BKeywords ConfigTiny ExceptionClass FileWhich ListSomeUtils ModulePluggable PPI PPIxQuoteLike PPIxRegexp PPIxUtilities PPIxUtils PerlTidy PodSpell Readonly StringFormat ];
20501     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
20502       shortenPerlShebang $out/bin/perlcritic
20503     '';
20504     meta = {
20505       description = "Critique Perl source code for best-practices";
20506       homepage = "http://perlcritic.com";
20507       license = with lib.licenses; [ artistic1 gpl1Plus ];
20508       mainProgram = "perlcritic";
20509     };
20510   };
20512   PerlCriticCommunity = buildPerlModule {
20513     pname = "Perl-Critic-Community";
20514     version = "1.0.3";
20515     src = fetchurl {
20516       url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz";
20517       hash = "sha256-Ed3bt5F5/mIp8zPKOS+U/firXNmJzJfZk1IaidXEetU=";
20518     };
20519     buildInputs = [ ModuleBuildTiny ];
20520     propagatedBuildInputs = [ PPI PathTiny PerlCritic PerlCriticPolicyVariablesProhibitLoopOnHash PerlCriticPulp ];
20521     meta = {
20522       description = "Community-inspired Perl::Critic policies";
20523       homepage = "https://github.com/Grinnz/Perl-Critic-Community";
20524       license = with lib.licenses; [ artistic2 ];
20525     };
20526   };
20528   PerlCriticMoose = buildPerlPackage rec {
20529     pname = "Perl-Critic-Moose";
20530     version = "1.05";
20531     src = fetchurl {
20532       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Perl-Critic-Moose-${version}.tar.gz";
20533       hash = "sha256-UuuOIsQmQ/F/4peiFxQBfv254phsJOMzfgMPNlD5IgE=";
20534     };
20535     propagatedBuildInputs = [ PerlCritic Readonly namespaceautoclean ];
20536     meta = {
20537       description = "Policies for Perl::Critic concerned with using Moose";
20538       homepage = "https://metacpan.org/release/Perl-Critic-Moose";
20539       license = with lib.licenses; [ artistic1 ];
20540     };
20541   };
20543   PerlCriticPolicyVariablesProhibitLoopOnHash = buildPerlPackage {
20544     pname = "Perl-Critic-Policy-Variables-ProhibitLoopOnHash";
20545     version = "0.008";
20546     src = fetchurl {
20547       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz";
20548       hash = "sha256-EvXwvpbqG9x4KAWFd70cXGPKI8F/rJw3CUUrPf9bhOA=";
20549     };
20550     propagatedBuildInputs = [ PerlCritic ];
20551     meta = {
20552       description = "Don't write loops on hashes, only on keys and values of hashes";
20553       license = with lib.licenses; [ artistic1 gpl1Plus ];
20554     };
20555   };
20557   PerlCriticPulp = buildPerlPackage {
20558     pname = "Perl-Critic-Pulp";
20559     version = "99";
20560     src = fetchurl {
20561       url = "mirror://cpan/authors/id/K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz";
20562       hash = "sha256-uP2oQvy+100hAlfAooS23HsdBVSkej3l2X59VC4j5/4=";
20563     };
20564     propagatedBuildInputs = [ IOString ListMoreUtils PPI PerlCritic PodMinimumVersion ];
20565     meta = {
20566       description = "Some add-on policies for Perl::Critic";
20567       homepage = "https://user42.tuxfamily.org/perl-critic-pulp/index.html";
20568       license = with lib.licenses; [ gpl3Plus ];
20569     };
20570   };
20572   PerlDestructLevel = buildPerlPackage {
20573     pname = "Perl-Destruct-Level";
20574     version = "0.02";
20575     src = fetchurl {
20576       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz";
20577       hash = "sha256-QLSsCykrYM47h956o5vC+yWhnRDlyfaYZpYchLP20Ts=";
20578     };
20579     meta = {
20580       description = "Allow to change perl's destruction level";
20581       license = with lib.licenses; [ artistic1 gpl1Plus ];
20582     };
20583   };
20585   PerlIOLayers = buildPerlModule {
20586     pname = "PerlIO-Layers";
20587     version = "0.012";
20588     src = fetchurl {
20589       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-Layers-0.012.tar.gz";
20590       hash = "sha256-VC2lQvo2uz/de4d24jDTzMAqpnRM6bd7Tu9MyufASt8=";
20591     };
20592     perlPreHook = "export LD=$CC";
20593     meta = {
20594       description = "Querying your filehandle's capabilities";
20595       license = with lib.licenses; [ artistic1 gpl1Plus ];
20596     };
20597   };
20599   PerlIOeol = buildPerlPackage {
20600     pname = "PerlIO-eol";
20601     version = "0.19";
20602     src = fetchurl {
20603       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/PerlIO-eol-0.19.tar.gz";
20604       hash = "sha256-/3O+xgRP2EepbEGZZPNw5Qn9Nv1XH3o7fDUXX1iviFk=";
20605     };
20606     meta = {
20607       description = "PerlIO layer for normalizing line endings";
20608       license = with lib.licenses; [ artistic1 gpl1Plus ];
20609     };
20610   };
20612   PerlIOgzip = buildPerlPackage {
20613     pname = "PerlIO-gzip";
20614     version = "0.20";
20615     src = fetchurl {
20616       url = "mirror://cpan/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.20.tar.gz";
20617       hash = "sha256-SEhnmj8gHj87DF9vlSbmAq9Skj/6RxoqNlfbeGvTvcU=";
20618     };
20619     buildInputs = [ pkgs.zlib ];
20620     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
20621     meta = {
20622       description = "Perl extension to provide a PerlIO layer to gzip/gunzip";
20623       license = with lib.licenses; [ artistic1 gpl1Plus ];
20624     };
20625   };
20627   PerlIOutf8_strict = buildPerlPackage {
20628     pname = "PerlIO-utf8_strict";
20629     version = "0.010";
20630     src = fetchurl {
20631       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.010.tar.gz";
20632       hash = "sha256-vNKEi3LfKQtemE+uixpsqW9tByADzyIjiajJ6OHFcM0=";
20633     };
20634     buildInputs = [ TestException ];
20635     meta = {
20636       description = "Fast and correct UTF-8 IO";
20637       license = with lib.licenses; [ artistic1 gpl1Plus ];
20638     };
20639   };
20641   PerlIOviadynamic = buildPerlPackage {
20642     pname = "PerlIO-via-dynamic";
20643     version = "0.14";
20644     src = fetchurl {
20645       url = "mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz";
20646       hash = "sha256-is169NivIdKLnBWuE3/nbNBk2tfSbrqKMLl+vG4fa0k=";
20647     };
20648     meta = {
20649       description = "Dynamic PerlIO layers";
20650       license = with lib.licenses; [ artistic1 gpl1Plus ];
20651     };
20652   };
20654   PerlIOviasymlink = buildPerlPackage {
20655     pname = "PerlIO-via-symlink";
20656     version = "0.05";
20657     src = fetchurl {
20658       url = "mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-symlink-0.05.tar.gz";
20659       hash = "sha256-QQfUw0pqNilFNEjCVpXZL4JSKv9k4ptxa1alr1hrLVI=";
20660     };
20662     buildInputs = [ ModuleInstall ];
20664     postPatch = ''
20665       # remove outdated inc::Module::Install included with module
20666       # causes build failure for perl5.18+
20667       rm -r  inc
20668     '';
20669     meta = {
20670       description = "PerlIO layers for create symlinks";
20671       license = with lib.licenses; [ artistic1 gpl1Plus ];
20672     };
20673   };
20675   PerlIOviaTimeout = buildPerlModule {
20676     pname = "PerlIO-via-Timeout";
20677     version = "0.32";
20678     src = fetchurl {
20679       url = "mirror://cpan/authors/id/D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz";
20680       hash = "sha256-knj572aIUNkT2Y+kwNfn1mfP81AzkfSk6uc6JG8ueRY=";
20681     };
20682     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
20683     meta = {
20684       description = "PerlIO layer that adds read & write timeout to a handle";
20685       license = with lib.licenses; [ artistic1 gpl1Plus ];
20686     };
20687   };
20689   PerlLanguageServer = buildPerlPackage {
20690     pname = "Perl-LanguageServer";
20691     version = "2.6.1";
20692     src = fetchurl {
20693       url = "mirror://cpan/authors/id/G/GR/GRICHTER/Perl-LanguageServer-2.6.1.tar.gz";
20694       hash = "sha256-IDM0uwsEXMeHAu9DA0CdCB87aN3XRoNEdGOIJ8NMsZg=";
20695     };
20696     propagatedBuildInputs = [ AnyEvent AnyEventAIO ClassRefresh CompilerLexer Coro DataDump HashSafeKeys IOAIO JSON Moose PadWalker ];
20697     meta = {
20698       description = "Language Server and Debug Protocol Adapter for Perl";
20699       license = lib.licenses.artistic2;
20700     };
20701   };
20703   perlldap = buildPerlPackage {
20704     pname = "perl-ldap";
20705     version = "0.68";
20706     src = fetchurl {
20707       url = "mirror://cpan/authors/id/M/MA/MARSCHAP/perl-ldap-0.68.tar.gz";
20708       hash = "sha256-4vOJ/j56nkthSIaSkZrXI7mPO0ebUoj2ENqownmVs1E=";
20709     };
20710     # ldapi socket location should match the one compiled into the openldap package
20711     postPatch = ''
20712       for f in lib/Net/LDAPI.pm lib/Net/LDAP/Util.pm lib/Net/LDAP.pod lib/Net/LDAP.pm; do
20713         sed -i 's:/var/run/ldapi:/run/openldap/ldapi:g' "$f"
20714       done
20715     '';
20716     buildInputs = [ TextSoundex ];
20717     propagatedBuildInputs = [ ConvertASN1 ];
20718     meta = {
20719       description = "LDAP client library";
20720       homepage = "https://ldap.perl.org";
20721       license = with lib.licenses; [ artistic1 gpl1Plus ];
20722       maintainers = teams.deshaw.members;
20723     };
20724   };
20726   PerlMagick = ImageMagick; # added 2021-08-02
20727   ImageMagick = buildPerlPackage rec {
20728     pname = "Image-Magick";
20729     version = "7.1.1-20";
20730     src = fetchurl {
20731       url = "mirror://cpan/authors/id/J/JC/JCRISTY/Image-Magick-${version}.tar.gz";
20732       hash = "sha256-oMAwXQBxuV2FgPHBhUi+toNFPVnRLNjZqdP2q+ki6jg=";
20733     };
20734     buildInputs = [ pkgs.imagemagick ];
20735     preConfigure =
20736       ''
20737         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick.dev}/include/ImageMagick";|' Makefile.PL
20738       '';
20739     meta = {
20740       description = "Objected-oriented Perl interface to ImageMagick. Use it to read, manipulate, or write an image or image sequence from within a Perl script";
20741       license = with lib.licenses; [ imagemagick ];
20742     };
20743   };
20745   PerlTidy = buildPerlPackage {
20746     pname = "Perl-Tidy";
20747     version = "20230912";
20748     src = fetchurl {
20749       url = "mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20230912.tar.gz";
20750       hash = "sha256-DFeIjyBvmHd34WZA5yV0qgp3eEZxn44+0EE8NTJfVUA=";
20751     };
20752     meta = {
20753       description = "Indent and reformat perl scripts";
20754       license = with lib.licenses; [ gpl2Plus ];
20755       mainProgram = "perltidy";
20756     };
20757   };
20759   PHPSerialization = buildPerlPackage {
20760     pname = "PHP-Serialization";
20761     version = "0.34";
20762     src = fetchurl {
20763       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz";
20764       hash = "sha256-uRLUJumuulSRpeUC58XAOcXapXVCism9yCr/857G8Ho=";
20765     };
20766     meta = {
20767       description = "Simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa";
20768       license = with lib.licenses; [ artistic1 gpl1Plus ];
20769     };
20770   };
20772   PkgConfig = buildPerlPackage rec {
20773     pname = "PkgConfig";
20774     version = "0.25026";
20775     src = fetchurl {
20776       url = "mirror://cpan/authors/id/P/PL/PLICEASE/PkgConfig-0.25026.tar.gz";
20777       hash = "sha256-Tbpe08LWpoG5XF6/FLammVzmmRrkcZutfxqvOOmHwqA=";
20778     };
20779     # support cross-compilation by simplifying the way we get version during build
20780     postPatch = ''
20781       substituteInPlace Makefile.PL --replace \
20782         'do { require "./lib/PkgConfig.pm"; $PkgConfig::VERSION; }' \
20783         '"${version}"'
20784     '';
20785     meta = {
20786       description = "Pure-Perl Core-Only replacement for pkg-config";
20787       homepage = "https://metacpan.org/pod/PkgConfig";
20788       license = with lib.licenses; [ artistic1 gpl1Plus ];
20789       maintainers = teams.deshaw.members;
20790       mainProgram = "ppkg-config";
20791     };
20792   };
20794   Plack = buildPerlPackage {
20795     pname = "Plack";
20796     version = "1.0050";
20797     src = fetchurl {
20798       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0050.tar.gz";
20799       hash = "sha256-0mUa3oLrv/er4KOhifyTLa3Ed5GGzolGjlbQGJ6qbtQ=";
20800     };
20801     buildInputs = [ AuthenSimplePasswd CGIEmulatePSGI FileShareDirInstall HTTPRequestAsCGI HTTPServerSimplePSGI IOHandleUtil LWP LWPProtocolhttp10 LogDispatchArray MIMETypes TestMockTimeHiRes TestRequires TestSharedFork TestTCP ];
20802     propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPEntityParser HTTPHeadersFast HTTPMessage TryTiny ];
20803     patches = [
20804       ../development/perl-modules/Plack-test-replace-DES-hash-with-bcrypt.patch
20805     ];
20806     meta = {
20807       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
20808       homepage = "https://github.com/plack/Plack";
20809       license = with lib.licenses; [ artistic1 gpl1Plus ];
20810       mainProgram = "plackup";
20811     };
20812   };
20814   PlackAppProxy = buildPerlPackage {
20815     pname = "Plack-App-Proxy";
20816     version = "0.29";
20817     src = fetchurl {
20818       url = "mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz";
20819       hash = "sha256-BKqanbVKmpAn/nBLyjU/jl6fAr5AhytB0jX86c3ypg8=";
20820     };
20821     propagatedBuildInputs = [ AnyEventHTTP LWP Plack ];
20822     buildInputs = [ TestRequires TestSharedFork TestTCP ];
20823     meta = {
20824       description = "Proxy requests";
20825       license = with lib.licenses; [ artistic1 gpl1Plus ];
20826     };
20827   };
20829   PlackMiddlewareAuthDigest = buildPerlModule {
20830     pname = "Plack-Middleware-Auth-Digest";
20831     version = "0.05";
20832     src = fetchurl {
20833       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz";
20834       hash = "sha256-mr0/kpQ2zV7N+28/DX/foRuUB6OMfWAAYWpQ7eYQFes=";
20835     };
20836     propagatedBuildInputs = [ DigestHMAC Plack ];
20837     buildInputs = [ LWP ModuleBuildTiny TestSharedFork TestTCP ];
20838     meta = {
20839       description = "Digest authentication";
20840       homepage = "https://github.com/miyagawa/Plack-Middleware-Auth-Digest";
20841       license = with lib.licenses; [ artistic1 gpl1Plus ];
20842     };
20843   };
20845   PlackMiddlewareConsoleLogger = buildPerlModule {
20846     pname = "Plack-Middleware-ConsoleLogger";
20847     version = "0.05";
20848     src = fetchurl {
20849       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz";
20850       hash = "sha256-VWc6ylBN4sw0AWpF8yyPft2k7k0oArctZ4TSxBuH+9k=";
20851     };
20852     propagatedBuildInputs = [ JavaScriptValueEscape Plack ];
20853     buildInputs = [ ModuleBuildTiny TestRequires ];
20854     meta = {
20855       description = "Write logs to Firebug or Webkit Inspector";
20856       homepage = "https://github.com/miyagawa/Plack-Middleware-ConsoleLogger";
20857       license = with lib.licenses; [ artistic1 gpl1Plus ];
20858     };
20859   };
20861   PlackMiddlewareDebug = buildPerlModule {
20862     pname = "Plack-Middleware-Debug";
20863     version = "0.18";
20864     src = fetchurl {
20865       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Debug-0.18.tar.gz";
20866       hash = "sha256-GS73nlIckMbv9vQUmtLkv8kR0sld94k1hV6Q1lnprJo=";
20867     };
20868     buildInputs = [ ModuleBuildTiny TestRequires ];
20869     propagatedBuildInputs = [ ClassMethodModifiers DataDump DataDumperConcise Plack TextMicroTemplate ];
20870     meta = {
20871       description = "Display information about the current request/response";
20872       homepage = "https://github.com/miyagawa/Plack-Middleware-Debug";
20873       license = with lib.licenses; [ artistic1 gpl1Plus ];
20874     };
20875   };
20877   PlackMiddlewareDeflater = buildPerlPackage {
20878     pname = "Plack-Middleware-Deflater";
20879     version = "0.12";
20880     src = fetchurl {
20881       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz";
20882       hash = "sha256-KNqV59pMi1WRrEVFCckhds0IQpYM4HT94w+aEHXcwnU=";
20883     };
20884     propagatedBuildInputs = [ Plack ];
20885     buildInputs = [ TestRequires TestSharedFork TestTCP ];
20886     meta = {
20887       description = "Compress response body with Gzip or Deflate";
20888       license = with lib.licenses; [ artistic1 gpl1Plus ];
20889     };
20890   };
20892   PlackMiddlewareFixMissingBodyInRedirect = buildPerlPackage {
20893     pname = "Plack-Middleware-FixMissingBodyInRedirect";
20894     version = "0.12";
20895     src = fetchurl {
20896       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz";
20897       hash = "sha256-bCLQafWlesIG1GWbKLiGm7knBkC7lV793UUdzFjNs5E=";
20898     };
20899     propagatedBuildInputs = [ HTMLParser Plack ];
20900     meta = {
20901       description = "Plack::Middleware which sets body for redirect response, if it's not already set";
20902       homepage = "https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect";
20903       license = with lib.licenses; [ artistic1 gpl1Plus ];
20904     };
20905   };
20907   PlackMiddlewareHeader = buildPerlPackage {
20908     pname = "Plack-Middleware-Header";
20909     version = "0.04";
20910     src = fetchurl {
20911       url = "mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz";
20912       hash = "sha256-Xra5/3Ly09VpUOI+K8AnFQqcXnVg1zo0GhZeGu3qXV4=";
20913     };
20914     propagatedBuildInputs = [ Plack ];
20915     meta = {
20916       description = "Modify HTTP response headers";
20917       license = with lib.licenses; [ artistic1 gpl1Plus ];
20918     };
20919   };
20921   PlackMiddlewareMethodOverride = buildPerlPackage {
20922     pname = "Plack-Middleware-MethodOverride";
20923     version = "0.20";
20924     src = fetchurl {
20925       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz";
20926       hash = "sha256-2/taLvtIv+sByzrh4cZ34VXce/4hDH5/IhuuPLaqtfE=";
20927     };
20928     propagatedBuildInputs = [ Plack ];
20929     meta = {
20930       description = "Override REST methods to Plack apps via POST";
20931       license = with lib.licenses; [ artistic1 gpl1Plus ];
20932     };
20933   };
20935   PlackMiddlewareRemoveRedundantBody = buildPerlPackage {
20936     pname = "Plack-Middleware-RemoveRedundantBody";
20937     version = "0.09";
20938     src = fetchurl {
20939       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz";
20940       hash = "sha256-gNRfk9a3KQsL2LPO3YSjf8UBRWzD3sAux6rYHAAYCH4=";
20941     };
20942     propagatedBuildInputs = [ Plack ];
20943     meta = {
20944       description = "Plack::Middleware which removes body for HTTP response if it's not required";
20945       homepage = "https://github.com/upasana-me/Plack-Middleware-RemoveRedundantBody";
20946       license = with lib.licenses; [ artistic1 gpl1Plus ];
20947     };
20948   };
20950   PlackMiddlewareReverseProxy = buildPerlPackage {
20951     pname = "Plack-Middleware-ReverseProxy";
20952     version = "0.16";
20953     src = fetchurl {
20954       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz";
20955       hash = "sha256-h0kx030HZnug0PN5A7lFEQcfQZH+tz+kV2XaK4wVoSg=";
20956     };
20957     propagatedBuildInputs = [ Plack ];
20958     meta = {
20959       description = "Supports app to run as a reverse proxy backend";
20960       homepage = "https://github.com/lopnor/Plack-Middleware-ReverseProxy";
20961       license = with lib.licenses; [ artistic1 gpl1Plus ];
20962     };
20963   };
20965   PlackMiddlewareSession = buildPerlModule {
20966     pname = "Plack-Middleware-Session";
20967     version = "0.33";
20968     src = fetchurl {
20969       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.33.tar.gz";
20970       hash = "sha256-T/miydGK2ASbRd/ze5vdQSIeLC8eFrr7gb/tyIxRpO4=";
20971     };
20972     propagatedBuildInputs = [ DigestHMAC Plack ];
20973     buildInputs = [ HTTPCookies LWP ModuleBuildTiny TestFatal TestRequires TestSharedFork TestTCP ];
20974     meta = {
20975       description = "Middleware for session management";
20976       homepage = "https://github.com/plack/Plack-Middleware-Session";
20977       license = with lib.licenses; [ artistic1 gpl1Plus ];
20978     };
20979   };
20981   PlackTestExternalServer = buildPerlPackage {
20982     pname = "Plack-Test-ExternalServer";
20983     version = "0.02";
20984     src = fetchurl {
20985       url = "mirror://cpan/authors/id/E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz";
20986       hash = "sha256-W69cV/4MBkEt7snFq+eVKrigT4xHtLvY6emYImiQPtA=";
20987     };
20988     buildInputs = [ Plack TestSharedFork TestTCP ];
20989     propagatedBuildInputs = [ LWP ];
20990     meta = {
20991       description = "Run HTTP tests on external live servers";
20992       homepage = "https://github.com/perl-catalyst/Plack-Test-ExternalServer";
20993       license = with lib.licenses; [ artistic1 gpl1Plus ];
20994     };
20995   };
20997   PLS = buildPerlPackage {
20998     pname = "PLS";
20999     version = "0.905";
21000     src = fetchurl {
21001       url = "mirror://cpan/authors/id/M/MR/MREISNER/PLS-0.905.tar.gz";
21002       hash = "sha256-RVW1J5nBZBXDy/5eMB6gLKDrvDQhTH/lLx19ykUwLik=";
21003     };
21004     propagatedBuildInputs = [ Future FutureQueue IOAsync PPI PPR PathTiny PerlCritic PerlTidy PodMarkdown URI ];
21005     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
21006     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
21007       shortenPerlShebang $out/bin/pls
21008     '';
21009     meta = {
21010       description = "Perl Language Server";
21011       homepage = "https://github.com/FractalBoy/perl-language-server";
21012       license = with lib.licenses; [ artistic1 gpl1Plus ];
21013       maintainers = [ maintainers.artturin ];
21014       mainProgram = "pls";
21015     };
21016   };
21018   Po4a = callPackage ../development/perl-modules/Po4a { };
21020   PodMinimumVersion = buildPerlPackage {
21021     pname = "Pod-MinimumVersion";
21022     version = "50";
21023     src = fetchurl {
21024       url = "mirror://cpan/authors/id/K/KR/KRYDE/Pod-MinimumVersion-50.tar.gz";
21025       hash = "sha256-C9KBLZqsvZm7cfoQOkuxKelVwTi6dZhzQgfcn7Z7Wm8=";
21026     };
21027     propagatedBuildInputs = [ IOString PodParser ];
21028     meta = {
21029       description = "Determine minimum Perl version of POD directives";
21030       homepage = "https://user42.tuxfamily.org/pod-minimumversion/index.html";
21031       license = with lib.licenses; [ gpl3Plus ];
21032       mainProgram = "pod-minimumversion";
21033     };
21034   };
21036   POE = buildPerlPackage {
21037     pname = "POE";
21038     version = "1.370";
21039     src = fetchurl {
21040       url = "mirror://cpan/authors/id/B/BI/BINGOS/POE-1.370.tar.gz";
21041       hash = "sha256-V94rY1sV+joxqeVd1REiFJ5UFOEVjugiNQYmNO4YppM=";
21042     };
21043     # N.B. removing TestPodLinkCheck from buildInputs because tests requiring
21044     # this module don't disable themselves when "run_network_tests" is
21045     # not present (see below).
21046     propagatedBuildInputs = [ pkgs.cacert IOPipely IOTty POETestLoops ];
21047     preCheck = ''
21048       set -x
21050       : Makefile.PL touches the following file as a "marker" to indicate
21051       : it should perform tests which use the network. Delete this file
21052       : for sandbox builds.
21053       rm -f run_network_tests
21055       : Certs are required if not running in a sandbox.
21056       export SSL_CERT_FILE=${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt
21058       : The following flag enables extra tests not normally performed.
21059       export RELEASE_TESTING=1
21061       set +x
21062     '';
21063     meta = {
21064       description = "Portable, event-loop agnostic eventy networking and multitasking";
21065       homepage = "http://poe.perl.org";
21066       license = with lib.licenses; [ artistic1 gpl1Plus ];
21067       maintainers = teams.deshaw.members;
21068     };
21069   };
21071   POETestLoops = buildPerlPackage {
21072     pname = "POE-Test-Loops";
21073     version = "1.360";
21074     src = fetchurl {
21075       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-Test-Loops-1.360.tar.gz";
21076       hash = "sha256-vtDJb+kcmP035utZqASqrJzEqekoRQt21L9VJ6nmpHs=";
21077     };
21078     meta = {
21079       description = "Reusable tests for POE::Loop authors";
21080       homepage = "https://search.cpan.org/dist/POE-Test-Loops";
21081       license = with lib.licenses; [ artistic1 gpl1Plus ];
21082       maintainers = teams.deshaw.members;
21083       mainProgram = "poe-gen-tests";
21084     };
21085   };
21087   PPI = buildPerlPackage {
21088     pname = "PPI";
21089     version = "1.277";
21090     src = fetchurl {
21091       url = "mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.277.tar.gz";
21092       hash = "sha256-h8efg7aHbiBgUZZdUBnSUHxVH4GahnUAgOx+xDsuCvg=";
21093     };
21094     buildInputs = [ ClassInspector TestDeep TestNoWarnings TestObject TestSubCalls ];
21095     propagatedBuildInputs = [ Clone IOString ParamsUtil TaskWeaken ];
21097     # Remove test that fails due to unexpected shebang after
21098     # patchShebang.
21099     preCheck = "rm t/03_document.t";
21101     meta = {
21102       description = "Parse, Analyze and Manipulate Perl (without perl)";
21103       homepage = "https://github.com/Perl-Critic/PPI";
21104       license = with lib.licenses; [ artistic1 gpl1Plus ];
21105     };
21106   };
21108   PPIxQuoteLike = buildPerlModule {
21109     pname = "PPIx-QuoteLike";
21110     version = "0.023";
21111     src = fetchurl {
21112       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.023.tar.gz";
21113       hash = "sha256-NXajFJ0sU+B+lze3iSvlz7hKSZpu8d8JC3E7BUQjTSE=";
21114     };
21115     propagatedBuildInputs = [ PPI Readonly ];
21116     meta = {
21117       description = "Parse Perl string literals and string-literal-like things";
21118       license = with lib.licenses; [ artistic1 gpl1Plus ];
21119     };
21120   };
21122   PPIxRegexp = buildPerlModule {
21123     pname = "PPIx-Regexp";
21124     version = "0.088";
21125     src = fetchurl {
21126       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.088.tar.gz";
21127       hash = "sha256-iFQz+bEC+tT9NrIccyC7A2A2ERyvmYExv0FvfNXul2Q=";
21128     };
21129     propagatedBuildInputs = [ PPI ];
21130     meta = {
21131       description = "Parse regular expressions";
21132       license = with lib.licenses; [ artistic1 gpl1Plus ];
21133     };
21134   };
21136   PPIxUtilities = buildPerlModule {
21137     pname = "PPIx-Utilities";
21138     version = "1.001000";
21139     src = fetchurl {
21140       url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz";
21141       hash = "sha256-A6SDOG/WosgI8Jd41E2wawLDFA+yS6S/EvhR9G07y5s=";
21142     };
21143     buildInputs = [ TestDeep ];
21144     propagatedBuildInputs = [ ExceptionClass PPI Readonly ];
21145     meta = {
21146       description = "Extensions to PPI|PPI";
21147       license = with lib.licenses; [ artistic1 gpl1Plus ];
21148     };
21149   };
21151   PPIxUtils = buildPerlPackage {
21152     pname = "PPIx-Utils";
21153     version = "0.003";
21154     src = fetchurl {
21155       url = "mirror://cpan/authors/id/D/DB/DBOOK/PPIx-Utils-0.003.tar.gz";
21156       hash = "sha256-KpvM/I6tA74BtnJI/o4VJSIED3mChvpO9EMrfy79uhE=";
21157     };
21158     propagatedBuildInputs = [ BKeywords PPI ];
21159     meta = {
21160       homepage = "https://github.com/Grinnz/PPIx-Utils";
21161       description = "Utility functions for PPI";
21162       license = with lib.licenses; [ artistic1 gpl1Plus ];
21163     };
21164   };
21166   PPR = buildPerlPackage {
21167     pname = "PPR";
21168     version = "0.001008";
21169     src = fetchurl {
21170       url = "mirror://cpan/authors/id/D/DC/DCONWAY/PPR-0.001008.tar.gz";
21171       hash = "sha256-EQ5xwF8uLJDrAfCgaU5VqdvpHIV+SBJeF0LRflzbHkk=";
21172     };
21173     meta = {
21174       description = "Pattern-based Perl Recognizer";
21175       license = with lib.licenses; [ artistic2 ];
21176       maintainers = [ maintainers.artturin ];
21177     };
21178   };
21180   ProcBackground = buildPerlPackage {
21181     pname = "Proc-Background";
21182     version = "1.32";
21183     src = fetchurl {
21184       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.32.tar.gz";
21185       hash = "sha256-Wxp4DduSnKQnJeuQtRgyFCX/d4tKE3+G+sldn7nNKWc=";
21186     };
21187     meta = {
21188       description = "Run asynchronous child processes under Unix or Windows";
21189       license = with lib.licenses; [ artistic1 gpl1Plus ];
21190       mainProgram = "timed-process";
21191     };
21192   };
21194   ProcProcessTable = buildPerlPackage {
21195     pname = "Proc-ProcessTable";
21196     version = "0.636";
21197     src = fetchurl {
21198       url = "mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.636.tar.gz";
21199       hash = "sha256-lEIk/7APwe81BpYzdwoK/ahiO1x1MtHkq0ip3zlIkP0=";
21200     };
21201     meta = {
21202       description = "Perl extension to access the unix process table";
21203       license = with lib.licenses; [ artistic2 ];
21204     };
21205   };
21207   ProcDaemon = buildPerlPackage {
21208     pname = "Proc-Daemon";
21209     version = "0.23";
21210     src = fetchurl {
21211       url = "mirror://cpan/authors/id/A/AK/AKREAL/Proc-Daemon-0.23.tar.gz";
21212       hash = "sha256-NMC4W3lItDHLq8l87lgINeUVzPQ7rb2DOesQlHQIm2k=";
21213     };
21214     buildInputs = [ ProcProcessTable ];
21215     meta = {
21216       description = "Run Perl program(s) as a daemon process";
21217       homepage = "https://github.com/akreal/Proc-Daemon";
21218       license = with lib.licenses; [ artistic1 gpl1Plus ];
21219     };
21220   };
21222   ProcPIDFile = buildPerlPackage {
21223     pname = "Proc-PID-File";
21224     version = "1.29";
21225     src = fetchurl {
21226       url = "mirror://cpan/authors/id/D/DM/DMITRI/Proc-PID-File-1.29.tar.gz";
21227       hash = "sha256-O87aSd8YLT2BaLcMKlGyBW8v1FlQptBCipmS/TVc1KQ=";
21228     };
21229     meta = {
21230       description = "Manage process id files";
21231       homepage = "https://github.com/dtikhonov/Proc-PID-File";
21232       license = with lib.licenses; [ artistic1 gpl1Plus ];
21233     };
21234   };
21236   ProcFind = buildPerlPackage {
21237     pname = "Proc-Find";
21238     version = "0.051";
21239     src = fetchurl {
21240       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Proc-Find-0.051.tar.gz";
21241       hash = "sha256-ZNOQceyU17ZqfKtalQJG8P/wE7WiAKY9EXZDKYfloTU=";
21242     };
21243     propagatedBuildInputs = [ ProcProcessTable ];
21244     meta = {
21245       description = "Find processes by name, PID, or some other attributes";
21246       homepage = "https://metacpan.org/release/Proc-Find";
21247       license = with lib.licenses; [ artistic1 gpl1Plus ];
21248     };
21249   };
21251   ProcSafeExec = buildPerlPackage {
21252     pname = "Proc-SafeExec";
21253     version = "1.5";
21254     src = fetchurl {
21255       url = "mirror://cpan/authors/id/B/BI/BILBO/Proc-SafeExec-1.5.tar.gz";
21256       hash = "sha256-G00JCLysVj00p+W+YcXaPu6Y5KbH+mjCZwzFhEtaLXg=";
21257     };
21258     meta = {
21259       description = "Convenient utility for executing external commands in various ways";
21260       license = with lib.licenses; [ gpl1Only bsd2 ];
21261     };
21262   };
21264   ProcSimple = buildPerlPackage {
21265     pname = "Proc-Simple";
21266     version = "1.32";
21267     src = fetchurl {
21268       url = "mirror://cpan/authors/id/M/MS/MSCHILLI/Proc-Simple-1.32.tar.gz";
21269       hash = "sha256-TI8KkksZrXihPac/4PswbTKnudEKMyxSMIf8g6IJqMQ=";
21270     };
21271     meta = {
21272       description = "Launch and control background processes";
21273       license = with lib.licenses; [ artistic1 gpl1Plus ];
21274     };
21275   };
21277   ProcWait3 = buildPerlPackage {
21278     pname = "Proc-Wait3";
21279     version = "0.05";
21280     src = fetchurl {
21281       url = "mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz";
21282       hash = "sha256-GpB/XbaTPcKTm7/v/hnurn7TnvG5eivJtyPy8l+ByvM=";
21283     };
21284     meta = {
21285       description = "Perl extension for wait3 system call";
21286       license = with lib.licenses; [ artistic1 gpl1Plus ];
21287     };
21288   };
21290   ProcWaitStat = buildPerlPackage {
21291     pname = "Proc-WaitStat";
21292     version = "1.00";
21293     src = fetchurl {
21294       url = "mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz";
21295       hash = "sha256-0HVj9eeHkJ0W5zkCQeh39Jq3ObHenQ4uoaQb0L9EdLw=";
21296     };
21297     propagatedBuildInputs = [ IPCSignal ];
21298     meta = {
21299       description = "Interpret and act on wait() status values";
21300       license = with lib.licenses; [ artistic1 gpl1Plus ];
21301     };
21302   };
21304   PrometheusTiny = buildPerlPackage {
21305     pname = "Prometheus-Tiny";
21306     version = "0.011";
21307     src = fetchurl {
21308       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.011.tar.gz";
21309       hash = "sha256-jbFIDzyJ64bUFM9fR/7tjfMRKzjEY8uPZbTAZOILHhM=";
21310     };
21311     buildInputs = [ HTTPMessage Plack TestException TestWarn ];
21312     meta = {
21313       description = "Tiny Prometheus client";
21314       homepage = "https://github.com/robn/Prometheus-Tiny";
21315       license = with lib.licenses; [ artistic1 gpl1Plus ];
21316     };
21317   };
21319   PrometheusTinyShared = buildPerlPackage {
21320     pname = "Prometheus-Tiny-Shared";
21321     version = "0.027";
21322     src = fetchurl {
21323       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.027.tar.gz";
21324       hash = "sha256-egULqhjKfA0gsoih1L0nJ3E6lFg/Qmskn5XcjUDty9E=";
21325     };
21326     buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException TestWarn ];
21327     propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ];
21328     meta = {
21329       description = "Tiny Prometheus client with a shared database behind it";
21330       homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
21331       license = with lib.licenses; [ artistic1 gpl1Plus ];
21332     };
21333   };
21335   ProtocolRedis = buildPerlPackage {
21336     pname = "Protocol-Redis";
21337     version = "1.0011";
21338     src = fetchurl {
21339       url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0011.tar.gz";
21340       hash = "sha256-fOtr2ABnyQRGXU/R8XFXJDiMm9w3xsLAA6IM5Wm39Og=";
21341     };
21342     meta = {
21343       description = "Redis protocol parser/encoder with asynchronous capabilities";
21344       homepage = "https://github.com/und3f/protocol-redis";
21345       license = with lib.licenses; [ artistic1 gpl1Plus ];
21346       maintainers = [ maintainers.sgo ];
21347     };
21348   };
21350   ProtocolRedisFaster = buildPerlPackage {
21351     pname = "Protocol-Redis-Faster";
21352     version = "0.003";
21353     src = fetchurl {
21354       url = "mirror://cpan/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-0.003.tar.gz";
21355       hash = "sha256-a5r7PelOwczX20+eai6rolSld5AwHBe8sTuz7f4YULc=";
21356     };
21357     propagatedBuildInputs = [ ProtocolRedis ];
21358     meta = {
21359       description = "Optimized pure-perl Redis protocol parser/encoder";
21360       homepage = "https://github.com/Grinnz/Protocol-Redis-Faster";
21361       license = with lib.licenses; [ artistic2 ];
21362       maintainers = [ maintainers.sgo ];
21363     };
21364   };
21366   ProtocolWebSocket = buildPerlModule {
21367     pname = "Protocol-WebSocket";
21368     version = "0.26";
21369     src = fetchurl {
21370       url = "mirror://cpan/authors/id/V/VT/VTI/Protocol-WebSocket-0.26.tar.gz";
21371       hash = "sha256-WDfQNxGnoyVPCv7LfkCeiwk3YGDDiluClejumvdXVSI=";
21372     };
21373     buildInputs = [ ModuleBuildTiny ];
21374     meta = {
21375       description = "WebSocket protocol";
21376       license = with lib.licenses; [ artistic1 gpl1Plus ];
21377     };
21378   };
21380   ProtocolHTTP2 = buildPerlModule {
21381     pname = "Protocol-HTTP2";
21382     version = "1.11";
21383     src = fetchurl {
21384       url = "mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.11.tar.gz";
21385       hash = "sha256-Vp8Fsavpl7UHyCUVMMyB0e6WvZMsxoJTS2zkhlNQCRM=";
21386     };
21387     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
21388     meta = {
21389       homepage = "https://github.com/vlet/p5-Protocol-HTTP2";
21390       description = "HTTP/2 protocol implementation (RFC 7540)";
21391       license = with lib.licenses; [ artistic1 gpl1Plus ];
21392     };
21393   };
21395   PSGI = buildPerlPackage {
21396     pname = "PSGI";
21397     version = "1.102";
21398     src = fetchurl {
21399       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/PSGI-1.102.tar.gz";
21400       hash = "sha256-pWxEZ0CRfahpJcKfxmM7nfg5shz5j2onCGWY7ZDuH0c=";
21401     };
21402     meta = {
21403       description = "Perl Web Server Gateway Interface Specification";
21404       license = with lib.licenses; [ cc-by-sa-25 ];
21405     };
21406   };
21408   PadWalker = buildPerlPackage {
21409     pname = "PadWalker";
21410     version = "2.5";
21411     src = fetchurl {
21412       url = "mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-2.5.tar.gz";
21413       hash = "sha256-B7Jqu4QRRq8yByqNaMuQF2/7F2/ZJo5vL30Qb4F6DNA=";
21414     };
21415     meta = {
21416       description = "Play with other peoples' lexical variables";
21417       license = with lib.licenses; [ artistic1 gpl1Plus ];
21418     };
21419   };
21421   Perl6Junction = buildPerlPackage {
21422     pname = "Perl6-Junction";
21423     version = "1.60000";
21424     src = fetchurl {
21425       url = "mirror://cpan/authors/id/C/CF/CFRANKS/Perl6-Junction-1.60000.tar.gz";
21426       hash = "sha256-0CN16FGX6PkbTLLTM0rpqJ9gAi949c1gdtzU7G+ycWQ=";
21427     };
21428     meta = {
21429       description = "Perl6 style Junction operators in Perl5";
21430       license = with lib.licenses; [ artistic1 gpl1Plus ];
21431     };
21432   };
21434   PerlMinimumVersion = buildPerlPackage {
21435     pname = "Perl-MinimumVersion";
21436     version = "1.40";
21437     src = fetchurl {
21438       url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-MinimumVersion-1.40.tar.gz";
21439       hash = "sha256-dYmleMtg1wykdVw5WzWStECgzWobB05OzqyTsDGhvpA=";
21440     };
21441     buildInputs = [ TestScript ];
21442     propagatedBuildInputs = [ FileFindRulePerl PerlCritic ];
21443     meta = {
21444       description = "Find a minimum required version of perl for Perl code";
21445       homepage = "https://github.com/neilbowers/Perl-MinimumVersion";
21446       license = with lib.licenses; [ artistic1 gpl1Plus ];
21447       mainProgram = "perlver";
21448     };
21449   };
21451   PerlPrereqScanner = buildPerlPackage {
21452     pname = "Perl-PrereqScanner";
21453     version = "1.100";
21454     src = fetchurl {
21455       url = "mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.100.tar.gz";
21456       hash = "sha256-ARgdOKLnr/g40mISJWPFBja6SzZS7l0dT471uj9bGGs=";
21457     };
21458     buildInputs = [ TryTiny ];
21459     propagatedBuildInputs = [ GetoptLongDescriptive ModulePath Moo ParamsUtil PPI StringRewritePrefix TypeTiny namespaceautoclean ];
21460     meta = {
21461       description = "Tool to scan your Perl code for its prerequisites";
21462       homepage = "https://github.com/rjbs/Perl-PrereqScanner";
21463       license = with lib.licenses; [ artistic1 gpl1Plus ];
21464       mainProgram = "scan-perl-prereqs";
21465     };
21466   };
21468   PerlPrereqScannerNotQuiteLite = buildPerlPackage {
21469     pname = "Perl-PrereqScanner-NotQuiteLite";
21470     version = "0.9917";
21471     src = fetchurl {
21472       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9917.tar.gz";
21473       hash = "sha256-O6fuF9lfDJqNkqLkwYVLZKcH0cAihGIm3Q36Qvfeud0=";
21474     };
21475     propagatedBuildInputs = [ DataDump ModuleCPANfile ModuleFind RegexpTrie URIcpan ];
21476     buildInputs = [ ExtUtilsMakeMakerCPANfile ParseDistname TestFailWarnings TestUseAllModules ];
21477     meta = {
21478       description = "Tool to scan your Perl code for its prerequisites";
21479       license = with lib.licenses; [ artistic1 gpl1Plus ];
21480       mainProgram = "scan-perl-prereqs-nqlite";
21481     };
21482   };
21484   PerlVersion = buildPerlPackage {
21485     pname = "Perl-Version";
21486     version = "1.013";
21487     src = fetchurl {
21488       url = "mirror://cpan/authors/id/B/BD/BDFOY/Perl-Version-1.013.tar.gz";
21489       hash = "sha256-GIdBTRyGidhkyEARQQHgQ+mdfdW5zKaTaaYOgh460Pc=";
21490     };
21491     propagatedBuildInputs = [ FileSlurpTiny ];
21492     meta = {
21493       description = "Parse and manipulate Perl version strings";
21494       license = with lib.licenses; [ artistic1 gpl1Plus ];
21495       mainProgram = "perl-reversion";
21496     };
21497   };
21499   PodAbstract = buildPerlPackage {
21500     pname = "Pod-Abstract";
21501     version = "0.20";
21502     src = fetchurl {
21503       url = "mirror://cpan/authors/id/B/BL/BLILBURNE/Pod-Abstract-0.20.tar.gz";
21504       hash = "sha256-lW73u4hMVUVuL7bn8in5qH3VCmHXAFAMc4248ronf4c=";
21505     };
21506     propagatedBuildInputs = [ IOString TaskWeaken PodParser ];
21507     meta = {
21508       description = "Abstract, tree-based interface to perl POD documents";
21509       license = with lib.licenses; [ artistic1 gpl1Plus ];
21510       mainProgram = "paf";
21511     };
21512   };
21514   PodChecker = buildPerlPackage {
21515     pname = "Pod-Checker";
21516     version = "1.75";
21517     src = fetchurl {
21518       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.75.tar.gz";
21519       hash = "sha256-82O1dOxmCvbtvT5dTJ/8UVodRsvxx8ytmkbO0oh5wiE=";
21520     };
21521     meta = {
21522       description = "Verifies POD documentation contents for compliance with the POD format specifications";
21523       license = with lib.licenses; [ artistic1 gpl1Plus ];
21524       mainProgram = "podchecker";
21525     };
21526   };
21528   PodCoverage = buildPerlPackage {
21529     pname = "Pod-Coverage";
21530     version = "0.23";
21531     src = fetchurl {
21532       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz";
21533       hash = "sha256-MLegsMlC9Ep1UsDTTpsfLgugtnlVxh47FYnsNpB0sQc=";
21534     };
21535     propagatedBuildInputs = [ DevelSymdump PodParser ];
21536     meta = {
21537       description = "Checks if the documentation of a module is comprehensive";
21538       license = with lib.licenses; [ artistic1 gpl1Plus ];
21539       mainProgram = "pod_cover";
21540     };
21541   };
21543   PodCoverageTrustPod = buildPerlPackage {
21544     pname = "Pod-Coverage-TrustPod";
21545     version = "0.100006";
21546     src = fetchurl {
21547       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100006.tar.gz";
21548       hash = "sha256-NYrcJQTwOetpCYqpm93mrp3JNTZKjhRPZAXoKTs6fKM=";
21549     };
21550     propagatedBuildInputs = [ PodCoverage PodEventual ];
21551     meta = {
21552       description = "Allow a module's pod to contain Pod::Coverage hints";
21553       homepage = "https://github.com/rjbs/Pod-Coverage-TrustPod";
21554       license = with lib.licenses; [ artistic1 gpl1Plus ];
21555     };
21556   };
21558   PodElemental = buildPerlPackage {
21559     pname = "Pod-Elemental";
21560     version = "0.103006";
21561     src = fetchurl {
21562       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103006.tar.gz";
21563       hash = "sha256-dQw6edjhgkdYpu99LdB33N3KUDVCuMNOzNWsu3edxCM=";
21564     };
21565     buildInputs = [ TestDeep TestDifferences ];
21566     propagatedBuildInputs = [ MooseXTypes PodEventual StringRewritePrefix StringTruncate ];
21567     meta = {
21568       description = "Work with nestable Pod elements";
21569       homepage = "https://github.com/rjbs/Pod-Elemental";
21570       license = with lib.licenses; [ artistic1 gpl1Plus ];
21571     };
21572   };
21574   PodElementalPerlMunger = buildPerlPackage {
21575     pname = "Pod-Elemental-PerlMunger";
21576     version = "0.200007";
21577     src = fetchurl {
21578       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.200007.tar.gz";
21579       hash = "sha256-UYleTEGgeere+fJPXcSOMkWlwG40BO15yF+lzv63lak=";
21580     };
21581     buildInputs = [ TestDifferences ];
21582     propagatedBuildInputs = [ PPI PodElemental ];
21583     meta = {
21584       description = "Thing that takes a string of Perl and rewrites its documentation";
21585       homepage = "https://github.com/rjbs/Pod-Elemental-PerlMunger";
21586       license = with lib.licenses; [ artistic1 gpl1Plus ];
21587     };
21588   };
21590   PodEventual = buildPerlPackage {
21591     pname = "Pod-Eventual";
21592     version = "0.094003";
21593     src = fetchurl {
21594       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094003.tar.gz";
21595       hash = "sha256-fwYMw00RZWzgadsGHj1g7cDKvI+JpKLcfqrpXayFbS0=";
21596     };
21597     propagatedBuildInputs = [ MixinLinewise ];
21598     buildInputs = [ TestDeep ];
21599     meta = {
21600       description = "Read a POD document as a series of trivial events";
21601       homepage = "https://github.com/rjbs/Pod-Eventual";
21602       license = with lib.licenses; [ artistic1 gpl1Plus ];
21603     };
21604   };
21606   PodParser = buildPerlPackage {
21607     pname = "Pod-Parser";
21608     version = "1.66";
21609     src = fetchurl {
21610       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-1.66.tar.gz";
21611       hash = "sha256-IpKKe//mG0UsBbu7j1IW1LnPn+KoSbd2wlUA0k0g33w=";
21612     };
21613     meta = {
21614       description = "Modules for parsing/translating POD format documents";
21615       license = with lib.licenses; [ artistic1 ];
21616       mainProgram = "podselect";
21617     };
21618   };
21620   PodPOM = buildPerlPackage {
21621     pname = "Pod-POM";
21622     version = "2.01";
21623     src = fetchurl {
21624       url = "mirror://cpan/authors/id/N/NE/NEILB/Pod-POM-2.01.tar.gz";
21625       hash = "sha256-G1D7qbvd4+rRkr7roOrd0MYU46+xdD+m//gF9XxW9/Q=";
21626     };
21627     buildInputs = [ FileSlurper TestDifferences TextDiff ];
21628     meta = {
21629       description = "POD Object Model";
21630       homepage = "https://github.com/neilb/Pod-POM";
21631       license = with lib.licenses; [ artistic1 gpl1Plus ];
21632       mainProgram = "pom2";
21633     };
21634   };
21636   PodPOMViewTOC = buildPerlPackage {
21637     pname = "Pod-POM-View-TOC";
21638     version = "0.02";
21639     src = fetchurl {
21640       url = "mirror://cpan/authors/id/P/PE/PERLER/Pod-POM-View-TOC-0.02.tar.gz";
21641       hash = "sha256-zLQicsdQM3nLETE5RiDuUCdtcoRODoDrSwB6nVj4diM=";
21642     };
21643     propagatedBuildInputs = [ PodPOM ];
21644     meta = {
21645       description = "Generate the TOC of a POD with Pod::POM";
21646       license = with lib.licenses; [ artistic1 gpl1Plus ];
21647     };
21648   };
21650   PodSection = buildPerlModule {
21651     pname = "Pod-Section";
21652     version = "0.02";
21653     src = fetchurl {
21654       url = "mirror://cpan/authors/id/K/KT/KTAT/Pod-Section-0.02.tar.gz";
21655       hash = "sha256-ydHXUpLzIYgRhOxWmDwW9Aj9LTEtWnIPj7DSyvpykjg=";
21656     };
21657     propagatedBuildInputs = [ PodAbstract ];
21658     meta = {
21659       description = "Select specified section from Module's POD";
21660       homepage = "https://github.com/ktat/Pod-Section";
21661       license = with lib.licenses; [ artistic1 gpl1Plus ];
21662       mainProgram = "podsection";
21663     };
21664   };
21666   PodLaTeX = buildPerlModule {
21667     pname = "Pod-LaTeX";
21668     version = "0.61";
21669     src = fetchurl {
21670       url = "mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz";
21671       hash = "sha256-FahA6hyKds08hl+78v7DOwNhXA2qUPnIAMVODPBlnUY=";
21672     };
21673     propagatedBuildInputs = [ PodParser ];
21674     meta = {
21675       description = "Convert Pod data to formatted Latex";
21676       homepage = "https://github.com/timj/perl-Pod-LaTeX/tree/master";
21677       license = with lib.licenses; [ artistic1 gpl1Plus ];
21678       mainProgram = "pod2latex";
21679     };
21680   };
21682   podlators = buildPerlPackage {
21683     pname = "podlators";
21684     version = "5.01";
21685     src = fetchurl {
21686       url = "mirror://cpan/authors/id/R/RR/RRA/podlators-5.01.tar.gz";
21687       hash = "sha256-zP0d+fGkfwlbzm1xj61a9A94ziSR8scjlibhW3AgvHE=";
21688     };
21689     preCheck = ''
21690       # remove failing spdx check
21691       rm t/docs/spdx-license.t
21692     '';
21693     meta = {
21694       description = "Convert POD data to various other formats";
21695       homepage = "https://www.eyrie.org/~eagle/software/podlators";
21696       license = with lib.licenses; [ artistic1 gpl1Plus ];
21697     };
21698   };
21700   podlinkcheck = buildPerlPackage {
21701     pname = "podlinkcheck";
21702     version = "15";
21703     src = fetchurl {
21704       url = "mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-15.tar.gz";
21705       hash = "sha256-Tjvr7Bv4Lb+FCpSuJqJTZEz1gG7EGvx05D4XEKNzIds=";
21706     };
21707     propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun PodParser constant-defer libintl-perl ];
21708     meta = {
21709       description = "Check POD L<> link references";
21710       homepage = "https://user42.tuxfamily.org/podlinkcheck/index.html";
21711       license = with lib.licenses; [ gpl3Plus ];
21712     };
21713   };
21715   prefork = buildPerlPackage {
21716     pname = "prefork";
21717     version = "1.05";
21718     src = fetchurl {
21719       url = "mirror://cpan/authors/id/E/ET/ETHER/prefork-1.05.tar.gz";
21720       hash = "sha256-bYe836Y7KM78+ocIA6UZtlkOPqGcMA+YzssOGQuxkwU=";
21721     };
21722     meta = {
21723       description = "Optimized module loading for forking or non-forking processes";
21724       homepage = "https://github.com/karenetheridge/prefork";
21725       license = with lib.licenses; [ artistic1 gpl1Plus ];
21726     };
21727   };
21729   PodPerldoc = buildPerlPackage {
21730     pname = "Pod-Perldoc";
21731     version = "3.28";
21732     src = fetchurl {
21733       url = "mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.28.tar.gz";
21734       hash = "sha256-zEHmBbjhPECo7mUE/0Y0e1un+9kiA7O7BVQiBRvvxk0=";
21735     };
21736     meta = {
21737       description = "Look up Perl documentation in Pod format";
21738       license = with lib.licenses; [ artistic1 gpl1Plus ];
21739       mainProgram = "perldoc";
21740     };
21741   };
21743   PodPlainer = buildPerlPackage {
21744     pname = "Pod-Plainer";
21745     version = "1.04";
21746     src = fetchurl {
21747       url = "mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz";
21748       hash = "sha256-G7+/fR1IceWoO6shN+ItCJB4IGgVGQ6x1cEmCjSZRW8=";
21749     };
21750     propagatedBuildInputs = [ PodParser ];
21751     meta = {
21752       description = "Perl extension for converting Pod to old-style Pod";
21753       license = with lib.licenses; [ artistic1 gpl1Plus ];
21754     };
21755   };
21757   PodMarkdown = buildPerlPackage {
21758     pname = "Pod-Markdown";
21759     version = "3.300";
21760     src = fetchurl {
21761       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.300.tar.gz";
21762       hash = "sha256-7HnpkIo2BXScT+tQVHY+toEt0ztUzoWlEzmqfPmZG3k=";
21763     };
21764     buildInputs = [ TestDifferences ];
21765     propagatedBuildInputs = [ URI ];
21766     meta = {
21767       description = "Convert POD to Markdown";
21768       homepage = "https://github.com/rwstauner/Pod-Markdown";
21769       license = with lib.licenses; [ artistic1 gpl1Plus ];
21770       mainProgram = "pod2markdown";
21771     };
21772   };
21774   PodMarkdownGithub = buildPerlPackage {
21775     pname = "Pod-Markdown-Github";
21776     version = "0.04";
21777     src = fetchurl {
21778       url = "mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.04.tar.gz";
21779       hash = "sha256-s34vAJxMzkkk+yPuQxRuUGcilxvqa87S2sFdCAo7xhM=";
21780     };
21781     propagatedBuildInputs = [ PodMarkdown ];
21782     buildInputs = [ TestDifferences ];
21783     meta = {
21784       description = "Convert POD to Github's specific markdown";
21785       license = with lib.licenses; [ artistic1 gpl1Plus ];
21786       mainProgram = "pod2github";
21787     };
21788   };
21790   PodSimple = buildPerlPackage {
21791     pname = "Pod-Simple";
21792     version = "3.45";
21793     src = fetchurl {
21794       url = "mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.45.tar.gz";
21795       hash = "sha256-hIO7lc0+QwfWbe8JKjd5+EOvdySCv9wCTj4A0MTbDPo=";
21796     };
21797     meta = {
21798       description = "Framework for parsing Pod";
21799       license = with lib.licenses; [ artistic1 gpl1Plus ];
21800     };
21801   };
21803   PodSpell = buildPerlPackage {
21804     pname = "Pod-Spell";
21805     version = "1.26";
21806     src = fetchurl {
21807       url = "mirror://cpan/authors/id/H/HA/HAARG/Pod-Spell-1.26.tar.gz";
21808       hash = "sha256-LwW/yc+wS5b8v6LIVE0eaukIWW02lsRuDiZVa3UK+78=";
21809     };
21810     propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny PodParser ];
21811     buildInputs = [ FileShareDirInstall TestDeep ];
21812     meta = {
21813       description = "Formatter for spellchecking Pod";
21814       homepage = "https://github.com/perl-pod/Pod-Spell";
21815       license = with lib.licenses; [ artistic2 ];
21816       mainProgram = "podspell";
21817     };
21818   };
21820   PodStrip = buildPerlModule {
21821     pname = "Pod-Strip";
21822     version = "1.100";
21823     src = fetchurl {
21824       url = "mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.100.tar.gz";
21825       hash = "sha256-Z1BqZh+pyuzv57pPQvC8FbCm8JZ8eWB3QPbLaXSu1M0=";
21826     };
21827     meta = {
21828       description = "Remove POD from Perl code";
21829       homepage = "https://github.com/domm/Pod-Strip";
21830       license = with lib.licenses; [ artistic1 gpl1Plus ];
21831     };
21832   };
21834   PodTidy = buildPerlModule {
21835     pname = "Pod-Tidy";
21836     version = "0.10";
21837     src = fetchurl {
21838       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/Pod-Tidy-0.10.tar.gz";
21839       hash = "sha256-iG7hQ+p81Tm0O+16KHmJ0Wc211y/ofheLMzq+eiVnb0=";
21840     };
21841     propagatedBuildInputs = [ EncodeNewlines IOString PodWrap TextGlob ];
21842     buildInputs = [ TestCmd ];
21843     meta = {
21844       description = "Reformatting Pod Processor";
21845       license = with lib.licenses; [ artistic1 gpl1Plus ];
21846       mainProgram = "podtidy";
21847     };
21848   };
21850   PodWeaver = buildPerlPackage {
21851     pname = "Pod-Weaver";
21852     version = "4.019";
21853     src = fetchurl {
21854       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.019.tar.gz";
21855       hash = "sha256-aUatHwTq+aoR8kzFRJTh1Xli9Y4FkS82S3T5WT595/c=";
21856     };
21857     buildInputs = [ PPI SoftwareLicense TestDifferences ];
21858     propagatedBuildInputs = [ ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli PodElemental ];
21859     meta = {
21860       description = "Weave together a Pod document from an outline";
21861       homepage = "https://github.com/rjbs/Pod-Weaver";
21862       license = with lib.licenses; [ artistic1 gpl1Plus ];
21863     };
21864   };
21866   PodWrap = buildPerlModule {
21867     pname = "Pod-Wrap";
21868     version = "0.01";
21869     src = fetchurl {
21870       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz";
21871       hash = "sha256-UMrL4v/7tccNG6XpQn1cit7mGENuxz+W7QU5Iy4si2M=";
21872     };
21873     propagatedBuildInputs = [ PodParser ];
21874     meta = {
21875       description = "Wrap pod paragraphs, leaving verbatim text and code alone";
21876       license = with lib.licenses; [ artistic1 gpl1Plus ];
21877       mainProgram = "podwrap";
21878     };
21879   };
21881   ProbePerl = buildPerlPackage {
21882     pname = "Probe-Perl";
21883     version = "0.03";
21884     src = fetchurl {
21885       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.03.tar.gz";
21886       hash = "sha256-2eTSHi53Y4VZBF+gkEaxtv/2xAO5SZKdshPjCr6KPDE=";
21887     };
21888     meta = {
21889       description = "Information about the currently running perl";
21890       license = with lib.licenses; [ artistic1 gpl1Plus ];
21891     };
21892   };
21894   POSIXAtFork = buildPerlPackage {
21895     pname = "POSIX-AtFork";
21896     version = "0.04";
21897     src = fetchurl {
21898       url = "mirror://cpan/authors//id/N/NI/NIKOLAS/POSIX-AtFork-0.04.tar.gz";
21899       hash = "sha256-wuIpOobUhxRLyPe6COfEt2sRsOTf3EGAmEXTDvoH5g4=";
21900     };
21901     buildInputs = [ TestSharedFork ];
21902     meta = {
21903       description = "Hook registrations at fork(2)";
21904       license = with lib.licenses; [ artistic1 gpl1Plus ];
21905     };
21906   };
21908   POSIXstrftimeCompiler = buildPerlModule {
21909     pname = "POSIX-strftime-Compiler";
21910     version = "0.44";
21911     src = fetchurl {
21912       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/POSIX-strftime-Compiler-0.44.tar.gz";
21913       hash = "sha256-39PJc5jc/lHII2uF49woA1Znt2Ux96oKZTXzqlQFs1o=";
21914     };
21915     # We cannot change timezones on the fly.
21916     prePatch = "rm t/04_tzset.t";
21917     buildInputs = [ ModuleBuildTiny ];
21918     meta = {
21919       description = "GNU C library compatible strftime for loggers and servers";
21920       homepage = "https://github.com/kazeburo/POSIX-strftime-Compiler";
21921       license = with lib.licenses; [ artistic1 gpl1Plus ];
21922       broken = stdenv.hostPlatform.isMusl; # Broken for Musl at 2023-01-14, reports:
21923                # Nixpkgs: https://github.com/NixOS/nixpkgs/issues/210749
21924                # Upstream: https://github.com/kazeburo/POSIX-strftime-Compiler/issues/8
21925     };
21926   };
21928   Apprainbarf = buildPerlModule {
21929     pname = "App-rainbarf";
21930     version = "1.4";
21931     src = fetchurl {
21932       url = "mirror://cpan/authors/id/S/SY/SYP/App-rainbarf-1.4.tar.gz";
21933       hash = "sha256-TxOa01+q8t4GI9wLsd2J+lpDHlSL/sh97hlM8OJcyX0=";
21934     };
21935     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
21936     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
21937       shortenPerlShebang $out/bin/rainbarf
21938     '';
21939     meta = {
21940       description = "CPU/RAM/battery stats chart bar for tmux (and GNU screen)";
21941       homepage = "https://github.com/creaktive/rainbarf";
21942       license = with lib.licenses; [ artistic1 gpl1Plus ];
21943       mainProgram = "rainbarf";
21944     };
21945   };
21947   Razor2ClientAgent = buildPerlPackage {
21948     pname = "Razor2-Client-Agent";
21949     version = "2.86";
21950     src = fetchurl {
21951       url = "mirror://cpan/authors/id/T/TO/TODDR/Razor2-Client-Agent-2.86.tar.gz";
21952       hash = "sha256-XgYuAuu2XiS3COfu+lMAxD1vZXvyDQj+xMqKCjuUhF8=";
21953     };
21954     propagatedBuildInputs = [ DigestSHA1 URI ];
21955     meta = {
21956       description = "Collaborative, content-based spam filtering network agent";
21957       homepage = "https://razor.sourceforge.net/";
21958       license = with lib.licenses; [ artistic1 gpl1Plus ];
21959     };
21960   };
21963   Readonly = buildPerlModule {
21964     pname = "Readonly";
21965     version = "2.05";
21966     src = fetchurl {
21967       url = "mirror://cpan/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz";
21968       hash = "sha256-SyNUJJGvAQ1EpcfIYSRHOKzHSrq65riDjTVN+xlGK14=";
21969     };
21970     buildInputs = [ ModuleBuildTiny ];
21971     meta = {
21972       description = "Facility for creating read-only scalars, arrays, hashes";
21973       homepage = "https://github.com/sanko/readonly";
21974       license = with lib.licenses; [ artistic2 ];
21975     };
21976   };
21978   ReadonlyX = buildPerlModule {
21979     pname = "ReadonlyX";
21980     version = "1.04";
21981     src = fetchurl {
21982       url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
21983       hash = "sha256-gbuX26k6xrXMvOBKQsNZDrBFV9dQGHc+4Y1aMPz0gYg=";
21984     };
21985     buildInputs = [ ModuleBuildTiny TestFatal ];
21986     meta = {
21987       description = "Faster facility for creating read-only scalars, arrays, hashes";
21988       homepage = "https://github.com/sanko/readonly";
21989       license = with lib.licenses; [ artistic2 ];
21990     };
21991   };
21993   ReadonlyXS = buildPerlPackage {
21994     pname = "Readonly-XS";
21995     version = "1.05";
21996     src = fetchurl {
21997       url = "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-1.05.tar.gz";
21998       hash = "sha256-iuXE6FKZ5ci93RsZby7qOPAHCeDcDLYEVNyRFK4//w0=";
21999     };
22000     propagatedBuildInputs = [ Readonly ];
22001     meta = {
22002       description = "Companion module for Readonly.pm, to speed up read-only scalar variables";
22003       license = with lib.licenses; [ artistic1 gpl1Plus ];
22004     };
22005   };
22007   Redis = buildPerlModule {
22008     pname = "Redis";
22009     version = "2.000";
22010     src = fetchurl {
22011       url = "mirror://cpan/authors/id/D/DA/DAMS/Redis-2.000.tar.gz";
22012       hash = "sha256-FMuJl5chJhW06T+Rbcva+0jQHF6qsgOP5ssXm/lcb+s=";
22013     };
22014     buildInputs = [ IOString ModuleBuildTiny TestDeep TestFatal TestSharedFork TestTCP ];
22015     propagatedBuildInputs = [ IOSocketTimeout TryTiny ];
22016     meta = {
22017       description = "Perl binding for Redis database";
22018       homepage = "https://github.com/PerlRedis/perl-redis";
22019       license = with lib.licenses; [ artistic2 ];
22020     };
22021   };
22023   RefUtil = buildPerlPackage {
22024     pname = "Ref-Util";
22025     version = "0.204";
22026     src = fetchurl {
22027       url = "mirror://cpan/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz";
22028       hash = "sha256-QV+nPbrPRPPV15wUiIzJlFYnIKtGjm9x+RzR92nxBeE=";
22029     };
22030     meta = {
22031       description = "Utility functions for checking references";
22032       license = with lib.licenses; [ mit ];
22033     };
22034   };
22036   RegexpAssemble = buildPerlPackage {
22037     pname = "Regexp-Assemble";
22038     version = "0.38";
22039     src = fetchurl {
22040       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz";
22041       hash = "sha256-oGvn+a4bc8m/1bZmKxQcDXBGnpwZu0QTpu5W+Cra5EI=";
22042     };
22043     meta = {
22044       description = "Assemble multiple Regular Expressions into a single RE";
22045       license = with lib.licenses; [ artistic1 gpl1Plus ];
22046     };
22047   };
22049   RegexpCommon = buildPerlPackage {
22050     pname = "Regexp-Common";
22051     version = "2017060201";
22052     src = fetchurl {
22053       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz";
22054       hash = "sha256-7geFOu4G8xDgQLa/GgGZoY2BiW0yGbmzXJYw0OtpCJs=";
22055     };
22056     meta = {
22057       description = "Provide commonly requested regular expressions";
22058       license = with lib.licenses; [ mit ];
22059     };
22060   };
22062   RegexpCommonnetCIDR = buildPerlPackage {
22063     pname = "Regexp-Common-net-CIDR";
22064     version = "0.03";
22065     src = fetchurl {
22066       url = "mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz";
22067       hash = "sha256-OWBqV6qyDU9EaDAPLsP6KrVX/MnLeIDsfG4H2AFi2jM=";
22068     };
22069     propagatedBuildInputs = [ RegexpCommon ];
22070     meta = {
22071       description = "Provide patterns for CIDR blocks";
22072       license = with lib.licenses; [ artistic1 gpl1Plus ];
22073     };
22074   };
22076   RegexpCommontime = buildPerlPackage {
22077     pname = "Regexp-Common-time";
22078     version = "0.16";
22079     src = fetchurl {
22080       url = "mirror://cpan/authors/id/M/MA/MANWAR/Regexp-Common-time-0.16.tar.gz";
22081       hash = "sha256-HIEHpQq1XHK/ePsRbJGIxM3xYsGGwVhsH5qu5V/xSso=";
22082     };
22083     propagatedBuildInputs = [ RegexpCommon ];
22084     meta = {
22085       description = "Date and time regexps";
22086       homepage = "https://github.com/manwar/Regexp-Common-time";
22087       license = with lib.licenses; [ artistic2 mit bsd3 ];
22088       maintainers = [ maintainers.artturin ];
22089     };
22090   };
22092   RegexpGrammars = buildPerlModule {
22093     pname = "Regexp-Grammars";
22094     version = "1.058";
22095     src = fetchurl {
22096       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-1.058.tar.gz";
22097       hash = "sha256-6ojVjiUWdPrjm0n007U0LqzLj8tVhWzTBKoaX/PUHJI=";
22098     };
22099     meta = {
22100       description = "Add grammatical parsing features to Perl 5.10 regexes";
22101       license = with lib.licenses; [ artistic1 gpl1Plus ];
22102     };
22103   };
22105   RegexpIPv6 = buildPerlPackage {
22106     pname = "Regexp-IPv6";
22107     version = "0.03";
22108     src = fetchurl {
22109       url = "mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz";
22110       hash = "sha256-1ULRfXXOk2Md6LohVtoOC1inVcQJzUoNJ6OHOiZxLOI=";
22111     };
22112     meta = {
22113       description = "Regular expression for IPv6 addresses";
22114       license = with lib.licenses; [ artistic1 gpl1Plus ];
22115     };
22116   };
22118   RegexpParser = buildPerlPackage {
22119     pname = "Regexp-Parser";
22120     version = "0.23";
22121     src = fetchurl {
22122       url = "mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.23.tar.gz";
22123       hash = "sha256-9znauN8rBqrlxI+ZcSUbc3BEZKMtB9jQJfPA+GlUTok=";
22124     };
22125     meta = {
22126       description = "Base class for parsing regexes";
22127       homepage = "https://wiki.github.com/toddr/Regexp-Parser";
22128       license = with lib.licenses; [ artistic1 gpl1Plus ];
22129     };
22130   };
22132   RegexpTrie = buildPerlPackage {
22133     pname = "Regexp-Trie";
22134     version = "0.02";
22135     src = fetchurl {
22136       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Regexp-Trie-0.02.tar.gz";
22137       hash = "sha256-+yv5TtjbwfSpXZ/I9xDLZ7P3lsbvycS7TCz6Prqhxfo=";
22138     };
22139     meta = {
22140       description = "Builds trie-ized regexp";
22141       license = with lib.licenses; [ artistic1 gpl1Plus ];
22142     };
22143   };
22145   RESTClient = buildPerlPackage {
22146     pname = "REST-Client";
22147     version = "281";
22148     src = fetchurl {
22149       url = "mirror://cpan/authors/id/A/AK/AKHUETTEL/REST-Client-281.tar.gz";
22150       hash = "sha256-+hDSGgA35oJgHv5mc4p1j/dSEJSqASKek8iIpnmyyPY=";
22151     };
22152     propagatedBuildInputs = [ LWPProtocolHttps ];
22153     meta = {
22154       description = "Simple client for interacting with RESTful http/https resources";
22155       homepage = "https://github.com/milescrawford/cpan-rest-client";
22156       license = with lib.licenses; [ artistic1 gpl1Plus ];
22157     };
22158   };
22160   RESTUtils = buildPerlModule {
22161     pname = "REST-Utils";
22162     version = "0.6";
22163     src = fetchurl {
22164       url = "mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz";
22165       hash = "sha256-1OlK3YetMf71h8RxFceIx88+EiyS85YyWuLmEsZwuf0=";
22166     };
22167     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
22168     meta = {
22169       description = "Utility functions for REST applications";
22170       homepage = "https://jaldhar.github.com/REST-Utils";
22171       license = with lib.licenses; [ artistic1 gpl1Plus ];
22172     };
22173   };
22175   RpcXML = buildPerlPackage {
22176     pname = "RPC-XML";
22177     version = "0.82";
22178     src = fetchurl {
22179       url = "mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.82.tar.gz";
22180       hash = "sha256-UnnrDRNsUz/4l/aTTDqtbyBQS5l/smBuUsXbvZJ1jnM=";
22181     };
22182     propagatedBuildInputs = [ XMLParser ];
22183     doCheck = false;
22184     meta = {
22185       description = "Data, client and server classes for XML-RPC";
22186       homepage = "https://github.com/rjray/rpc-xml";
22187       license = with lib.licenses; [ artistic1 gpl1Plus ];
22188       mainProgram = "make_method";
22189     };
22190   };
22192   ReturnMultiLevel = buildPerlPackage {
22193     pname = "Return-MultiLevel";
22194     version = "0.08";
22195     src = fetchurl {
22196       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Return-MultiLevel-0.08.tar.gz";
22197       hash = "sha256-UbGu8wxcQAn2QCZ6CFiSEuh9zRAYAPDSD5xjXJ/+iKE=";
22198     };
22199     buildInputs = [ TestFatal ];
22200     meta = {
22201       homepage = "https://metacpan.org/pod/Return::MultiLevel";
22202       description = "Return across multiple call levels";
22203       license = with lib.licenses; [ artistic1 gpl1Plus ];
22204     };
22205   };
22207   ReturnValue = buildPerlPackage {
22208     pname = "Return-Value";
22209     version = "1.666005";
22210     src = fetchurl {
22211       url = "mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz";
22212       hash = "sha256-jiJgqWUx6TaGIAuciFDr4AXYjONp/2vHD/GnQFt1UKw=";
22213     };
22214     meta = {
22215       description = "Create context-sensitive return values";
22216       license = with lib.licenses; [ artistic1 gpl1Plus ];
22217     };
22218   };
22220   RoleBasic = buildPerlModule {
22221     pname = "Role-Basic";
22222     version = "0.13";
22223     src = fetchurl {
22224       url = "mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz";
22225       hash = "sha256-OKCVnvnxk/925ywyWp6SEbxIaGib0OKwBXePU/i282o=";
22226     };
22227     meta = {
22228       description = "Just roles. Nothing else";
22229       license = with lib.licenses; [ artistic1 gpl1Plus ];
22230     };
22231   };
22233   RoleHasMessage = buildPerlPackage {
22234     pname = "Role-HasMessage";
22235     version = "0.007";
22236     src = fetchurl {
22237       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.007.tar.gz";
22238       hash = "sha256-XiZ6TXYgs2hIEgTIjqIES4sqWP+LBVd/JxeydUwEFM4=";
22239     };
22240     propagatedBuildInputs = [ MooseXRoleParameterized StringErrf ];
22241     meta = {
22242       description = "Thing with a message method";
22243       homepage = "https://github.com/rjbs/Role-HasMessage";
22244       license = with lib.licenses; [ artistic1 gpl1Plus ];
22245     };
22246   };
22248   RoleHooks = buildPerlPackage {
22249     pname = "Role-Hooks";
22250     version = "0.008";
22251     src = fetchurl {
22252       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Role-Hooks-0.008.tar.gz";
22253       hash = "sha256-KNZuoKjcMGt22oP/CHlJPYCPcxhbz5xO03LzlG+1Q+w=";
22254     };
22255     buildInputs = [ TestRequires ];
22256     propagatedBuildInputs = [ ClassMethodModifiers ];
22257     meta = {
22258       homepage = "https://metacpan.org/release/Role-Hooks";
22259       description = "Role callbacks";
22260       license = with lib.licenses; [ artistic1 gpl1Plus ];
22261     };
22262   };
22264   RoleIdentifiable = buildPerlPackage {
22265     pname = "Role-Identifiable";
22266     version = "0.009";
22267     src = fetchurl {
22268       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.009.tar.gz";
22269       hash = "sha256-WnNen3F3+euuBH63uuKbfsKewCCuN2N66lNQ0wwIe3Y=";
22270     };
22271     propagatedBuildInputs = [ Moose ];
22272     meta = {
22273       description = "Thing you can identify somehow";
22274       homepage = "https://github.com/rjbs/Role-Identifiable";
22275       license = with lib.licenses; [ artistic1 gpl1Plus ];
22276     };
22277   };
22279   RoleTiny = buildPerlPackage {
22280     pname = "Role-Tiny";
22281     version = "2.002004";
22282     src = fetchurl {
22283       url = "mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.002004.tar.gz";
22284       hash = "sha256-173unhOKT4OqUtCpgWJWRL2of/FmQt+oRdy0TZokK0U=";
22285     };
22286     meta = {
22287       description = "Roles: a nouvelle cuisine portion size slice of Moose";
22288       license = with lib.licenses; [ artistic1 gpl1Plus ];
22289     };
22290   };
22292   RPCEPCService = buildPerlModule {
22293     pname = "RPC-EPC-Service";
22294     version = "0.0.11";
22295     src = fetchurl {
22296       url = "mirror://cpan/authors/id/K/KI/KIWANAMI/RPC-EPC-Service-v0.0.11.tar.gz";
22297       hash = "sha256-l19BNDZSWPtH+pIZGQU1E625EB8r1CD87+NF8gkSi+M=";
22298     };
22299     propagatedBuildInputs = [ AnyEvent DataSExpression ];
22300     meta = {
22301       description = "Asynchronous Remote Procedure Stack";
22302       license = with lib.licenses; [ artistic1 gpl1Plus ];
22303     };
22304   };
22306     RPM2 = buildPerlModule {
22307     pname = "RPM2";
22308     version = "1.4";
22309     src = fetchurl {
22310       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/RPM2-1.4.tar.gz";
22311       hash = "sha256-XstCqmkyTm9AiKv64HMTkG5aq/L0bxIE8/HeWRVbtjY=";
22312     };
22313     nativeBuildInputs = [ pkgs.pkg-config ];
22314     buildInputs = [ pkgs.rpm ];
22315     doCheck = false; # Tries to open /var/lib/rpm
22316     meta = {
22317       description = "Perl bindings for the RPM Package Manager API";
22318       license = with lib.licenses; [ artistic1 gpl1Plus ];
22319       platforms = lib.platforms.linux;
22320     };
22321   };
22323   RSSParserLite = buildPerlPackage {
22324     pname = "RSS-Parser-Lite";
22325     version = "0.12";
22326     src = fetchurl {
22327       url = "mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz";
22328       hash = "sha256-idw0vKixqp/uC8QK7d5eLBYCL8eYssOryH3gczG5lbk=";
22329     };
22330     propagatedBuildInputs = [ locallib ];
22331     doCheck = false; /* creates files in HOME */
22332     meta = {
22333       description = "Simple pure perl RSS parser";
22334       license = with lib.licenses; [ artistic1 gpl1Plus ];
22335     };
22336   };
22338   RTClientREST = buildPerlModule {
22339     pname = "RT-Client-REST";
22340     version = "0.72";
22341     src = fetchurl {
22342       url = "mirror://cpan/authors/id/D/DJ/DJZORT/RT-Client-REST-0.72.tar.gz";
22343       hash = "sha256-KPIBWKD3sfNLdM423lvdVimeuUAUBHLISXyVNYIm/bM=";
22344     };
22345     buildInputs = [ CGI HTTPServerSimple TestException ];
22346     propagatedBuildInputs = [ DateTimeFormatDateParse Error LWP ParamsValidate ];
22347     meta = {
22348       description = "Client for RT using REST API";
22349       homepage = "https://github.com/RT-Client-REST/RT-Client-REST";
22350       license = with lib.licenses; [ artistic1 gpl1Plus ];
22351     };
22352   };
22354   SafeIsa = buildPerlPackage {
22355     pname = "Safe-Isa";
22356     version = "1.000010";
22357     src = fetchurl {
22358       url = "mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000010.tar.gz";
22359       hash = "sha256-h/QUiqD/HV5lJyMyLqt9r6OAHJZ9b5GskUejxGe4pmo=";
22360     };
22361     meta = {
22362       description = "Call isa, can, does and DOES safely on things that may not be objects";
22363       license = with lib.licenses; [ artistic1 gpl1Plus ];
22364     };
22365   };
22367   ScalarListUtils = buildPerlPackage {
22368     pname = "Scalar-List-Utils";
22369     version = "1.63";
22370     src = fetchurl {
22371       url = "mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.63.tar.gz";
22372       hash = "sha256-yvvfIS9oJ9yaDdO1e27lDoYFhtcZgiijMmLVXFWesqk=";
22373     };
22374     meta = {
22375       description = "Common Scalar and List utility subroutines";
22376       license = with lib.licenses; [ artistic1 gpl1Plus ];
22377     };
22378   };
22380   ScalarString = buildPerlModule {
22381     pname = "Scalar-String";
22382     version = "0.003";
22383     src = fetchurl {
22384       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz";
22385       hash = "sha256-9UoXybeHE7AsxDrfrfYLSUZ+djTTExfouenpfCbWi1I=";
22386     };
22387     meta = {
22388       description = "String aspects of scalars";
22389       license = with lib.licenses; [ artistic1 gpl1Plus ];
22390     };
22391   };
22393   ScalarType = buildPerlPackage {
22394     pname = "Scalar-Type";
22395     version = "0.3.2";
22396     src = fetchurl {
22397       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Scalar-Type-0.3.2.tar.gz";
22398       hash = "sha256-WQyv6gz1RZmSoEiFYsDb1vnfdYtfAH8OQ6uhMLRe7oY=";
22399     };
22400     propagatedBuildInputs = [ CaptureTiny TestException ];
22401     meta = {
22402       description = "Figure out what type a scalar is";
22403       license = with lib.licenses; [ artistic1 gpl2Only ];
22404     };
22405   };
22407   SCGI = buildPerlModule {
22408     pname = "SCGI";
22409     version = "0.6";
22410     src = fetchurl {
22411       url = "mirror://cpan/authors/id/V/VI/VIPERCODE/SCGI-0.6.tar.gz";
22412       hash = "sha256-WLeMWvTuReQ38Hro87DZRckf0sAlFW7pFtgRWA+R2aQ=";
22413     };
22414     preConfigure = "export HOME=$(mktemp -d)";
22415     meta = {
22416       description = "This module is for implementing an SCGI interface for an application server";
22417       license = with lib.licenses; [ artistic1 gpl1Plus ];
22418     };
22419   };
22421   ScopeGuard = buildPerlPackage {
22422     pname = "Scope-Guard";
22423     version = "0.21";
22424     src = fetchurl {
22425       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz";
22426       hash = "sha256-jJsb6lxWRI4sP63GXQW+nkaQo4I6gPOdLxD92Pd30ng=";
22427     };
22428     meta = {
22429       description = "Lexically-scoped resource management";
22430       license = with lib.licenses; [ artistic1 gpl1Plus ];
22431     };
22432   };
22434   ScopeUpper = buildPerlPackage {
22435     pname = "Scope-Upper";
22436     version = "0.34";
22437     src = fetchurl {
22438       url = "mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.34.tar.gz";
22439       hash = "sha256-WB2LxRDevQxFal/HlSy3E4rmZ78486d+ltdz3DGWpB4=";
22440     };
22441     meta = {
22442       description = "Act on upper scopes";
22443       homepage = "https://search.cpan.org/dist/Scope-Upper";
22444       license = with lib.licenses; [ artistic1 gpl1Plus ];
22445     };
22446   };
22448   SDL = buildPerlModule {
22449     pname = "SDL";
22450     version = "2.548";
22451     src = fetchurl {
22452       url = "mirror://cpan/authors/id/F/FR/FROGGS/SDL-2.548.tar.gz";
22453       hash = "sha256-JSoZK/qcIHCkiDcH0TnDpF2cRRjM1moeaZtbeVm9T7U=";
22454     };
22455     patches = [
22456       # https://github.com/PerlGameDev/SDL/pull/304
22457       ../development/perl-modules/sdl-modern-perl.patch
22458     ];
22459     perlPreHook = "export LD=$CC";
22460     preCheck = "rm t/core_audiospec.t";
22461     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 ];
22462     propagatedBuildInputs = [ FileShareDir TieSimple ];
22463     meta = {
22464       description = "SDL bindings to Perl";
22465       license = with lib.licenses; [ lgpl21Plus ];
22466     };
22467   };
22469   SearchXapian = buildPerlPackage {
22470     pname = "Search-Xapian";
22471     version = "1.2.25.5";
22472     src = fetchurl {
22473       url = "mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-1.2.25.5.tar.gz";
22474       hash = "sha256-IE+9xxLWcR/6tmjB9M/AB7Y5qftkrX4ZyyD8EKkQuos=";
22475     };
22476     buildInputs = [ pkgs.xapian DevelLeak ];
22477     meta = {
22478       description = "Perl XS frontend to the Xapian C++ search library";
22479       homepage = "https://xapian.org";
22480       license = with lib.licenses; [ artistic1 gpl1Plus ];
22481     };
22482   };
22484   SeleniumRemoteDriver = buildPerlPackage {
22485     pname = "Selenium-Remote-Driver";
22486     version = "1.49";
22487     src = fetchurl {
22488       url = "mirror://cpan/authors/id/T/TE/TEODESIAN/Selenium-Remote-Driver-1.49.tar.gz";
22489       hash = "sha256-yg7/7s6kK72vOVqI5j5EkoWKAAZAfJTRz8QY1BOX+mI=";
22490     };
22491     buildInputs = [ TestDeep TestFatal TestLWPUserAgent TestMockModule ];
22492     propagatedBuildInputs = [ ArchiveZip Clone FileWhich HTTPMessage IOString JSON LWP Moo SubInstall TestLongString TryTiny XMLSimple namespaceclean ];
22493     meta = {
22494       homepage = "https://github.com/teodesian/Selenium-Remote-Driver";
22495       description = "Perl Client for Selenium Remote Driver";
22496       license = lib.licenses.asl20;
22497     };
22498   };
22500   SerealDecoder = buildPerlPackage {
22501     pname = "Sereal-Decoder";
22502     version = "5.004";
22503     src = fetchurl {
22504       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-5.004.tar.gz";
22505       hash = "sha256-aO8DFNh9Gm5guw9m/PQ+ssrN6xdUQy9eJeeE450+Z4Q=";
22506     };
22507     buildInputs = [ TestDeep TestDifferences TestLongString TestWarn ];
22508     preBuild = "ls";
22509     meta = {
22510       description = "Fast, compact, powerful binary deserialization";
22511       homepage = "https://github.com/Sereal/Sereal";
22512       license = with lib.licenses; [ artistic1 gpl1Plus ];
22513       maintainers = [ maintainers.thoughtpolice ];
22514     };
22515   };
22517   SerealEncoder = buildPerlPackage {
22518     pname = "Sereal-Encoder";
22519     version = "5.004";
22520     src = fetchurl {
22521       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-5.004.tar.gz";
22522       hash = "sha256-XlqGzNMtrjTtgJMuy+XGjil1K13g6bCnk6t+sspVyxs=";
22523     };
22524     buildInputs = [ SerealDecoder TestDeep TestDifferences TestLongString TestWarn ];
22525     meta = {
22526       description = "Fast, compact, powerful binary serialization";
22527       homepage = "https://github.com/Sereal/Sereal";
22528       license = with lib.licenses; [ artistic1 gpl1Plus ];
22529       maintainers = [ maintainers.thoughtpolice ];
22530     };
22531   };
22533   Sereal = buildPerlPackage {
22534     pname = "Sereal";
22535     version = "5.004";
22536     src = fetchurl {
22537       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-5.004.tar.gz";
22538       hash = "sha256-nCW7euS9c20ksa0dk9dzlbDGXKh0HiZr/Ay+VCJh128=";
22539     };
22540     buildInputs = [ TestDeep TestLongString TestWarn ];
22541     propagatedBuildInputs = [ SerealDecoder SerealEncoder ];
22542     meta = {
22543       description = "Fast, compact, powerful binary (de-)serialization";
22544       license = with lib.licenses; [ artistic1 gpl1Plus ];
22545       maintainers = [ maintainers.thoughtpolice ];
22546     };
22547   };
22549   DeviceSerialPort = buildPerlPackage {
22550     pname = "Device-SerialPort";
22551     version = "1.04";
22552     src = fetchurl {
22553       url = "mirror://cpan/authors/id/C/CO/COOK/Device-SerialPort-1.04.tar.gz";
22554       hash = "sha256-05JWfLObTqYGwOCsr9jtcjIDEbmVM27OX878+bFQ6dc=";
22555     };
22556     meta = {
22557       description = "Linux/POSIX emulation of Win32::SerialPort functions";
22558       license = with lib.licenses; [ artistic1 gpl1Plus ];
22559       mainProgram = "modemtest";
22560     };
22561   };
22563   ServerStarter = buildPerlModule {
22564     pname = "Server-Starter";
22565     version = "0.35";
22566     src = fetchurl {
22567       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz";
22568       hash = "sha256-Z23A1s/0ZIU4Myxjwy+4itCe2GghPqnmLj8Z+tQbnEA=";
22569     };
22570     buildInputs = [ TestRequires TestSharedFork TestTCP ];
22571     doCheck = false; # Tests are slow and unstable
22572     meta = {
22573       description = "Superdaemon for hot-deploying server programs";
22574       homepage = "https://github.com/kazuho/p5-Server-Starter";
22575       license = with lib.licenses; [ artistic1 gpl1Plus ];
22576       mainProgram = "start_server";
22577     };
22578   };
22580   SessionToken = buildPerlPackage {
22581     pname = "Session-Token";
22582     version = "1.503";
22583     src = fetchurl {
22584       url = "mirror://cpan/authors/id/F/FR/FRACTAL/Session-Token-1.503.tar.gz";
22585       hash = "sha256-MsPflu9FXHGHA2Os2VDdxPvISMWU9LxVshtEz5efeaE=";
22586     };
22587     patches = [
22588       # Add final null-byte to tokens. https://github.com/hoytech/Session-Token/pull/3
22589       (fetchpatch {
22590         url = "https://github.com/hoytech/Session-Token/commit/cd64e7b69986054bb715755290811308159b7959.patch";
22591         hash = "sha256-nMQmdvVQW8cQYO0+bLJcdVfSOLVIsongk+71fQ7fQdU=";
22592       })
22593     ];
22594     meta = {
22595       description = "Secure, efficient, simple random session token generation";
22596       homepage = "https://github.com/hoytech/Session-Token";
22597       license = with lib.licenses; [ artistic1 gpl1Plus ];
22598       maintainers = [ maintainers.sgo ];
22599     };
22600   };
22602   SetInfinite = buildPerlPackage {
22603     pname = "Set-Infinite";
22604     version = "0.65";
22605     src = fetchurl {
22606       url = "mirror://cpan/authors/id/F/FG/FGLOCK/Set-Infinite-0.65.tar.gz";
22607       hash = "sha256-B7yIBzRJLeQLSjqLWjMXYvZOabRikCn9mp01eyW4fh8=";
22608     };
22609     meta = {
22610       description = "Infinite Sets math";
22611       license = with lib.licenses; [ artistic1 gpl1Plus ];
22612     };
22613   };
22615   SetIntSpan = buildPerlPackage {
22616     pname = "Set-IntSpan";
22617     version = "1.19";
22618     src = fetchurl {
22619       url = "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
22620       hash = "sha256-EbdUmxPsXYfMaV3Ux3fNApg91f6YZgEod/tTD0iz39A=";
22621     };
22623     meta = {
22624       description = "Manages sets of integers, newsrc style";
22625       license = with lib.licenses; [ artistic1 gpl1Plus ];
22626     };
22627   };
22629   SetObject = buildPerlPackage {
22630     pname = "Set-Object";
22631     version = "1.42";
22632     src = fetchurl {
22633       url = "mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.42.tar.gz";
22634       hash = "sha256-0YxaiiM+q70CBs89pbAPzdezf+vxKpPcw9HAJub97EU=";
22635     };
22636     meta = {
22637       description = "Unordered collections (sets) of Perl Objects";
22638       license = with lib.licenses; [ artistic2 ];
22639     };
22640   };
22642   SetScalar = buildPerlPackage {
22643     pname = "Set-Scalar";
22644     version = "1.29";
22645     src = fetchurl {
22646       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz";
22647       hash = "sha256-o9wVJvPd5y08ZOoAAHuGzmCM3Nk1Z89ubkLcEP3EUR0=";
22648     };
22649     meta = {
22650       description = "Basic set operations";
22651       license = with lib.licenses; [ artistic1 gpl1Plus ];
22652     };
22653   };
22655   SmartComments = buildPerlPackage {
22656     pname = "Smart-Comments";
22657     version = "1.06";
22658     src = fetchurl {
22659       url = "mirror://cpan/authors/id/N/NE/NEILB/Smart-Comments-1.06.tar.gz";
22660       hash = "sha256-3PijEhNKfGuCkmoBFdk7aSRypmLSjNw6m98omEranuM=";
22661     };
22662     meta = {
22663       description = "Comments that do more than just sit there";
22664       homepage = "https://github.com/neilb/Smart-Comments";
22665       license = with lib.licenses; [ artistic1 gpl1Plus ];
22666       maintainers = [ maintainers.sgo ];
22667     };
22668   };
22670   SGMLSpm = buildPerlModule {
22671     pname = "SGMLSpm";
22672     version = "1.1";
22673     src = fetchurl {
22674       url = "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz";
22675       hash = "sha256-VQySRSkcjfIkL36I95IaD2NsfuySxkRBjn2Jz+pwsr0=";
22676     };
22677     meta = {
22678       description = "Library for parsing the output from SGMLS and NSGMLS parsers";
22679       license = with lib.licenses; [ gpl2Plus ];
22680       mainProgram = "sgmlspl.pl";
22681     };
22682   };
22684   SignalMask = buildPerlPackage {
22685     pname = "Signal-Mask";
22686     version = "0.008";
22687     src = fetchurl {
22688       url = "mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz";
22689       hash = "sha256-BD2ZW2sknZ68BMRn2zG7fdwuVfqgjohb2wULHyM2tz8=";
22690     };
22691     propagatedBuildInputs = [ IPCSignal ];
22692     meta = {
22693       description = "Signal masks made easy";
22694       license = with lib.licenses; [ artistic1 gpl1Plus ];
22695     };
22696   };
22698   SnowballNorwegian = buildPerlModule {
22699     pname = "Snowball-Norwegian";
22700     version = "1.2";
22701     src = fetchurl {
22702       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz";
22703       hash = "sha256-Hc+NfyazdSCgENzVGXAU4KWDhe5muDtP3gfqtQrZ5Rg=";
22704     };
22705     meta = {
22706       description = "Porters stemming algorithm for norwegian";
22707       license = with lib.licenses; [ artistic1 gpl1Plus ];
22708       mainProgram = "stemmer-no.pl";
22709     };
22710   };
22712   SnowballSwedish = buildPerlModule {
22713     pname = "Snowball-Swedish";
22714     version = "1.2";
22715     src = fetchurl {
22716       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz";
22717       hash = "sha256-76qSNVhZj06IjZelEtYPvMRIHB+cXn3tUnWWKUVg/Ck=";
22718     };
22719     meta = {
22720       description = "Porters stemming algorithm for swedish";
22721       license = with lib.licenses; [ artistic1 gpl1Plus ];
22722       mainProgram = "stemmer-se.pl";
22723     };
22724   };
22726   SOAPLite = buildPerlPackage {
22727     pname = "SOAP-Lite";
22728     version = "1.27";
22729     src = fetchurl {
22730       url = "mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz";
22731       hash = "sha256-41kQa6saRaFgRKTC+ASfrQNOXe0VF5kLybX42G3d0wE=";
22732     };
22733     propagatedBuildInputs = [ ClassInspector IOSessionData LWPProtocolHttps TaskWeaken XMLParser ];
22734     buildInputs = [ TestWarn XMLParserLite ];
22735     nativeCheckInputs = [ HTTPDaemon ];
22736     meta = {
22737       description = "Perl's Web Services Toolkit";
22738       license = with lib.licenses; [ artistic1 gpl1Plus ];
22739     };
22740   };
22742   Socket6 = buildPerlPackage {
22743     pname = "Socket6";
22744     version = "0.29";
22745     src = fetchurl {
22746       url = "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.29.tar.gz";
22747       hash = "sha256-RokV+joE3PZXT8lX7/SVkV4kVpQ0lwyR7o5OFFn8kRQ=";
22748     };
22749     setOutputFlags = false;
22750     buildInputs = [ pkgs.which ];
22751     patches = [ ../development/perl-modules/Socket6-sv_undef.patch ];
22752     meta = {
22753       description = "IPv6 related part of the C socket.h defines and structure manipulators";
22754       license = with lib.licenses; [ bsd3 ];
22755     };
22756   };
22758   SoftwareLicense = buildPerlPackage {
22759     pname = "Software-License";
22760     version = "0.104004";
22761     src = fetchurl {
22762       url = "mirror://cpan/authors/id/L/LE/LEONT/Software-License-0.104004.tar.gz";
22763       hash = "sha256-of2iTsh3UhmAlzgPuTAMFLV0gmJwzFgNr3UONYX8Jww=";
22764     };
22765     buildInputs = [ TryTiny ];
22766     propagatedBuildInputs = [ DataSection TextTemplate ];
22767     meta = {
22768       description = "Packages that provide templated software licenses";
22769       homepage = "https://github.com/Perl-Toolchain-Gang/Software-License";
22770       license = with lib.licenses; [ artistic1 gpl1Plus ];
22771     };
22772   };
22774   SoftwareLicenseCCpack = buildPerlPackage {
22775     pname = "Software-License-CCpack";
22776     version = "1.11";
22777     src = fetchurl {
22778       url = "mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz";
22779       hash = "sha256-WU9carwhbJXNRYd8Qd7FbSvDDh0DFq04VbCiqo5dU7E=";
22780     };
22781     propagatedBuildInputs = [ SoftwareLicense ];
22782     buildInputs = [ TestCheckDeps ];
22783     meta = {
22784       description = "Software::License pack for Creative Commons' licenses";
22785       homepage = "https://github.com/SineSwiper/Software-License-CCpack";
22786       license = with lib.licenses; [ lgpl3Plus ];
22787     };
22788   };
22790   SortKey = buildPerlPackage {
22791     pname = "Sort-Key";
22792     version = "1.33";
22793     src = fetchurl {
22794       url = "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz";
22795       hash = "sha256-7WpMz6sJTJzRZPVkAk6YvSHZT0MSzKxNYkbSKzQIGs8=";
22796     };
22797     meta = {
22798       description = "Fastest way to sort anything in Perl";
22799       license = with lib.licenses; [ artistic1 gpl1Plus ];
22800     };
22801   };
22803   SortVersions = buildPerlPackage {
22804     pname = "Sort-Versions";
22805     version = "1.62";
22806     src = fetchurl {
22807       url = "mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz";
22808       hash = "sha256-v18zB0BuviWBI38CWYLoyE9vZiXdd05FfAP4mU79Lqo=";
22809     };
22810     meta = {
22811       description = "Perl 5 module for sorting of revision-like numbers";
22812       license = with lib.licenses; [ artistic1 gpl1Plus ];
22813     };
22814   };
22816   Specio = buildPerlPackage {
22817     pname = "Specio";
22818     version = "0.48";
22819     src = fetchurl {
22820       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.48.tar.gz";
22821       hash = "sha256-DIV5NYDxJ07wgXMHkTHRAfd7IqzOp6+oJVIC8IEWgrI=";
22822     };
22823     propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
22824     buildInputs = [ TestFatal TestNeeds ];
22825     meta = {
22826       description = "Type constraints and coercions for Perl";
22827       homepage = "https://metacpan.org/release/Specio";
22828       license = with lib.licenses; [ artistic2 ];
22829     };
22830   };
22832   SpecioLibraryPathTiny = buildPerlPackage {
22833     pname = "Specio-Library-Path-Tiny";
22834     version = "0.05";
22835     src = fetchurl {
22836       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.05.tar.gz";
22837       hash = "sha256-YN8Lubza6yxmoHi/bfmVTqT5Qz1stoCImULlQsfCelE=";
22838     };
22839     propagatedBuildInputs = [ PathTiny Specio ];
22840     buildInputs = [ Filepushd TestFatal ];
22841     meta = {
22842       description = "Path::Tiny types and coercions for Specio";
22843       homepage = "https://metacpan.org/release/Specio-Library-Path-Tiny";
22844       license = with lib.licenses; [ asl20 ];
22845     };
22846   };
22848   Spiffy = buildPerlPackage {
22849     pname = "Spiffy";
22850     version = "0.46";
22851     src = fetchurl {
22852       url = "mirror://cpan/authors/id/I/IN/INGY/Spiffy-0.46.tar.gz";
22853       hash = "sha256-j1hiCoQgJVxJtsQ8X/WAK9JeTwkkDFHlvysCKDPUHaM=";
22854     };
22855     meta = {
22856       description = "Spiffy Perl Interface Framework For You";
22857       license = with lib.licenses; [ artistic1 gpl1Plus ];
22858     };
22859   };
22861   SpreadsheetCSV = buildPerlPackage {
22862     pname = "Spreadsheet-CSV";
22863     version = "0.20";
22864     src = fetchurl {
22865       url = "mirror://cpan/authors/id/D/DD/DDICK/Spreadsheet-CSV-0.20.tar.gz";
22866       hash = "sha256-BwuyUqj+i5OKHOT8kFJfgz1OYZttRnOwrgojQI1RSrY=";
22867     };
22868     nativeBuildInputs = [ CGI ];
22869     propagatedBuildInputs = [ ArchiveZip SpreadsheetParseExcel TextCSV_XS XMLParser ];
22870     meta = {
22871       description = "Drop-in replacement for Text::CSV_XS with spreadsheet support";
22872       license = with lib.licenses; [ artistic1 gpl1Plus ];
22873     };
22874   };
22876   SpreadsheetParseExcel = buildPerlPackage {
22877     pname = "Spreadsheet-ParseExcel";
22878     version = "0.66";
22879     src = fetchurl {
22880       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-ParseExcel-0.66.tar.gz";
22881       hash = "sha256-v9dqz7qYhgHcBRvac7S7JfaDmgBt2WC2p0AcJJJF9ls=";
22882     };
22883     propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOStringy OLEStorage_Lite ];
22884     meta = {
22885       description = "Read information from an Excel file";
22886       homepage = "https://github.com/runrig/spreadsheet-parseexcel";
22887       license = with lib.licenses; [ artistic1 gpl1Plus ];
22888     };
22889   };
22891   SpreadsheetWriteExcel = buildPerlPackage {
22892     pname = "Spreadsheet-WriteExcel";
22893     version = "2.40";
22894     src = fetchurl {
22895       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz";
22896       hash = "sha256-41aq1oZs8TVzEmjuDpeaGXRDwVoEh46c8+gNAirWwH4=";
22897     };
22898     propagatedBuildInputs = [ OLEStorage_Lite ParseRecDescent ];
22899     meta = {
22900       description = "Write to a cross platform Excel binary file";
22901       license = with lib.licenses; [ artistic1 gpl1Plus ];
22902       mainProgram = "chartex";
22903     };
22904   };
22906   SpreadsheetXLSX = buildPerlPackage {
22907     pname = "Spreadsheet-XLSX";
22908     version = "0.17";
22909     src = fetchurl {
22910       url = "mirror://cpan/authors/id/A/AS/ASB/Spreadsheet-XLSX-0.17.tar.gz";
22911       hash = "sha256-M7d4knz/FjCQZbdOuMRpawNxZg0szf5FvkYFCSrO6XY=";
22912     };
22913     buildInputs = [ TestNoWarnings TestWarnings ];
22914     propagatedBuildInputs = [ ArchiveZip SpreadsheetParseExcel ];
22915     meta = {
22916       homepage = "https://github.com/asb-capfan/Spreadsheet-XLSX";
22917       description = "Perl extension for reading MS Excel 2007 files;";
22918       license = with lib.licenses; [ artistic1 gpl1Plus ];
22919     };
22920   };
22922   SQLAbstract = buildPerlPackage {
22923     pname = "SQL-Abstract";
22924     version = "2.000001";
22925     src = fetchurl {
22926       url = "mirror://cpan/authors/id/M/MS/MSTROUT/SQL-Abstract-2.000001.tar.gz";
22927       hash = "sha256-NaZCZiw0lCDUS+bg732HZep0PrEq0UOZqjojK7lObpo=";
22928     };
22929     buildInputs = [ DataDumperConcise TestDeep TestException TestWarn ];
22930     propagatedBuildInputs = [ HashMerge MROCompat Moo ];
22931     meta = {
22932       description = "Generate SQL from Perl data structures";
22933       license = with lib.licenses; [ artistic1 gpl1Plus ];
22934     };
22935   };
22937   SQLAbstractClassic = buildPerlPackage {
22938     pname = "SQL-Abstract-Classic";
22939     version = "1.91";
22940     src = fetchurl {
22941       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/SQL-Abstract-Classic-1.91.tar.gz";
22942       hash = "sha256-Tj0d/QlbISMmhYa7BrhpKepXE4jU6UGszL3NoeEI7yg=";
22943     };
22944     buildInputs = [ TestDeep TestException TestWarn ];
22945     propagatedBuildInputs = [ SQLAbstract ];
22946     meta = {
22947       description = "Generate SQL from Perl data structures";
22948       license = with lib.licenses; [ artistic1 gpl1Plus ];
22949     };
22950   };
22952   SQLAbstractLimit = buildPerlPackage {
22953     pname = "SQL-Abstract-Limit";
22954     version = "0.143";
22955     src = fetchurl {
22956       url = "mirror://cpan/authors/id/A/AS/ASB/SQL-Abstract-Limit-0.143.tar.gz";
22957       hash = "sha256-0Yr9eIk72DC6JGXArmozQlRgFZADhk3tO1rc9RGJyuk=";
22958     };
22959     propagatedBuildInputs = [ DBI SQLAbstract ];
22960     buildInputs = [ TestDeep TestException ];
22961     meta = {
22962       description = "Portable LIMIT emulation";
22963       license = with lib.licenses; [ artistic1 gpl1Plus ];
22964     };
22965   };
22967   SQLAbstractPg = buildPerlPackage {
22968     pname = "SQL-Abstract-Pg";
22969     version = "1.0";
22970     src = fetchurl {
22971       url = "mirror://cpan/authors/id/S/SR/SRI/SQL-Abstract-Pg-1.0.tar.gz";
22972       hash = "sha256-Pic2DfN7jYjzxS2smwNJP5vT7v9sjYj5sIbScRVT9Uc=";
22973     };
22974     buildInputs = [ TestDeep ];
22975     propagatedBuildInputs = [ SQLAbstract ];
22976     meta = {
22977       description = "PostgreSQL features for SQL::Abstract";
22978       homepage = "https://mojolicious.org";
22979       license = with lib.licenses; [ artistic2 ];
22980     };
22981   };
22983   SQLSplitStatement = buildPerlPackage {
22984     pname = "SQL-SplitStatement";
22985     version = "1.00023";
22986     src = fetchurl {
22987       url = "mirror://cpan/authors/id/V/VE/VEESH/SQL-SplitStatement-1.00023.tar.gz";
22988       hash = "sha256-GnSEIM0q00HCUk7xGFt273Fylp8XqeS6tvQ3bw3p814=";
22989     };
22990     buildInputs = [ TestDifferences TestException ];
22991     propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon ];
22992     meta = {
22993       description = "Split any SQL code into atomic statements";
22994       license = with lib.licenses; [ artistic1 gpl1Plus ];
22995       mainProgram = "sql-split";
22996     };
22997   };
22999   SQLStatement = buildPerlPackage {
23000     pname = "SQL-Statement";
23001     version = "1.414";
23002     src = fetchurl {
23003       url = "mirror://cpan/authors/id/R/RE/REHSACK/SQL-Statement-1.414.tar.gz";
23004       hash = "sha256-3ei9z6ahNu7doGUZug8++uwIXDnbDfnEctwOxs14Gkk=";
23005     };
23006     buildInputs = [ MathBaseConvert TestDeep TextSoundex ];
23007     propagatedBuildInputs = [ Clone ModuleRuntime ParamsUtil ];
23008     meta = {
23009       description = "SQL parsing and processing engine";
23010       license = with lib.licenses; [ artistic1 gpl1Plus ];
23011     };
23012   };
23014   SQLTokenizer = buildPerlPackage {
23015     pname = "SQL-Tokenizer";
23016     version = "0.24";
23017     src = fetchurl {
23018       url = "mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz";
23019       hash = "sha256-+qhpvEJlc2QVNqCfU1AuVA1ePjrWp6oaxiXT9pdrQuE=";
23020     };
23021     meta = {
23022       description = "Simple SQL tokenizer";
23023       license = with lib.licenses; [ artistic1 gpl1Plus ];
23024     };
23025   };
23027   SQLTranslator = buildPerlPackage {
23028     pname = "SQL-Translator";
23029     version = "1.63";
23030     src = fetchurl {
23031       url = "mirror://cpan/authors/id/V/VE/VEESH/SQL-Translator-1.63.tar.gz";
23032       hash = "sha256-WIWwTJNJi+MqGX3JcjlHUdXeYJNBiTqWZW3oikJgMTM=";
23033     };
23034     buildInputs = [ FileShareDirInstall JSONMaybeXS TestDifferences TestException XMLWriter YAML ];
23035     propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny GraphViz GD ];
23037     postPatch = ''
23038       patchShebangs script
23039     '';
23041     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
23042     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
23043       for file in $out/bin/*; do
23044         shortenPerlShebang $file
23045       done
23046     '';
23048     meta = {
23049       description = "SQL DDL transformations and more";
23050       license = with lib.licenses; [ artistic1 gpl1Plus ];
23051       mainProgram = "sqlt";
23052     };
23053   };
23055   PackageVariant = buildPerlPackage {
23056     pname = "Package-Variant";
23057     version = "1.003002";
23058     src = fetchurl {
23059       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz";
23060       hash = "sha256-su2EnS9M3WZGdRLao/FDJm1t+BDF+ukXWyUsV7wVNtw=";
23061     };
23062     buildInputs = [ TestFatal ];
23063     propagatedBuildInputs = [ ImportInto strictures ];
23064     meta = {
23065       description = "Parameterizable packages";
23066       license = with lib.licenses; [ artistic1 gpl1Plus ];
23067     };
23068   };
23070   SortNaturally = buildPerlPackage {
23071     pname = "Sort-Naturally";
23072     version = "1.03";
23073     src = fetchurl {
23074       url = "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-1.03.tar.gz";
23075       hash = "sha256-6qscXIdXWngmCJMEqx+P+n8Y5s2LOTdiPpmOhl7B50Y=";
23076     };
23077     meta = {
23078       description = "Sort lexically, but sort numeral parts numerically";
23079       license = with lib.licenses; [ artistic1 gpl1Plus ];
23080     };
23081   };
23083   Starlet = buildPerlPackage {
23084     pname = "Starlet";
23085     version = "0.31";
23086     src = fetchurl {
23087       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz";
23088       hash = "sha256-uWA7jmKIDLRYL2p5Oer+xl5u/T2QDyx900Ll9MaNYtg=";
23089     };
23090     buildInputs = [ LWP TestSharedFork TestTCP ];
23091     propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ];
23092     doCheck = !stdenv.hostPlatform.isDarwin;
23093     meta = {
23094       description = "Simple, high-performance PSGI/Plack HTTP server";
23095       license = with lib.licenses; [ artistic1 gpl1Plus ];
23096     };
23097   };
23099   Starman = buildPerlModule {
23100     pname = "Starman";
23101     version = "0.4017";
23102     src = fetchurl {
23103       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4017.tar.gz";
23104       hash = "sha256-b/q5FfMj9gCJ4+v4Urm5cH1pFyZt+K/XNw+sBL/f7k4=";
23105     };
23106     buildInputs = [ LWP ModuleBuildTiny TestRequires TestTCP ];
23107     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
23108     propagatedBuildInputs = [ DataDump HTTPParserXS NetServer Plack NetServerSSPrefork IOSocketINET6 ];
23109     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
23110       shortenPerlShebang $out/bin/starman
23111     '';
23113     doCheck = false; # binds to various TCP ports
23114     meta = {
23115       description = "High-performance preforking PSGI/Plack web server";
23116       homepage = "https://github.com/miyagawa/Starman";
23117       license = with lib.licenses; [ artistic1 gpl1Plus ];
23118       mainProgram = "starman";
23119     };
23120   };
23122   StatisticsBasic = buildPerlPackage {
23123     pname = "Statistics-Basic";
23124     version = "1.6611";
23125     src = fetchurl {
23126       url = "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz";
23127       hash = "sha256-aFXOVhX9Phr0z8RRqb9E/ymjFAtOcTADTx8K8lEalPs=";
23128     };
23129     propagatedBuildInputs = [ NumberFormat ];
23130     meta = {
23131       description = "Collection of very basic statistics modules";
23132       license = with lib.licenses; [ lgpl2Only ];
23133     };
23134   };
23136   StatisticsCaseResampling = buildPerlPackage {
23137     pname = "Statistics-CaseResampling";
23138     version = "0.15";
23139     src = fetchurl {
23140       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Statistics-CaseResampling-0.15.tar.gz";
23141       hash = "sha256-hRxDvW8Q0yKJUipQxqIJw7JGz9PrVmdz5oYe2gSkkIc=";
23142     };
23143     meta = {
23144       description = "Efficient resampling and calculation of medians with confidence intervals";
23145       license = with lib.licenses; [ artistic1 gpl1Plus ];
23146     };
23147   };
23149   StatisticsChiSquare = buildPerlPackage {
23150     pname = "Statistics-ChiSquare";
23151     version = "1.0000";
23152     src = fetchurl {
23153       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Statistics-ChiSquare-1.0000.tar.gz";
23154       hash = "sha256-JVpaODNtBI3bkHciJpHgAJhOkHquCaTqaVqc/Umh3dA=";
23155     };
23156     meta = {
23157       description = "Implements the Chi Squared test, using pre-computed tables";
23158       license = with lib.licenses; [ artistic1 gpl1Plus ];
23159     };
23160   };
23162   StatisticsDescriptive = buildPerlModule {
23163     pname = "Statistics-Descriptive";
23164     version = "3.0801";
23165     src = fetchurl {
23166       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0801.tar.gz";
23167       hash = "sha256-BHtwpj/cqpFhaOD/LVjhVeDrvGjtTMvXOnIT3KMCj2U=";
23168     };
23169     propagatedBuildInputs = [ ListMoreUtils ];
23170     meta = {
23171       description = "Module of basic descriptive statistical functions";
23172       homepage = "https://metacpan.org/release/Statistics-Descriptive";
23173       license = with lib.licenses; [ artistic1 gpl1Plus ];
23174     };
23175   };
23177   StatisticsDistributions = buildPerlPackage {
23178     pname = "Statistics-Distributions";
23179     version = "1.02";
23180     src = fetchurl {
23181       url = "mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz";
23182       hash = "sha256-+Z85ar+EyjeqLOoxrUXXOq7kh1LJmRNsS5E4lCjXM8g=";
23183     };
23184     meta = {
23185       description = "Perl module for calculating critical values and upper probabilities of common statistical distributions";
23186       license = with lib.licenses; [ artistic1 gpl1Plus ];
23187     };
23188   };
23190   StatisticsTTest = buildPerlPackage {
23191     pname = "Statistics-TTest";
23192     version = "1.1.0";
23193     src = fetchurl {
23194       url = "mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz";
23195       hash = "sha256-stlZ0ljHKEebfYYu4BRuWtjuqYm+JWN8vFdlUv9zcWY=";
23196     };
23197     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
23198     meta = {
23199       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";
23200       license = with lib.licenses; [ artistic1 gpl1Plus ];
23201     };
23202   };
23204   StreamBuffered = buildPerlPackage {
23205     pname = "Stream-Buffered";
23206     version = "0.03";
23207     src = fetchurl {
23208       url = "mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz";
23209       hash = "sha256-my1DkLXeawz0VY5K0EMXpzxeE90ZrykUnE5Hw3+yQjs=";
23210     };
23211     meta = {
23212       description = "Temporary buffer to save bytes";
23213       homepage = "https://github.com/plack/Stream-Buffered";
23214       license = with lib.licenses; [ artistic1 gpl1Plus ];
23215     };
23216   };
23218   strictures = buildPerlPackage {
23219     pname = "strictures";
23220     version = "2.000006";
23221     src = fetchurl {
23222       url = "mirror://cpan/authors/id/H/HA/HAARG/strictures-2.000006.tar.gz";
23223       hash = "sha256-CdV5dKbRsjgMgChw/tRxEI9RFw2oFFjidRhZ8nFPjVc=";
23224     };
23225     meta = {
23226       description = "Turn on strict and make most warnings fatal";
23227       homepage = "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git";
23228       license = with lib.licenses; [ artistic1 gpl1Plus ];
23229     };
23230   };
23232   StringApprox = buildPerlPackage {
23233     pname = "String-Approx";
23234     version = "3.28";
23235     src = fetchurl {
23236       url = "mirror://cpan/authors/id/J/JH/JHI/String-Approx-3.28.tar.gz";
23237       hash = "sha256-QyAedi2GmcsKwsB2SlRUvcIwbAdxAU1sj7qCFIBjE0I=";
23238     };
23239     meta = {
23240       description = "Perl extension for approximate matching (fuzzy matching)";
23241       license = with lib.licenses; [ artistic2 gpl2Only ];
23242     };
23243   };
23245   StringBinaryInterpolation = buildPerlPackage {
23246     pname = "String-Binary-Interpolation";
23247     version = "1.0.0";
23248     src = fetchurl {
23249       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/String-Binary-Interpolation-1.0.0.tar.gz";
23250       hash = "sha256-2lXYmCTBrdniqpWP8OpILyaCLkJI7TOo1rT7vXdYivE=";
23251     };
23252     meta = {
23253       description = "Make it easier to interpolate binary bytes into a string";
23254       license = with lib.licenses; [ artistic2 gpl2Only ];
23255     };
23256   };
23258   StringCamelCase = buildPerlPackage {
23259     pname = "String-CamelCase";
23260     version = "0.04";
23261     src = fetchurl {
23262       url = "mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz";
23263       hash = "sha256-icPevO7Orodk9F10Aj+Pvu4tiDma9nVB29qgsr8nEak=";
23264     };
23265     meta = {
23266       description = "Camelcase, de-camelcase";
23267       license = with lib.licenses; [ artistic1 gpl1Plus ];
23268     };
23269   };
23271   StringCompareConstantTime = buildPerlPackage {
23272     pname = "String-Compare-ConstantTime";
23273     version = "0.321";
23274     src = fetchurl {
23275       url = "mirror://cpan/authors/id/F/FR/FRACTAL/String-Compare-ConstantTime-0.321.tar.gz";
23276       hash = "sha256-Cya6KxIdgARCXUSF0dRvWQAcg3Y6omYk3/YiDXc11/c=";
23277     };
23278     meta = {
23279       description = "Timing side-channel protected string compare";
23280       license = with lib.licenses; [ artistic1 gpl1Plus ];
23281     };
23282   };
23284   StringCRC32 = buildPerlPackage {
23285     pname = "String-CRC32";
23286     version = "2.100";
23287     src = fetchurl {
23288       url = "mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-2.100.tar.gz";
23289       hash = "sha256-lwYJOy0Gi2cV01tMWPUVWON5YAgyAhKfuwClfhmnRxM=";
23290     };
23291     meta = {
23292       description = "Perl interface for cyclic redundancy check generation";
23293       license = with lib.licenses; [ publicDomain ];
23294     };
23295   };
23297   StringDiff = buildPerlModule {
23298     pname = "String-Diff";
23299     version = "0.07";
23300     src = fetchurl {
23301       url = "mirror://cpan/authors/id/Y/YA/YAPPO/String-Diff-0.07.tar.gz";
23302       hash = "sha256-chW2fLwyJuLQ4Ys47FjJO+C/YJAnhpi++VU0iCbNCvM=";
23303     };
23304     patches = [
23305       (fetchpatch {
23306         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";
23307         hash = "sha256-RcYsn0jVa9sSF8iYPuaFTWx00LrF3m7hH9e6fC7j72U=";
23308       })
23309     ];
23310     buildInputs = [ TestBase ModuleBuildTiny ModuleInstallGithubMeta ModuleInstallRepository ModuleInstallReadmeFromPod ModuleInstallReadmeMarkdownFromPod YAML ];
23311     propagatedBuildInputs = [ AlgorithmDiff ];
23312     meta = {
23313       description = "Simple diff to String";
23314       homepage = "https://github.com/yappo/p5-String-Diff";
23315       license = with lib.licenses; [ artistic1 gpl1Plus ];
23316       maintainers = [ maintainers.sgo ];
23317     };
23318   };
23320   StringErrf = buildPerlPackage {
23321     pname = "String-Errf";
23322     version = "0.009";
23323     src = fetchurl {
23324       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.009.tar.gz";
23325       hash = "sha256-4f7b+bT9ZLZOqBA43bdqTGzYX12xW8IfEGVqKYNJ3B8=";
23326     };
23327     buildInputs = [ JSONMaybeXS TimeDate ];
23328     propagatedBuildInputs = [ StringFormatter ];
23329     meta = {
23330       description = "Simple sprintf-like dialect";
23331       homepage = "https://github.com/rjbs/String-Errf";
23332       license = with lib.licenses; [ artistic1 gpl1Plus ];
23333     };
23334   };
23336   StringEscape = buildPerlPackage {
23337     pname = "String-Escape";
23338     version = "2010.002";
23339     src = fetchurl {
23340       url = "mirror://cpan/authors/id/E/EV/EVO/String-Escape-2010.002.tar.gz";
23341       hash = "sha256-/WRfizNiJNIKha5/saOEV26sMp963DkjwyQego47moo=";
23342     };
23343     meta = {
23344       description = "Backslash escapes, quoted phrase, word elision, etc";
23345       license = with lib.licenses; [ artistic1 gpl1Plus ];
23346     };
23347   };
23349   StringFlogger = buildPerlPackage {
23350     pname = "String-Flogger";
23351     version = "1.101246";
23352     src = fetchurl {
23353       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101246.tar.gz";
23354       hash = "sha256-FfhJHgeBi7PPqfa9Oqv2QwuptOMJ8YEUNYvj2Bv/Og8=";
23355     };
23356     propagatedBuildInputs = [ JSONMaybeXS SubExporter ];
23357     meta = {
23358       description = "String munging for loggers";
23359       homepage = "https://github.com/rjbs/String-Flogger";
23360       license = with lib.licenses; [ artistic1 gpl1Plus ];
23361     };
23362   };
23364   StringFormat = buildPerlPackage {
23365     pname = "String-Format";
23366     version = "1.18";
23367     src = fetchurl {
23368       url = "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz";
23369       hash = "sha256-nkF6j42epiO+6i0TpHwNWmlvyGAsBQm4Js1F+Xt253g=";
23370     };
23371     meta = {
23372       description = "sprintf-like string formatting capabilities with arbitrary format definitions";
23373       license = with lib.licenses; [ gpl2Only ];
23374     };
23375   };
23377   StringFormatter = buildPerlPackage {
23378     pname = "String-Formatter";
23379     version = "1.235";
23380     src = fetchurl {
23381       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-1.235.tar.gz";
23382       hash = "sha256-CCNqkTuRHOZSzwhZjnwH0t8/Np/Ee/QBpIWlBKFmB4M=";
23383     };
23384     propagatedBuildInputs = [ SubExporter ];
23385     meta = {
23386       description = "Build sprintf-like functions of your own";
23387       license = with lib.licenses; [ gpl2Only ];
23388     };
23389   };
23391   StringInterpolate = buildPerlPackage {
23392     pname = "String-Interpolate";
23393     version = "0.33";
23394     src = fetchurl {
23395       url = "mirror://cpan/authors/id/N/NE/NEILB/String-Interpolate-0.33.tar.gz";
23396       hash = "sha256-qH7Qk4kH0xr32qltc6BjL1xko40d4N6HxLRCWDEpxBM=";
23397     };
23398     meta = {
23399       # https://metacpan.org/pod/String::Interpolate
23400       description = "String::Interpolate - Wrapper for builtin the Perl interpolation engine";
23401       license = with lib.licenses; [ gpl1Plus ];
23402     };
23403     propagatedBuildInputs = [ PadWalker SafeHole ];
23404   };
23406   StringInterpolateNamed = buildPerlPackage {
23407     pname = "String-Interpolate-Named";
23408     version = "1.03";
23409     src = fetchurl {
23410       url = "mirror://cpan/authors/id/J/JV/JV/String-Interpolate-Named-1.03.tar.gz";
23411       hash = "sha256-on13VgcnX2jtkqQT85SsAJLn3hzZPWJHnUf7pwF6Jtw=";
23412     };
23413     meta = {
23414       description = "Interpolated named arguments in string";
23415       license = with lib.licenses; [ artistic1 gpl1Plus ];
23416     };
23417   };
23419   StringMkPasswd = buildPerlPackage {
23420     pname = "String-MkPasswd";
23421     version = "0.05";
23422     src = fetchurl {
23423       url = "mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz";
23424       hash = "sha256-UxD4NGAEVHUHFma1Qj2y8KqC1mhcgC7Hq+bCxBBjm5Y=";
23425     };
23426     meta = {
23427       description = "Random password generator";
23428       homepage = "https://github.com/sirhc/string-mkpasswd";
23429       license = with lib.licenses; [ artistic1 gpl1Plus ];
23430       mainProgram = "mkpasswd.pl";
23431     };
23432   };
23434   StringRandom = buildPerlModule {
23435     pname = "String-Random";
23436     version = "0.32";
23437     src = fetchurl {
23438       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/String-Random-0.32.tar.gz";
23439       hash = "sha256-nZPGeaNP+ibTtPoIN8rtHNLmfXZXKBi5HpfepzRwUkY=";
23440     };
23441     meta = {
23442       description = "Perl module to generate random strings based on a pattern";
23443       license = with lib.licenses; [ artistic1 gpl1Plus ];
23444     };
23445   };
23447   StringRewritePrefix = buildPerlPackage {
23448     pname = "String-RewritePrefix";
23449     version = "0.009";
23450     src = fetchurl {
23451       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.009.tar.gz";
23452       hash = "sha256-RJGL7JalSvjKN8qJfkNnCewoSgeyhRbvPM5GZoaWRtU=";
23453     };
23454     propagatedBuildInputs = [ SubExporter ];
23455     meta = {
23456       description = "Rewrite strings based on a set of known prefixes";
23457       homepage = "https://github.com/rjbs/String-RewritePrefix";
23458       license = with lib.licenses; [ artistic1 gpl1Plus ];
23459     };
23460   };
23462   StringShellQuote = buildPerlPackage {
23463     pname = "String-ShellQuote";
23464     version = "1.04";
23465     src = fetchurl {
23466       url = "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz";
23467       hash = "sha256-5gY2UDjOINZG0lXIBe/90y+GR18Y1DynVFWwDk2G3TU=";
23468     };
23469     doCheck = !stdenv.hostPlatform.isDarwin;
23470     meta = {
23471       description = "Quote strings for passing through the shell";
23472       license = with lib.licenses; [ artistic1 gpl1Plus ];
23473       mainProgram = "shell-quote";
23474     };
23475   };
23477   StringSimilarity = buildPerlPackage {
23478     pname = "String-Similarity";
23479     version = "1.04";
23480     src = fetchurl {
23481       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/String-Similarity-1.04.tar.gz";
23482       hash = "sha256-H47aIpC7y3Ia7wzhsL/hOwEgHdPaphijN/LwLikcMkU=";
23483     };
23484     doCheck = true;
23485     meta = {
23486       description = "Calculate the similarity of two strings";
23487       license = with lib.licenses; [ gpl2Only ];
23488     };
23489   };
23491   ShellCommand = buildPerlPackage {
23492     pname = "Shell-Command";
23493     version = "0.06";
23494     src = fetchurl {
23495       url = "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz";
23496       hash = "sha256-8+Te71d5RL5G+nr1rBGKwoKJEXiLAbx2p0SVNVYW7NE=";
23497     };
23498     meta = {
23499       description = "Cross-platform functions emulating common shell commands";
23500       license = with lib.licenses; [ artistic1 gpl1Plus ];
23501     };
23502   };
23504   ShellConfigGenerate = buildPerlPackage {
23505     pname = "Shell-Config-Generate";
23506     version = "0.34";
23507     src = fetchurl {
23508       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Config-Generate-0.34.tar.gz";
23509       hash = "sha256-hPRR8iIV3WjpwYqj992wOoIAfRZs+toAPQ8Wb1ceBWI=";
23510     };
23511     buildInputs = [ Test2Suite ];
23512     propagatedBuildInputs = [ ShellGuess ];
23513     meta = {
23514       description = "Portably generate config for any shell";
23515       homepage = "https://metacpan.org/pod/Shell::Config::Generate";
23516       license = with lib.licenses; [ artistic1 gpl1Plus ];
23517     };
23518   };
23520   ShellGuess = buildPerlPackage {
23521     pname = "Shell-Guess";
23522     version = "0.09";
23523     src = fetchurl {
23524       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Guess-0.09.tar.gz";
23525       hash = "sha256-QGn6JjfkQxGO2VbXECMdFmgj0jsqZOuHuKRocuhloSs=";
23526     };
23527     meta = {
23528       description = "Make an educated guess about the shell in use";
23529       homepage = "https://metacpan.org/pod/Shell::Guess";
23530       license = with lib.licenses; [ artistic1 gpl1Plus ];
23531     };
23532   };
23534   StringToIdentifierEN = buildPerlPackage {
23535     pname = "String-ToIdentifier-EN";
23536     version = "0.12";
23537     src = fetchurl {
23538       url = "mirror://cpan/authors/id/R/RK/RKITOVER/String-ToIdentifier-EN-0.12.tar.gz";
23539       hash = "sha256-OvuEIykwuaxbGto4PI3VkHrk4jrsWrsBb3D56AU83Io=";
23540     };
23541     propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
23542     meta = {
23543       description = "Convert Strings to English Program Identifiers";
23544       license = with lib.licenses; [ artistic1 gpl1Plus ];
23545     };
23546   };
23548   StringTruncate = buildPerlPackage {
23549     pname = "String-Truncate";
23550     version = "1.100603";
23551     src = fetchurl {
23552       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100603.tar.gz";
23553       hash = "sha256-q0VgLM4t2VFe37sublzeGc3VSY1hojr9jEbB8R+O7GI=";
23554     };
23555     propagatedBuildInputs = [ SubExporter ];
23556     meta = {
23557       description = "Module for when strings are too long to be displayed in...";
23558       homepage = "https://github.com/rjbs/String-Truncate";
23559       license = with lib.licenses; [ artistic1 gpl1Plus ];
23560     };
23561   };
23563   StringTT = buildPerlPackage {
23564     pname = "String-TT";
23565     version = "0.03";
23566     src = fetchurl {
23567       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz";
23568       hash = "sha256-92BfCgT5+hI9Ot9PNFeaFMkLfai5O2XS5IkyzNPJUqs=";
23569     };
23570     buildInputs = [ TestException TestSimple13 TestTableDriven ];
23571     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
23572     meta = {
23573       description = "Use TT to interpolate lexical variables";
23574       license = with lib.licenses; [ artistic1 gpl1Plus ];
23575     };
23576   };
23578   StringUtil = buildPerlModule {
23579     pname = "String-Util";
23580     version = "1.34";
23581     src = fetchurl {
23582       url = "mirror://cpan/authors/id/B/BA/BAKERSCOT/String-Util-1.34.tar.gz";
23583       hash = "sha256-MZzozWZTQeVlIfoVXZYqGTKOkNn3A2dlklzN4mclxGk=";
23584     };
23585     buildInputs = [ ModuleBuildTiny ];
23586     meta = {
23587       description = "String processing utility functions";
23588       homepage = "https://github.com/scottchiefbaker/String-Util";
23589       license = with lib.licenses; [ artistic1 gpl1Plus ];
23590     };
23591   };
23593   strip-nondeterminism = callPackage ../development/perl-modules/strip-nondeterminism { };
23595   StructDumb = buildPerlModule {
23596     pname = "Struct-Dumb";
23597     version = "0.14";
23598     src = fetchurl {
23599       url = "mirror://cpan/authors/id/P/PE/PEVANS/Struct-Dumb-0.14.tar.gz";
23600       hash = "sha256-E8FIU2sQ4oxuC04TLynkym5ptXSQWcRBV6J+hKVFlDY=";
23601     };
23602     buildInputs = [ Test2Suite ];
23603     meta = {
23604       description = "Make simple lightweight record-like structures";
23605       license = with lib.licenses; [ artistic1 gpl1Plus ];
23606     };
23607   };
23609   SubExporter = buildPerlPackage {
23610     pname = "Sub-Exporter";
23611     version = "0.990";
23612     src = fetchurl {
23613       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.990.tar.gz";
23614       hash = "sha256-vGTsWgaGX5zGdiFcBqlEizoMizl0/7I6JPjirQkFRPw=";
23615     };
23616     propagatedBuildInputs = [ DataOptList ];
23617     meta = {
23618       description = "Sophisticated exporter for custom-built routines";
23619       homepage = "https://github.com/rjbs/Sub-Exporter";
23620       license = with lib.licenses; [ artistic1 gpl1Plus ];
23621     };
23622   };
23624   SubExporterForMethods = buildPerlPackage {
23625     pname = "Sub-Exporter-ForMethods";
23626     version = "0.100055";
23627     src = fetchurl {
23628       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100055.tar.gz";
23629       hash = "sha256-eR9CA7p8D32DgLwBvsICFffIvHDX7QPlUu7kRUGr6U4=";
23630     };
23631     buildInputs = [ namespaceautoclean ];
23632     propagatedBuildInputs = [ SubExporter SubName ];
23633     meta = {
23634       description = "Helper routines for using Sub::Exporter to build methods";
23635       homepage = "https://github.com/rjbs/Sub-Exporter-ForMethods";
23636       license = with lib.licenses; [ artistic1 gpl1Plus ];
23637     };
23638   };
23640   SubExporterGlobExporter = buildPerlPackage {
23641     pname = "Sub-Exporter-GlobExporter";
23642     version = "0.006";
23643     src = fetchurl {
23644       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.006.tar.gz";
23645       hash = "sha256-3nQ/CAJnAcKmoiKotBxM3CVLGkr+fvmJh806ukzlJpY=";
23646     };
23647     propagatedBuildInputs = [ SubExporter ];
23648     meta = {
23649       description = "Export shared globs with Sub::Exporter collectors";
23650       homepage = "https://github.com/rjbs/Sub-Exporter-GlobExporter";
23651       license = with lib.licenses; [ artistic1 gpl1Plus ];
23652     };
23653   };
23655   SubExporterProgressive = buildPerlPackage {
23656     pname = "Sub-Exporter-Progressive";
23657     version = "0.001013";
23658     src = fetchurl {
23659       url = "mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz";
23660       hash = "sha256-1TW3lU1k2hrBMFsfrfmCAnaeNZk3aFSyztkMOCvqwFY=";
23661     };
23662     meta = {
23663       description = "Only use Sub::Exporter if you need it";
23664       homepage = "https://github.com/frioux/Sub-Exporter-Progressive";
23665       license = with lib.licenses; [ artistic1 gpl1Plus ];
23666     };
23667   };
23669   SubHandlesVia = buildPerlPackage {
23670     pname = "Sub-HandlesVia";
23671     version = "0.050000";
23672     src = fetchurl {
23673       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Sub-HandlesVia-0.050000.tar.gz";
23674       hash = "sha256-Lfk0k+L56VvleblQtuGf9ST5TIBhOq3AOohhHf91eU8=";
23675     };
23676     propagatedBuildInputs = [ ClassMethodModifiers RoleHooks RoleTiny TypeTiny ];
23677     buildInputs = [ TestFatal TestRequires TryTiny ];
23678     meta = {
23679       description = "Alternative handles_via implementation";
23680       homepage = "https://metacpan.org/release/Sub-HandlesVia";
23681       license = with lib.licenses; [ artistic1 gpl1Plus ];
23682     };
23683   };
23685   SubIdentify = buildPerlPackage {
23686     pname = "Sub-Identify";
23687     version = "0.14";
23688     src = fetchurl {
23689       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz";
23690       hash = "sha256-Bo0nIIZRTdHoQrakCxvtuv7mOQDlsIiQ72cAA53vrW8=";
23691     };
23692     meta = {
23693       description = "Retrieve names of code references";
23694       license = with lib.licenses; [ artistic1 gpl1Plus ];
23695     };
23696   };
23698   SubInfo = buildPerlPackage {
23699     pname = "Sub-Info";
23700     version = "0.002";
23701     src = fetchurl {
23702       url = "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz";
23703       hash = "sha256-6jBW1pa97/IamdNA1VcIh9OajMR7/yOt/ILfZ1jN0Oo=";
23704     };
23705     propagatedBuildInputs = [ Importer ];
23706     meta = {
23707       description = "Tool for inspecting subroutines";
23708       license = with lib.licenses; [ artistic1 gpl1Plus ];
23709     };
23710   };
23712   SubInstall = buildPerlPackage {
23713     pname = "Sub-Install";
23714     version = "0.929";
23715     src = fetchurl {
23716       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.929.tar.gz";
23717       hash = "sha256-gLHigdjNOysx2scR9cihZXqHzYC75przkkvL605dsHc=";
23718     };
23719     meta = {
23720       description = "Install subroutines into packages easily";
23721       homepage = "https://github.com/rjbs/Sub-Install";
23722       license = with lib.licenses; [ artistic1 gpl1Plus ];
23723     };
23724   };
23726   SubName = buildPerlPackage {
23727     pname = "Sub-Name";
23728     version = "0.27";
23729     src = fetchurl {
23730       url = "mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.27.tar.gz";
23731       hash = "sha256-7PNvuhxHypPh2qOUlo7TnEGGhnRZ2c0XPEIeK5cgQ+g=";
23732     };
23733     buildInputs = [ BC DevelCheckBin ];
23734     meta = {
23735       description = "(Re)name a sub";
23736       homepage = "https://github.com/p5sagit/Sub-Name";
23737       license = with lib.licenses; [ artistic1 gpl1Plus ];
23738     };
23739   };
23741   SubOverride = buildPerlPackage {
23742     pname = "Sub-Override";
23743     version = "0.09";
23744     src = fetchurl {
23745       url = "mirror://cpan/authors/id/O/OV/OVID/Sub-Override-0.09.tar.gz";
23746       hash = "sha256-k5pnwfcplo4MyBt0lY23UOG9t8AgvuGiYzMvQiwuJbU=";
23747     };
23748     buildInputs = [ TestFatal ];
23749     meta = {
23750       description = "Perl extension for easily overriding subroutines";
23751       license = with lib.licenses; [ artistic1 gpl1Plus ];
23752     };
23753   };
23755   SubQuote = buildPerlPackage {
23756     pname = "Sub-Quote";
23757     version = "2.006008";
23758     src = fetchurl {
23759       url = "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006008.tar.gz";
23760       hash = "sha256-lL69UAr1V2LoPqLyvFlNh6+CgHI3DHEQxgwjioANFbI=";
23761     };
23762     buildInputs = [ TestFatal ];
23763     meta = {
23764       description = "Efficient generation of subroutines via string eval";
23765       license = with lib.licenses; [ artistic1 gpl1Plus ];
23766     };
23767   };
23769   SubStrictDecl = buildPerlModule {
23770     pname = "Sub-StrictDecl";
23771     version = "0.005";
23772     src = fetchurl {
23773       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Sub-StrictDecl-0.005.tar.gz";
23774       hash = "sha256-oSfa52RcGpVwzZopcMbcST1SL/BzGKNKOeQJCY9pESU=";
23775     };
23776     propagatedBuildInputs = [ LexicalSealRequireHints ];
23777     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
23778     meta = {
23779       description = "Detect undeclared subroutines in compilation";
23780       license = with lib.licenses; [ artistic1 gpl1Plus ];
23781     };
23782   };
23784   SubUplevel = buildPerlPackage {
23785     pname = "Sub-Uplevel";
23786     version = "0.2800";
23787     src = fetchurl {
23788       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz";
23789       hash = "sha256-tPP2O4D2gKQhMy2IUd2+Wo5y/Kp01dHZjzyMxKPs4pM=";
23790     };
23791     meta = {
23792       description = "Apparently run a function in a higher stack frame";
23793       homepage = "https://github.com/Perl-Toolchain-Gang/Sub-Uplevel";
23794       license = with lib.licenses; [ artistic1 gpl1Plus ];
23795     };
23796   };
23798   SVNSimple = buildPerlPackage {
23799     pname = "SVN-Simple";
23800     version = "0.28";
23801     src = fetchurl {
23802       url = "mirror://cpan/authors/id/C/CL/CLKAO/SVN-Simple-0.28.tar.gz";
23803       hash = "sha256-1jzBaeQ2m+mKU5q+nMFhG/zCs2lmplF+Z2aI/tGIT/s=";
23804     };
23805     propagatedBuildInputs = [ (pkgs.subversionClient.override { inherit perl; }) ];
23806     meta = {
23807       description = "Simple interface to subversion's editor interface";
23808       license = with lib.licenses; [ artistic1 gpl1Plus ];
23809     };
23810   };
23812   SafeHole = buildPerlModule {
23813     pname = "Safe-Hole";
23814     version = "0.14";
23815     src = fetchurl {
23816       url = "mirror://cpan/authors/id/T/TO/TODDR/Safe-Hole-0.14.tar.gz";
23817       hash = "sha256-9PVui70GxP5K4G2xIYbeyt+6wep3XqGMbAKJSB0V7AU=";
23818     };
23819     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
23820     meta = {
23821       description = "Lib/Safe/Hole.pm";
23822       homepage = "https://github.com/toddr/Safe-Hole";
23823       license = with lib.licenses; [ artistic1 gpl1Plus ];
23824     };
23825   };
23827   Swim = buildPerlPackage {
23828     pname = "Swim";
23829     version = "0.1.48";
23830     src = fetchurl {
23831       url = "mirror://cpan/authors/id/I/IN/INGY/Swim-0.1.48.tar.gz";
23832       hash = "sha256-pfcv0vIpF/orSsuy7iw9MpA9l+5bDkSbDzhwGMd/Tww=";
23833     };
23834     propagatedBuildInputs = [ HTMLEscape HashMerge IPCRun Pegex TextAutoformat YAMLLibYAML ];
23835     meta = {
23836       description = "See What I Mean?!";
23837       homepage = "https://github.com/ingydotnet/swim-pm";
23838       license = with lib.licenses; [ artistic1 gpl1Plus ];
23839       mainProgram = "swin";
23840     };
23841   };
23843   Switch = buildPerlPackage {
23844     pname = "Switch";
23845     version = "2.17";
23846     src = fetchurl {
23847       url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz";
23848       hash = "sha256-MTVJdRQP5iNawTChCUlkka0z3UL5xiGJ4j9J91+TbXU=";
23849     };
23850     doCheck = false;                             # FIXME: 2/293 test failures
23851     meta = {
23852       description = "Switch statement for Perl, do not use if you can use given/when";
23853       license = with lib.licenses; [ artistic1 gpl1Plus ];
23854     };
23855   };
23857   SymbolGet = buildPerlPackage {
23858     pname = "Symbol-Get";
23859     version = "0.10";
23860     src = fetchurl {
23861       url = "mirror://cpan/authors/id/F/FE/FELIPE/Symbol-Get-0.10.tar.gz";
23862       hash = "sha256-DuVWjFrjVzyodOCeTQUkRmz8Gtmiwk0LyR1MewbyHZw=";
23863     };
23864     buildInputs = [ TestDeep TestException ];
23865     propagatedBuildInputs = [ CallContext ];
23866     meta = {
23867       description = "Read Perl's symbol table programmatically";
23868       license = with lib.licenses; [ artistic1 gpl1Plus ];
23869       maintainers = [ maintainers.sgo ];
23870     };
23871   };
23873   SymbolGlobalName = buildPerlPackage {
23874     pname = "Symbol-Global-Name";
23875     version = "0.05";
23876     src = fetchurl {
23877       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz";
23878       hash = "sha256-D3Yj6dckdgqmQEAiLaHYLxGIWGeRMpJhzGDa0dYNapI=";
23879     };
23880     meta = {
23881       description = "Finds name and type of a global variable";
23882       license = with lib.licenses; [ artistic1 gpl1Plus ];
23883     };
23884   };
23886   SymbolUtil = buildPerlModule {
23887     pname = "Symbol-Util";
23888     version = "0.0203";
23889     src = fetchurl {
23890       url = "mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz";
23891       hash = "sha256-VbZh3SL5zpub5afgo/UomsAM0lTCHj2GAyiaVlrm3DI=";
23892     };
23893     meta = {
23894       description = "Additional utils for Perl symbols manipulation";
23895       license = with lib.licenses; [ artistic1 gpl1Plus ];
23896     };
23897   };
23899   syntax = buildPerlPackage {
23900     pname = "syntax";
23901     version = "0.004";
23902     src = fetchurl {
23903       url = "mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz";
23904       hash = "sha256-/hm22oqPQ6WqLuVxRBvA4zn7FW0AgcFXoaJOmBLH02U=";
23905     };
23906     propagatedBuildInputs = [ DataOptList namespaceclean ];
23907     meta = {
23908       description = "Activate syntax extensions";
23909       homepage = "https://github.com/phaylon/syntax/wiki";
23910       license = with lib.licenses; [ artistic1 gpl1Plus ];
23911     };
23912   };
23914   SyntaxKeywordJunction = buildPerlPackage {
23915     pname = "Syntax-Keyword-Junction";
23916     version = "0.003008";
23917     src = fetchurl {
23918       url = "mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003008.tar.gz";
23919       hash = "sha256-i0l18hsZkqfmwt9dzJKyVMYZJVle3c368LFJhxeqle8=";
23920     };
23921     buildInputs = [ TestRequires ];
23922     propagatedBuildInputs = [ syntax ];
23923     meta = {
23924       description = "Perl6 style Junction operators in Perl5";
23925       homepage = "https://github.com/frioux/Syntax-Keyword-Junction";
23926       license = with lib.licenses; [ artistic1 gpl1Plus ];
23927     };
23928   };
23930   SyntaxKeywordTry = buildPerlModule {
23931     pname = "Syntax-Keyword-Try";
23932     version = "0.29";
23933     src = fetchurl {
23934       url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.29.tar.gz";
23935       hash = "sha256-zDIHGdNgjaqVFHQ6Q9rCvpnLjM2Ymx/vooUpDLHVnY8=";
23936     };
23937     buildInputs = [ Test2Suite ];
23938     propagatedBuildInputs = [ XSParseKeyword ];
23939     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
23940     meta = {
23941       description = "Try/catch/finally syntax for perl";
23942       license = with lib.licenses; [ artistic1 gpl1Plus ];
23943       maintainers = [ maintainers.zakame ];
23944     };
23945   };
23947   SysMmap = buildPerlPackage {
23948     pname = "Sys-Mmap";
23949     version = "0.20";
23950     src = fetchurl {
23951       url = "mirror://cpan/authors/id/T/TO/TODDR/Sys-Mmap-0.20.tar.gz";
23952       hash = "sha256-GCDOLInxq3NXZE+NsPSfFC9UUmJQ+x4jXbEKqA8V4s8=";
23953     };
23954     meta = {
23955       description = "Use mmap to map in a file as a Perl variable";
23956       maintainers = with maintainers; [ peterhoeg ];
23957       license = with lib.licenses; [ gpl2Plus ];
23958     };
23959   };
23961   SysMemInfo = buildPerlPackage {
23962     pname = "Sys-MemInfo";
23963     version = "0.99";
23964     src = fetchurl {
23965       url = "mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-0.99.tar.gz";
23966       hash = "sha256-B4YxnTo6i65dcnk5JEvxfhQLcU9Sc01en2JyA+TPPjs=";
23967     };
23968     meta = {
23969       description = "Memory information";
23970       license = with lib.licenses; [ gpl2Plus ];
23971       maintainers = [ maintainers.pSub ];
23972     };
23973   };
23975   SysCPU = buildPerlPackage {
23976     pname = "Sys-CPU";
23977     version = "0.61";
23978     src = fetchurl {
23979       url = "mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz";
23980       hash = "sha256-JQqGt5wjEAHErnHS9mQoCSpPuyBwlxrK/UcapJc5yeQ=";
23981     };
23982     patches = [
23983       # Bug #95400 for Sys-CPU: Tests fail on ARM and AArch64 Linux
23984       # https://rt.cpan.org/Public/Bug/Display.html?id=95400
23985       (fetchpatch {
23986         url = "https://rt.cpan.org/Ticket/Attachment/1359669/721669/0001-Add-support-for-cpu_type-on-ARM-and-AArch64-Linux-pl.patch";
23987         hash = "sha256-oIJQX+Fz/CPmJNPuJyHVpJxJB2K5IQibnvaT4dv/qmY=";
23988       })
23989       (fetchpatch {
23990         url = "https://rt.cpan.org/Ticket/Attachment/1388036/737125/0002-cpu_clock-can-be-undefined-on-an-ARM.patch";
23991         hash = "sha256-nCypGyi6bZDEXqdb7wlGGzk9cFzmYkWGP1slBpXDfHw=";
23992       })
23993     ];
23994     buildInputs = lib.optional stdenv.hostPlatform.isDarwin pkgs.darwin.apple_sdk.frameworks.Carbon;
23995     doCheck = !stdenv.hostPlatform.isAarch64;
23996     meta = {
23997       description = "Perl extension for getting CPU information. Currently only number of CPU's supported";
23998       license = with lib.licenses; [ artistic1 gpl1Plus ];
23999     };
24000   };
24002   SysCpuAffinity = buildPerlModule {
24003     pname = "Sys-CpuAffinity";
24004     version = "1.12";
24005     src = fetchurl {
24006       url = "mirror://cpan/authors/id/M/MO/MOB/Sys-CpuAffinity-1.12.tar.gz";
24007       hash = "sha256-/jLAXz6wWXCMZH8ruFslBFhZHyupBR2Nhm9Uajh+6Eg=";
24008     };
24009     doCheck = false; # Would run checks for all supported systems
24010     meta = {
24011       description = "Set CPU affinity for processes";
24012       license = with lib.licenses; [ artistic1 gpl1Plus ];
24013       maintainers = with maintainers; [ tomasajt ];
24014     };
24015   };
24017   SysHostnameLong = buildPerlPackage {
24018     pname = "Sys-Hostname-Long";
24019     version = "1.5";
24020     src = fetchurl {
24021       url = "mirror://cpan/authors/id/S/SC/SCOTT/Sys-Hostname-Long-1.5.tar.gz";
24022       hash = "sha256-6Rht83Bqh379YUnyxxHWz4fdbPcvark1uoEhsiWyZcs=";
24023     };
24024     doCheck = false; # no `hostname' in stdenv
24025     meta = {
24026       description = "Try every conceivable way to get full hostname";
24027       license = with lib.licenses; [ artistic1 gpl1Plus ];
24028     };
24029   };
24031   SysSigAction = buildPerlPackage {
24032     pname = "Sys-SigAction";
24033     version = "0.23";
24034     src = fetchurl {
24035       url = "mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz";
24036       hash = "sha256-xO9sk0VTQDH8u+Ktw0f8cZTUevyUXnpE+sfpVjCV01M=";
24037     };
24038     doCheck = !stdenv.hostPlatform.isAarch64; # it hangs on Aarch64
24039     meta = {
24040       description = "Perl extension for Consistent Signal Handling";
24041       license = with lib.licenses; [ artistic1 gpl1Plus ];
24042     };
24043   };
24045   SysSyslog = buildPerlPackage {
24046     pname = "Sys-Syslog";
24047     version = "0.36";
24048     src = fetchurl {
24049       url = "mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz";
24050       hash = "sha256-7UKp5boErUhWzAy1040onDxdN2RUPsBO+vxK9+M3jfg=";
24051     };
24052     meta = {
24053       description = "Perl interface to the UNIX syslog(3) calls";
24054       license = with lib.licenses; [ artistic1 gpl1Plus ];
24055     };
24056   };
24058   SystemCommand = buildPerlPackage {
24059     pname = "System-Command";
24060     version = "1.122";
24061     src = fetchurl {
24062       url = "mirror://cpan/authors/id/B/BO/BOOK/System-Command-1.122.tar.gz";
24063       hash = "sha256-2bgjsmYZqmn3oGFmUKeBDolajfBi3p0iQNZdvlz+dHo=";
24064     };
24065     propagatedBuildInputs = [ IPCRun ];
24066     buildInputs = [ PodCoverageTrustPod TestCPANMeta TestPod TestPodCoverage ];
24067     meta = {
24068       description = "Object for running system commands";
24069       license = with lib.licenses; [ artistic1 gpl1Plus ];
24070     };
24071   };
24073   SysVirt = buildPerlModule rec {
24074     pname = "Sys-Virt";
24075     version = "10.2.0";
24076     src = fetchFromGitLab {
24077       owner = "libvirt";
24078       repo = "libvirt-perl";
24079       rev = "v${version}";
24080       hash = "sha256-xpgZeXk9QefqbBMsvcMh/Cg/XFGEiVi3FbU/jBbSIr0=";
24081     };
24082     nativeBuildInputs = [ pkgs.pkg-config ];
24083     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
24084     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
24085     meta = {
24086       description = "Libvirt Perl API";
24087       homepage = "https://libvirt.org";
24088       license = with lib.licenses; [ gpl2Plus artistic1 ];
24089       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.SysVirt.x86_64-darwin
24090     };
24091   };
24093   TAPParserSourceHandlerpgTAP = buildPerlModule {
24094     pname = "TAP-Parser-SourceHandler-pgTAP";
24095     version = "3.36";
24096     src = fetchurl {
24097       url = "mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.36.tar.gz";
24098       hash = "sha256-B75RUy4GPqxu2OWBUFRw7ryB1VBkQa8tzzK8Dr7pjGc=";
24099     };
24100     doCheck = !stdenv.hostPlatform.isDarwin;
24101     meta = {
24102       description = "Stream TAP from pgTAP test scripts";
24103       homepage = "https://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP";
24104       license = with lib.licenses; [ artistic1 gpl1Plus ];
24105     };
24106   };
24108   TaskCatalystTutorial = buildPerlPackage {
24109     pname = "Task-Catalyst-Tutorial";
24110     version = "0.06";
24111     src = fetchurl {
24112       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Task-Catalyst-Tutorial-0.06.tar.gz";
24113       hash = "sha256-dbGy2WFVZHhCWHFGzv0N4wlDuFGV6OPspR4PC4ZC1h4=";
24114     };
24115     propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystViewTT ];
24116     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
24117     meta = {
24118       description = "Everything you need to follow the Catalyst Tutorial";
24119       license = with lib.licenses; [ artistic1 gpl1Plus ];
24120     };
24121   };
24123   TaskFreecellSolverTesting = buildPerlModule {
24124     pname = "Task-FreecellSolver-Testing";
24125     version = "0.0.12";
24126     src = fetchurl {
24127       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-0.0.12.tar.gz";
24128       hash = "sha256-PRkQt64SVBfG4HeUeOtK8/yc+J4iGVhfiiBBFGP5k6c=";
24129     };
24130     buildInputs = [ CodeTidyAll TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace TestTrap ];
24131     propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify InlineC ListMoreUtils MooX StringShellQuote TaskTestRunAllPlugins TemplateToolkit YAMLLibYAML ];
24132     meta = {
24133       description = "Install the CPAN dependencies of the Freecell Solver test suite";
24134       homepage = "https://metacpan.org/release/Task-FreecellSolver-Testing";
24135       license = with lib.licenses; [ mit ];
24136     };
24137   };
24139   TaskPlack = buildPerlModule {
24140     pname = "Task-Plack";
24141     version = "0.28";
24142     src = fetchurl {
24143       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Task-Plack-0.28.tar.gz";
24144       hash = "sha256-edUriAZUjz+Vro1qyRW6Q524SJ/mOxOdCsFym7KfXCo=";
24145     };
24146     propagatedBuildInputs = [ CGICompile CGIEmulatePSGI CGIPSGI Corona FCGI FCGIClient FCGIProcManager HTTPServerSimplePSGI IOHandleUtil NetFastCGI PSGI PlackAppProxy PlackMiddlewareAuthDigest PlackMiddlewareConsoleLogger PlackMiddlewareDebug PlackMiddlewareDeflater PlackMiddlewareHeader PlackMiddlewareReverseProxy PlackMiddlewareSession Starlet Starman Twiggy ];
24147     buildInputs = [ ModuleBuildTiny TestSharedFork ];
24148     meta = {
24149       description = "Plack bundle";
24150       license = with lib.licenses; [ artistic1 gpl1Plus ];
24151     };
24152   };
24154   TaskTestRunAllPlugins = buildPerlModule {
24155     pname = "Task-Test-Run-AllPlugins";
24156     version = "0.0106";
24157     src = fetchurl {
24158       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-Test-Run-AllPlugins-0.0106.tar.gz";
24159       hash = "sha256-G40L8IhYBmWbwpiBDw1VCq/2gEWtwjepSaymshp9zng=";
24160     };
24161     buildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
24162     meta = {
24163       description = "Specifications for installing all the Test::Run";
24164       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
24165       license = with lib.licenses; [ mit ];
24166     };
24167   };
24169   TaskWeaken = buildPerlPackage {
24170     pname = "Task-Weaken";
24171     version = "1.06";
24172     src = fetchurl {
24173       url = "mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.06.tar.gz";
24174       hash = "sha256-I4P+252672RkaOqCSvv3yAEHZyDPug3yp6B0cm3NZr4=";
24175     };
24176     meta = {
24177       description = "Ensure that a platform has weaken support";
24178       homepage = "https://github.com/karenetheridge/Task-Weaken";
24179       license = with lib.licenses; [ artistic1 gpl1Plus ];
24180     };
24181   };
24183   Tcl = buildPerlPackage {
24184     pname = "Tcl";
24185     version = "1.27";
24186     src = fetchurl {
24187       url = "mirror://cpan/authors/id/V/VK/VKON/Tcl-1.27.tar.gz";
24188       hash = "sha256-+DhYd6Sp7Z89OQPS0PfNcPrDzmgyxg9gCmghzuP7WHI=";
24189     };
24190     propagatedBuildInputs = [
24191       pkgs.tclPackages.bwidget
24192       pkgs.tcl
24193       pkgs.tclPackages.tix
24194       pkgs.tk
24195     ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
24196       darwin.apple_sdk.frameworks.CoreServices ];
24197     makeMakerFlags = lib.optionals stdenv.hostPlatform.isLinux
24198       [ "--tclsh=${pkgs.tcl}/bin/tclsh" "--nousestubs" ];
24199     meta = {
24200       description = "Tcl extension module for Perl";
24201       license = with lib.licenses; [ artistic1 gpl1Plus ];
24202     };
24203   };
24205   TclpTk = buildPerlPackage {
24206     pname = "Tcl-pTk";
24207     version = "1.11";
24208     src = fetchurl {
24209       url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.11.tar.gz";
24210       hash = "sha256-05PxKxzN7I8ZbN27WJHZSEx5qpQQWmN22f+cRg2CDN0=";
24211     };
24212     propagatedBuildInputs = [
24213       ClassISA
24214       SubName
24215       Tcl
24216       TestDeep
24217     ];
24218     buildPhase = ''
24219       perl Makefile.PL --tclsh "${pkgs.tk.tcl}/bin/tclsh" INSTALL_BASE=$out --no-test-for-tk
24220     '';
24221     postInstall = ''
24222       mkdir -p $out/lib/perl5/site_perl
24223       mv $out/lib/perl5/Tcl $out/lib/perl5/site_perl/
24224       mv $out/lib/perl5/auto $out/lib/perl5/site_perl/
24225     '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
24226       mv $out/lib/perl5/darwin-thread-multi-2level $out/lib/perl5/site_perl/
24227     '';
24228     meta = {
24229       description = "Interface to Tcl/Tk with Perl/Tk compatible syntax";
24230       license = with lib.licenses; [ artistic1 gpl1Plus ];
24231     };
24232   };
24234   TemplatePluginAutoformat = buildPerlPackage {
24235     pname = "Template-Plugin-Autoformat";
24236     version = "2.77";
24237     src = fetchurl {
24238       url = "mirror://cpan/authors/id/K/KA/KARMAN/Template-Plugin-Autoformat-2.77.tar.gz";
24239       hash = "sha256-vd+0kZ8Kuyor56lmUzPg1OCYAy8OOD268ExNiWx0hu0=";
24240     };
24241     propagatedBuildInputs = [ TemplateToolkit TextAutoformat ];
24242     meta = {
24243       description = "TT plugin for Text::Autoformat";
24244       homepage = "https://github.com/karpet/template-plugin-autoformat";
24245       license = with lib.licenses; [ artistic1 gpl1Plus ];
24246     };
24247   };
24249   TemplatePluginClass = buildPerlPackage {
24250     pname = "Template-Plugin-Class";
24251     version = "0.14";
24252     src = fetchurl {
24253       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz";
24254       hash = "sha256-BgT+iue/OtlnnmTZsa1MnpAUwXeqgOg11SqG942XB8M=";
24255     };
24256     propagatedBuildInputs = [ TemplateToolkit ];
24257     meta = {
24258       description = "Allow calling of class methods on arbitrary classes";
24259       license = with lib.licenses; [ artistic1 gpl1Plus ];
24260     };
24261   };
24263   TemplatePluginIOAll = buildPerlPackage {
24264     pname = "Template-Plugin-IO-All";
24265     version = "0.01";
24266     src = fetchurl {
24267       url = "mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz";
24268       hash = "sha256-H3RFQiohky4Ju++TV2bgr2t8zrCI6djgMM16hLzcXuQ=";
24269     };
24270     propagatedBuildInputs = [ IOAll TemplateToolkit ];
24271     meta = {
24272       description = "Perl Template Toolkit Plugin for IO::All";
24273       license = with lib.licenses; [ artistic1 gpl1Plus ];
24274       maintainers = [ ];
24275     };
24276   };
24278   TemplatePluginJavaScript = buildPerlPackage {
24279     pname = "Template-Plugin-JavaScript";
24280     version = "0.02";
24281     src = fetchurl {
24282       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz";
24283       hash = "sha256-6iDYBq1lIoLQNTSY4oYN+BJcgLZJFjDCXSY72IDGGNc=";
24284     };
24285     propagatedBuildInputs = [ TemplateToolkit ];
24286     meta = {
24287       description = "Encodes text to be safe in JavaScript";
24288       license = with lib.licenses; [ artistic1 gpl1Plus ];
24289     };
24290   };
24292   TemplatePluginJSONEscape = buildPerlPackage {
24293     pname = "Template-Plugin-JSON-Escape";
24294     version = "0.02";
24295     src = fetchurl {
24296       url = "mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz";
24297       hash = "sha256-BRqLHTvGAdWPxR4kYGfTZFDP6XAnigRW6KthlA8TzYY=";
24298     };
24299     propagatedBuildInputs = [ JSON TemplateToolkit ];
24300     meta = {
24301       description = "Adds a .json vmethod and a json filter";
24302       license = with lib.licenses; [ bsd0 ];
24303     };
24304   };
24306   TemplateTimer = buildPerlPackage {
24307     pname = "Template-Timer";
24308     version = "1.00";
24309     src = fetchurl {
24310       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz";
24311       hash = "sha256-tzFMs2UgnZNVe4BU4DEa6MPLXRydIo0es+P8GTpbd7Q=";
24312     };
24313     propagatedBuildInputs = [ TemplateToolkit ];
24314     meta = {
24315       description = "Rudimentary profiling for Template Toolkit";
24316       license = with lib.licenses; [ artistic2 gpl3Only ];
24317     };
24318   };
24320   TemplateTiny = buildPerlPackage {
24321     pname = "Template-Tiny";
24322     version = "1.14";
24323     src = fetchurl {
24324       url = "mirror://cpan/authors/id/E/ET/ETHER/Template-Tiny-1.14.tar.gz";
24325       hash = "sha256-gZz6tgREg8/ijOsof938MXaiAlsbbw6YCy3MJtImm0w=";
24326     };
24327     meta = {
24328       description = "Template Toolkit reimplemented in as little code as possible";
24329       homepage = "https://github.com/karenetheridge/Template-Tiny";
24330       license = with lib.licenses; [ artistic1 gpl1Plus ];
24331     };
24332   };
24334   TemplateToolkit = buildPerlPackage {
24335     pname = "Template-Toolkit";
24336     version = "3.101";
24337     src = fetchurl {
24338       url = "mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-3.101.tar.gz";
24339       hash = "sha256-0qMt1sIeSzfGqT34CHyp6IDPrmE6Pl766jB7C9yu21g=";
24340     };
24341     doCheck = !stdenv.hostPlatform.isDarwin;
24342     propagatedBuildInputs = [ AppConfig ];
24343     buildInputs = [ CGI TestLeakTrace ];
24344     meta = {
24345       description = "Comprehensive template processing system";
24346       homepage = "http://www.template-toolkit.org";
24347       license = with lib.licenses; [ artistic1 gpl1Plus ];
24348     };
24349   };
24351   TemplateGD = buildPerlPackage {
24352     pname = "Template-GD";
24353     version = "2.66";
24354     src = fetchurl {
24355       url = "mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz";
24356       hash = "sha256-mFI8gZLy6BhAQuWi4XK9dnrCid0uSA819oDc4yFgkFs=";
24357     };
24358     propagatedBuildInputs = [ GD TemplateToolkit ];
24359     meta = {
24360       description = "GD plugin(s) for the Template Toolkit";
24361       license = with lib.licenses; [ artistic1 gpl1Plus ];
24362     };
24363   };
24365   TermEncoding = buildPerlPackage {
24366     pname = "Term-Encoding";
24367     version = "0.03";
24368     src = fetchurl {
24369       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz";
24370       hash = "sha256-lbqWh9c10lo8vmRQjXiU8AnH+ioXJsPnhuniHaIlHQs=";
24371     };
24372     meta = {
24373       description = "Detect encoding of the current terminal";
24374       homepage = "https://github.com/miyagawa/Term-Encoding";
24375       license = with lib.licenses; [ artistic1 gpl1Plus ];
24376     };
24377   };
24379   TermProgressBar = buildPerlPackage {
24380     pname = "Term-ProgressBar";
24381     version = "2.23";
24382     src = fetchurl {
24383       url = "mirror://cpan/authors/id/M/MA/MANWAR/Term-ProgressBar-2.23.tar.gz";
24384       hash = "sha256-3vwD+59KwcnfE1nTEr/zwIZd3vvzq6ZM1CppqGIV1J0=";
24385     };
24386     buildInputs = [ CaptureTiny TestException TestWarnings ];
24387     propagatedBuildInputs = [ ClassMethodMaker TermReadKey ];
24388     meta = {
24389       description = "Provide a progress meter on a standard terminal";
24390       license = with lib.licenses; [ artistic1 gpl1Plus ];
24391     };
24392   };
24394   TermProgressBarQuiet = buildPerlPackage {
24395     pname = "Term-ProgressBar-Quiet";
24396     version = "0.31";
24397     src = fetchurl {
24398       url = "mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz";
24399       hash = "sha256-JWdSkvWIvCnTLnEM82Z9qaKhdR4TmAF3Cp/bGM0hhKY=";
24400     };
24401     propagatedBuildInputs = [ IOInteractive TermProgressBar ];
24402     buildInputs = [ TestMockObject ];
24403     meta = {
24404       description = "Provide a progress meter if run interactively";
24405       license = with lib.licenses; [ artistic1 gpl1Plus ];
24406     };
24407   };
24409   TermProgressBarSimple = buildPerlPackage {
24410     pname = "Term-ProgressBar-Simple";
24411     version = "0.03";
24412     src = fetchurl {
24413       url = "mirror://cpan/authors/id/E/EV/EVDB/Term-ProgressBar-Simple-0.03.tar.gz";
24414       hash = "sha256-og2zxn1b39DB+rOSxtHCaICn7oQ69gKvT5tTpwQ1eaY=";
24415     };
24416     propagatedBuildInputs = [ TermProgressBarQuiet ];
24417     buildInputs = [ TestMockObject ];
24418     meta = {
24419       description = "Simpler progress bars";
24420       license = with lib.licenses; [ artistic1 gpl1Plus ];
24421     };
24422   };
24424   TermReadKey = let
24425     cross = stdenv.hostPlatform != stdenv.buildPlatform;
24426   in buildPerlPackage {
24427     pname = "TermReadKey";
24428     version = "2.38";
24429     src = fetchurl {
24430       url = "mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.38.tar.gz";
24431       hash = "sha256-WmRYeNxXCsM2YVgfuwkP8k684X1D6lP9IuEFqFakcpA=";
24432     };
24434     # use native libraries from the host when running build commands
24435     postConfigure = lib.optionalString cross (let
24436       host_perl = perl.perlOnBuild;
24437       host_self = perl.perlOnBuild.pkgs.TermReadKey;
24438       perl_lib = "${host_perl}/lib/perl5/${host_perl.version}";
24439       self_lib = "${host_self}/lib/perl5/site_perl/${host_perl.version}";
24440     in ''
24441       sed -ie 's|"-I$(INST_ARCHLIB)"|"-I${perl_lib}" "-I${self_lib}"|g' Makefile
24442     '');
24444     # TermReadKey uses itself in the build process
24445     nativeBuildInputs = lib.optionals cross [
24446       perl.perlOnBuild.pkgs.TermReadKey
24447     ];
24448     meta = {
24449       description = "Perl module for simple terminal control";
24450       license = with lib.licenses; [ artistic1 gpl1Plus ];
24451     };
24452   };
24454   TermReadLineGnu = buildPerlPackage {
24455     pname = "Term-ReadLine-Gnu";
24456     version = "1.46";
24457     src = fetchurl {
24458       url = "mirror://cpan/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.46.tar.gz";
24459       hash = "sha256-sTgyEy5QNmw0/qwSzoKDfAqds0ylMK5dJ9uXz5yWTHs=";
24460     };
24461     buildInputs = [ pkgs.readline pkgs.ncurses ];
24462     NIX_CFLAGS_LINK = "-lreadline -lncursesw";
24464     # For some crazy reason Makefile.PL doesn't generate a Makefile if
24465     # AUTOMATED_TESTING is set.
24466     env.AUTOMATED_TESTING = false;
24468     # Makefile.PL looks for ncurses in Glibc's prefix.
24469     preConfigure =
24470       ''
24471         substituteInPlace Makefile.PL --replace '$Config{libpth}' \
24472           "'${pkgs.ncurses.out}/lib'"
24473       '';
24475     # Tests don't work because they require /dev/tty.
24476     doCheck = false;
24478     meta = {
24479       description = "Perl extension for the GNU Readline/History Library";
24480       homepage = "https://github.com/hirooih/perl-trg";
24481       license = with lib.licenses; [ artistic1 gpl1Plus ];
24482       mainProgram = "perlsh";
24483     };
24484   };
24486   TermReadLineTTYtter = buildPerlPackage {
24487     pname = "Term-ReadLine-TTYtter";
24488     version = "1.4";
24489     src = fetchurl {
24490       url = "mirror://cpan/authors/id/C/CK/CKAISER/Term-ReadLine-TTYtter-1.4.tar.gz";
24491       hash = "sha256-rDcxM87hshIqgnP+e0JEYT0O7O/oi2aL2Y/nHR7ErJM=";
24492     };
24494     outputs = [ "out" ];
24496     meta = {
24497       description = "Term::ReadLine driver based on Term::ReadLine::Perl, with special features for microblogging and the TTYtter client (q.v)";
24498       homepage = "https://www.floodgap.com/software/ttytter";
24499       license = with lib.licenses; [ artistic1 gpl1Plus ];
24500     };
24501   };
24503   TermReadPassword = buildPerlPackage rec {
24504     pname = "Term-ReadPassword";
24505     version = "0.11";
24506     src = fetchurl {
24507       url = "mirror://cpan/authors/id/P/PH/PHOENIX/${pname}-${version}.tar.gz";
24508       hash = "sha256-4ahmNFs1+f/vfQA34T1tTLKAMQCJ+YwgcTiAvHD7QyM=";
24509     };
24511     outputs = [ "out" ];
24513     meta = {
24514       description = "This module lets you ask the user for a password in the traditional way, from the keyboard, without echoing";
24515       license = with lib.licenses; [ artistic1 gpl1Plus ];
24516     };
24517   };
24519   TermShell = buildPerlModule {
24520     pname = "Term-Shell";
24521     version = "0.13";
24522     src = fetchurl {
24523       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Term-Shell-0.13.tar.gz";
24524       hash = "sha256-U6C9smVokcUIpHDZPLfhz+qzjuqeWClWCn2LX2APa/I=";
24525     };
24526     propagatedBuildInputs = [ TermReadKey TextAutoformat ];
24527     meta = {
24528       homepage = "https://metacpan.org/release/Term-Shell";
24529       description = "Simple command-line shell framework";
24530       license = with lib.licenses; [ artistic1 gpl1Plus ];
24531     };
24532   };
24534   TermShellUI = buildPerlPackage {
24535     pname = "Term-ShellUI";
24536     version = "0.92";
24537     src = fetchurl {
24538       url = "mirror://cpan/authors/id/B/BR/BRONSON/Term-ShellUI-0.92.tar.gz";
24539       hash = "sha256-MnnAHHYiczXu/wkDKkD0sCsoUVGzV2wEys0VvgWUK9s=";
24540     };
24541     meta = {
24542       description = "Fully-featured shell-like command line environment";
24543       license = with lib.licenses; [ mit ];
24544     };
24545   };
24547   TermSizeAny = buildPerlPackage {
24548     pname = "Term-Size-Any";
24549     version = "0.002";
24550     src = fetchurl {
24551       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz";
24552       hash = "sha256-ZPpf2xrjqCMTSqqVrsdTVLwXvdnKEroKeuNKflGz3tI=";
24553     };
24554     propagatedBuildInputs = [ DevelHide TermSizePerl ];
24555     meta = {
24556       description = "Retrieve terminal size";
24557       license = with lib.licenses; [ artistic1 gpl1Plus ];
24558     };
24559   };
24561   TermSizePerl = buildPerlPackage {
24562     pname = "Term-Size-Perl";
24563     version = "0.031";
24564     src = fetchurl {
24565       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz";
24566       hash = "sha256-rppnRssbMF3cj42MpGh4VSucESNiiXHhOidRg4IvIJ4=";
24567     };
24568     meta = {
24569       description = "Perl extension for retrieving terminal size (Perl version)";
24570       license = with lib.licenses; [ artistic1 gpl1Plus ];
24571     };
24572   };
24574   TermTable = buildPerlPackage {
24575     pname = "Term-Table";
24576     version = "0.017";
24577     src = fetchurl {
24578       url = "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.017.tar.gz";
24579       hash = "sha256-8R20JorYBE9uGhrJU0ygzTrXecQAb/83+uUA25j6yRo=";
24580     };
24581     propagatedBuildInputs = [ Importer ];
24582     meta = {
24583       description = "Format a header and rows into a table";
24584       license = with lib.licenses; [ artistic1 gpl1Plus ];
24585     };
24586   };
24588   TermSk = buildPerlPackage {
24589     pname = "Term-Sk";
24590     version = "0.18";
24591     src = fetchurl {
24592       url = "mirror://cpan/authors/id/K/KE/KEICHNER/Term-Sk-0.18.tar.gz";
24593       hash = "sha256-8uSReWBhIFsIaIgCsod5LX2AOwiXIzn7EHC6BWEq+IU=";
24594     };
24595     meta = {
24596       description = "Perl extension for displaying a progress indicator on a terminal";
24597       license = with lib.licenses; [ artistic1 gpl1Plus ];
24598     };
24599   };
24601   TermUI = buildPerlPackage {
24602     pname = "Term-UI";
24603     version = "0.50";
24604     src = fetchurl {
24605       url = "mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.50.tar.gz";
24606       hash = "sha256-YL/dbUwVi4jTcBM/xlsgSFo2pFsS2QYAC4HHjKUkFj0=";
24607     };
24608     propagatedBuildInputs = [ LogMessageSimple ];
24609     meta = {
24610       description = "User interfaces via Term::ReadLine made easy";
24611       license = with lib.licenses; [ artistic1 gpl1Plus ];
24612     };
24613   };
24615   TermVT102 = buildPerlPackage {
24616     pname = "Term-VT102";
24617     version = "0.91";
24618     src = fetchurl {
24619       url = "mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz";
24620       hash = "sha256-+VTgMQlB1FwPw+tKQPXToA1oEZ4nfTA6HmrxHe1vvZQ=";
24621     };
24622     meta = {
24623       description = "Class to emulate a DEC VT102 terminal";
24624       license = with lib.licenses; [ artistic2 ];
24625     };
24626   };
24628   TermVT102Boundless = buildPerlPackage {
24629     pname = "Term-VT102-Boundless";
24630     version = "0.05";
24631     src = fetchurl {
24632       url = "mirror://cpan/authors/id/F/FB/FBARRIOS/Term-VT102-Boundless-0.05.tar.gz";
24633       hash = "sha256-4d7YWuPXa1nAO4aX9KbLAa4xvWKpNU9bt9GPnpJ7SF8=";
24634     };
24635     propagatedBuildInputs = [ TermVT102 ];
24636     meta = {
24637       description = "Term::VT102 that grows automatically to accommodate whatever you print to it";
24638       license = with lib.licenses; [ artistic1 gpl1Plus ];
24639     };
24640   };
24642   TermAnimation = buildPerlPackage {
24643     pname = "Term-Animation";
24644     version = "2.6";
24645     src = fetchurl {
24646       url = "mirror://cpan/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz";
24647       hash = "sha256-fVw8LU+bZXqLHc5/Xiy74CraLpfHLzoDBL88mdCEsEU=";
24648     };
24649     propagatedBuildInputs = [ Curses ];
24650     meta = {
24651       description = "ASCII sprite animation framework";
24652       license = with lib.licenses; [ artistic1 gpl1Plus ];
24653     };
24654   };
24656   Test2Harness = buildPerlPackage {
24657     pname = "Test2-Harness";
24658     version = "1.000155";
24659     src = fetchurl {
24660       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Harness-1.000155.tar.gz";
24661       hash = "sha256-Hvi/euDKALaHu24RXzq4yVBI5ICsmuUylzabxpSkc4s=";
24662     };
24664     checkPhase = ''
24665       patchShebangs ./t ./scripts/yath
24666       export AUTOMATED_TESTING=1
24667       ./scripts/yath test -j $NIX_BUILD_CORES
24668     '';
24670     propagatedBuildInputs = [ DataUUID Importer LongJump ScopeGuard TermTable Test2PluginMemUsage Test2PluginUUID Test2Suite YAMLTiny gotofile ];
24671     meta = {
24672       description = "New and improved test harness with better Test2 integration";
24673       license = with lib.licenses; [ artistic1 gpl1Plus ];
24674       mainProgram = "yath";
24675       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Test2Harness.x86_64-darwin
24676     };
24677   };
24679   Test2PluginMemUsage = buildPerlPackage {
24680     pname = "Test2-Plugin-MemUsage";
24681     version = "0.002003";
24682     src = fetchurl {
24683       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-MemUsage-0.002003.tar.gz";
24684       hash = "sha256-XgZi1agjrggWQfXOgoQxEe7BgxzTH4g6bG3lSv34fCU=";
24685     };
24686     buildInputs = [ Test2Suite ];
24687     meta = {
24688       description = "Collect and display memory usage information";
24689       license = with lib.licenses; [ artistic1 gpl1Plus ];
24690     };
24691   };
24693   Test2PluginUUID = buildPerlPackage {
24694     pname = "Test2-Plugin-UUID";
24695     version = "0.002001";
24696     src = fetchurl {
24697       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-UUID-0.002001.tar.gz";
24698       hash = "sha256-TGyNSE1xU9h3ncFVqZKyAwlbXFqhz7Hui87c0GAYeMk=";
24699     };
24700     buildInputs = [ Test2Suite ];
24701     propagatedBuildInputs = [ DataUUID ];
24702     meta = {
24703       description = "Use REAL UUIDs in Test2";
24704       license = with lib.licenses; [ artistic1 gpl1Plus ];
24705     };
24706   };
24708   Test2PluginNoWarnings = buildPerlPackage {
24709     pname = "Test2-Plugin-NoWarnings";
24710     version = "0.09";
24711     src = fetchurl {
24712       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz";
24713       hash = "sha256-vj3YAAQu7zYr8X0gVs+ek03ukczOmOTxeLj7V3Ly+3Q=";
24714     };
24715     buildInputs = [ IPCRun3 Test2Suite ];
24716     propagatedBuildInputs = [ TestSimple13 ];
24717     meta = {
24718       description = "Fail if tests warn";
24719       homepage = "https://metacpan.org/release/Test2-Plugin-NoWarnings";
24720       license = with lib.licenses; [ artistic2 ];
24721     };
24722   };
24724   Test2Suite = buildPerlPackage {
24725     pname = "Test2-Suite";
24726     version = "0.000156";
24727     src = fetchurl {
24728       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000156.tar.gz";
24729       hash = "sha256-vzgq5y86k79+02iFEY+uL/qw/xF3Q/WQON8lTv7yyU4=";
24730     };
24731     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
24732     meta = {
24733       description = "Distribution with a rich set of tools built upon the Test2 framework";
24734       license = with lib.licenses; [ artistic1 gpl1Plus ];
24735     };
24736   };
24738   Test2ToolsFFI = buildPerlPackage {
24739     pname = "Test2-Tools-FFI";
24740     version = "0.06";
24741     src = fetchurl {
24742       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test2-Tools-FFI-0.06.tar.gz";
24743       hash = "sha256-MA28QKEubG+7y7lv05uQK+bZZXJtrx5qtzuKCv0lLy8=";
24744     };
24745     buildInputs = [ FileShareDirInstall Test2Suite ];
24746     propagatedBuildInputs = [ CaptureTiny FFICheckLib FFIPlatypus FileShareDirDist ];
24747     meta = {
24748       homepage = "https://metacpan.org/pod/Test2::Tools::FFI";
24749       description = "Tools for testing FFI";
24750       license = with lib.licenses; [ artistic1 gpl1Plus ];
24751       maintainers = with maintainers; [ tomasajt ];
24752     };
24753   };
24755   Test2ToolsMemoryCycle = buildPerlPackage {
24756     pname = "Test2-Tools-MemoryCycle";
24757     version = "0.01";
24758     src = fetchurl {
24759       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test2-Tools-MemoryCycle-0.01.tar.gz";
24760       hash = "sha256-U1s9ylQqMyUVEq3ktafb6+PESNg/iA0ZjkPcEnl5aYs=";
24761     };
24762     buildInputs = [ Test2Suite ];
24763     propagatedBuildInputs = [ DevelCycle PadWalker ];
24764     meta = {
24765       homepage = "https://metacpan.org/pod/Test2::Tools::MemoryCycle";
24766       description = "Check for memory leaks and circular memory references";
24767       license = with lib.licenses; [ artistic1 gpl1Plus ];
24768       maintainers = with maintainers; [ tomasajt ];
24769     };
24770   };
24772   TestAbortable = buildPerlPackage {
24773     pname = "Test-Abortable";
24774     version = "0.003";
24775     src = fetchurl {
24776       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.003.tar.gz";
24777       hash = "sha256-TVPDXvPLf5wXUrqfEdOpeiETt9hMJg6rj5p8G4Aba40=";
24778     };
24779     propagatedBuildInputs = [ SubExporter ];
24780     buildInputs = [ TestNeeds ];
24781     meta = {
24782       description = "Subtests that you can die your way out of ... but survive";
24783       homepage = "https://github.com/rjbs/Test-Abortable";
24784       license = with lib.licenses; [ artistic1 gpl1Plus ];
24785     };
24786   };
24788   TestAssert = buildPerlModule {
24789     pname = "Test-Assert";
24790     version = "0.0504";
24791     src = fetchurl {
24792       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz";
24793       hash = "sha256-z6NtqWxQQzH/ICZ0e6R9R37+g1z2zyNO4QywX6n7i6Q=";
24794     };
24795     buildInputs = [ ClassInspector TestUnitLite ];
24796     propagatedBuildInputs = [ ExceptionBase constantboolean ];
24797     meta = {
24798       description = "Assertion methods for those who like JUnit";
24799       license = with lib.licenses; [ artistic1 gpl1Plus ];
24800     };
24801   };
24803   TestAssertions = buildPerlPackage {
24804     pname = "Test-Assertions";
24805     version = "1.054";
24806     src = fetchurl {
24807       url = "mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz";
24808       hash = "sha256-/NzkHVcnOIFYGt9oCiCmrfUaTDt+McP2mGb7kQk3AoA=";
24809     };
24810     propagatedBuildInputs = [ LogTrace ];
24811     meta = {
24812       description = "Simple set of building blocks for both unit and runtime testing";
24813       license = with lib.licenses; [ gpl2Only ];
24814     };
24815   };
24817   TestAggregate = buildPerlModule {
24818     pname = "Test-Aggregate";
24819     version = "0.375";
24820     src = fetchurl {
24821       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz";
24822       hash = "sha256-xswKv9DU/OhTcazKk+wkU4GEHTK0yqLWR15LyBMEJ9E=";
24823     };
24824     buildInputs = [ TestMost TestNoWarnings TestTrap ];
24825     meta = {
24826       description = "Aggregate *.t tests to make them run faster";
24827       license = with lib.licenses; [ artistic1 gpl1Plus ];
24828       broken = true; # This module only works with Test::More version < 1.3, but you have 1.302133
24829     };
24830   };
24833   TestBase = buildPerlPackage {
24834     pname = "Test-Base";
24835     version = "0.89";
24836     src = fetchurl {
24837       url = "mirror://cpan/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz";
24838       hash = "sha256-J5Shqq6x06KH3SxyhiWGY3llYvfbnMxrQkvE8d6K0BQ=";
24839     };
24840     propagatedBuildInputs = [ Spiffy ];
24841     buildInputs = [ AlgorithmDiff TextDiff ];
24842     meta = {
24843       description = "Data Driven Testing Framework";
24844       license = with lib.licenses; [ artistic1 gpl1Plus ];
24845     };
24846   };
24848   TestBits = buildPerlPackage {
24849     pname = "Test-Bits";
24850     version = "0.02";
24851     src = fetchurl {
24852       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Bits-0.02.tar.gz";
24853       hash = "sha256-qYJvVkg6J+LGMVZZDzKKNjPjA3XBDfyJ9mkOOSneC8M=";
24854     };
24855     propagatedBuildInputs = [ ListAllUtils ];
24856     buildInputs = [ TestFatal ];
24857     meta = {
24858       description = "Provides a bits_is() subroutine for testing binary data";
24859       homepage = "https://metacpan.org/release/Test-Bits";
24860       license = with lib.licenses; [ artistic2 ];
24861     };
24862   };
24864   TestCheckDeps = buildPerlPackage {
24865     pname = "Test-CheckDeps";
24866     version = "0.010";
24867     src = fetchurl {
24868       url = "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.010.tar.gz";
24869       hash = "sha256-ZvzMpsbzMOfsyJi9alGEbiFFs+AteMSZe6a33iO1Ue4=";
24870     };
24871     propagatedBuildInputs = [ CPANMetaCheck ];
24872     meta = {
24873       description = "Check for presence of dependencies";
24874       license = with lib.licenses; [ artistic1 gpl1Plus ];
24875     };
24876   };
24878   TestClass = buildPerlPackage {
24879     pname = "Test-Class";
24880     version = "0.52";
24881     src = fetchurl {
24882       url = "mirror://cpan/authors/id/S/SZ/SZABGAB/Test-Class-0.52.tar.gz";
24883       hash = "sha256-QMGx04jwqGdHacJ1KfDMNjTKD9nY9ysZbAUxYRk0vII=";
24884     };
24885     buildInputs = [ TestException ];
24886     propagatedBuildInputs = [ MROCompat ModuleRuntime TryTiny ];
24887     meta = {
24888       description = "Easily create test classes in an xUnit/JUnit style";
24889       license = with lib.licenses; [ artistic1 gpl1Plus ];
24890     };
24891   };
24893   TestClassMost = buildPerlModule {
24894     pname = "Test-Class-Most";
24895     version = "0.08";
24896     src = fetchurl {
24897       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz";
24898       hash = "sha256-Y0ze2Gu6Xd4Hztcv+4pGcF/5OqhEuY6WveBVQCNMff8=";
24899     };
24900     buildInputs = [ TestClass TestDeep TestDifferences TestException TestMost TestWarn ];
24901     meta = {
24902       description = "Test Classes the easy way";
24903       license = with lib.licenses; [ artistic1 gpl1Plus ];
24904     };
24905   };
24907   TestCleanNamespaces = buildPerlPackage {
24908     pname = "Test-CleanNamespaces";
24909     version = "0.24";
24910     src = fetchurl {
24911       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.24.tar.gz";
24912       hash = "sha256-M41VaejommVJNfhD7AvISqpIb+jdGJj7nKs+zOzVMno=";
24913     };
24914     buildInputs = [ Filepushd Moo Mouse RoleTiny SubExporter TestDeep TestNeeds TestWarnings namespaceclean ];
24915     propagatedBuildInputs = [ PackageStash SubIdentify ];
24916     meta = {
24917       description = "Check for uncleaned imports";
24918       homepage = "https://github.com/karenetheridge/Test-CleanNamespaces";
24919       license = with lib.licenses; [ artistic1 gpl1Plus ];
24920     };
24921   };
24923   TestCmd = buildPerlPackage {
24924     pname = "Test-Cmd";
24925     version = "1.09";
24926     src = fetchurl {
24927       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Cmd-1.09.tar.gz";
24928       hash = "sha256-zzMg7N3nkeC4lFogwfbyZdkPHj2rGPHiPLZ3x51yloQ=";
24929     };
24930       doCheck = false; /* test fails */
24931     meta = {
24932       description = "Perl module for portable testing of commands and scripts";
24933       homepage = "https://github.com/neilb/Test-Cmd";
24934       license = with lib.licenses; [ artistic1 gpl1Plus ];
24935     };
24936   };
24938   TestCommand = buildPerlModule {
24939     pname = "Test-Command";
24940     version = "0.11";
24941     src = fetchurl {
24942       url = "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz";
24943       hash = "sha256-KKP8b+pzoZ9WPxG9DygYZ1bUx0IHvm3qyq0m0ggblTM=";
24944     };
24945     meta = {
24946       description = "Test routines for external commands";
24947       homepage = "https://metacpan.org/release/Test-Command";
24948       license = with lib.licenses; [ artistic1 gpl1Plus ];
24949     };
24950   };
24952   TestCompile = buildPerlModule {
24953     pname = "Test-Compile";
24954     version = "3.3.1";
24955     src = fetchurl {
24956       url = "mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v3.3.1.tar.gz";
24957       hash = "sha256-gIRQ89Ref0GapNZo4pgodonp6jY4hpO/8YDXhwzj5iE=";
24958     };
24959     propagatedBuildInputs = [ UNIVERSALrequire ];
24960     meta = {
24961       description = "Assert that your Perl files compile OK";
24962       license = with lib.licenses; [ artistic1 gpl1Plus ];
24963     };
24964   };
24966   TestCPANMeta = buildPerlPackage {
24967     pname = "Test-CPAN-Meta";
24968     version = "0.25";
24969     src = fetchurl {
24970       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz";
24971       hash = "sha256-9VtPnPa8OW0P6AJyZ2hcsqxK/86JfQlnoxf6xttajbU=";
24972     };
24973     meta = {
24974       description = "Validate your CPAN META.json files";
24975       license = with lib.licenses; [ artistic2 ];
24976     };
24977   };
24979   TestCPANMetaJSON = buildPerlPackage {
24980     pname = "Test-CPAN-Meta-JSON";
24981     version = "0.16";
24982     src = fetchurl {
24983       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz";
24984       hash = "sha256-Z6xQmt/7HSslao+MBSPgB2HZYBZhksYHApj3CIqa6ck=";
24985     };
24986     propagatedBuildInputs = [ JSON ];
24987     meta = {
24988       description = "Validate your CPAN META.json files";
24989       license = with lib.licenses; [ artistic2 ];
24990     };
24991   };
24993   TestDataSplit = buildPerlModule {
24994     pname = "Test-Data-Split";
24995     version = "0.2.2";
24996     src = fetchurl {
24997       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Data-Split-0.2.2.tar.gz";
24998       hash = "sha256-5Qg4kK2tMNfeUHA1adX1zvF0oZhZNSLqe0bOOHuCgCI=";
24999     };
25000     buildInputs = [ TestDifferences ];
25001     propagatedBuildInputs = [ IOAll ListMoreUtils MooX MooXlate ];
25002     meta = {
25003       description = "Split data-driven tests into several test scripts";
25004       homepage = "https://metacpan.org/release/Test-Data-Split";
25005       license = with lib.licenses; [ mit ];
25006     };
25007   };
25009   TestDeep = buildPerlPackage {
25010     pname = "Test-Deep";
25011     version = "1.204";
25012     src = fetchurl {
25013       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.204.tar.gz";
25014       hash = "sha256-tlkfbM3YU8fvyf88V1Y3BAMhHP/kYEfwgrHNFhGoTl8=";
25015     };
25016     meta = {
25017       description = "Extremely flexible deep comparison";
25018       homepage = "https://github.com/rjbs/Test-Deep";
25019       license = with lib.licenses; [ artistic1 gpl1Plus ];
25020     };
25021   };
25023   TestDeepJSON = buildPerlModule {
25024     pname = "Test-Deep-JSON";
25025     version = "0.05";
25026     src = fetchurl {
25027       url = "mirror://cpan/authors/id/M/MO/MOTEMEN/Test-Deep-JSON-0.05.tar.gz";
25028       hash = "sha256-rshXG54xtzAeJhMsEyxoAJUtwInGRddpVKOtGms1CFg=";
25029     };
25030     buildInputs = [ ModuleBuildTiny ];
25031     propagatedBuildInputs = [ ExporterLite JSONMaybeXS TestDeep ];
25032     meta = {
25033       description = "Compare JSON with Test::Deep";
25034       homepage = "https://github.com/motemen/perl5-Test-Deep-JSON";
25035       license = with lib.licenses; [ artistic1 gpl1Plus ];
25036     };
25037   };
25039   TestDeepType = buildPerlPackage {
25040     pname = "Test-Deep-Type";
25041     version = "0.008";
25042     src = fetchurl {
25043       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Deep-Type-0.008.tar.gz";
25044       hash = "sha256-bnvqGi8edTGaItHFGZbrrFDKXjZj0bwiMTCIfmLpWfE=";
25045     };
25046     buildInputs = [ TestFatal TestNeeds ];
25047     propagatedBuildInputs = [ TestDeep TryTiny ];
25048     meta = {
25049       description = "Test::Deep plugin for validating type constraints";
25050       homepage = "https://github.com/karenetheridge/Test-Deep-Type";
25051       license = with lib.licenses; [ artistic1 gpl1Plus ];
25052     };
25053   };
25055   TestDiagINC = buildPerlPackage {
25056     pname = "Test-DiagINC";
25057     version = "0.010";
25058     src = fetchurl {
25059       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-DiagINC-0.010.tar.gz";
25060       hash = "sha256-W8uNNWxQnjWdU9hpwH79qo/uXWz5mJcBi5qRTOshIi4=";
25061     };
25062     buildInputs = [ CaptureTiny ];
25063     meta = {
25064       homepage = "https://github.com/dagolden/Test-DiagINC";
25065       description = "List modules and versions loaded if tests fail";
25066       license = lib.licenses.asl20;
25067     };
25068   };
25070   TestDir = buildPerlPackage {
25071     pname = "Test-Dir";
25072     version = "1.16";
25073     src = fetchurl {
25074       url = "mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz";
25075       hash = "sha256-czKzI5E+tqJoTQlHVRljBLL4YG9w6quRNlTKkfJz6sI=";
25076     };
25077     meta = {
25078       description = "Test directory attributes";
25079       license = with lib.licenses; [ artistic1 gpl1Plus ];
25080     };
25081   };
25083   TestDifferences = buildPerlPackage {
25084     pname = "Test-Differences";
25085     version = "0.70";
25086     src = fetchurl {
25087       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.70.tar.gz";
25088       hash = "sha256-vuG1GGqpuif+0r8bBnRSDQvQzQUdkTOH+QhsH5SlaFQ=";
25089     };
25090     propagatedBuildInputs = [ CaptureTiny TextDiff ];
25091     meta = {
25092       description = "Test strings and data structures and show differences if not ok";
25093       license = with lib.licenses; [ artistic1 gpl1Plus ];
25094     };
25095   };
25097   TestDistManifest = buildPerlModule {
25098     pname = "Test-DistManifest";
25099     version = "1.014";
25100     src = fetchurl {
25101       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz";
25102       hash = "sha256-PSbCDfQmKJgcv8+lscoCjGzq2zRMHc+XolrWqItz18U=";
25103     };
25104     buildInputs = [ ModuleBuildTiny ];
25105     propagatedBuildInputs = [ ModuleManifest ];
25106     meta = {
25107       description = "Author test that validates a package MANIFEST";
25108       homepage = "https://github.com/jawnsy/Test-DistManifest";
25109       license = with lib.licenses; [ artistic1 gpl1Plus ];
25110     };
25111   };
25113   TestEOL = buildPerlPackage {
25114     pname = "Test-EOL";
25115     version = "2.02";
25116     src = fetchurl {
25117       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.02.tar.gz";
25118       hash = "sha256-KDGZ1/sngH/iImr3sSVxxtwlCNjlwP61BdCJ0xcgr8Q=";
25119     };
25120     meta = {
25121       description = "Check the correct line endings in your project";
25122       homepage = "https://github.com/karenetheridge/Test-EOL";
25123       license = with lib.licenses; [ artistic1 gpl1Plus ];
25124     };
25125   };
25127   TestException = buildPerlPackage {
25128     pname = "Test-Exception";
25129     version = "0.43";
25130     src = fetchurl {
25131       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz";
25132       hash = "sha256-FWsT8Hdk92bYtFpDco8kOa+Bo1EmJUON6reDt4g+tTM=";
25133     };
25134     propagatedBuildInputs = [ SubUplevel ];
25135     meta = {
25136       description = "Test exception-based code";
25137       license = with lib.licenses; [ artistic1 gpl1Plus ];
25138     };
25139   };
25141   TestExit = buildPerlPackage {
25142     pname = "Test-Exit";
25143     version = "0.11";
25144     src = fetchurl {
25145       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Test-Exit-0.11.tar.gz";
25146       hash = "sha256-+9qS034EgdGO68geSNAlIotXGExZstWm9r34cELox7I=";
25147     };
25148     propagatedBuildInputs = [ ReturnMultiLevel ];
25149     meta = {
25150       description = "Test whether code exits without terminating testing";
25151       license = with lib.licenses; [ artistic1 gpl1Plus ];
25152     };
25153   };
25155   TestExpect = buildPerlPackage {
25156     pname = "Test-Expect";
25157     version = "0.34";
25158     src = fetchurl {
25159       url = "mirror://cpan/authors/id/B/BP/BPS/Test-Expect-0.34.tar.gz";
25160       hash = "sha256-Jij87N2l9km9JTI/ZGuWoaB+RVfK3LMnybrU3EG7uZk=";
25161     };
25162     propagatedBuildInputs = [ ClassAccessorChained ExpectSimple ];
25163     meta = {
25164       description = "Automated driving and testing of terminal-based programs";
25165       license = with lib.licenses; [ artistic1 gpl1Plus ];
25166     };
25167   };
25169   TestFailWarnings = buildPerlPackage {
25170     pname = "Test-FailWarnings";
25171     version = "0.008";
25172     src = fetchurl {
25173       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz";
25174       hash = "sha256-2jTvkCn2hJ1gJiAdSRJ9BU7mrEuXnIIhAxX1chlkqW8=";
25175     };
25176     buildInputs = [ CaptureTiny ];
25177     meta = {
25178       description = "Add test failures if warnings are caught";
25179       homepage = "https://github.com/dagolden/Test-FailWarnings";
25180       license = with lib.licenses; [ asl20 ];
25181     };
25182   };
25184   TestFakeHTTPD = buildPerlModule {
25185     pname = "Test-Fake-HTTPD";
25186     version = "0.09";
25187     src = fetchurl {
25188       url = "mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.09.tar.gz";
25189       hash = "sha256-FPecsGepCSLpvlVPjks509aXeK5Mj/9E9WD2N/tvLR4=";
25190     };
25191     propagatedBuildInputs = [ HTTPDaemon Plack ];
25192     buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
25193     meta = {
25194       description = "Fake HTTP server";
25195       homepage = "https://github.com/masaki/Test-Fake-HTTPD";
25196       license = with lib.licenses; [ artistic1 gpl1Plus ];
25197     };
25198   };
25200   TestFatal = buildPerlPackage {
25201     pname = "Test-Fatal";
25202     version = "0.017";
25203     src = fetchurl {
25204       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.017.tar.gz";
25205       hash = "sha256-N9//2vuEt2Lv6WsC+yqkHzcCbHPmuDWQ23YilpfzxKY=";
25206     };
25207     propagatedBuildInputs = [ TryTiny ];
25208     meta = {
25209       description = "Incredibly simple helpers for testing code with exceptions";
25210       homepage = "https://github.com/rjbs/Test-Fatal";
25211       license = with lib.licenses; [ artistic1 gpl1Plus ];
25212     };
25213   };
25215   TestFile = buildPerlPackage {
25216     pname = "Test-File";
25217     version = "1.993";
25218     src = fetchurl {
25219       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.993.tar.gz";
25220       hash = "sha256-7y/+Gq7HtC2HStQR7GR1R7m5vC9fuT5J4zmUiEVq/Ho=";
25221     };
25222     meta = {
25223       description = "Test file attributes";
25224       homepage = "https://github.com/briandfoy/test-file";
25225       license = with lib.licenses; [ artistic2 ];
25226     };
25227   };
25229   TestFileContents = buildPerlPackage {
25230     pname = "Test-File-Contents";
25231     version = "0.242";
25232     src = fetchurl {
25233       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Test-File-Contents-0.242.tar.gz";
25234       hash = "sha256-qDisC29uEOiWE7UMphdzzbqbpHh7qC57tl2q9whKpQs=";
25235     };
25236     propagatedBuildInputs = [ TextDiff ];
25237     meta = {
25238       description = "Test routines for examining the contents of files";
25239       license = with lib.licenses; [ artistic1 gpl1Plus ];
25240     };
25241   };
25243   TestFileShareDir = buildPerlPackage {
25244     pname = "Test-File-ShareDir";
25245     version = "1.001002";
25246     src = fetchurl {
25247       url = "mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz";
25248       hash = "sha256-szZHy7Sy8vz73k+LtDg9CslcL4nExXcOtpHxZDozeq0=";
25249     };
25250     buildInputs = [ TestFatal ];
25251     propagatedBuildInputs = [ ClassTiny FileCopyRecursive FileShareDir PathTiny ScopeGuard ];
25252     meta = {
25253       description = "Create a Fake ShareDir for your modules for testing";
25254       homepage = "https://github.com/kentnl/Test-File-ShareDir";
25255       license = with lib.licenses; [ artistic1 gpl1Plus ];
25256     };
25257   };
25259   TestFilename = buildPerlPackage {
25260     pname = "Test-Filename";
25261     version = "0.03";
25262     src = fetchurl {
25263       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-0.03.tar.gz";
25264       hash = "sha256-akUMxMYoHtESnzKhwHQfIoln/touMqKRX/Yhw2Ul/L4=";
25265     };
25266     propagatedBuildInputs = [ PathTiny ];
25267     meta = {
25268       description = "Portable filename comparison";
25269       homepage = "https://metacpan.org/release/Test-Filename";
25270       license = with lib.licenses; [ asl20 ];
25271     };
25272   };
25274   TestFork = buildPerlModule {
25275     pname = "Test-Fork";
25276     version = "0.02";
25277     src = fetchurl {
25278       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz";
25279       hash = "sha256-/P77+yT4havoJ8KtB6w9Th/s8hOhRxf8rzw3F1BF0D4=";
25280     };
25281     meta = {
25282       description = "Test code which forks";
25283       license = with lib.licenses; [ artistic1 gpl1Plus ];
25284     };
25285   };
25287   TestFutureIOImpl = buildPerlModule {
25288     pname = "Test-Future-IO-Impl";
25289     version = "0.14";
25290     src = fetchurl {
25291       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Future-IO-Impl-0.14.tar.gz";
25292       hash = "sha256-AH22GdPUljQyXFbvvKDh5Vdt0z95RV8t6llb5u344jU=";
25293     };
25294     propagatedBuildInputs = [ Test2Suite ];
25295     meta = {
25296       description = "Acceptance tests for C<Future::IO> implementations";
25297       license = with lib.licenses; [ artistic1 gpl1Plus ];
25298     };
25299   };
25301   TestHarnessStraps = buildPerlModule {
25302     pname = "Test-Harness-Straps";
25303     version = "0.30";
25304     src = fetchurl {
25305       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Harness-Straps-0.30.tar.gz";
25306       hash = "sha256-iwDvqjVyPBo1yMj1+kapnkvFKN+lIDUrVKxBjvbRz6g=";
25307     };
25308     meta = {
25309       description = "Detailed analysis of test results";
25310       license = with lib.licenses; [ artistic1 gpl1Plus ];
25311     };
25312   };
25314   TestHexDifferences = buildPerlPackage {
25315     pname = "Test-HexDifferences";
25316     version = "1.001";
25317     src = fetchurl {
25318       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz";
25319       hash = "sha256-pjlF7N1CCvwxEJT5OiIM+zXfIyQt5hnlO6Z0d6E2kKI=";
25320     };
25321     propagatedBuildInputs = [ SubExporter TextDiff ];
25322     buildInputs = [ TestDifferences TestNoWarnings ];
25323     meta = {
25324       description = "Test binary as hexadecimal string";
25325       license = with lib.licenses; [ artistic1 gpl1Plus ];
25326     };
25327   };
25329   TestHexString = buildPerlModule {
25330     pname = "Test-HexString";
25331     version = "0.03";
25332     src = fetchurl {
25333       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz";
25334       hash = "sha256-fUxM3BkvJZTceP916yz00FYfeUs27g6s7oxKGqigP0A=";
25335     };
25336     meta = {
25337       description = "Test binary strings with hex dump diagnostics";
25338       license = with lib.licenses; [ artistic1 gpl1Plus ];
25339     };
25340   };
25342   TestIdentity = buildPerlModule {
25343     pname = "Test-Identity";
25344     version = "0.01";
25345     src = fetchurl {
25346       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Identity-0.01.tar.gz";
25347       hash = "sha256-LwIFAJrtFSZoGCqvoWNXqx9HtMvAAeiYcbZzh++OXyM=";
25348     };
25349     meta = {
25350       description = "Assert the referential identity of a reference";
25351       license = with lib.licenses; [ artistic1 gpl1Plus ];
25352     };
25353   };
25355   TestHTTPServerSimple = buildPerlPackage {
25356     pname = "Test-HTTP-Server-Simple";
25357     version = "0.11";
25358     src = fetchurl {
25359       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz";
25360       hash = "sha256-hcl+vU3rgFKRsXJ3Ay2kiAcijyT4mxzi+zwJ96iWu3g=";
25361     };
25362     propagatedBuildInputs = [ HTTPServerSimple ];
25363     meta = {
25364       description = "Test::More functions for HTTP::Server::Simple";
25365       license = with lib.licenses; [ artistic1 gpl1Plus ];
25366     };
25367   };
25369   TestJSON = buildPerlModule {
25370     pname = "Test-JSON";
25371     version = "0.11";
25372     src = fetchurl {
25373       url = "mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz";
25374       hash = "sha256-B8CKsvzBKFDRrVT89q/prRoloJgxDD5xQq8dPLgh17M=";
25375     };
25376     propagatedBuildInputs = [ JSONAny ];
25377     buildInputs = [ TestDifferences ];
25378     meta = {
25379       description = "Test JSON data";
25380       license = with lib.licenses; [ artistic1 gpl1Plus ];
25381     };
25382   };
25384   TestKwalitee = buildPerlPackage {
25385     pname = "Test-Kwalitee";
25386     version = "1.28";
25387     src = fetchurl {
25388       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.28.tar.gz";
25389       hash = "sha256-tFNs3XVbWXciMtQyXae9T7f1vlC0WF27r3WO7DBiQ6M=";
25390     };
25391     propagatedBuildInputs = [ ModuleCPANTSAnalyse ];
25392     buildInputs = [ CPANMetaCheck TestDeep TestWarnings ];
25393     meta = {
25394       description = "Test the Kwalitee of a distribution before you release it";
25395       homepage = "https://github.com/karenetheridge/Test-Kwalitee";
25396       license = with lib.licenses; [ artistic1 gpl1Plus ];
25397       mainProgram = "kwalitee-metrics";
25398     };
25399   };
25401   TestLWPUserAgent = buildPerlPackage {
25402     pname = "Test-LWP-UserAgent";
25403     version = "0.036";
25404     src = fetchurl {
25405       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-LWP-UserAgent-0.036.tar.gz";
25406       hash = "sha256-BTJ1MNNGuAphpulD+9dJmGvcqJIRpOswHAjC0XkxThE=";
25407     };
25408     propagatedBuildInputs = [ LWP SafeIsa namespaceclean ];
25409     buildInputs = [ PathTiny Plack TestDeep TestFatal TestNeeds TestRequiresInternet TestWarnings ];
25410     meta = {
25411       description = "LWP::UserAgent suitable for simulating and testing network calls";
25412       homepage = "https://github.com/karenetheridge/Test-LWP-UserAgent";
25413       license = with lib.licenses; [ artistic1 gpl1Plus ];
25414     };
25415   };
25417   TestLeakTrace = buildPerlPackage {
25418     pname = "Test-LeakTrace";
25419     version = "0.17";
25420     src = fetchurl {
25421       url = "mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.17.tar.gz";
25422       hash = "sha256-d31k0pOPXqWGMA7vl+8D6stD1MGFPJw7EJHrMxFGeXA=";
25423     };
25424     meta = {
25425       description = "Traces memory leaks";
25426       homepage = "https://metacpan.org/release/Test-LeakTrace";
25427       license = with lib.licenses; [ artistic1 gpl1Plus ];
25428     };
25429   };
25431   TestLectroTest = buildPerlPackage {
25432     pname = "Test-LectroTest";
25433     version = "0.5001";
25434     src = fetchurl {
25435       url = "mirror://cpan/authors/id/T/TM/TMOERTEL/Test-LectroTest-0.5001.tar.gz";
25436       hash = "sha256-rCtPDZWJmvGhoex4TLdAsrkCVqvuEcg+eykRA+ye1zU=";
25437     };
25438     meta = {
25439       description = "Easy, automatic, specification-based tests";
25440       license = with lib.licenses; [ artistic1 gpl1Plus ];
25441     };
25442   };
25444   TestLoadAllModules = buildPerlPackage {
25445     pname = "Test-LoadAllModules";
25446     version = "0.022";
25447     src = fetchurl {
25448       url = "mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz";
25449       hash = "sha256-G4YfVVAgZIp0gdStKBqJ5iQYf4lDepizRjVpGyZeXP4=";
25450     };
25451     propagatedBuildInputs = [ ListMoreUtils ModulePluggable ];
25452     meta = {
25453       description = "Do use_ok for modules in search path";
25454       license = with lib.licenses; [ artistic1 gpl1Plus ];
25455     };
25456   };
25458   TestLongString = buildPerlPackage {
25459     pname = "Test-LongString";
25460     version = "0.17";
25461     src = fetchurl {
25462       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz";
25463       hash = "sha256-q8Q0nq8E0b7B5GQWajAYWR6oRtjzxcnIr0rEkF0+l08=";
25464     };
25465     meta = {
25466       description = "Tests strings for equality, with more helpful failures";
25467       license = with lib.licenses; [ artistic1 gpl1Plus ];
25468     };
25469   };
25471   TestMemoryCycle = buildPerlPackage {
25472     pname = "Test-Memory-Cycle";
25473     version = "1.06";
25474     src = fetchurl {
25475       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz";
25476       hash = "sha256-nVPd/clkzYRUyw2kxpW2o65HtFg5KRw0y52NHPqrMgI=";
25477     };
25478     propagatedBuildInputs = [ DevelCycle PadWalker ];
25479     meta = {
25480       description = "Verifies code hasn't left circular references";
25481       license = with lib.licenses; [ artistic2 ];
25482     };
25483   };
25485   TestMemoryGrowth = buildPerlModule {
25486     pname = "Test-MemoryGrowth";
25487     version = "0.04";
25488     src = fetchurl {
25489       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-MemoryGrowth-0.04.tar.gz";
25490       hash = "sha256-oGWFJ1Kr1J5BFbmPbbRsdSy71ePkjtAUXO45L3k9LtA=";
25491     };
25492     meta = {
25493       description = "Assert that code does not cause growth in memory usage";
25494       license = with lib.licenses; [ artistic1 gpl1Plus ];
25495       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TestMemoryGrowth.x86_64-darwin
25496     };
25497   };
25499   TestMetricsAny = buildPerlModule {
25500     pname = "Test-Metrics-Any";
25501     version = "0.01";
25502     src = fetchurl {
25503       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Metrics-Any-0.01.tar.gz";
25504       hash = "sha256-JQbIjU6yGydLEIX4BskY3Ml//2nhbRJJ5uGdlDYl5Gg=";
25505     };
25506     propagatedBuildInputs = [ MetricsAny ];
25507     meta = {
25508       description = "Assert that code produces metrics via Metrics::Any";
25509       license = with lib.licenses; [ artistic1 gpl1Plus ];
25510     };
25511   };
25513   TestMockClass = buildPerlModule {
25514     pname = "Test-Mock-Class";
25515     version = "0.0303";
25516     src = fetchurl {
25517       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz";
25518       hash = "sha256-zS5S/inKCrtsLmGvvDP7Qui+tCGzhL5rwGSs8xl28wI=";
25519     };
25520     buildInputs = [ ClassInspector TestAssert TestUnitLite ];
25521     propagatedBuildInputs = [ FatalException Moose namespaceclean ];
25522     meta = {
25523       description = "Simulating other classes";
25524       license = with lib.licenses; [ lgpl2Plus ];
25525     };
25526   };
25528   TestMockGuard = buildPerlModule {
25529     pname = "Test-Mock-Guard";
25530     version = "0.10";
25531     src = fetchurl {
25532       url = "mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-0.10.tar.gz";
25533       hash = "sha256-fyKKY/jWzrkqp4QIChPoUHMSGyg17KBteU+XCZUNvT0=";
25534     };
25535     propagatedBuildInputs = [ ClassLoad ];
25536     meta = {
25537       description = "Simple mock test library using RAII";
25538       homepage = "https://github.com/zigorou/p5-test-mock-guard";
25539       license = with lib.licenses; [ artistic1 gpl1Plus ];
25540     };
25541   };
25543   TestMockHTTPTiny = buildPerlPackage {
25544     pname = "Test-Mock-HTTP-Tiny";
25545     version = "0.002";
25546     src = fetchurl {
25547       url = "mirror://cpan/authors/id/O/OD/ODYNIEC/Test-Mock-HTTP-Tiny-0.002.tar.gz";
25548       hash = "sha256-+c+tfYUEZQvtNJO8bSyoLXuRvDcTyGxDXnXriKxb5eY=";
25549     };
25550     propagatedBuildInputs = [ TestDeep URI ];
25551     meta = {
25552       description = "Record and replay HTTP requests/responses with HTTP::Tiny";
25553       homepage = "https://github.com/odyniec/p5-Test-Mock-HTTP-Tiny";
25554       license = with lib.licenses; [ artistic1 gpl1Plus ];
25555     };
25556   };
25558   TestMockModule = buildPerlModule {
25559     pname = "Test-MockModule";
25560     version = "0.177.0";
25561     src = fetchurl {
25562       url = "mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.177.0.tar.gz";
25563       hash = "sha256-G9p6SdzqdgdtQKe2psPz4V5rGchLYXHfRFNNkROPEEU=";
25564     };
25565     propagatedBuildInputs = [ SUPER ];
25566     buildInputs = [ TestWarnings ];
25567     meta = {
25568       description = "Override subroutines in a module for unit testing";
25569       license = with lib.licenses; [ artistic1 gpl1Plus ];
25570     };
25571   };
25573   SUPER = buildPerlModule {
25574     pname = "SUPER";
25575     version = "1.20190531";
25576     src = fetchurl {
25577       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz";
25578       hash = "sha256-aF0e525/DpAGlCkjv334sRwQcTKZKRdZPc9zl9QX05o=";
25579     };
25580     propagatedBuildInputs = [ SubIdentify ];
25581     meta = {
25582       description = "Control superclass method dispatch";
25583       license = with lib.licenses; [ artistic1 gpl1Plus ];
25584     };
25585   };
25588   TestMockObject = buildPerlPackage {
25589     pname = "Test-MockObject";
25590     version = "1.20200122";
25591     src = fetchurl {
25592       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz";
25593       hash = "sha256-K3+A2of1pv4DYNnuUhBRBTAXRCw6Juhdto36yfgwdiM=";
25594     };
25595     buildInputs = [ TestException TestWarn ];
25596     propagatedBuildInputs = [ UNIVERSALcan UNIVERSALisa ];
25597     meta = {
25598       description = "Perl extension for emulating troublesome interfaces";
25599       license = with lib.licenses; [ artistic1 gpl1Plus ];
25600     };
25601   };
25603   TestMockTime = buildPerlPackage {
25604     pname = "Test-MockTime";
25605     version = "0.17";
25606     src = fetchurl {
25607       url = "mirror://cpan/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz";
25608       hash = "sha256-M2PhGLJgbx1qvJVvIrDQkQl3K3CGFV+1ycf5gzUGAvk=";
25609     };
25610     meta = {
25611       description = "Replaces actual time with simulated time";
25612       license = with lib.licenses; [ artistic1 gpl1Plus ];
25613     };
25614   };
25616   TestMockTimeHiRes = buildPerlModule {
25617     pname = "Test-MockTime-HiRes";
25618     version = "0.08";
25619     src = fetchurl {
25620       url = "mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz";
25621       hash = "sha256-X0n3rviV0yfa/fJ0TznBdsirDkuCJ9LW495omiWb3sE=";
25622     };
25623     buildInputs = [ AnyEvent ModuleBuildTiny TestClass TestRequires ];
25624     propagatedBuildInputs = [ TestMockTime ];
25625     meta = {
25626       description = "Replaces actual time with simulated high resolution time";
25627       homepage = "https://github.com/tarao/perl5-Test-MockTime-HiRes";
25628       license = with lib.licenses; [ artistic1 gpl1Plus ];
25629     };
25630   };
25632   TestMojibake = buildPerlPackage {
25633     pname = "Test-Mojibake";
25634     version = "1.3";
25635     src = fetchurl {
25636       url = "mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz";
25637       hash = "sha256-j/51/5tpNSSIcn3Kc9uR+KoUtZ8voQTrdxfA1xpfGzM=";
25638     };
25639     meta = {
25640       description = "Check your source for encoding misbehavior";
25641       homepage = "https://github.com/creaktive/Test-Mojibake";
25642       license = with lib.licenses; [ artistic1 gpl1Plus ];
25643       mainProgram = "scan_mojibake";
25644     };
25645   };
25647   TestMoreUTF8 = buildPerlPackage {
25648     pname = "Test-More-UTF8";
25649     version = "0.05";
25650     src = fetchurl {
25651       url = "mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-0.05.tar.gz";
25652       hash = "sha256-ufHEs2qXzf76pT7REV3Tj0tIMDd3X2VZ7h3xSs/RzgQ=";
25653     };
25654     meta = {
25655       description = "Enhancing Test::More for UTF8-based projects";
25656       license = with lib.licenses; [ artistic1 gpl1Plus ];
25657     };
25658   };
25660   TestMost = buildPerlPackage {
25661     pname = "Test-Most";
25662     version = "0.38";
25663     src = fetchurl {
25664       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.38.tar.gz";
25665       hash = "sha256-CJ64lPe6zkw3xjNODikOsgM47hAiOvDILL5ygceDgt8=";
25666     };
25667     propagatedBuildInputs = [ ExceptionClass ];
25668     buildInputs = [ TestDeep TestDifferences TestException TestWarn ];
25669     meta = {
25670       description = "Most commonly needed test functions and features";
25671       license = with lib.licenses; [ artistic1 gpl1Plus ];
25672     };
25673   };
25675   Testmysqld = buildPerlModule {
25676     pname = "Test-mysqld";
25677     version = "1.0013";
25678     src = fetchurl {
25679       url = "mirror://cpan/authors/id/S/SO/SONGMU/Test-mysqld-1.0013.tar.gz";
25680       hash = "sha256-V61BoJBXyWO1gsgaB276UPpW664hd9gwd33oOGBePu8=";
25681     };
25682     buildInputs = [ pkgs.which ModuleBuildTiny TestSharedFork ];
25683     propagatedBuildInputs = [ ClassAccessorLite DBDmysql FileCopyRecursive ];
25684     meta = {
25685       description = "Mysqld runner for tests";
25686       homepage = "https://github.com/kazuho/p5-test-mysqld";
25687       license = with lib.licenses; [ artistic1 gpl1Plus ];
25688       maintainers = [ maintainers.sgo ];
25689     };
25690   };
25692   TestNeeds = buildPerlPackage {
25693     pname = "Test-Needs";
25694     version = "0.002010";
25695     src = fetchurl {
25696       url = "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-0.002010.tar.gz";
25697       hash = "sha256-kj/9x4/LqWYJdT5LriawugGGiT3kpjzVI24BLHyQ4gg=";
25698     };
25699     meta = {
25700       description = "Skip tests when modules not available";
25701       license = with lib.licenses; [ artistic1 gpl1Plus ];
25702     };
25703   };
25705   TestNoTabs = buildPerlPackage {
25706     pname = "Test-NoTabs";
25707     version = "2.02";
25708     src = fetchurl {
25709       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.02.tar.gz";
25710       hash = "sha256-+3XGo4ch8BaeEcHn2+UyntchaIWgsBEj80LdhtM1YDA=";
25711     };
25712     meta = {
25713       description = "Check the presence of tabs in your project";
25714       homepage = "https://github.com/karenetheridge/Test-NoTabs";
25715       license = with lib.licenses; [ artistic1 gpl1Plus ];
25716     };
25717   };
25719   TestNoWarnings = buildPerlPackage {
25720     pname = "Test-NoWarnings";
25721     version = "1.06";
25722     src = fetchurl {
25723       url = "mirror://cpan/authors/id/H/HA/HAARG/Test-NoWarnings-1.06.tar.gz";
25724       hash = "sha256-wtxRFDt+tjIxIQ4n3yDSyDk3cuCjM1R+yLeiBe1i9zc=";
25725     };
25726     meta = {
25727       description = "Make sure you didn't emit any warnings while testing";
25728       license = with lib.licenses; [ lgpl21Only ];
25729     };
25730   };
25732   TestObject = buildPerlPackage {
25733     pname = "Test-Object";
25734     version = "0.08";
25735     src = fetchurl {
25736       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz";
25737       hash = "sha256-ZSeJZBR4NzE/QQjlW1lnboo2TW7fAbPcGYruiUqx0Ls=";
25738     };
25739     meta = {
25740       description = "Thoroughly testing objects via registered handlers";
25741       license = with lib.licenses; [ artistic1 gpl1Plus ];
25742     };
25743   };
25745   TestOutput = buildPerlPackage {
25746     pname = "Test-Output";
25747     version = "1.034";
25748     src = fetchurl {
25749       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.034.tar.gz";
25750       hash = "sha256-zULigBwNK0gtGMn7SwbHVwVIGLy7KCTl378zrXo9aaA=";
25751     };
25752     propagatedBuildInputs = [ CaptureTiny ];
25753     meta = {
25754       description = "Utilities to test STDOUT and STDERR messages";
25755       license = with lib.licenses; [ artistic2 ];
25756     };
25757   };
25759   TestPAUSEPermissions = buildPerlPackage {
25760     pname = "Test-PAUSE-Permissions";
25761     version = "0.07";
25762     src = fetchurl {
25763       url = "mirror://cpan/authors/id/S/SK/SKAJI/Test-PAUSE-Permissions-0.07.tar.gz";
25764       hash = "sha256-VXDBu/KbxjeoRWcIuaJ0bPT8usE3SF7f82D48I5xBz4=";
25765     };
25766     propagatedBuildInputs = [ ConfigIdentity PAUSEPermissions ParseLocalDistribution ];
25767     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
25768     meta = {
25769       description = "Tests module permissions in your distribution";
25770       license = with lib.licenses; [ artistic1 gpl1Plus ];
25771     };
25772   };
25774   TestPerlCritic = buildPerlModule {
25775     pname = "Test-Perl-Critic";
25776     version = "1.04";
25777     src = fetchurl {
25778       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz";
25779       hash = "sha256-KPgGtUEseQi1bPFnMIS4tEzhy1TJQX14TZFCjhoECW4=";
25780     };
25781     propagatedBuildInputs = [ MCE PerlCritic ];
25782     meta = {
25783       description = "Use Perl::Critic in test programs";
25784       license = with lib.licenses; [ artistic1 gpl1Plus ];
25785     };
25786   };
25788   TestPerlTidy = buildPerlModule {
25789     pname = "Test-PerlTidy";
25790     version = "20230226";
25791     src = fetchurl {
25792       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-PerlTidy-20230226.tar.gz";
25793       hash = "sha256-wOJCEQeVeV1Nu2xEFmzlV09cftuninidG8rnZoXYA8E=";
25794     };
25795     propagatedBuildInputs = [ PathTiny PerlTidy TextDiff ];
25796     buildInputs = [ TestPerlCritic ];
25797     meta = {
25798       description = "Check that all your files are tidy";
25799       homepage = "https://metacpan.org/release/Test-PerlTidy";
25800       license = with lib.licenses; [ artistic1 gpl1Plus ];
25801     };
25802   };
25804   TestPod = buildPerlPackage {
25805     pname = "Test-Pod";
25806     version = "1.52";
25807     src = fetchurl {
25808       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz";
25809       hash = "sha256-YKjbzGAWi/HapcwjUCNt+TQ+mHj0q5gwlwpd3m/o5fw=";
25810     };
25811     meta = {
25812       description = "Check for POD errors in files";
25813       homepage = "https://search.cpan.org/dist/Test-Pod";
25814       license = with lib.licenses; [ artistic1 gpl1Plus ];
25815     };
25816   };
25818   TestPodCoverage = buildPerlPackage {
25819     pname = "Test-Pod-Coverage";
25820     version = "1.10";
25821     src = fetchurl {
25822       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz";
25823       hash = "sha256-SMnMqffZnu50EXZEW0Ma3wnAKeGqV8RwPJ9G92AdQNQ=";
25824     };
25825     propagatedBuildInputs = [ PodCoverage ];
25826     meta = {
25827       description = "Check for pod coverage in your distribution";
25828       license = with lib.licenses; [ artistic2 ];
25829     };
25830   };
25832   TestPodLinkCheck = buildPerlModule {
25833     pname = "Test-Pod-LinkCheck";
25834     version = "0.008";
25835     src = fetchurl {
25836       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.008.tar.gz";
25837       hash = "sha256-K/53EXPDi2nusIlQTj92URuOReap5trD5hbkAOpnvPA=";
25838     };
25839     buildInputs = [ ModuleBuildTiny TestPod ];
25840     propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck ];
25841     meta = {
25842       description = "Tests POD for invalid links";
25843       homepage = "https://search.cpan.org/dist/Test-Pod-LinkCheck";
25844       license = with lib.licenses; [ artistic1 gpl1Plus ];
25845     };
25846   };
25848   TestPodNo404s = buildPerlModule {
25849     pname = "Test-Pod-No404s";
25850     version = "0.02";
25851     src = fetchurl {
25852       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-No404s-0.02.tar.gz";
25853       hash = "sha256-EcYGBW/WK9ROB5977wbEWapYnuhc3tv6DMMl6jV8jnk=";
25854     };
25855     propagatedBuildInputs = [ LWP URIFind ];
25856     buildInputs = [ ModuleBuildTiny TestPod ];
25857     meta = {
25858       description = "Using this test module will check your POD for any http 404 links";
25859       homepage = "https://search.cpan.org/dist/Test-Pod-No404s";
25860       license = with lib.licenses; [ artistic1 gpl1Plus ];
25861     };
25862   };
25864   TestPortabilityFiles = buildPerlPackage {
25865     pname = "Test-Portability-Files";
25866     version = "0.10";
25867     src = fetchurl {
25868       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.10.tar.gz";
25869       hash = "sha256-COS0MkktwbRLVdXbV5Uut2N5x/Q07o8WrKZNSR9AGhY=";
25870     };
25871     meta = {
25872       description = "Check file names portability";
25873       license = with lib.licenses; [ artistic1 gpl1Plus ];
25874     };
25875   };
25877   TestRefcount = buildPerlModule {
25878     pname = "Test-Refcount";
25879     version = "0.10";
25880     src = fetchurl {
25881       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Refcount-0.10.tar.gz";
25882       hash = "sha256-BFfCCklWRz0VfE+q/4gUFUvJP24rVDwoEqGf+OM3DrI=";
25883     };
25884     meta = {
25885       description = "Assert reference counts on objects";
25886       license = with lib.licenses; [ artistic1 gpl1Plus ];
25887     };
25888   };
25890   TestRequires = buildPerlPackage {
25891     pname = "Test-Requires";
25892     version = "0.11";
25893     src = fetchurl {
25894       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz";
25895       hash = "sha256-S4jeVJWX7s3ffDw4pNAgShb1mtgEV3tnGJasBOJOBA8=";
25896     };
25897     meta = {
25898       description = "Checks to see if the module can be loaded";
25899       homepage = "https://github.com/tokuhirom/Test-Requires";
25900       license = with lib.licenses; [ artistic1 gpl1Plus ];
25901     };
25902   };
25904   TestRequiresGit = buildPerlPackage {
25905     pname = "Test-Requires-Git";
25906     version = "1.008";
25907     src = fetchurl {
25908       url = "mirror://cpan/authors/id/B/BO/BOOK/Test-Requires-Git-1.008.tar.gz";
25909       hash = "sha256-cJFiEJcNhNdJFFEVmri2fhUlHIwNrnw99sjYhULqQqY=";
25910     };
25911     propagatedBuildInputs = [ GitVersionCompare ];
25912     meta = {
25913       description = "Check your test requirements against the available version of Git";
25914       license = with lib.licenses; [ artistic1 gpl1Plus ];
25915     };
25916   };
25918   TestRequiresInternet = buildPerlPackage {
25919     pname = "Test-RequiresInternet";
25920     version = "0.05";
25921     src = fetchurl {
25922       url = "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz";
25923       hash = "sha256-u6ezKhzA1Yzi7CCyAKc0fGljFkHoyuj/RWetJO8egz4=";
25924     };
25925     meta = {
25926       description = "Easily test network connectivity";
25927       homepage = "https://metacpan.org/dist/Test-RequiresInternet";
25928       license = with lib.licenses; [ artistic1 gpl1Plus ];
25929     };
25930   };
25932   TestRoo = buildPerlPackage {
25933     pname = "Test-Roo";
25934     version = "1.004";
25935     src = fetchurl {
25936       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-1.004.tar.gz";
25937       hash = "sha256-IRKaPOy1B7AJSOFs8V/N5dxNsjWrqEr9f0fSIBOp3tY=";
25938     };
25940     propagatedBuildInputs = [ Moo MooXTypesMooseLike SubInstall strictures ];
25941     buildInputs = [ CaptureTiny ];
25942     meta = {
25943       description = "Composable, reusable tests with roles and Moo";
25944       license = with lib.licenses; [ asl20 ];
25945     };
25946   };
25948   TestRoutine = buildPerlPackage {
25949     pname = "Test-Routine";
25950     version = "0.031";
25951     src = fetchurl {
25952       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.031.tar.gz";
25953       hash = "sha256-f9kp7TPyVMoJkCJQGSYInHeU71d7uoYHbn2YFlYPXAc=";
25954     };
25955     buildInputs = [ TestAbortable TestFatal ];
25956     propagatedBuildInputs = [ Moose namespaceautoclean ];
25957     meta = {
25958       description = "Composable units of assertion";
25959       homepage = "https://github.com/rjbs/Test-Routine";
25960       license = with lib.licenses; [ artistic1 gpl1Plus ];
25961     };
25962   };
25964   TestRun = buildPerlModule {
25965     pname = "Test-Run";
25966     version = "0.0305";
25967     src = fetchurl {
25968       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-0.0305.tar.gz";
25969       hash = "sha256-+Jpx3WD44qd26OYBd8ntXlkJbUAF1QvSmJuSeeCHwkg=";
25970     };
25971     buildInputs = [ TestTrap ];
25972     propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
25973     meta = {
25974       description = "Base class to run standard TAP scripts";
25975       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25976       license = with lib.licenses; [ mit ];
25977     };
25978   };
25980   TestRunCmdLine = buildPerlModule {
25981     pname = "Test-Run-CmdLine";
25982     version = "0.0132";
25983     src = fetchurl {
25984       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-CmdLine-0.0132.tar.gz";
25985       hash = "sha256-ssORzVRjV378dti/so6tKz1OOm+pLbDvNMANyfTPpwc=";
25986     };
25987     buildInputs = [ TestRun TestTrap ];
25988     propagatedBuildInputs = [ MooseXGetopt UNIVERSALrequire YAMLLibYAML ];
25989     doCheck = !stdenv.hostPlatform.isDarwin;
25990     meta = {
25991       description = "Analyze tests from the command line using Test::Run";
25992       homepage = "http://web-cpan.berlios.de/modules/Test-Run";
25993       license = with lib.licenses; [ mit ];
25994       mainProgram = "runprove";
25995     };
25996   };
25998   TestRunPluginAlternateInterpreters = buildPerlModule {
25999     pname = "Test-Run-Plugin-AlternateInterpreters";
26000     version = "0.0125";
26001     src = fetchurl {
26002       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-AlternateInterpreters-0.0125.tar.gz";
26003       hash = "sha256-UsNomxRdgh8XCj8uXPM6DCkoKE3d6W1sN88VAA8ymbs=";
26004     };
26005     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
26006     propagatedBuildInputs = [ Moose ];
26007     meta = {
26008       description = "Define different interpreters for different test scripts with Test::Run";
26009       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
26010       license = with lib.licenses; [ mit ];
26011     };
26012   };
26014   TestRunPluginBreakOnFailure = buildPerlModule {
26015     pname = "Test-Run-Plugin-BreakOnFailure";
26016     version = "0.0.6";
26017     src = fetchurl {
26018       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.6.tar.gz";
26019       hash = "sha256-oBgO4+LwwUQSkFXaBeKTFRC59QcXTQ+6yjwMndBNE6k=";
26020     };
26021     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
26022     propagatedBuildInputs = [ Moose ];
26023     meta = {
26024       description = "Stop processing the entire test suite";
26025       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
26026       license = with lib.licenses; [ mit ];
26027     };
26028   };
26030   TestRunPluginColorFileVerdicts = buildPerlModule {
26031     pname = "Test-Run-Plugin-ColorFileVerdicts";
26032     version = "0.0125";
26033     src = fetchurl {
26034       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorFileVerdicts-0.0125.tar.gz";
26035       hash = "sha256-HCQaLBSm/WZLRy5Lb2iP1gyHlzsxjITgFIccBn8uHkY=";
26036     };
26037     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
26038     propagatedBuildInputs = [ Moose ];
26039     moreInputs = [ TestTrap ]; # Added because tests were failing without it
26040     doCheck=true;
26041     meta = {
26042       description = "Make the file verdict ('ok', 'NOT OK')";
26043       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
26044       license = with lib.licenses; [ mit ];
26045     };
26046   };
26048   TestRunPluginColorSummary = buildPerlModule {
26049     pname = "Test-Run-Plugin-ColorSummary";
26050     version = "0.0203";
26051     src = fetchurl {
26052       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorSummary-0.0203.tar.gz";
26053       hash = "sha256-e9l5N5spa1EPxVuxwAuKEM00hQ5OIZf1cBtUYAY/iv0=";
26054     };
26055     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
26056     moreInputs = [ TestTrap ]; # Added because tests were failing without it
26057     doCheck=true;
26058     meta = {
26059       description = "Test::Run plugin that";
26060       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
26061       license = with lib.licenses; [ mit ];
26062     };
26063   };
26065   TestRunPluginTrimDisplayedFilenames = buildPerlModule {
26066     pname = "Test-Run-Plugin-TrimDisplayedFilenames";
26067     version = "0.0126";
26068     src = fetchurl {
26069       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-TrimDisplayedFilenames-0.0126.tar.gz";
26070       hash = "sha256-ioZJw8anmIp3N65KcW1g4MazIXMBtAFT6tNquPTqkCg=";
26071     };
26072     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
26073     propagatedBuildInputs = [ Moose ];
26074     meta = {
26075       description = "Trim the first components";
26076       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
26077       license = with lib.licenses; [ mit ];
26078     };
26079   };
26081   TestRunValgrind = buildPerlModule {
26082     pname = "Test-RunValgrind";
26083     version = "0.2.2";
26084     src = fetchurl {
26085       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-0.2.2.tar.gz";
26086       hash = "sha256-aRPRTK3CUbI8W3I1+NSsPeKHE41xK3W9lLACrwuPpe4=";
26087     };
26088     buildInputs = [ TestTrap ];
26089     propagatedBuildInputs = [ PathTiny ];
26090     meta = {
26091       description = "Tests that an external program is valgrind-clean";
26092       homepage = "https://metacpan.org/release/Test-RunValgrind";
26093       license = with lib.licenses; [ mit ];
26094     };
26095   };
26097   TestScript = buildPerlPackage {
26098     pname = "Test-Script";
26099     version = "1.29";
26100     src = fetchurl {
26101       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.29.tar.gz";
26102       hash = "sha256-iS5+bB6nsWcQkJlCz1wL2rcO7i79SqnBbqlS4rkPiVA=";
26103     };
26105     buildInputs = [ Test2Suite ];
26107     propagatedBuildInputs = [ CaptureTiny ProbePerl ];
26108     meta = {
26109       description = "Basic cross-platform tests for scripts";
26110       license = with lib.licenses; [ artistic1 gpl1Plus ];
26111     };
26112   };
26114   TestScriptRun = buildPerlPackage {
26115     pname = "Test-Script-Run";
26116     version = "0.08";
26117     src = fetchurl {
26118       url = "mirror://cpan/authors/id/S/SU/SUNNAVY/Test-Script-Run-0.08.tar.gz";
26119       hash = "sha256-H+8hbnC8QlrOPixDcN/N3bXnmLCZ77omeSRKTVvBqwo=";
26120     };
26121     propagatedBuildInputs = [ IPCRun3 TestException ];
26122     meta = {
26123       description = "Test scripts with run";
26124       license = with lib.licenses; [ artistic1 gpl1Plus ];
26125     };
26126   };
26128   TestSharedFork = buildPerlPackage {
26129     pname = "Test-SharedFork";
26130     version = "0.35";
26131     src = fetchurl {
26132       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.35.tar.gz";
26133       hash = "sha256-KTLoZWEOgHWPdkxYZ1fvjhHbEoTZWOJeS3qFCYQUxZ8=";
26134     };
26135     buildInputs = [ TestRequires ];
26136     meta = {
26137       description = "Fork test";
26138       homepage = "https://github.com/tokuhirom/Test-SharedFork";
26139       license = with lib.licenses; [ artistic1 gpl1Plus ];
26140     };
26141   };
26143   TestSimple13 = buildPerlPackage {
26144     pname = "Test-Simple";
26145     version = "1.302195";
26146     src = fetchurl {
26147       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302195.tar.gz";
26148       hash = "sha256-s5C7I1kuC5Rsla27PDCxG8Y0ooayhHvmEa2SnFfjmmw=";
26149     };
26150     meta = {
26151       description = "Basic utilities for writing tests";
26152       license = with lib.licenses; [ artistic1 gpl1Plus ];
26153     };
26154   };
26156   TestSnapshot = buildPerlPackage {
26157     pname = "Test-Snapshot";
26158     version = "0.06";
26159     src = fetchurl {
26160       url = "mirror://cpan/authors/id/E/ET/ETJ/Test-Snapshot-0.06.tar.gz";
26161       hash = "sha256-9N16mlW6oiR1QK40IQzQWgT50QYb7+yXockO2pW/rkU=";
26162     };
26163     buildInputs = [ CaptureTiny ];
26164     propagatedBuildInputs = [ TextDiff ];
26165     meta = {
26166       description = "Test against data stored in automatically-named file";
26167       license = with lib.licenses; [ artistic2 ];
26168     };
26169   };
26171   TestSpec = buildPerlPackage {
26172     pname = "Test-Spec";
26173     version = "0.54";
26174     src = fetchurl {
26175       url = "mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz";
26176       hash = "sha256-CjHPEmXc7pC7xCRWrWC7Njr8f6xml//7D9SbupKhZdI=";
26177     };
26178     propagatedBuildInputs = [ DevelGlobalPhase PackageStash TieIxHash ];
26179     buildInputs = [ TestDeep TestTrap ];
26180     meta = {
26181       description = "Write tests in a declarative specification style";
26182       license = with lib.licenses; [ artistic1 gpl1Plus ];
26183     };
26184   };
26186   TestSubCalls = buildPerlPackage {
26187     pname = "Test-SubCalls";
26188     version = "1.10";
26189     src = fetchurl {
26190       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz";
26191       hash = "sha256-y8Hps1oF5x/rwT5e9UejHIJJiZu2AR29ydn/Nm3atsI=";
26192     };
26193     propagatedBuildInputs = [ HookLexWrap ];
26194     meta = {
26195       description = "Track the number of times subs are called";
26196       license = with lib.licenses; [ artistic1 gpl1Plus ];
26197     };
26198   };
26200   TestSynopsis = buildPerlPackage {
26201     pname = "Test-Synopsis";
26202     version = "0.17";
26203     src = fetchurl {
26204       url = "mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.17.tar.gz";
26205       hash = "sha256-0mjJizPS+hTbsisg1lYbq0ie6CWH374ZrSd2IMe4tt4=";
26206     };
26207     meta = {
26208       description = "Test your SYNOPSIS code";
26209       homepage = "https://metacpan.org/release/Test-Synopsis";
26210       license = with lib.licenses; [ artistic1 gpl1Plus ];
26211     };
26212   };
26214   TestTableDriven = buildPerlPackage {
26215     pname = "Test-TableDriven";
26216     version = "0.02";
26217     src = fetchurl {
26218       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz";
26219       hash = "sha256-Qlh4r88qFOBHyviRsZFen1/7A2lBYJxDjg370bWxhZo=";
26220     };
26221     meta = {
26222       description = "Write tests, not scripts that run them";
26223       license = with lib.licenses; [ artistic1 gpl1Plus ];
26224     };
26225   };
26227   TestTempDirTiny = buildPerlPackage {
26228     pname = "Test-TempDir-Tiny";
26229     version = "0.018";
26230     src = fetchurl {
26231       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-TempDir-Tiny-0.018.tar.gz";
26232       hash = "sha256-17eh/X/M4BaNRPuIdpGP6KmvSa4OuLCWJbZ7GNcfXoE=";
26233     };
26234     meta = {
26235       description = "Temporary directories that stick around when tests fail";
26236       homepage = "https://github.com/dagolden/Test-TempDir-Tiny";
26237       license = with lib.licenses; [ asl20 ];
26238     };
26239   };
26241   TestTCP = buildPerlPackage {
26242     pname = "Test-TCP";
26243     version = "2.22";
26244     src = fetchurl {
26245       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz";
26246       hash = "sha256-PlPDwG1tCYCiv+uRVgK3FOaC7iEa6IwRdIzyzHFOe1c=";
26247     };
26248     buildInputs = [ TestSharedFork ];
26249     meta = {
26250       description = "Testing TCP program";
26251       homepage = "https://github.com/tokuhirom/Test-TCP";
26252       license = with lib.licenses; [ artistic1 gpl1Plus ];
26253     };
26254   };
26256   TestUNIXSock = buildPerlModule rec {
26257     pname = "Test-UNIXSock";
26258     version = "0.4";
26259     src = fetchurl {
26260       url = "mirror://cpan/authors/id/F/FU/FUJIWARA/${pname}-${version}.tar.gz";
26261       hash = "sha256-NzC0zBA0Es+/b+JHvbwwC+l94wnMmxxcvVc3E7hojz8=";
26262     };
26263     buildInputs = [ ModuleBuildTiny ];
26264     propagatedBuildInputs = [ TestSharedFork TestTCP ];
26265     meta = {
26266       description = "Testing UNIX domain socket program";
26267       homepage = "https://github.com/fujiwara/Test-UNIXSock";
26268       license = with lib.licenses; [ artistic1 gpl1Plus ];
26269     };
26270   };
26272   TestTime = buildPerlPackage {
26273     pname = "Test-Time";
26274     version = "0.092";
26275     src = fetchurl {
26276       url = "mirror://cpan/authors/id/A/AN/ANATOFUZ/Test-Time-0.092.tar.gz";
26277       hash = "sha256-MNkPVM6ECJPHuiysKk0e7NTJzfgFkQxZXjronf1kRzg=";
26278     };
26279     meta = {
26280       description = "Overrides the time() and sleep() core functions for testing";
26281       homepage = "https://github.com/cho45/Test-Time";
26282       license = with lib.licenses; [ artistic1 gpl1Plus ];
26283     };
26284   };
26286   TestToolbox = buildPerlModule {
26287     pname = "Test-Toolbox";
26288     version = "0.4";
26289     src = fetchurl {
26290       url = "mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz";
26291       hash = "sha256-QCC1x/OhWsmxh9Bd/ZgWuAMOwNSkf/g3P3Yzu2FOvcM=";
26292     };
26293     meta = {
26294       description = "Test::Toolbox - tools for testing";
26295       license = with lib.licenses; [ artistic1 gpl1Plus ];
26296     };
26297   };
26299   TestTrailingSpace = buildPerlModule {
26300     pname = "Test-TrailingSpace";
26301     version = "0.0601";
26302     src = fetchurl {
26303       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0601.tar.gz";
26304       hash = "sha256-q7jOdEg6Y9c/4e9gO3zgptR8mO3nMZVdc1eE+tHcT8w=";
26305     };
26306     buildInputs = [ FileTreeCreate ];
26307     propagatedBuildInputs = [ FileFindObjectRule ];
26308     meta = {
26309       description = "Test for trailing space in source files";
26310       homepage = "https://metacpan.org/release/Test-TrailingSpace";
26311       license = with lib.licenses; [ mit ];
26312     };
26313   };
26315   TestUnitLite = buildPerlModule {
26316     pname = "Test-Unit-Lite";
26317     version = "0.1202";
26318     src = fetchurl {
26319       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz";
26320       hash = "sha256-NR0l7nExYoqvfjmV/h//uJOuf+bvWM8zcO0yCVP1sqg=";
26321     };
26322     meta = {
26323       description = "Unit testing without external dependencies";
26324       license = with lib.licenses; [ artistic1 gpl1Plus ];
26325     };
26326   };
26328   TestWarn = buildPerlPackage {
26329     pname = "Test-Warn";
26330     version = "0.37";
26331     src = fetchurl {
26332       url = "mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.37.tar.gz";
26333       hash = "sha256-mMoy5/L16om4v7mgYJl389FT4kLi5RcFEmy5VPGga1c=";
26334     };
26335     propagatedBuildInputs = [ SubUplevel ];
26336     meta = {
26337       description = "Perl extension to test methods for warnings";
26338       license = with lib.licenses; [ artistic1 gpl1Plus ];
26339     };
26340   };
26342   TestWarnings = buildPerlPackage {
26343     pname = "Test-Warnings";
26344     version = "0.032";
26345     src = fetchurl {
26346       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.032.tar.gz";
26347       hash = "sha256-Ryfa4kFunwfkHi3DqRQ7pq/8HsV2UhF8mdUAOOMT6dk=";
26348     };
26349     buildInputs = [ CPANMetaCheck PadWalker ];
26350     meta = {
26351       description = "Test for warnings and the lack of them";
26352       homepage = "https://github.com/karenetheridge/Test-Warnings";
26353       license = with lib.licenses; [ artistic1 gpl1Plus ];
26354     };
26355   };
26357   TestWeaken = buildPerlPackage {
26358     pname = "Test-Weaken";
26359     version = "3.022000";
26360     src = fetchurl {
26361       url = "mirror://cpan/authors/id/K/KR/KRYDE/Test-Weaken-3.022000.tar.gz";
26362       hash = "sha256-JjGocSExAmLg6WEHpvoO1pSHt3AVIHc77l+prMwpX1s=";
26363     };
26364     propagatedBuildInputs = [ ScalarListUtils ];
26365     meta = {
26366       description = "Test that freed memory objects were, indeed, freed";
26367       license = with lib.licenses; [ artistic1 gpl1Plus ];
26368     };
26369   };
26371   TestWithoutModule = buildPerlPackage {
26372     pname = "Test-Without-Module";
26373     version = "0.21";
26374     src = fetchurl {
26375       url = "mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.21.tar.gz";
26376       hash = "sha256-PN6vraxIU+vq/miTRtVV2l36PPqdTITj5ee/7lC+7EY=";
26377     };
26378     meta = {
26379       description = "Test fallback behaviour in absence of modules";
26380       license = with lib.licenses; [ artistic1 gpl1Plus ];
26381     };
26382   };
26384   TestWWWMechanize = buildPerlPackage {
26385     pname = "Test-WWW-Mechanize";
26386     version = "1.60";
26387     src = fetchurl {
26388       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.60.tar.gz";
26389       hash = "sha256-I/1y5+0b553h0CotFfDfCTQV4Oq2/GFf9rtoh0Emhnc=";
26390     };
26391     buildInputs = [ TestLongString ];
26392     propagatedBuildInputs = [ CarpAssertMore HTTPServerSimple WWWMechanize ];
26393     meta = {
26394       description = "Testing-specific WWW::Mechanize subclass";
26395       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
26396       license = with lib.licenses; [ artistic2 ];
26397     };
26398   };
26400   TestWWWMechanizeCatalyst = buildPerlPackage {
26401     pname = "Test-WWW-Mechanize-Catalyst";
26402     version = "0.62";
26403     src = fetchurl {
26404       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz";
26405       hash = "sha256-GDveGuerpw3LPtd3xVSCN/QsPtVR/VvGWM7obQIWrLE=";
26406     };
26407     doCheck = false; # listens on an external port
26408     propagatedBuildInputs = [ CatalystRuntime WWWMechanize ];
26409     buildInputs = [ CatalystPluginSession CatalystPluginSessionStateCookie TestException TestWWWMechanize Testutf8 ];
26410     meta = {
26411       description = "Test::WWW::Mechanize for Catalyst";
26412       license = with lib.licenses; [ artistic1 gpl1Plus ];
26413     };
26414   };
26416   TestWWWMechanizeCGI = buildPerlPackage {
26417     pname = "Test-WWW-Mechanize-CGI";
26418     version = "0.1";
26419     src = fetchurl {
26420       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz";
26421       hash = "sha256-pXagsi470a/JJ0/FY7A3ru53cThJyev2pq1EFcFsnC8=";
26422     };
26423     propagatedBuildInputs = [ WWWMechanizeCGI ];
26424     buildInputs = [ TestLongString TestWWWMechanize ];
26425     meta = {
26426       description = "Test CGI applications with Test::WWW::Mechanize";
26427       license = with lib.licenses; [ artistic1 gpl1Plus ];
26428     };
26429   };
26431   TestWWWMechanizePSGI = buildPerlPackage {
26432     pname = "Test-WWW-Mechanize-PSGI";
26433     version = "0.39";
26434     src = fetchurl {
26435       url = "mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.39.tar.gz";
26436       hash = "sha256-R2s6s7R9U05Nag9JkAIdXTTGnsk3rAcW5mzop7yHmVg=";
26437     };
26438     buildInputs = [ CGI TestLongString TestWWWMechanize ];
26439     propagatedBuildInputs = [ Plack ];
26440     meta = {
26441       description = "Test PSGI programs using WWW::Mechanize";
26442       homepage = "https://github.com/acme/test-www-mechanize-psgi";
26443       license = with lib.licenses; [ artistic1 gpl1Plus ];
26444     };
26445   };
26447   TestXPath = buildPerlPackage {
26448     pname = "Test-XPath";
26449     version = "0.20";
26450     src = fetchurl {
26451       url = "mirror://cpan/authors/id/M/MA/MANWAR/Test-XPath-0.20.tar.gz";
26452       hash = "sha256-36phHnFGrZyXabW89oiUmXa4Ny3354ekC5M6FI2JIDk=";
26453     };
26454     propagatedBuildInputs = [ XMLLibXML ];
26455     meta = {
26456       description = "Test XML and HTML content and structure with XPath expressions";
26457       license = with lib.licenses; [ artistic1 gpl1Plus ];
26458     };
26459   };
26461   TestYAML = buildPerlPackage {
26462     pname = "Test-YAML";
26463     version = "1.07";
26464     src = fetchurl {
26465       url = "mirror://cpan/authors/id/T/TI/TINITA/Test-YAML-1.07.tar.gz";
26466       hash = "sha256-HzANA09GKYy5KWCRLMBLrDP7J/BbiFLY8FHhELnNmV8=";
26467     };
26468     buildInputs = [ TestBase ];
26469     meta = {
26470       description = "Testing Module for YAML Implementations";
26471       license = with lib.licenses; [ artistic1 gpl1Plus ];
26472       mainProgram = "test-yaml";
26473     };
26474   };
26476   TextAligner = buildPerlModule {
26477     pname = "Text-Aligner";
26478     version = "0.16";
26479     src = fetchurl {
26480       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.16.tar.gz";
26481       hash = "sha256-XIV9vOWG9X+j18Tr0yACOrOyljsgSUKK4BvTvE8hVyU=";
26482     };
26483     meta = {
26484       description = "Module to align text";
26485       homepage = "https://metacpan.org/release/Text-Aligner";
26486       license = with lib.licenses; [ isc ];
26487     };
26488   };
26490   TextAspell = buildPerlPackage {
26491     pname = "Text-Aspell";
26492     version = "0.09";
26493     src = fetchurl {
26494       url = "mirror://cpan/authors/id/H/HA/HANK/Text-Aspell-0.09.tar.gz";
26495       hash = "sha256-K+oyCfGOJzsZPjF1pC0mk5GRnkmrEGtuJSOV0nIYL2U=";
26496     };
26497     propagatedBuildInputs = [ pkgs.aspell ];
26498     ASPELL_CONF = "dict-dir ${pkgs.aspellDicts.en}/lib/aspell";
26499     env.NIX_CFLAGS_COMPILE = "-I${pkgs.aspell}/include";
26500     NIX_CFLAGS_LINK = "-L${pkgs.aspell}/lib -laspell";
26501     meta = {
26502       description = "Perl interface to the GNU Aspell library";
26503       license = with lib.licenses; [ artistic1 gpl1Plus ];
26504     };
26505   };
26507   TextAutoformat = buildPerlPackage {
26508     pname = "Text-Autoformat";
26509     version = "1.75";
26510     src = fetchurl {
26511       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz";
26512       hash = "sha256-ndT0zj2uxLTb9bWdrEVoqJRq7RLCi05ZiMjoxgLGt3E=";
26513     };
26514     propagatedBuildInputs = [ TextReform ];
26515     meta = {
26516       description = "Automatic text wrapping and reformatting";
26517       homepage = "https://github.com/neilb/Text-Autoformat";
26518       license = with lib.licenses; [ artistic1 gpl1Plus ];
26519     };
26520   };
26522   TextBalanced = buildPerlPackage {
26523     pname = "Text-Balanced";
26524     version = "2.06";
26525     src = fetchurl {
26526       url = "mirror://cpan/authors/id/S/SH/SHAY/Text-Balanced-2.06.tar.gz";
26527       hash = "sha256-dz4PDyHAyyz2ZM7muij/cCWbq8yJL5tlD5y9oAvgkq0=";
26528     };
26529     meta = {
26530       description = "Extract delimited text sequences from strings";
26531       license = with lib.licenses; [ artistic1 gpl1Plus ];
26532     };
26533   };
26535   TextBibTeX = buildPerlModule {
26536     pname = "Text-BibTeX";
26537     version = "0.89";
26538     buildInputs = [ CaptureTiny ConfigAutoConf ExtUtilsLibBuilder ];
26539     src = fetchurl {
26540       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-0.89.tar.gz";
26541       hash = "sha256-iKeOvwiOx1AvQBxaKxOMhiz1RYU0t3MiO786r0EiQZY=";
26542     };
26543     # libbtparse.so: cannot open shared object file
26544     patches = [ ../development/perl-modules/TextBibTeX-use-lib.patch ];
26545     perlPreHook = "export LD=$CC";
26546     perlPostHook = lib.optionalString stdenv.hostPlatform.isDarwin ''
26547       oldPath="$(pwd)/btparse/src/libbtparse.dylib"
26548       newPath="$out/lib/libbtparse.dylib"
26550       install_name_tool -id "$newPath" "$newPath"
26551       install_name_tool -change "$oldPath" "$newPath" "$out/bin/biblex"
26552       install_name_tool -change "$oldPath" "$newPath" "$out/bin/bibparse"
26553       install_name_tool -change "$oldPath" "$newPath" "$out/bin/dumpnames"
26554       install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin"*"-2level/auto/Text/BibTeX/BibTeX.bundle"
26555     '';
26556     meta = {
26557       description = "Interface to read and parse BibTeX files";
26558       license = with lib.licenses; [ artistic1 gpl1Plus ];
26559     };
26560   };
26562   TextBrew = buildPerlPackage {
26563     pname = "Text-Brew";
26564     version = "0.02";
26565     src = fetchurl {
26566       url = "mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-0.02.tar.gz";
26567       hash = "sha256-qhuFhBz5/G/jODZrvIcKTpMEonZB5j+Sof2Wvujr9kw=";
26568     };
26569     meta = {
26570       description = "Implementation of the Brew edit distance";
26571       license = with lib.licenses; [ artistic1 gpl1Plus ];
26572     };
26573   };
26575   TextCharWidth = buildPerlPackage {
26576     pname = "Text-CharWidth";
26577     version = "0.04";
26578     src = fetchurl {
26579       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-0.04.tar.gz";
26580       hash = "sha256-q97V9P3ZM46J/S8dgnHESYna5b9Qrs5BthedjiMHBPg=";
26581     };
26582     meta = {
26583       description = "Get number of occupied columns of a string on terminal";
26584       license = with lib.licenses; [ artistic1 gpl1Plus ];
26585     };
26586   };
26588   TextCSV = buildPerlPackage {
26589     pname = "Text-CSV";
26590     version = "2.03";
26591     src = fetchurl {
26592       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-2.03.tar.gz";
26593       hash = "sha256-SLvOnyNJNaiFlWGOBN0UFigkbWUPKnJgJN8cE34LZfs=";
26594     };
26595     meta = {
26596       description = "Comma-separated values manipulator (using XS or PurePerl)";
26597       license = with lib.licenses; [ artistic1 gpl1Plus ];
26598     };
26599   };
26601   TextCSVEncoded = buildPerlPackage {
26602     pname = "Text-CSV-Encoded";
26603     version = "0.25";
26604     src = fetchurl {
26605       url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/Text-CSV-Encoded-0.25.tar.gz";
26606       hash = "sha256-JIpZg6IN1XeGY56I2v3WVPO5OSVJASDW1xLaayvludA=";
26607     };
26608     propagatedBuildInputs = [ TextCSV ];
26609     meta = {
26610       description = "Encoding aware Text::CSV";
26611       homepage = "https://github.com/singingfish/Text-CSV-Encoded";
26612       license = with lib.licenses; [ artistic1 gpl1Plus ];
26613     };
26614   };
26616   TextCSV_XS = buildPerlPackage {
26617     pname = "Text-CSV_XS";
26618     version = "1.52";
26619     src = fetchurl {
26620       url = "mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.52.tgz";
26621       hash = "sha256-5BWqcFut+Es1ncTA8MmC8b9whIHaoUdW8xNufInA5B0=";
26622     };
26623     meta = {
26624       description = "Comma-Separated Values manipulation routines";
26625       homepage = "https://metacpan.org/pod/Text::CSV_XS";
26626       license = with lib.licenses; [ artistic1 gpl1Plus ];
26627     };
26628   };
26630   TextDiff = buildPerlPackage {
26631     pname = "Text-Diff";
26632     version = "1.45";
26633     src = fetchurl {
26634       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz";
26635       hash = "sha256-6Lqgexs/U+AK82NomLv3OuyaD/OPlFNu3h2+lu8IbwQ=";
26636     };
26637     propagatedBuildInputs = [ AlgorithmDiff ];
26638     meta = {
26639       description = "Perform diffs on files and record sets";
26640       license = with lib.licenses; [ artistic1 gpl1Plus ];
26641     };
26642   };
26644   TextFormat = buildPerlModule {
26645     pname = "Text-Format";
26646     version = "0.62";
26647     src = fetchurl {
26648       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-0.62.tar.gz";
26649       hash = "sha256-fUKQVzGeEjxZC6B2UzTwreSl656o23wOxNOQLeX5BAQ=";
26650     };
26651     meta = {
26652       description = "Various subroutines to format text";
26653       homepage = "https://github.com/shlomif/perl-Module-Format";
26654       license = with lib.licenses; [ artistic1 gpl1Plus ];
26655       maintainers = with maintainers; [ bcdarwin ];
26656     };
26657   };
26659   TextDiffFormattedHTML = buildPerlPackage {
26660     pname = "Text-Diff-FormattedHTML";
26661     version = "0.08";
26662     src = fetchurl {
26663       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-Diff-FormattedHTML-0.08.tar.gz";
26664       hash = "sha256-Oat3WlwFZ0Xyq9jMfBy8VJbf735SqfS9itpqpsnHtw0=";
26665     };
26666     propagatedBuildInputs = [ FileSlurp StringDiff ];
26667     meta = {
26668       description = "Generate a colorful HTML diff of strings/files";
26669       license = with lib.licenses; [ artistic1 gpl1Plus ];
26670       maintainers = [ maintainers.sgo ];
26671     };
26672   };
26674   TextFuzzy = buildPerlPackage {
26675     pname = "Text-Fuzzy";
26676     version = "0.29";
26677     src = fetchurl {
26678       url = "mirror://cpan/authors/id/B/BK/BKB/Text-Fuzzy-0.29.tar.gz";
26679       hash = "sha256-PfXP0soaTFyn/3urPMjVOtIGThNMvxEATzz4xLkFW/8=";
26680     };
26681     meta = {
26682       description = "Partial string matching using edit distances";
26683       license = with lib.licenses; [ artistic1 gpl1Plus ];
26684     };
26685   };
26687   TextGerman = buildPerlPackage {
26688     pname = "Text-German";
26689     version = "0.06";
26690     src = fetchurl {
26691       url = "mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz";
26692       hash = "sha256-ki1PGQEtl3OxH0pvZCEF6fkT9YZvRGG2BZymdNW7B90=";
26693     };
26694     meta = {
26695       description = "German grundform reduction";
26696       license = with lib.licenses; [ artistic1 gpl1Plus ];
26697     };
26698   };
26700   TextGlob = buildPerlPackage {
26701     pname = "Text-Glob";
26702     version = "0.11";
26703     src = fetchurl {
26704       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz";
26705       hash = "sha256-BpzNSdPwot7bEV9L3J+6wHqDWShAlT0fzfw5650wUoc=";
26706     };
26707     meta = {
26708       description = "Match globbing patterns against text";
26709       license = with lib.licenses; [ artistic1 gpl1Plus ];
26710     };
26711   };
26713   TextHogan = buildPerlPackage {
26714     pname = "Text-Hogan";
26715     version = "2.03";
26716     src = fetchurl {
26717       url = "mirror://cpan/authors/id/K/KA/KAORU/Text-Hogan-2.03.tar.gz";
26718       hash = "sha256-WNkj7eTFmEiI75u7JW2IVMxdIqRwikd0sxPLU4jFYXo=";
26719     };
26720     propagatedBuildInputs = [ Clone RefUtil TextTrim ];
26721     buildInputs = [ DataVisitor PathTiny TryTiny YAML ];
26722     meta = {
26723       description = "Text::Hogan - A mustache templating engine statement-for-statement cloned from hogan.js";
26724       license = with lib.licenses; [ artistic1 gpl1Plus ];
26725     };
26726   };
26728   TextIconv = buildPerlPackage {
26729     pname = "Text-Iconv";
26730     version = "1.7";
26731     src = fetchurl {
26732       url = "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz";
26733       hash = "sha256-W4C31ecJ00OTvLqIlxhkoXtEpb8PnkvO44PQKefS1cM=";
26734     };
26735     meta = {
26736       description = "Perl interface to iconv() codeset conversion function";
26737       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from el6
26738       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextIconv.x86_64-darwin
26739     };
26740   };
26742   TestInDistDir = buildPerlPackage {
26743     pname = "Test-InDistDir";
26744     version = "1.112071";
26745     src = fetchurl {
26746       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz";
26747       hash = "sha256-kixcYzFPQG9MuzXsQjrCFU0sK3GmWt23cyydJAqD/vs=";
26748     };
26749     meta = {
26750       description = "Test environment setup for development with IDE";
26751       homepage = "https://github.com/wchristian/Test-InDistDir";
26752       license = with lib.licenses; [ wtfpl ];
26753       maintainers = [ maintainers.sgo ];
26754     };
26755   };
26757   TestInter = buildPerlPackage {
26758     pname = "Test-Inter";
26759     version = "1.10";
26760     src = fetchurl {
26761       url = "mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.10.tar.gz";
26762       hash = "sha256-cewRXqwm+2aJGb1mQLQcNzInUuvUjBx222a3O679O10=";
26763     };
26764     buildInputs = [ FileFindRule TestPod TestPodCoverage ];
26765     meta = {
26766       description = "Framework for more readable interactive test scripts";
26767       license = with lib.licenses; [ artistic1 gpl1Plus ];
26768     };
26769   };
26771   TextLayout = buildPerlPackage {
26772     pname = "Text-Layout";
26773     version = "0.037";
26774     src = fetchurl {
26775       url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.037.tar.gz";
26776       hash = "sha256-WCeTQSR8SBh0BIdkAPBq19qm/nFilVgYXfNnPfCbnOo=";
26777     };
26778     buildInputs = [ IOString ObjectPad PDFAPI2 ];
26779     meta = {
26780       description = "Pango style markup formatting";
26781       license = with lib.licenses; [ artistic1 gpl1Plus ];
26782     };
26783   };
26785   TextLevenshteinXS = buildPerlPackage {
26786     pname = "Text-LevenshteinXS";
26787     version = "0.03";
26788     src = fetchurl {
26789       url = "mirror://cpan/authors/id/J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz";
26790       hash = "sha256-43T/eyN5Gc5eqSRfNW0ctSzIf9JrOlo4s/Pl/4KgFJE=";
26791     };
26792     meta = {
26793       description = "Levenshtein edit distance in a XS way";
26794       license = with lib.licenses; [ artistic1 gpl1Plus ];
26795     };
26796   };
26798   TextLorem = buildPerlPackage {
26799     pname = "Text-Lorem";
26800     version = "0.34";
26801     src = fetchurl {
26802       url = "mirror://cpan/authors/id/A/AD/ADEOLA/Text-Lorem-0.34.tar.gz";
26803       hash = "sha256-DOajwZkXsjI0JKGqdC2YiwY8OUQEJ6MQGkzsbb2EcVc=";
26804     };
26805     meta = {
26806       description = "Generate random Latin looking text";
26807       license = with lib.licenses; [ artistic1 gpl1Plus ];
26808       maintainers = [ maintainers.sgo ];
26809       mainProgram = "lorem";
26810     };
26811   };
26813   TestManifest = buildPerlPackage {
26814     pname = "Test-Manifest";
26815     version = "2.023";
26816     src = fetchurl {
26817       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.023.tar.gz";
26818       hash = "sha256-0k5SVT58uc2oH5L/6MkrPkNGcY5HEIAaWzW38lGnceI=";
26819     };
26820     meta = {
26821       description = "Interact with a t/test_manifest file";
26822       homepage = "https://github.com/briandfoy/test-manifest";
26823       license = with lib.licenses; [ artistic2 ];
26824     };
26825   };
26827   TextMarkdown = buildPerlPackage {
26828     pname = "Text-Markdown";
26829     version = "1.000031";
26830     src = fetchurl {
26831       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz";
26832       hash = "sha256-wZHG1ezrjLdcBWUZI2BmLSAtcWutB6IzxLMppChNxxs=";
26833     };
26834     nativeBuildInputs = [ shortenPerlShebang ];
26835     nativeCheckInputs = [ ListMoreUtils TestDifferences TestException ];
26836     postInstall = ''
26837       shortenPerlShebang $out/bin/Markdown.pl
26838     '';
26839     meta = {
26840       description = "Convert Markdown syntax to (X)HTML";
26841       license = with lib.licenses; [ bsd3 ];
26842       mainProgram = "Markdown.pl";
26843     };
26844   };
26846   TextMarkdownHoedown = buildPerlModule {
26847     pname = "Text-Markdown-Hoedown";
26848     version = "1.03";
26849     src = fetchurl {
26850       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Text-Markdown-Hoedown-1.03.tar.gz";
26851       hash = "sha256-U6cw/29IgrmavYVW8mqRH1gvZ1tZ8OFnJe0ey8CE7lA=";
26852     };
26853     buildInputs = [ Filepushd ];
26854     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
26855     meta = {
26856       description = "Hoedown for Perl5";
26857       homepage = "https://github.com/tokuhirom/Text-Markdown-Hoedown";
26858       license = with lib.licenses; [ artistic1 gpl1Plus ];
26859     };
26860   };
26862   TestMinimumVersion = buildPerlPackage {
26863     pname = "Test-MinimumVersion";
26864     version = "0.101083";
26865     src = fetchurl {
26866       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101083.tar.gz";
26867       hash = "sha256-MqHrzYA/oQ7vylU7w87dQ1lqdZ3Dl1revSJoiCPDauo=";
26868     };
26869     propagatedBuildInputs = [ PerlMinimumVersion ];
26870     meta = {
26871       description = "Does your code require newer perl than you think?";
26872       homepage = "https://github.com/rjbs/Test-MinimumVersion";
26873       license = with lib.licenses; [ artistic1 gpl1Plus ];
26874     };
26875   };
26877   TextMicroTemplate = buildPerlPackage {
26878     pname = "Text-MicroTemplate";
26879     version = "0.24";
26880     src = fetchurl {
26881       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz";
26882       hash = "sha256-MoAecfNe6Kqg1XbOwSXO5Gs9SRWuZCvGSWISDU+XtMg=";
26883     };
26884     meta = {
26885       description = "Micro template engine with Perl5 language";
26886       license = with lib.licenses; [ artistic1 gpl1Plus ];
26887     };
26888   };
26890   TextMultiMarkdown = buildPerlPackage {
26891     pname = "Text-MultiMarkdown";
26892     version = "1.001";
26893     src = fetchurl {
26894       url = "mirror://cpan/authors/id/B/BD/BDFOY/Text-MultiMarkdown-1.001.tar.gz";
26895       hash = "sha256-UB1ErH2lSUSZzqhR6bL7UlOAgLDB6TYjDIwm1n4EhDM=";
26896     };
26897     buildInputs = [ ListMoreUtils TestException ];
26898     propagatedBuildInputs = [ HTMLParser TextMarkdown ];
26899     meta = {
26900       description = "Convert MultiMarkdown syntax to (X)HTML";
26901       license = with lib.licenses; [ bsd3 ];
26902       mainProgram = "MultiMarkdown.pl";
26903     };
26904   };
26906   TestNumberDelta = buildPerlPackage {
26907     pname = "Test-Number-Delta";
26908     version = "1.06";
26909     src = fetchurl {
26910       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz";
26911       hash = "sha256-U1QwkZ5v32zlX/dumJKvzLo7fUFg20XzrEOw+S/80Ek=";
26912     };
26913     meta = {
26914       description = "Compare the difference between numbers against a given tolerance";
26915       homepage = "https://github.com/dagolden/Test-Number-Delta";
26916       license = with lib.licenses; [ asl20 ];
26917     };
26918   };
26920   TextParsewords = buildPerlPackage {
26921     pname = "Text-ParseWords";
26922     version = "3.31";
26923     src = fetchurl {
26924       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-ParseWords-3.31.tar.gz";
26925       hash = "sha256-KuVVughNdbK4/u640aAJESdoFa2oa8yxRSI2lk1aL8c=";
26926     };
26927     meta = {
26928       description = "Parse text into an array of tokens or array of arrays";
26929       license = with lib.licenses; [ artistic1 gpl1Plus ];
26930     };
26931   };
26933   TextPasswordPronounceable = buildPerlPackage {
26934     pname = "Text-Password-Pronounceable";
26935     version = "0.30";
26936     src = fetchurl {
26937       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz";
26938       hash = "sha256-wYalAlbgvt+vsX584VfnxS8ZUDu3nhjr8GJVkR9urRo=";
26939     };
26940     meta = {
26941       description = "Generate pronounceable passwords";
26942       license = with lib.licenses; [ artistic1 gpl1Plus ];
26943     };
26944   };
26946   TextPatch = buildPerlPackage {
26947     pname = "Text-Patch";
26948     version = "1.8";
26949     src = fetchurl {
26950       url = "mirror://cpan/authors/id/C/CA/CADE/Text-Patch-1.8.tar.gz";
26951       hash = "sha256-6vGOYbpqPhQ4RqfMZvCM5YoMT72pKssxrt4lyztcPcw=";
26952     };
26953     propagatedBuildInputs = [ TextDiff ];
26954     meta = {
26955       description = "Patches text with given patch";
26956       license = with lib.licenses; [ gpl2Only ];
26957     };
26958   };
26960   TextPDF = buildPerlPackage {
26961     pname = "Text-PDF";
26962     version = "0.31";
26963     src = fetchurl {
26964       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz";
26965       hash = "sha256-359RXuFZgEsNWnXVrbk8RYTH7EAdjFnCfp9zkl2NrGg=";
26966     };
26967     meta = {
26968       description = "Module for manipulating PDF files";
26969       license = with lib.licenses; [ artistic1 gpl1Plus ];
26970     };
26971   };
26973   TextQuoted = buildPerlPackage {
26974     pname = "Text-Quoted";
26975     version = "2.10";
26976     src = fetchurl {
26977       url = "mirror://cpan/authors/id/B/BP/BPS/Text-Quoted-2.10.tar.gz";
26978       hash = "sha256-CBv5XskiCvJs7IkWHmG/c/n7y/7uHZrxUTnl17cI9EU=";
26979     };
26980     propagatedBuildInputs = [ TextAutoformat ];
26981     meta = {
26982       description = "Extract the structure of a quoted mail message";
26983       license = with lib.licenses; [ artistic1 gpl1Plus ];
26984     };
26985   };
26987   TextRecordParser = buildPerlPackage {
26988     pname = "Text-RecordParser";
26989     version = "1.6.5";
26990     src = fetchurl {
26991       url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-1.6.5.tar.gz";
26992       hash = "sha256-2juBQUxj+NkhjRFnRaiLlIxGyYsYdjT2KYkuVAAbw1o=";
26993     };
26995     # In a NixOS chroot build, the tests fail because the font configuration
26996     # at /etc/fonts/font.conf is not available.
26997     doCheck = false;
26999     propagatedBuildInputs = [ ClassAccessor IOStringy ListMoreUtils Readonly TextAutoformat ];
27000     buildInputs = [ TestException ];
27001     meta = {
27002       description = "Read record-oriented files";
27003       license = with lib.licenses; [ gpl2Only ];
27004     };
27005   };
27007   TextReflow = buildPerlPackage {
27008     pname = "Text-Reflow";
27009     version = "1.17";
27010     src = fetchurl {
27011       url = "mirror://cpan/authors/id/M/MW/MWARD/Text-Reflow-1.17.tar.gz";
27012       hash = "sha256-S/ITn/YX1uWcwOWc3s18tyPs/SjVrDh6+1U//cBxuGA=";
27013     };
27014     meta = {
27015       description = "Reflow text files using Knuth's paragraphing algorithm";
27016       license = with lib.licenses; [ artistic1 gpl1Plus ];
27017     };
27018   };
27020   TextReform = buildPerlModule {
27021     pname = "Text-Reform";
27022     version = "1.20";
27023     src = fetchurl {
27024       url = "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz";
27025       hash = "sha256-qHkt2MGqyXABAyM3s2o1a+luLXTE8DnvmjY7ZB20rmE=";
27026     };
27027     meta = {
27028       description = "Manual text wrapping and reformatting";
27029       license = with lib.licenses; [ artistic1 gpl1Plus ];
27030     };
27031   };
27033   TextRoman = buildPerlPackage {
27034     pname = "Text-Roman";
27035     version = "3.5";
27036     src = fetchurl {
27037       url = "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz";
27038       hash = "sha256-y0oIo7FRgC/7L84yWKQWVCq4HbD3Oe5HSpWD/7c+BGo=";
27039     };
27040     meta = {
27041       description = "Allows conversion between Roman and Arabic algarisms";
27042       homepage = "https://github.com/creaktive/Text-Roman";
27043       license = with lib.licenses; [ artistic1 gpl1Plus ];
27044     };
27045   };
27047   TextSimpleTable = buildPerlPackage {
27048     pname = "Text-SimpleTable";
27049     version = "2.07";
27050     src = fetchurl {
27051       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz";
27052       hash = "sha256-JW0/OHZOljMxWLFKsYJXuS8xVcYNZYyvuAOJ9y9GGe0=";
27053     };
27054     propagatedBuildInputs = [ UnicodeLineBreak ];
27055     meta = {
27056       description = "Simple eyecandy ASCII tables";
27057       license = with lib.licenses; [ artistic2 ];
27058     };
27059   };
27061   TextSoundex = buildPerlPackage {
27062     pname = "Text-Soundex";
27063     version = "3.05";
27064     src = fetchurl {
27065       url = "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz";
27066       hash = "sha256-9t1VtCgLJd6peCIYOYZDglYAdOHWkzOV+u4lEMLbYO0=";
27067     };
27068     meta = {
27069       description = "Implementation of the soundex algorithm";
27070       license = with lib.licenses; [ artistic1 gpl1Plus ];
27071     };
27072   };
27074   TextSprintfNamed = buildPerlModule {
27075     pname = "Text-Sprintf-Named";
27076     version = "0.0405";
27077     src = fetchurl {
27078       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Sprintf-Named-0.0405.tar.gz";
27079       hash = "sha256-m0cNeP/PxAqz+ZgjGzNrnTQXIw+3zlW0fNewVXOnD/w=";
27080     };
27081     buildInputs = [ TestWarn ];
27082     meta = {
27083       description = "Sprintf-like function with named conversions";
27084       homepage = "https://metacpan.org/release/Text-Sprintf-Named";
27085       license = with lib.licenses; [ mit ];
27086     };
27087   };
27089   TextTable = buildPerlModule {
27090     pname = "Text-Table";
27091     version = "1.135";
27092     src = fetchurl {
27093       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.135.tar.gz";
27094       hash = "sha256-/KPBboMSf3xE3ePT9+PHPqUNEJoQVERd6Agv6nlMpdI=";
27095     };
27096     propagatedBuildInputs = [ TextAligner ];
27097     meta = {
27098       description = "Organize Data in Tables";
27099       homepage = "https://metacpan.org/release/Text-Table";
27100       license = with lib.licenses; [ isc ];
27101     };
27102   };
27104   TextTabularDisplay = buildPerlPackage {
27105     pname = "Text-TabularDisplay";
27106     version = "1.38";
27107     src = fetchurl {
27108       url = "mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz";
27109       hash = "sha256-6wmQ+vpWtmfyPbdkvdpaTcX0sd3EsTg6pe7W8i7Rhug=";
27110     };
27111     meta = {
27112       description = "Display text in formatted table output";
27113       license = with lib.licenses; [ gpl2Plus ];
27114     };
27115   };
27117   TextTemplate = buildPerlPackage {
27118     pname = "Text-Template";
27119     version = "1.61";
27120     src = fetchurl {
27121       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.61.tar.gz";
27122       hash = "sha256-opXqfR7yQa4mQMH3hktij45vmewU+x2ngbL18haNzwk=";
27123     };
27124     buildInputs = [ TestMoreUTF8 TestWarnings ];
27125     meta = {
27126       description = "Expand template text with embedded Perl";
27127       license = with lib.licenses; [ artistic1 gpl1Plus ];
27128     };
27129   };
27131   TestTrap = buildPerlModule {
27132     pname = "Test-Trap";
27133     version = "0.3.5";
27134     src = fetchurl {
27135       url = "mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.5.tar.gz";
27136       hash = "sha256-VPmQFlYrWx1yEQEA8fK+Q3F4zfhDdvSV/9A3bx1+y5o=";
27137     };
27138     propagatedBuildInputs = [ DataDump ];
27139     meta = {
27140       description = "Trap exit codes, exceptions, output, etc";
27141       license = with lib.licenses; [ artistic1 gpl1Plus ];
27142     };
27143   };
27145   TestVars = buildPerlModule {
27146     pname = "Test-Vars";
27147     version = "0.015";
27148     src = fetchurl {
27149       url = "mirror://cpan/authors/id/G/GF/GFUJI/Test-Vars-0.015.tar.gz";
27150       hash = "sha256-4Y3RWCcuTsmTnh37M8dDGrTnXGtAsoDDi16AT9pHGlQ=";
27151     };
27153     buildInputs = [ ModuleBuildTiny ];
27155     meta = {
27156       description = "Detects unused variables in perl modules";
27157       homepage = "https://github.com/houseabsolute/p5-Test-Vars";
27158       license = with lib.licenses; [ artistic1 gpl1Plus ];
27159     };
27160   };
27162   TestVersion = buildPerlPackage {
27163     pname = "Test-Version";
27164     version = "2.09";
27165     src = fetchurl {
27166       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-2.09.tar.gz";
27167       hash = "sha256-nOHdKJel8w4bf4lm7Gb1fY2PKA9gXyjHyiIfp5rKOOA=";
27168     };
27169     buildInputs = [ TestException ];
27170     propagatedBuildInputs = [ FileFindRulePerl ];
27171     meta = {
27172       description = "Check to see that version's in modules are sane";
27173       license = with lib.licenses; [ artistic2 ];
27174     };
27175   };
27177   TextTrim = buildPerlPackage {
27178     pname = "Text-Trim";
27179     version = "1.04";
27180     src = fetchurl {
27181       url = "mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.04.tar.gz";
27182       hash = "sha256-1YeKkHnTPNF2bParxEzWJb0AoCE9LOjjFD/mlEq6qhE=";
27183     };
27184     meta = {
27185       description = "Remove leading and/or trailing whitespace from strings";
27186       license = with lib.licenses; [ artistic1 gpl1Plus ];
27187     };
27188   };
27190   TextUnaccent = buildPerlPackage {
27191     pname = "Text-Unaccent";
27192     version = "1.08";
27193     src = fetchurl {
27194       url = "mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz";
27195       hash = "sha256-J45u/Jsk82mclh77NuvmAqNAi1QVcgF97hMdFScocys=";
27196     };
27197     # https://rt.cpan.org/Public/Bug/Display.html?id=124815
27198     env.NIX_CFLAGS_COMPILE = "-DHAS_VPRINTF";
27199     meta = {
27200       description = "Remove accents from a string";
27201       license = with lib.licenses; [ gpl2Only ];
27202       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextUnaccent.x86_64-darwin
27203     };
27204   };
27206   TextUnidecode = buildPerlPackage {
27207     pname = "Text-Unidecode";
27208     version = "1.30";
27209     src = fetchurl {
27210       url = "mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz";
27211       hash = "sha256-bCTxTdwdIOJhYcIHtzyhhO7S71fwi1+y7hlubi6IscY=";
27212     };
27213     meta = {
27214       description = "Plain ASCII transliterations of Unicode tex";
27215       license = with lib.licenses; [ artistic1 gpl1Plus ];
27216     };
27217   };
27219   Testutf8 = buildPerlPackage {
27220     pname = "Test-utf8";
27221     version = "1.02";
27222     src = fetchurl {
27223       url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz";
27224       hash = "sha256-34LwnFlAgwslpJ8cgWL6JNNx5gKIDt742aTUv9Zri9c=";
27225     };
27226     meta = {
27227       description = "Handy utf8 tests";
27228       homepage = "https://github.com/2shortplanks/Test-utf8/tree";
27229       license = with lib.licenses; [ artistic1 gpl1Plus ];
27230     };
27231   };
27233   TextNSP = buildPerlPackage {
27234     pname = "Text-NSP";
27235     version = "1.31";
27236     src = fetchurl {
27237       url = "mirror://cpan/authors/id/T/TP/TPEDERSE/Text-NSP-1.31.tar.gz";
27238       hash = "sha256-oBIBvrKWNrPkHs2ips9lIv0mVBa9bZlPrQL1n7Sc9ZU=";
27239     };
27240     meta = {
27241       description = "Extract collocations and Ngrams from text";
27242       license = with lib.licenses; [ gpl2Plus ];
27243       maintainers = [ maintainers.bzizou ];
27244     };
27245   };
27247   TextvFileasData = buildPerlPackage {
27248     pname = "Text-vFile-asData";
27249     version = "0.08";
27250     src = fetchurl {
27251       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz";
27252       hash = "sha256-spGrXg+YfFFyVgppIjRxGnXkWW2DR19y0BJ4NpUy+Co=";
27253     };
27254     propagatedBuildInputs = [ ClassAccessorChained ];
27255     meta = {
27256       description = "Parse vFile formatted files into data structures";
27257       license = with lib.licenses; [ artistic1 gpl1Plus ];
27258     };
27259   };
27261   TextWikiFormat = buildPerlModule {
27262     pname = "Text-WikiFormat";
27263     version = "0.81";
27264     src = fetchurl {
27265       url = "mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz";
27266       hash = "sha256-5DzZla2RV6foOdmT7ntsTRhUlH5VfQltnVqvdFB/qzM=";
27267     };
27268     propagatedBuildInputs = [ URI ];
27269     meta = {
27270       description = "Module for translating Wiki formatted text into other formats";
27271       license = with lib.licenses; [ artistic1 gpl1Plus ];
27272     };
27273   };
27275   TextWordDiff = buildPerlPackage {
27276     pname = "Text-WordDiff";
27277     version = "0.09";
27278     src = fetchurl {
27279       url = "mirror://cpan/authors/id/T/TI/TIMK/Text-WordDiff-0.09.tar.gz";
27280       hash = "sha256-/uaZynY63KL04Y9KioNv0hArwoIK9wj460M1bVrg1Q4=";
27281     };
27282     propagatedBuildInputs = [ AlgorithmDiff HTMLParser ];
27283     meta = {
27284       description = "Track changes between documents";
27285       homepage = "https://metacpan.org/release/Text-WordDiff";
27286       license = with lib.licenses; [ artistic1 gpl1Plus ];
27287     };
27288   };
27290   TextWrapI18N = buildPerlPackage {
27291     pname = "Text-WrapI18N";
27292     version = "0.06";
27293     src = fetchurl {
27294       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz";
27295       hash = "sha256-S9KaF/DCx5LRLBAFs8J28qsPrjnACFmuF0HXlBhGpIg=";
27296     };
27297     buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkgs.glibcLocales ];
27298     propagatedBuildInputs = [ TextCharWidth ];
27299     preConfigure = ''
27300       substituteInPlace WrapI18N.pm --replace '/usr/bin/locale' '${pkgs.unixtools.locale}/bin/locale'
27301     '';
27302     meta = {
27303       description = "Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words";
27304       license = with lib.licenses; [ artistic1 gpl1Plus ];
27305     };
27306   };
27308   TextWrapper = buildPerlPackage {
27309     pname = "Text-Wrapper";
27310     version = "1.05";
27311     src = fetchurl {
27312       url = "mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz";
27313       hash = "sha256-ZCaOFZg6nfR+HZGZpJHzlOifVC5Ur7M/S3jz8xjgmrk=";
27314     };
27315     buildInputs = [ TestDifferences ];
27316     meta = {
27317       description = "Word wrap text by breaking long lines";
27318       license = with lib.licenses; [ artistic1 gpl1Plus ];
27319     };
27320   };
27322   Throwable = buildPerlPackage {
27323     pname = "Throwable";
27324     version = "1.001";
27325     src = fetchurl {
27326       url = "mirror://cpan/authors/id/R/RJ/RJBS/Throwable-1.001.tar.gz";
27327       hash = "sha256-0MtenX0G1w8sxW7s+FeoOkXqykOFDc3akdP+tN3eTFE=";
27328     };
27329     propagatedBuildInputs = [ DevelStackTrace Moo ];
27330     meta = {
27331       description = "Role for classes that can be thrown";
27332       homepage = "https://github.com/rjbs/Throwable";
27333       license = with lib.licenses; [ artistic1 gpl1Plus ];
27334     };
27335   };
27337   TieCacheLRU = buildPerlPackage {
27338     pname = "Tie-Cache-LRU";
27339     version = "20150301";
27340     src = fetchurl {
27341       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Tie-Cache-LRU-20150301.tar.gz";
27342       hash = "sha256-G/dARQ06bXwStIwl99pZZOROfMOLKFcs+3b/IkZPRGk=";
27343     };
27344     propagatedBuildInputs = [ ClassVirtual enum ];
27345     meta = {
27346       description = "Least-Recently Used cache";
27347       license = with lib.licenses; [ artistic1 gpl1Plus ];
27348     };
27349   };
27351   TieCacheLRUExpires = buildPerlPackage {
27352     pname = "Tie-Cache-LRU-Expires";
27353     version = "0.55";
27354     src = fetchurl {
27355       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Tie-Cache-LRU-Expires-0.55.tar.gz";
27356       hash = "sha256-sxbYSazSXyQ0bVWplQ0oH+4HRjmHZ8YBI0EiFZVz65o=";
27357     };
27358     propagatedBuildInputs = [ TieCacheLRU ];
27359     meta = {
27360       description = "Extends Tie::Cache::LRU with expiring";
27361       license = with lib.licenses; [ artistic1 ];
27362     };
27363   };
27365   TieCycle = buildPerlPackage {
27366     pname = "Tie-Cycle";
27367     version = "1.227";
27368     src = fetchurl {
27369       url = "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.227.tar.gz";
27370       hash = "sha256-eDgzV5HnGjszuKGd4wUpSeGJCkgj3vY5eCPJkiL6Hdg=";
27371     };
27372     meta = {
27373       description = "Cycle through a list of values via a scalar";
27374       homepage = "https://github.com/briandfoy/tie-cycle";
27375       license = with lib.licenses; [ artistic2 ];
27376     };
27377   };
27379   TieEncryptedHash = buildPerlPackage {
27380     pname = "Tie-EncryptedHash";
27381     version = "1.24";
27382     src = fetchurl {
27383       url = "mirror://cpan/authors/id/V/VI/VIPUL/Tie-EncryptedHash-1.24.tar.gz";
27384       hash = "sha256-qpoIOiMeQEYXCliUZE48WWecfb0KotEhfchRUN8sHiE=";
27385     };
27386     propagatedBuildInputs = [ CryptBlowfish CryptCBC CryptDES ];
27387     meta = {
27388       description = "Hashes (and objects based on hashes) with encrypting fields";
27389       license = with lib.licenses; [ artistic1 gpl1Plus ];
27390       maintainers = [ maintainers.sgo ];
27391     };
27392   };
27394   TieFile = buildPerlPackage {
27395     pname = "Tie-File";
27396     version = "1.07";
27397     src = fetchurl {
27398       url = "mirror://cpan/authors/id/T/TO/TODDR/Tie-File-1.07.tar.gz";
27399       hash = "sha256-S1NUpB/pVBvc6lK0/VMBRPMVME0D8F3Q/vwynYHCawg=";
27400     };
27401     meta = {
27402       description = "Access the lines of a disk file via a Perl array";
27403       license = with lib.licenses; [ artistic1 gpl1Plus ];
27404     };
27405   };
27407   TieIxHash = buildPerlModule {
27408     pname = "Tie-IxHash";
27409     version = "1.23";
27410     src = fetchurl {
27411       url = "mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz";
27412       hash = "sha256-+rsLjJfmfJs0tswY7Wb2xeAcVbJX3PAHVV4LAn1Mr1Y=";
27413     };
27414     meta = {
27415       description = "Ordered associative arrays for Perl";
27416       license = with lib.licenses; [ artistic1 gpl1Plus ];
27417     };
27418   };
27420   TieHandleOffset = buildPerlPackage {
27421     pname = "Tie-Handle-Offset";
27422     version = "0.004";
27423     src = fetchurl {
27424       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-0.004.tar.gz";
27425       hash = "sha256-7p85BV3GlaokSiUvVv/Tf4vgcgmzN604eCRyEgbSqJ4=";
27426     };
27427     meta = {
27428       description = "Tied handle that hides the beginning of a file";
27429       homepage = "https://github.com/dagolden/tie-handle-offset";
27430       license = with lib.licenses; [ asl20 ];
27431     };
27432   };
27434   TieHashIndexed = buildPerlPackage {
27435     pname = "Tie-Hash-Indexed";
27436     version = "0.08";
27437     src = fetchurl {
27438       url = "mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.08.tar.gz";
27439       hash = "sha256-N7xigV9ahIrHeRK5v0eIqfJyiE6DpS4gk9q0qDpKexA=";
27440     };
27441     doCheck = false; /* test fails on some machines */
27442     meta = {
27443       description = "Ordered hashes for Perl";
27444       license = with lib.licenses; [ artistic1 gpl1Plus ];
27445     };
27446   };
27448   TieHashMethod = buildPerlPackage {
27449     pname = "Tie-Hash-Method";
27450     version = "0.02";
27451     src = fetchurl {
27452       url = "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-0.02.tar.gz";
27453       hash = "sha256-1RP7tRQT98oeZKG9zmGU337GB23qVQZtZ7lQGR7sMqk=";
27454     };
27455     meta = {
27456       description = "Tied hash with specific methods overriden by callbacks";
27457       license = with lib.licenses; [ artistic1 ];
27458     };
27459   };
27461   TieRefHash = buildPerlPackage {
27462     pname = "Tie-RefHash";
27463     version = "1.40";
27464     src = fetchurl {
27465       url = "mirror://cpan/authors/id/E/ET/ETHER/Tie-RefHash-1.40.tar.gz";
27466       hash = "sha256-Ws8fUY0vtfYgyq16Gy/x9vdRb++PQLprdD7si5aSftc=";
27467     };
27468     meta = {
27469       description = "Use references as hash keys";
27470       license = with lib.licenses; [ artistic1 gpl1Plus ];
27471     };
27472   };
27474   TieRegexpHash = buildPerlPackage {
27475     pname = "Tie-RegexpHash";
27476     version = "0.17";
27477     src = fetchurl {
27478       url = "mirror://cpan/authors/id/A/AL/ALTREUS/Tie-RegexpHash-0.17.tar.gz";
27479       hash = "sha256-DCB4UOd++xZhjgqgFVB5JqNCWzSq1apuPkDYOYmghaM=";
27480     };
27481     meta = {
27482       description = "Use regular expressions as hash keys";
27483       license = with lib.licenses; [ artistic1 ];
27484     };
27485   };
27487   TieSimple = buildPerlPackage {
27488     pname = "Tie-Simple";
27489     version = "1.04";
27490     src = fetchurl {
27491       url = "mirror://cpan/authors/id/H/HA/HANENKAMP/Tie-Simple-1.04.tar.gz";
27492       hash = "sha256-KeniEzlRBGx48gXxs+jfYskOEU8OCPoGuBd2ag+AixI=";
27493     };
27494     meta = {
27495       description = "Variable ties made much easier: much, much, much easier.";
27496       license = with lib.licenses; [ artistic1 gpl1Plus ];
27497     };
27498   };
27500   TieSub = buildPerlPackage {
27501     pname = "Tie-Sub";
27502     version = "1.001";
27503     src = fetchurl {
27504       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz";
27505       hash = "sha256-73GgSCbRNisrduyyHOFzw304pHqf7Cg6qYJDWJD08bE=";
27506     };
27507     propagatedBuildInputs = [ ParamsValidate ];
27508     buildInputs = [ ModuleBuild TestDifferences TestException TestNoWarnings ];
27509     meta = {
27510       description = "Tie::Sub - Tying a subroutine, function or method to a hash";
27511       license = with lib.licenses; [ artistic1 gpl1Plus ];
27512     };
27513   };
27515   TieToObject = buildPerlPackage {
27516     pname = "Tie-ToObject";
27517     version = "0.03";
27518     src = fetchurl {
27519       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz";
27520       hash = "sha256-oxoNRDD+FPWWIvMdt/JbInXa0uxS8QQL6wMNPoOtOvQ=";
27521     };
27522     meta = {
27523       description = "Tie to an existing object";
27524       license = with lib.licenses; [ artistic1 gpl1Plus ];
27525     };
27526   };
27528   TimeDate = buildPerlPackage {
27529     pname = "TimeDate";
27530     version = "2.33";
27531     src = fetchurl {
27532       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz";
27533       hash = "sha256-wLacSwOd5vUBsNnxPsWMhrBAwffpsn7ySWUcFD1gXrI=";
27534     };
27535     meta = {
27536       description = "Miscellaneous timezone manipulations routines";
27537       license = with lib.licenses; [ artistic1 gpl1Plus ];
27538     };
27539   };
27541   TimeDuration = buildPerlPackage {
27542     pname = "Time-Duration";
27543     version = "1.21";
27544     src = fetchurl {
27545       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-1.21.tar.gz";
27546       hash = "sha256-/jQOuodl+SY2lGdOXf8UgzRD4Zhl5f9Ce715t7X4qbg=";
27547     };
27548     meta = {
27549       description = "Rounded or exact English expression of durations";
27550       homepage = "https://github.com/neilbowers/Time-Duration";
27551       license = with lib.licenses; [ artistic1 gpl1Plus ];
27552     };
27553   };
27555   TimeDurationParse = buildPerlPackage {
27556     pname = "Time-Duration-Parse";
27557     version = "0.16";
27558     src = fetchurl {
27559       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-Parse-0.16.tar.gz";
27560       hash = "sha256-EISmRj7ieQ+ZIVvXaxNcpFr+K/ppmPpv1UcLaeG6vBI=";
27561     };
27562     buildInputs = [ TimeDuration ];
27563     propagatedBuildInputs = [ ExporterLite ];
27564     meta = {
27565       description = "Parse string that represents time duration";
27566       homepage = "https://github.com/neilb/Time-Duration-Parse";
27567       license = with lib.licenses; [ artistic1 gpl1Plus ];
27568     };
27569   };
27571   TimeLocal = buildPerlPackage {
27572     pname = "Time-Local";
27573     version = "1.35";
27574     src = fetchurl {
27575       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.35.tar.gz";
27576       hash = "sha256-HRNrcb0EHL5vZsQxgO555nW3KtWjWWq9akTSEQcq2ik=";
27577     };
27578     meta = {
27579       description = "Efficiently compute time from local and GMT time";
27580       homepage = "https://metacpan.org/release/Time-Local";
27581       license = with lib.licenses; [ artistic1 gpl1Plus ];
27582     };
27583   };
27585   TimeMoment = buildPerlPackage {
27586     pname = "Time-Moment";
27587     version = "0.44";
27588     src = fetchurl {
27589       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Time-Moment-0.44.tar.gz";
27590       hash = "sha256-ZKz6BC9jT8742t9V5/QrpOqriq631SEuuJgVox949v0=";
27591     };
27592     buildInputs = [ TestFatal TestNumberDelta TestRequires ];
27593     meta = {
27594       description = "Represents a date and time of day with an offset from UTC";
27595       license = with lib.licenses; [ artistic1 gpl1Plus ];
27596     };
27597   };
27599   TimeOut = buildPerlPackage {
27600     pname = "Time-Out";
27601     version = "0.11";
27602     src = fetchurl {
27603       url = "mirror://cpan/authors/id/P/PA/PATL/Time-Out-0.11.tar.gz";
27604       hash = "sha256-k5baaY/UUtnOYNZCzaIQjxHyDtdsiWF3muEbiXroFdI=";
27605     };
27606     meta = {
27607       description = "Easily timeout long running operations";
27608       license = with lib.licenses; [ artistic1 gpl1Plus ];
27609     };
27610   };
27612   TimeParseDate = buildPerlPackage {
27613     pname = "Time-ParseDate";
27614     version = "2015.103";
27615     src = fetchurl {
27616       url = "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz";
27617       hash = "sha256-LBoGI1v4EYE8qsnqqdqnGvdYZnzfewgstZhjIg/K7tE=";
27618     };
27619     doCheck = false;
27620     meta = {
27621       description = "Parse and format time values";
27622       license = with lib.licenses; [ publicDomain ];
27623     };
27624   };
27626   TimePeriod = buildPerlPackage {
27627     pname = "Time-Period";
27628     version = "1.25";
27629     src = fetchurl {
27630       url = "mirror://cpan/authors/id/P/PB/PBOYD/Time-Period-1.25.tar.gz";
27631       hash = "sha256-0H+lgFKb6sapyCdMa/IgtMOq3mhd9lwWadUzOb9u8eg=";
27632     };
27633     meta = {
27634       description = "Perl module to deal with time periods";
27635       license = with lib.licenses; [ artistic1 gpl1Plus ];
27636       maintainers = [ maintainers.winpat ];
27637     };
27638   };
27640   TimePiece = buildPerlPackage {
27641     pname = "Time-Piece";
27642     version = "1.3401";
27643     src = fetchurl {
27644       url = "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-1.3401.tar.gz";
27645       hash = "sha256-S1W3uw6rRc8jmlTf6tJ336BhIaQ+Y7P84IU67P2wTCc=";
27646     };
27647     meta = {
27648       description = "Object Oriented time objects";
27649       homepage = "https://metacpan.org/release/Time-Piece";
27650       license = with lib.licenses; [ artistic1 gpl1Plus ];
27651       maintainers = with maintainers; [ sgo ];
27652     };
27653   };
27655   Tirex = callPackage ../development/perl-modules/Tirex { };
27657   Tk = buildPerlPackage {
27658     pname = "Tk";
27659     version = "804.036";
27660     src = fetchurl {
27661       url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
27662       hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
27663     };
27664     patches = [
27665       # Fix failing configure test due to implicit int return value of main, which results
27666       # in an error with clang 16.
27667       ../development/perl-modules/tk-configure-implicit-int-fix.patch
27668     ];
27669     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
27670     buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
27671     env = lib.optionalAttrs stdenv.cc.isGNU {
27672       NIX_CFLAGS_COMPILE = toString [
27673         "-Wno-error=implicit-int"
27674         "-Wno-error=incompatible-pointer-types"
27675       ];
27676     };
27677     doCheck = false;            # Expects working X11.
27678     meta = {
27679       description = "Tk - a Graphical User Interface Toolkit";
27680       license = with lib.licenses; [ tcltk ];
27681     };
27682   };
27684   TkToolBar = buildPerlPackage {
27685     pname = "Tk-ToolBar";
27686     version = "0.12";
27687     src = fetchurl {
27688       url = "mirror://cpan/authors/id/A/AS/ASB/Tk-ToolBar-0.12.tar.gz";
27689       hash = "sha256-Rj4oTsRxN+fEJclpGwKo3sXOJytY6h9jWa6AQaI53Q8=";
27690     };
27691     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
27692     buildInputs = [ Tk ];
27693     doCheck = false;            # Expects working X11.
27694     meta = {
27695       description = "Toolbar widget for Perl/Tk";
27696       license = with lib.licenses; [ artistic1 gpl1Plus ];
27697     };
27698   };
27700   TreeDAGNode = buildPerlPackage {
27701     pname = "Tree-DAG_Node";
27702     version = "1.32";
27703     src = fetchurl {
27704       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.32.tgz";
27705       hash = "sha256-ItnePW5vSv2J5tglxmT5SCh4vUninLgTQqcHr0BULT0=";
27706     };
27707     propagatedBuildInputs = [ FileSlurpTiny ];
27708     meta = {
27709       description = "N-ary tree";
27710       license = with lib.licenses; [ artistic1 gpl1Plus ];
27711     };
27712   };
27714   TreeSimple = buildPerlPackage {
27715     pname = "Tree-Simple";
27716     version = "1.34";
27717     src = fetchurl {
27718       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-1.34.tgz";
27719       hash = "sha256-t+l5m9Iiu5TP+ZP312WYDL6hts0qql7L6tY1q99H0pw=";
27720     };
27721     buildInputs = [ TestException ];
27722     meta = {
27723       description = "Simple tree object";
27724       license = with lib.licenses; [ artistic1 gpl1Plus ];
27725     };
27726   };
27728   TreeSimpleVisitorFactory = buildPerlPackage {
27729     pname = "Tree-Simple-VisitorFactory";
27730     version = "0.16";
27731     src = fetchurl {
27732       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.16.tgz";
27733       hash = "sha256-nPU4+qEsVP+0qRQ5lF5IjxhW9iuJrFByqSIRngGIDaY=";
27734     };
27735     propagatedBuildInputs = [ TreeSimple ];
27736     buildInputs = [ TestException ];
27737     meta = {
27738       description = "Factory object for dispensing Visitor objects";
27739       license = with lib.licenses; [ artistic1 gpl1Plus ];
27740     };
27741   };
27743   TryTiny = buildPerlPackage {
27744     pname = "Try-Tiny";
27745     version = "0.31";
27746     src = fetchurl {
27747       url = "mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.31.tar.gz";
27748       hash = "sha256-MwDTHYpAdbJtj0bOhkodkT4OhGfO66ZlXV0rLiBsEb4=";
27749     };
27750     buildInputs = [ CPANMetaCheck CaptureTiny ];
27751     meta = {
27752       description = "Minimal try/catch with proper preservation of $@";
27753       homepage = "https://github.com/p5sagit/Try-Tiny";
27754       license = with lib.licenses; [ mit ];
27755     };
27756   };
27758   TryTinyByClass = buildPerlPackage {
27759     pname = "Try-Tiny-ByClass";
27760     version = "0.01";
27761     src = fetchurl {
27762       url = "mirror://cpan/authors/id/M/MA/MAUKE/Try-Tiny-ByClass-0.01.tar.gz";
27763       hash = "sha256-A45O9SkpXyacKA/vmZpeTbkVaULwkaw8rXabHkVw8UY=";
27764     };
27765     propagatedBuildInputs = [ DispatchClass TryTiny ];
27766     meta = {
27767       description = "Selectively catch exceptions by class name";
27768       license = with lib.licenses; [ artistic1 gpl1Plus ];
27769     };
27770   };
27772   Twiggy = buildPerlPackage {
27773     pname = "Twiggy";
27774     version = "0.1026";
27775     src = fetchurl {
27776       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1026.tar.gz";
27777       hash = "sha256-TZHqbtmumo70MU3Cp89S6wJrNlvmg4azXqaGTfrFf54=";
27778     };
27779     propagatedBuildInputs = [ AnyEvent Plack ];
27780     buildInputs = [ TestRequires TestSharedFork TestTCP ];
27781     meta = {
27782       description = "AnyEvent HTTP server for PSGI";
27783       homepage = "https://github.com/miyagawa/Twiggy";
27784       license = with lib.licenses; [ artistic1 gpl1Plus ];
27785       mainProgram = "twiggy";
27786     };
27787   };
27789   TypeTiny = buildPerlPackage {
27790     pname = "Type-Tiny";
27791     version = "2.004000";
27792     src = fetchurl {
27793       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-2.004000.tar.gz";
27794       hash = "sha256-aX5/d17fyF9M8HeS0E/RmwnCUoX5j1k46O/E90UHoSg=";
27795     };
27796     propagatedBuildInputs = [ ExporterTiny ];
27797     buildInputs = [ TestMemoryCycle ];
27798     meta = {
27799       description = "Tiny, yet Moo(se)-compatible type constraint";
27800       homepage = "https://typetiny.toby.ink";
27801       license = with lib.licenses; [ artistic1 gpl1Plus ];
27802     };
27803   };
27805   TypeTinyXS = buildPerlPackage {
27806     pname = "Type-Tiny-XS";
27807     version = "0.025";
27808     src = fetchurl {
27809       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-XS-0.025.tar.gz";
27810       hash = "sha256-mmFFDdqQKU9gbNej+kTzsaNmvNiKQZkXsFTuXiPRSL0=";
27811     };
27812     meta = {
27813       description = "Provides an XS boost for some of Type::Tiny's built-in type constraints";
27814       homepage = "https://metacpan.org/release/Type-Tiny-XS";
27815       license = with lib.licenses; [ artistic1 gpl1Plus ];
27816     };
27817   };
27819   TypesSerialiser = buildPerlPackage {
27820     pname = "Types-Serialiser";
27821     version = "1.01";
27822     src = fetchurl {
27823       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.01.tar.gz";
27824       hash = "sha256-+McXOwkU0OPZVyggd7Nm8MjHAlZxXq7zKY/zK5I4ioA=";
27825     };
27826     propagatedBuildInputs = [ commonsense ];
27827     meta = {
27828       description = "Simple data types for common serialisation formats";
27829       license = with lib.licenses; [ artistic1 gpl1Plus ];
27830     };
27831   };
27833   UNIVERSALcan = buildPerlPackage {
27834     pname = "UNIVERSAL-can";
27835     version = "1.20140328";
27836     src = fetchurl {
27837       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz";
27838       hash = "sha256-Ui2p8nR4b+LLqZvHfMHIHSFhlHkD1/rRC9Yt+38RmQ8=";
27839     };
27840     meta = {
27841       description = "Work around buggy code calling UNIVERSAL::can() as a function";
27842       homepage = "https://github.com/chromatic/UNIVERSAL-can";
27843       license = with lib.licenses; [ artistic1 gpl1Plus ];
27844     };
27845   };
27847   UNIVERSALisa = buildPerlPackage {
27848     pname = "UNIVERSAL-isa";
27849     version = "1.20171012";
27850     src = fetchurl {
27851       url = "mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz";
27852       hash = "sha256-0WlWA2ywHIGd7H0pT274kb4Ltkh2mJYBNUspMWTafys=";
27853     };
27854     meta = {
27855       description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
27856       homepage = "https://github.com/karenetheridge/UNIVERSAL-isa";
27857       license = with lib.licenses; [ artistic1 gpl1Plus ];
27858     };
27859   };
27861   UNIVERSALrequire = buildPerlPackage {
27862     pname = "UNIVERSAL-require";
27863     version = "0.19";
27864     src = fetchurl {
27865       url = "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.19.tar.gz";
27866       hash = "sha256-1GfNJuBsjDsgP9O8B5aubIN6xeMQCTyCJn/134UPGgM=";
27867     };
27868     meta = {
27869       description = "Require() modules from a variable [deprecated]";
27870       license = with lib.licenses; [ artistic1 gpl1Plus ];
27871     };
27872   };
27874   UnicodeCaseFold = buildPerlModule {
27875     pname = "Unicode-CaseFold";
27876     version = "1.01";
27877     src = fetchurl {
27878       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz";
27879       hash = "sha256-QYohKAj50Li7MwrJBQltLdNkl2dT1McVNNq5g2pjGU0=";
27880     };
27881     perlPreHook = lib.optionalString stdenv.hostPlatform.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
27882     meta = {
27883       description = "Unicode case-folding for case-insensitive lookups";
27884       homepage = "https://metacpan.org/release/Unicode-CaseFold";
27885       license = with lib.licenses; [ artistic1 gpl1Plus ];
27886     };
27887   };
27889   UnicodeCheckUTF8 = buildPerlPackage {
27890     pname = "Unicode-CheckUTF8";
27891     version = "1.03";
27892     src = fetchurl {
27893       url = "mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz";
27894       hash = "sha256-l/hNrwM+ubSc2P4x2yIf7wNaXC7h11fzEiyIz5diQUw=";
27895     };
27896     meta = {
27897       description = "Checks if scalar is valid UTF-8";
27898       license = with lib.licenses; [ ucd /* and */ artistic1 gpl1Plus ];
27899     };
27900   };
27902   UnicodeLineBreak = buildPerlPackage {
27903     pname = "Unicode-LineBreak";
27904     version = "2019.001";
27905     src = fetchurl {
27906       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz";
27907       hash = "sha256-SGdi5MrN3Md7E5ifl5oCn4RjC4F15/7xeYnhV9S2MYo=";
27908     };
27909     propagatedBuildInputs = [ MIMECharset ];
27910     meta = {
27911       description = "UAX #14 Unicode Line Breaking Algorithm";
27912       license = with lib.licenses; [ artistic1 gpl1Plus ];
27913     };
27914   };
27916   UnicodeString = buildPerlPackage {
27917     pname = "Unicode-String";
27918     version = "2.10";
27919     src = fetchurl {
27920       url = "mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz";
27921       hash = "sha256-iUoRDs5HlUaviv7Aly7scyDIbE3qTms1Tf88dSa6m2g=";
27922     };
27923     meta = {
27924       description = "String of Unicode characters (UTF-16BE)";
27925       license = with lib.licenses; [ artistic1 gpl1Plus ];
27926     };
27927   };
27929   UnicodeStringprep = buildPerlModule {
27930     pname = "Unicode-Stringprep";
27931     version = "1.105";
27932     src = fetchurl {
27933       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Unicode-Stringprep-1.105.tar.gz";
27934       hash = "sha256-5r67xYQIIx/RMX25ECRJs+faT6Q3559jc4LTYxPv0BE=";
27935     };
27936     buildInputs = [ TestNoWarnings ];
27937     meta = {
27938       description = "Preparation of Internationalized Strings (RFC 3454)";
27939       license = with lib.licenses; [ artistic1 gpl1Plus ];
27940       maintainers = [ maintainers.sgo ];
27941     };
27942   };
27944   UnicodeUTF8 = buildPerlPackage {
27945     pname = "Unicode-UTF8";
27946     version = "0.62";
27947     src = fetchurl {
27948       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Unicode-UTF8-0.62.tar.gz";
27949       hash = "sha256-+oci0LdGluMy/d1EKZRDbqk9O/x5gtS6vc7f3dZX0PY=";
27950     };
27951     buildInputs = [ TestFatal ];
27952     meta = {
27953       description = "Encoding and decoding of UTF-8 encoding form";
27954       homepage = "https://github.com/chansen/p5-unicode-utf8";
27955       license = with lib.licenses; [ artistic1 gpl1Plus ];
27956       maintainers = with maintainers; [ sgo ];
27957     };
27958   };
27960   UnixGetrusage = buildPerlPackage {
27961     pname = "Unix-Getrusage";
27962     version = "0.03";
27963     src = fetchurl {
27964       url = "mirror://cpan/authors/id/T/TA/TAFFY/Unix-Getrusage-0.03.tar.gz";
27965       hash = "sha256-ds3hzuJFMmC4WrvdwnzcmHXwHSRX4XbgPcq/BftETRI=";
27966     };
27967     meta = {
27968       description = "Perl interface to the Unix getrusage system call";
27969       license = with lib.licenses; [ artistic1 gpl1Plus ];
27970     };
27971   };
27973   URI = buildPerlPackage {
27974     pname = "URI";
27975     version = "5.21";
27976     src = fetchurl {
27977       url = "mirror://cpan/authors/id/O/OA/OALDERS/URI-5.21.tar.gz";
27978       hash = "sha256-liZYYM1hveFuhBXc+/EIBW3hYsqgrDf4HraVydLgq3c=";
27979     };
27980     buildInputs = [ TestFatal TestNeeds TestWarnings ];
27981     meta = {
27982       description = "Uniform Resource Identifiers (absolute and relative)";
27983       homepage = "https://github.com/libwww-perl/URI";
27984       license = with lib.licenses; [ artistic1 gpl1Plus ];
27985     };
27986   };
27988   URIdb = buildPerlModule {
27989     pname = "URI-db";
27990     version = "0.21";
27991     src = fetchurl {
27992       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.21.tar.gz";
27993       hash = "sha256-pkM9wVF6kH4YmRKkx2td/HYzLj/X/Is4oTfkAZx4CzQ=";
27994     };
27995     propagatedBuildInputs = [ URINested ];
27996     meta = {
27997       description = "Database URIs";
27998       homepage = "https://search.cpan.org/dist/URI-db";
27999       license = with lib.licenses; [ artistic1 gpl1Plus ];
28000     };
28001   };
28003   URIFind = buildPerlModule {
28004     pname = "URI-Find";
28005     version = "20160806";
28006     src = fetchurl {
28007       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20160806.tar.gz";
28008       hash = "sha256-4hOkJaUbX1UyQhHzeQnXh0nQus3qJZulGphV0NGWY9Y=";
28009     };
28010     propagatedBuildInputs = [ URI ];
28011     meta = {
28012       description = "Find URIs in arbitrary text";
28013       homepage = "https://metacpan.org/release/URI-Find";
28014       license = with lib.licenses; [ artistic1 gpl1Plus ];
28015       mainProgram = "urifind";
28016     };
28017   };
28019   URIFromHash = buildPerlPackage {
28020     pname = "URI-FromHash";
28021     version = "0.05";
28022     src = fetchurl {
28023       url = "mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz";
28024       hash = "sha256-p8rFvM7p8uLYrQ9gVAAWNxLNCsZN8vuDT3YPtJ8vb9A=";
28025     };
28026     propagatedBuildInputs = [ ParamsValidate URI ];
28027     buildInputs = [ TestFatal ];
28028     meta = {
28029       description = "Build a URI from a set of named parameters";
28030       homepage = "https://metacpan.org/release/URI-FromHash";
28031       license = with lib.licenses; [ artistic2 ];
28032     };
28033   };
28035   UriGoogleChart = buildPerlPackage {
28036     pname = "URI-GoogleChart";
28037     version = "1.02";
28038     src = fetchurl {
28039       url = "mirror://cpan/authors/id/G/GA/GAAS/URI-GoogleChart-1.02.tar.gz";
28040       hash = "sha256-WoLCLsYBejXQ/IJv7xNBIiaHL8SiPA4sAUqfqS8rGAI=";
28041     };
28042     propagatedBuildInputs = [ URI ];
28043     meta = {
28044       description = "Generate Google Chart URIs";
28045       license = with lib.licenses; [ artistic1 gpl1Plus ];
28046     };
28047   };
28049   UserIdentity = buildPerlPackage {
28050     pname = "User-Identity";
28051     version = "1.02";
28052     src = fetchurl {
28053       url = "mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-1.02.tar.gz";
28054       hash = "sha256-OySu5/UnjGXD8EEVsHyG5kaTTpnqQJJANj8wiZE+uJk=";
28055     };
28056     propagatedBuildInputs = [ HashOrdered ];
28057     meta = {
28058       description = "Collect information about a user";
28059       homepage = "http://perl.overmeer.net/CPAN";
28060       license = with lib.licenses; [ artistic1 gpl1Plus ];
28061     };
28062   };
28064   URIIMAP = buildPerlPackage {
28065     pname = "URI-imap";
28066     version = "1.01";
28067     src = fetchurl {
28068       url = "mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz";
28069       hash = "sha256-uxSZiW7ONKe08JFinC5yw2imcwDoVzqyIZjJ2HI1uy0=";
28070     };
28071     propagatedBuildInputs = [ URI ];
28072     meta = {
28073       description = "Support IMAP URI";
28074       license = with lib.licenses; [ artistic1 gpl1Plus ];
28075     };
28076   };
28078   URINested = buildPerlModule {
28079     pname = "URI-Nested";
28080     version = "0.10";
28081     src = fetchurl {
28082       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz";
28083       hash = "sha256-4ZcTOaZfusY6uHFC1LWdPSWdUUF3U8d8tY6jGoIz768=";
28084     };
28085     propagatedBuildInputs = [ URI ];
28086     meta = {
28087       description = "Nested URIs";
28088       homepage = "https://metacpan.org/release/URI-Nested";
28089       license = with lib.licenses; [ artistic1 gpl1Plus ];
28090     };
28091   };
28093   URISmartURI = buildPerlPackage {
28094     pname = "URI-SmartURI";
28095     version = "0.032";
28096     src = fetchurl {
28097       url = "mirror://cpan/authors/id/R/RK/RKITOVER/URI-SmartURI-0.032.tar.gz";
28098       hash = "sha256-6xdLeUYi4UK30JT2p+Nqe6T8i7zySF4QPuPaNevMTyw=";
28099     };
28100     propagatedBuildInputs = [ ClassC3Componentised FileFindRule ListMoreUtils Moose URI namespaceclean ];
28101     buildInputs = [ TestFatal TestNoWarnings ];
28102     meta = {
28103       description = "Subclassable and hostless URIs";
28104       license = with lib.licenses; [ artistic1 gpl1Plus ];
28105     };
28106   };
28108   URITemplate = buildPerlPackage {
28109     pname = "URI-Template";
28110     version = "0.24";
28111     src = fetchurl {
28112       url = "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-0.24.tar.gz";
28113       hash = "sha256-aK4tYbV+FNytD4Kvr/3F7AW1B6HpyN9aphOKqipbEd4=";
28114     };
28115     propagatedBuildInputs = [ URI ];
28116     meta = {
28117       description = "Object for handling URI templates (RFC 6570)";
28118       license = with lib.licenses; [ artistic1 gpl1Plus ];
28119     };
28120   };
28122   URIcpan = buildPerlPackage {
28123     pname = "URI-cpan";
28124     version = "1.009";
28125     src = fetchurl {
28126       url = "mirror://cpan/authors/id/R/RJ/RJBS/URI-cpan-1.009.tar.gz";
28127       hash = "sha256-JFV5sCW2P1d8cndDARmEcjhxykDcNezsjq05riSkjhI=";
28128     };
28129     propagatedBuildInputs = [ CPANDistnameInfo URI ];
28130     meta = {
28131       description = "URLs that refer to things on the CPAN";
28132       homepage = "https://github.com/rjbs/URI-cpan";
28133       license = with lib.licenses; [ artistic1 gpl1Plus ];
28134     };
28135   };
28137   URIws = buildPerlPackage {
28138     pname = "URI-ws";
28139     version = "0.03";
28140     src = fetchurl {
28141       url = "mirror://cpan/authors/id/P/PL/PLICEASE/URI-ws-0.03.tar.gz";
28142       hash = "sha256-bmsOQXKstqU8IiY5wABgjC3WHVCEhkdIKshgDVDlQe8=";
28143     };
28144     propagatedBuildInputs = [ URI ];
28145     meta = {
28146       description = "WebSocket support for URI package";
28147       homepage = "http://perl.wdlabs.com/URI-ws";
28148       license = with lib.licenses; [ artistic1 gpl1Plus ];
28149     };
28150   };
28152   UUID4Tiny = buildPerlPackage {
28153     pname = "UUID4-Tiny";
28154     version = "0.003";
28155     src = fetchurl {
28156       url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.003.tar.gz";
28157       hash = "sha256-4S9sgrg1dcORd3O0HA+1HPeDx8bPcuDJkWks4u8Hg2I=";
28158     };
28159     postPatch = lib.optionalString (stdenv.hostPlatform.isAarch64) ''
28160       # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h
28161       # printf SYS_getrandom | gcc -include sys/syscall.h -E -
28162       substituteInPlace lib/UUID4/Tiny.pm \
28163         --replace "syscall( 318" "syscall( 278"
28164     '';
28165     meta = {
28166       description = "Cryptographically secure v4 UUIDs for Linux x64";
28167       license = with lib.licenses; [ artistic1 gpl1Plus ];
28168       platforms = lib.platforms.linux; # configure phase fails with "OS unsupported"
28169     };
28170   };
28172   UUIDTiny = buildPerlPackage {
28173     pname = "UUID-Tiny";
28174     version = "1.04";
28175     src = fetchurl {
28176       url = "mirror://cpan/authors/id/C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz";
28177       hash = "sha256-bc2SYE1k6WzGwYgZSuFqnTpGVWIk93tvPR0TEraPmj0=";
28178     };
28179     meta = {
28180       description = "Pure Perl UUID Support With Functional Interface";
28181       license = with lib.licenses; [ artistic1 gpl1Plus ];
28182     };
28183   };
28185   UUIDURandom = buildPerlPackage {
28186     pname = "UUID-URandom";
28187     version = "0.001";
28188     src = fetchurl {
28189       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/UUID-URandom-0.001.tar.gz";
28190       hash = "sha256-PxNjGxO5YE+0ieKYlJDJnxA3Q6g3I5va+unWuvVfj0Y=";
28191     };
28192     propagatedBuildInputs = [ CryptURandom ];
28193     meta = {
28194       description = "UUIDs based on /dev/urandom or the Windows Crypto API";
28195       homepage = "https://github.com/dagolden/UUID-URandom";
28196       license = with lib.licenses; [ asl20 ];
28197     };
28198   };
28200   VariableMagic = buildPerlPackage {
28201     pname = "Variable-Magic";
28202     version = "0.63";
28203     src = fetchurl {
28204       url = "mirror://cpan/authors/id/V/VP/VPIT/Variable-Magic-0.63.tar.gz";
28205       hash = "sha256-ukCDssMf8mlPI3EzPVVMgmqvJLTZjQPki1tKQ6Kg5nk=";
28206     };
28207     meta = {
28208       description = "Associate user-defined magic to variables from Perl";
28209       homepage = "https://search.cpan.org/dist/Variable-Magic";
28210       license = with lib.licenses; [ artistic1 gpl1Plus ];
28211     };
28212   };
28214   Version = buildPerlPackage {
28215     pname = "version";
28216     version = "0.9930";
28217     src = fetchurl {
28218       url = "mirror://cpan/authors/id/L/LE/LEONT/version-0.9930.tar.gz";
28219       hash = "sha256-YduVX7yzn1kC+myLlXrrJ0HiPUhA+Eq/hGrx9nCu7jA=";
28220     };
28221     meta = {
28222       description = "Structured version objects";
28223       license = with lib.licenses; [ artistic1 gpl1Plus ];
28224     };
28225   };
28227   vidir = buildPerlPackage {
28228     pname = "App-vidir";
28229     version = "0.052";
28230     src = fetchurl {
28231       url = "mirror://cpan/authors/id/W/WO/WOLDRICH/App-vidir-0.052.tar.gz";
28232       hash = "sha256-GSKQdqXxPvGe1sEbu5Bcrc4iYH+pDoXJrxqqKbWsFQo=";
28233     };
28234     outputs = [ "out" ];
28235     meta = {
28236       description = "File manager USING vim itself";
28237       license = with lib.licenses; [ artistic1 gpl1Plus ];
28238       maintainers = [ maintainers.chreekat ];
28239       mainProgram = "vidir";
28240     };
28241   };
28243   VMEC2 = buildPerlModule {
28244     pname = "VM-EC2";
28245     version = "1.28";
28246     src = fetchurl {
28247       url = "mirror://cpan/authors/id/L/LD/LDS/VM-EC2-1.28.tar.gz";
28248       hash = "sha256-srazF0XFdDH8oO+5udC48WjWCBdV4Ej9nWxEab0Qis0=";
28249     };
28250     propagatedBuildInputs = [ AnyEventCacheDNS AnyEventHTTP JSON StringApprox XMLSimple ];
28251     meta = {
28252       description = "Perl interface to Amazon EC2, Virtual Private Cloud, Elastic Load Balancing, Autoscaling, and Relational Database services";
28253       license = with lib.licenses; [ artistic1 gpl1Plus ];
28254     };
28255   };
28257   VMEC2SecurityCredentialCache = buildPerlPackage {
28258     pname = "VM-EC2-Security-CredentialCache";
28259     version = "0.25";
28260     src = fetchurl {
28261       url = "mirror://cpan/authors/id/R/RC/RCONOVER/VM-EC2-Security-CredentialCache-0.25.tar.gz";
28262       hash = "sha256-/H6cFS/ytyHMsiGsQAiZNHdc9YNmrttcwWk2CfhAk3s=";
28263     };
28264     propagatedBuildInputs = [ DateTimeFormatISO8601 VMEC2 ];
28265     meta = {
28266       description = "Cache credentials respecting expiration time for IAM roles";
28267       homepage = "https://search.cpan.org/dist/VM-EC2-Security-CredentialCache";
28268       license = with lib.licenses; [ artistic1 gpl1Plus ];
28269     };
28270   };
28272   W3CLinkChecker = buildPerlPackage {
28273     pname = "W3C-LinkChecker";
28274     version = "5.0.0";
28275     src = fetchurl {
28276       url = "mirror://cpan/authors/id/D/DH/DHM/W3C-LinkChecker-5.0.0.tar.gz";
28277       hash = "sha256-CvdY0ZUMswTdqvqnoDmHaHTYjC/teL2KYx6zkG5U+6Y=";
28278     };
28279     outputs = [ "out" ];
28280     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP LocaleCodes NetIP TermReadKey ];
28281     meta = {
28282       description = "W3C Link Checker";
28283       homepage = "https://validator.w3.org/checklink";
28284       license = with lib.licenses; [ w3c ];
28285       mainProgram = "checklink";
28286     };
28287   };
28289   WWWCurl = buildPerlPackage {
28290     pname = "WWW-Curl";
28291     version = "4.17";
28292     src = fetchurl {
28293       url = "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz";
28294       hash = "sha256-Uv+rEQ4yNI13XyQclz61b5awju28EQ130lfNsKJKt7o=";
28295     };
28296     patches = [
28297       (fetchpatch {
28298         url = "https://aur.archlinux.org/cgit/aur.git/plain/makefile.patch?h=perl-www-curl&id=7e004bb8c5dc49c903a5d5fa5ff28c30a58e2595";
28299         hash = "sha256-8JZbe4IMfRZyLa118AAH/wsXrazOFy79OoH3Nuy57A4=";
28300         name = "perl-www-curl-makefile.patch";
28301       })
28302     ];
28303     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-return-type";
28304     buildInputs = [ pkgs.curl ];
28305     doCheck = false; # performs network access
28306     meta = {
28307       description = "Perl extension interface for libcurl";
28308       license = with lib.licenses; [ mit ];
28309     };
28310   };
28312   WWWFormUrlEncoded = buildPerlModule {
28313     pname = "WWW-Form-UrlEncoded";
28314     version = "0.26";
28315     src = fetchurl {
28316       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz";
28317       hash = "sha256-wEgLXx8VtxFj7DJ7jnhCKY8Ms6zpfmPXA0rx6UotkPQ=";
28318     };
28319     meta = {
28320       description = "Parser and builder for application/x-www-form-urlencoded";
28321       homepage = "https://github.com/kazeburo/WWW-Form-UrlEncoded";
28322       license = with lib.licenses; [ artistic1 gpl1Plus ];
28323     };
28324   };
28326   WWWMechanize = buildPerlPackage {
28327     pname = "WWW-Mechanize";
28328     version = "2.17";
28329     src = fetchurl {
28330       url = "mirror://cpan/authors/id/S/SI/SIMBABQUE/WWW-Mechanize-2.17.tar.gz";
28331       hash = "sha256-nAIAPoRiHeoSyYDEEB555PjK5OOCzT2iOfqovRmPBjo=";
28332     };
28333     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
28334     doCheck = false;
28335     buildInputs = [ CGI HTTPServerSimple PathTiny TestDeep TestFatal TestOutput TestWarnings ];
28336     meta = {
28337       description = "Handy web browsing in a Perl object";
28338       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
28339       license = with lib.licenses; [ artistic1 gpl1Plus ];
28340       mainProgram = "mech-dump";
28341     };
28342   };
28344   WWWMechanizeCGI = buildPerlPackage {
28345     pname = "WWW-Mechanize-CGI";
28346     version = "0.3";
28347     src = fetchurl {
28348       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz";
28349       hash = "sha256-weBNi/Hh8NfP9Rl7I2Z2kyrLgCgJNq7a5PngSFGo0hA=";
28350     };
28351     propagatedBuildInputs = [ HTTPRequestAsCGI WWWMechanize ];
28352     preConfigure = ''
28353       substituteInPlace t/cgi-bin/script.cgi \
28354         --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
28355     '';
28356     meta = {
28357       description = "Use WWW::Mechanize with CGI applications";
28358       license = with lib.licenses; [ artistic1 gpl1Plus ];
28359       broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.WWWMechanizeCGI.x86_64-darwin
28360     };
28361   };
28363   WWWRobotRules = buildPerlPackage {
28364     pname = "WWW-RobotRules";
28365     version = "6.02";
28366     src = fetchurl {
28367       url = "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz";
28368       hash = "sha256-RrUC56KI1VlCmJHutdl5Rh3T7MalxJHq2F0WW24DpR4=";
28369     };
28370     propagatedBuildInputs = [ URI ];
28371     meta = {
28372       description = "Database of robots.txt-derived permissions";
28373       license = with lib.licenses; [ artistic1 gpl1Plus ];
28374     };
28375   };
28377   WWWTwilioAPI = buildPerlPackage {
28378     pname = "WWW-Twilio-API";
28379     version = "0.21";
28380     src = fetchurl {
28381       url = "mirror://cpan/authors/id/S/SC/SCOTTW/WWW-Twilio-API-0.21.tar.gz";
28382       hash = "sha256-WC21OgkfjaNnDAN3MzFPJRCvXo7gukKg45Hi8uPKdzQ=";
28383     };
28384     prePatch = "rm examples.pl";
28385     propagatedBuildInputs = [ LWPProtocolHttps ];
28386     meta = {
28387       description = "Accessing Twilio's REST API with Perl";
28388       license = with lib.licenses; [ artistic1 gpl1Plus ];
28389     };
28390   };
28392   WWWYoutubeViewer = callPackage ../development/perl-modules/WWW-YoutubeViewer { };
28394   Want = buildPerlPackage {
28395     pname = "Want";
28396     version = "0.29";
28397     src = fetchurl {
28398       url = "mirror://cpan/authors/id/R/RO/ROBIN/Want-0.29.tar.gz";
28399       hash = "sha256-tOR0C41Mt4NZEnPGNr1oMEiS4o2J6Iq/knOx3hf1Uvc=";
28400     };
28401     meta = {
28402       description = "Generalisation of wantarray";
28403       license = with lib.licenses; [ artistic1 gpl1Plus ];
28404     };
28405   };
28407   Win32ShellQuote = buildPerlPackage {
28408     pname = "Win32-ShellQuote";
28409     version = "0.003001";
28410     src = fetchurl {
28411       url = "mirror://cpan/authors/id/H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz";
28412       hash = "sha256-qnSw49wtQc1j9i+FPlIf/Xa42CNHmiYZ4i7bQEm0wNw=";
28413     };
28414     meta = {
28415       description = "Quote argument lists for Win32";
28416       license = with lib.licenses; [ artistic1 gpl1Plus ];
28417     };
28418   };
28420   Workflow = buildPerlPackage {
28421     pname = "Workflow";
28422     version = "1.62";
28423     src = fetchurl {
28424       url = "mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.62.tar.gz";
28425       hash = "sha256-WNNokAm4j+Gp2DcWfTKaoe4xTzFZeeVik2OGVFs80pU=";
28426     };
28427     buildInputs = [ DBDMock ListMoreUtils MockMonkeyPatch PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
28428     propagatedBuildInputs = [ ClassAccessor ClassFactory DateTime DBI DataUUID DateTimeFormatStrptime ExceptionClass FileSlurp LogLog4perl Readonly XMLSimple ];
28429     meta = {
28430       description = "Simple, flexible system to implement workflows";
28431       homepage = "https://github.com/jonasbn/perl-workflow";
28432       license = with lib.licenses; [ artistic1 gpl1Plus ];
28433     };
28434   };
28436   Wx = buildPerlPackage {
28437     pname = "Wx";
28438     version = "0.9932";
28439     src = fetchurl {
28440       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Wx-0.9932.tar.gz";
28441       hash = "sha256-HP22U1oPRnbm8aqyydjhbVd74+s7fMBMgHTWheZlG3A=";
28442     };
28443     patches = [
28444       (fetchpatch {
28445         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/gtk3.patch";
28446         hash = "sha256-CokmRzDTFmEMN/jTKw9ECCPvi0mHt5+h8Ojg4Jgd7D4=";
28447       })
28448       (fetchpatch {
28449         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_MakeMaker.patch";
28450         hash = "sha256-kTJiCGv8yxQbgMych9yT2cOt+2bL1G4oJ0gehNcu0Rc=";
28451       })
28452       (fetchpatch {
28453         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_port.patch";
28454         hash = "sha256-y9LMpcbm7p8+LZ2Hw3PA2jc7bHAFEu0QRa170XuseKw=";
28455       })
28456     ];
28457     # DND.c:453:15: error: incompatible integer to pointer conversion assigning to 'NativeFormat' (aka 'const __CFString *') from 'wxDataFormatId'
28458     postPatch = ''
28459       substituteInPlace ext/dnd/XS/DataObject.xs \
28460         --replace "#ifdef __WXGTK20__" "#if wxUSE_GUI"
28461     '';
28462     propagatedBuildInputs = [ AlienWxWidgets ];
28463     # Testing requires an X server:
28464     #   Error: Unable to initialize GTK, is DISPLAY set properly?"
28465     doCheck = false;
28466     buildInputs = [ ExtUtilsXSpp ];
28467     meta = {
28468       description = "Interface to the wxWidgets cross-platform GUI toolkit";
28469       license = with lib.licenses; [ artistic1 gpl1Plus ];
28470     };
28471   };
28473   WxGLCanvas = buildPerlPackage {
28474     pname = "Wx-GLCanvas";
28475     version = "0.09";
28476     src = fetchurl {
28477       url = "mirror://cpan/authors/id/M/MB/MBARBON/Wx-GLCanvas-0.09.tar.gz";
28478       hash = "sha256-atLCn/Bv+Apci0udHWvwrtV0iegxvlnJRJT09ojcj+A=";
28479     };
28480     propagatedBuildInputs = [ pkgs.libGLU Wx ];
28481     doCheck = false;
28482     meta = {
28483       description = "wxPerl demo helper for Wx::GLCanvas";
28484       license = with lib.licenses; [ artistic1 gpl1Plus ];
28485     };
28486   };
28488   X11IdleTime = buildPerlPackage {
28489     pname = "X11-IdleTime";
28490     version = "0.09";
28491     src = fetchurl {
28492       url = "mirror://cpan/authors/id/A/AW/AWENDT/X11-IdleTime-0.09.tar.gz";
28493       hash = "sha256-2P3cB455ge4xt2CMZTZFyyDwFr3dx8VQtNUn79NiR0g=";
28494     };
28495     buildInputs = [ pkgs.xorg.libXext pkgs.xorg.libXScrnSaver pkgs.xorg.libX11 ];
28496     propagatedBuildInputs = [ InlineC ];
28497     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";
28498     meta = {
28499       description = "Get the idle time of X11";
28500       license = with lib.licenses; [ artistic1 gpl1Plus ];
28501     };
28502   };
28504   X11Protocol = buildPerlPackage {
28505     pname = "X11-Protocol";
28506     version = "0.56";
28507     src = fetchurl {
28508       url = "mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-0.56.tar.gz";
28509       hash = "sha256-3pbdbHwfJfMoeqevZJAr+ErKqo4MO7dqoWdjZ+BKCLc=";
28510     };
28511     doCheck = false; # requires an X server
28512     meta = {
28513       description = "Perl module for the X Window System Protocol, version 11";
28514       license = with lib.licenses; [ artistic1 gpl1Plus ];
28515     };
28516   };
28518   X11ProtocolOther = buildPerlPackage {
28519     pname = "X11-Protocol-Other";
28520     version = "31";
28521     src = fetchurl {
28522       url = "mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-31.tar.gz";
28523       hash = "sha256-PGJZk9x6jrHQLgcQimZjAkWcb8b589J2FfdJUVjcc/Q=";
28524     };
28525     propagatedBuildInputs = [ X11Protocol ];
28526     buildInputs = [ EncodeHanExtra ModuleUtil ];
28527     meta = {
28528       description = "Miscellaneous helpers for X11::Protocol connections";
28529       homepage = "https://user42.tuxfamily.org/x11-protocol-other/index.html";
28530       license = with lib.licenses; [ gpl1Plus gpl3Plus ];
28531     };
28532   };
28534   X11GUITest = buildPerlPackage {
28535     pname = "X11-GUITest";
28536     version = "0.28";
28537     src = fetchurl {
28538       url = "mirror://cpan/authors/id/C/CT/CTRONDLP/X11-GUITest-0.28.tar.gz";
28539       hash = "sha256-3O7eU3AGEP/xQtydXE5M0DcMiKTysTcfnL9NjYzm9ks=";
28540     };
28541     buildInputs = [ pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXt pkgs.xorg.libXtst ];
28542     NIX_CFLAGS_LINK = "-lX11";
28543     doCheck = false; # requires an X server
28544     meta = {
28545       description = "Provides GUI testing/interaction routines";
28546       license = with lib.licenses; [ gpl2Only ];
28547     };
28548   };
28550   X11XCB = buildPerlPackage {
28551     pname = "X11-XCB";
28552     version = "0.20";
28553     src = fetchurl {
28554       url = "mirror://cpan/authors/id/Z/ZH/ZHMYLOVE/X11-XCB-0.20.tar.gz";
28555       hash = "sha256-rVY5Yd4gIlVOdZHvXLjZY0ngxzdxIYXkeFBViMZ6L9I=";
28556     };
28557     env.AUTOMATED_TESTING = false;
28558     nativeBuildInputs = [ pkgs.pkg-config ];
28559     buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException ];
28560     propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple XSObjectMagic ];
28561     NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm -lxcb-randr -lxcb-xkb";
28562     doCheck = false; # requires an X server
28563     meta = {
28564       description = "Perl bindings for libxcb";
28565       license = with lib.licenses; [ artistic1 gpl1Plus ];
28566     };
28567   };
28569   XMLCanonicalizeXML = buildPerlPackage {
28570     pname = "XML-CanonicalizeXML";
28571     version = "0.10";
28572     src = fetchurl {
28573       url = "mirror://cpan/authors/id/S/SJ/SJZASADA/XML-CanonicalizeXML-0.10.tar.gz";
28574       hash = "sha256-5yhGSIDLtMHz/XceCQOoUmzWV7OUuzchYDUkXPHihu4=";
28575     };
28576     buildInputs = [ pkgs.libxml2 ];
28577     meta = {
28578       description = "Perl extension for inclusive (1.0 and 1.1) and exclusive canonicalization of XML using libxml2";
28579       license = with lib.licenses; [ artistic1 gpl1Plus ];
28580       maintainers = [ maintainers.sgo ];
28581     };
28582   };
28584   XMLDescent = buildPerlModule {
28585     pname = "XML-Descent";
28586     version = "1.04";
28587     src = fetchurl {
28588       url = "mirror://cpan/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz";
28589       hash = "sha256-pxG4VvjN9eZHpExx+WfUjAlgNbnb0/Hvvb6kBgWvvVA=";
28590     };
28591     buildInputs = [ TestDifferences ];
28592     propagatedBuildInputs = [ XMLTokeParser ];
28593     meta = {
28594       description = "Recursive descent XML parsing";
28595       license = with lib.licenses; [ artistic1 gpl1Plus ];
28596     };
28597   };
28599   XMLEncoding = buildPerlPackage {
28600     pname = "XML-Encoding";
28601     version = "2.11";
28602     src = fetchurl {
28603       url = "mirror://cpan/authors/id/S/SH/SHAY/XML-Encoding-2.11.tar.gz";
28604       hash = "sha256-pQ5Brwp5uILUiBa5VoHzilWvHmqIgo3NljdKi94jBaE=";
28605     };
28606     propagatedBuildInputs = [ XMLParser ];
28607     meta = {
28608       description = "Perl module for parsing XML encoding maps";
28609       license = with lib.licenses; [ artistic1 gpl1Plus ];
28610     };
28611   };
28613   XMLEntities = buildPerlPackage {
28614     pname = "XML-Entities";
28615     version = "1.0002";
28616     src = fetchurl {
28617       url = "mirror://cpan/authors/id/S/SI/SIXTEASE/XML-Entities-1.0002.tar.gz";
28618       hash = "sha256-wyqk8wlXPXZIqy5Bb2K2sgZS8q2c/T7sgv1REB/nMQ0=";
28619     };
28620     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
28621     propagatedBuildInputs = [ LWP ];
28622     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
28623       shortenPerlShebang $out/bin/download-entities.pl
28624     '';
28625     meta = {
28626       description = "Mapping of XML entities to Unicode";
28627       license = with lib.licenses; [ artistic1 gpl1Plus ];
28628     };
28629   };
28631   XMLDOM = buildPerlPackage {
28632     pname = "XML-DOM";
28633     version = "1.46";
28634     src = fetchurl {
28635       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz";
28636       hash = "sha256-i6JLC0WbAdbF5bBAiCnH1d/kf/ebNUjIE3WQSAmbF14=";
28637     };
28638     propagatedBuildInputs = [ XMLRegExp libxml_perl ];
28639     meta = {
28640       description = "Interface to XML::DOM toolset";
28641       license = with lib.licenses; [ gpl2Only ];
28642     };
28643   };
28645   XMLFeedPP = buildPerlPackage {
28646     pname = "XML-FeedPP";
28647     version = "0.95";
28648     src = fetchurl {
28649       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-FeedPP-0.95.tar.gz";
28650       hash = "sha256-kMOVm/GmC3aimnSac5QfOgx7mllUwTZbyB2vyrsBqPQ=";
28651     };
28652     propagatedBuildInputs = [ XMLTreePP ];
28653     meta = {
28654       description = "Parse/write/merge/edit RSS/RDF/Atom syndication feeds";
28655       homepage = "http://perl.overmeer.net/CPAN";
28656       license = with lib.licenses; [ artistic1 gpl1Plus ];
28657     };
28658   };
28660   XMLFilterBufferText = buildPerlPackage {
28661     pname = "XML-Filter-BufferText";
28662     version = "1.01";
28663     src = fetchurl {
28664       url = "mirror://cpan/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz";
28665       hash = "sha256-j9ISbTvuxVTfhSkZ9HOeaJICy7pqF1Bum2bqFlhBp1w=";
28666     };
28667     doCheck = false;
28668     meta = {
28669       description = "Filter to put all characters() in one event";
28670       license = with lib.licenses; [ artistic1 gpl1Plus ];
28671     };
28672   };
28674   XMLFilterXInclude = buildPerlPackage {
28675     pname = "XML-Filter-XInclude";
28676     version = "1.0";
28677     src = fetchurl {
28678       url = "mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Filter-XInclude-1.0.tar.gz";
28679       hash = "sha256-mHRvPB9vBJSR/sID1FW7j4ycbiUPBBkE3aXXjiEYf5M=";
28680     };
28681     doCheck = false;
28682     meta = {
28683       description = "XInclude as a SAX Filter";
28684       license = with lib.licenses; [ artistic1 gpl1Plus ];
28685     };
28686   };
28688   XMLFilterSort = buildPerlPackage {
28689     pname = "XML-Filter-Sort";
28690     version = "1.01";
28691     src = fetchurl {
28692       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Filter-Sort-1.01.tar.gz";
28693       hash = "sha256-UQWF85pJFszV+o1UXpYXnJHq9vx8l6QBp1aOhBFi+l8=";
28694     };
28695     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
28696     propagatedBuildInputs = [
28697       XMLSAX
28698       XMLSAXWriter
28699     ];
28700     postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
28701       shortenPerlShebang $out/bin/xmlsort
28702     '';
28703     meta = {
28704       description = "SAX filter for sorting elements in XML";
28705       license = with lib.licenses; [ artistic1 gpl1Plus ];
28706       mainProgram = "xmlsort";
28707     };
28708   };
28710   XMLGrove = buildPerlPackage {
28711     pname = "XML-Grove";
28712     version = "0.46alpha";
28713     src = fetchurl {
28714       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/XML-Grove-0.46alpha.tar.gz";
28715       hash = "sha256-/LZtffSsKcsO3B6mLBdQcCyqaob8lHkKlPyxo2vQ0Rc=";
28716     };
28717     buildInputs = [ pkgs.libxml2 ];
28718     propagatedBuildInputs = [ libxml_perl ];
28720     #patch from https://bugzilla.redhat.com/show_bug.cgi?id=226285
28721     patches = [ ../development/perl-modules/xml-grove-utf8.patch ];
28722     meta = {
28723       description = "Perl-style XML objects";
28724       license = with lib.licenses; [ artistic1 gpl1Plus ];
28725     };
28726   };
28728   XMLHandlerYAWriter = buildPerlPackage {
28729     pname = "XML-Handler-YAWriter";
28730     version = "0.23";
28731     src = fetchurl {
28732       url = "mirror://cpan/authors/id/K/KR/KRAEHE/XML-Handler-YAWriter-0.23.tar.gz";
28733       hash = "sha256-50y7vl41wapyYZC/re8cePN7ThV3+JyT2sKgr4MqpIU=";
28734     };
28735     propagatedBuildInputs = [ libxml_perl ];
28736     meta = {
28737       description = "Yet another Perl SAX XML Writer";
28738       license = with lib.licenses; [ gpl1Only ];
28739       mainProgram = "xmlpretty";
28740     };
28741   };
28743   XMLLibXML = buildPerlPackage {
28744     pname = "XML-LibXML";
28745     version = "2.0210";
28746     src = fetchurl {
28747       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0210.tar.gz";
28748       hash = "sha256-opvz8Aq5ye4EIYFU4K/I95m/I2dOuZwantTeH0BZpI0=";
28749     };
28750     SKIP_SAX_INSTALL = 1;
28751     buildInputs = [ AlienBuild AlienLibxml2 ]
28752       ++ lib.optionals stdenv.hostPlatform.isDarwin (with pkgs; [ libiconv zlib ]);
28753     patches = [
28754       # https://github.com/shlomif/perl-XML-LibXML/pull/87
28755       ../development/perl-modules/XML-LibXML-fix-tests-libxml-2.13.0.patch
28756     ];
28757     propagatedBuildInputs = [ XMLSAX ];
28758     meta = {
28759       description = "Perl Binding for libxml2";
28760       license = with lib.licenses; [ artistic1 gpl1Plus ];
28761     };
28762   };
28764   XMLLibXMLSimple = buildPerlPackage {
28765     pname = "XML-LibXML-Simple";
28766     version = "1.01";
28767     src = fetchurl {
28768       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz";
28769       hash = "sha256-zZjIEEtw12cr+ia0UTt4rfK0uSIOWGqovrGlCFADZaY=";
28770     };
28771     propagatedBuildInputs = [ XMLLibXML ];
28772     meta = {
28773       description = "API for simple XML files";
28774       license = with lib.licenses; [ artistic1 gpl1Plus ];
28775     };
28776   };
28778   XMLLibXSLT = buildPerlPackage {
28779     pname = "XML-LibXSLT";
28780     version = "2.002001";
28781     src = fetchurl {
28782       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXSLT-2.002001.tar.gz";
28783       hash = "sha256-34knxP8ZSfYlgNHB5vAPDNVrU9OpV+5LFxtZv/pjssA=";
28784     };
28785     nativeBuildInputs = [ pkgs.pkg-config ];
28786     buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
28787     propagatedBuildInputs = [ XMLLibXML ];
28788     meta = {
28789       description = "Interface to the GNOME libxslt library";
28790       license = with lib.licenses; [ artistic1 gpl1Plus ];
28791     };
28792   };
28794   XMLMini = buildPerlPackage {
28795     pname = "XML-Mini";
28796     version = "1.38";
28797     src = fetchurl {
28798       url = "mirror://cpan/authors/id/P/PD/PDEEGAN/XML-Mini-1.38.tar.gz";
28799       hash = "sha256-r4A9OANqMYThJKaC5UZvG8EH9IqJ7zWwx2R+EaBz/i0=";
28800     };
28801     meta = {
28802       description = "Perl implementation of the XML::Mini XML create/parse interface";
28803       license = with lib.licenses; [ gpl3Plus ];
28804     };
28805   };
28807   XMLNamespaceSupport = buildPerlPackage {
28808     pname = "XML-NamespaceSupport";
28809     version = "1.12";
28810     src = fetchurl {
28811       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz";
28812       hash = "sha256-R+mVhZ+N0EE6o/ItNQxKYtplLoVCZ6oFhq5USuK65e8=";
28813     };
28814     meta = {
28815       description = "Simple generic namespace processor";
28816       license = with lib.licenses; [ artistic1 gpl1Plus ];
28817     };
28818   };
28820   XMLParser = buildPerlPackage {
28821     pname = "XML-Parser";
28822     version = "2.46";
28823     src = fetchurl {
28824       url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz";
28825       hash = "sha256-0zEzJJHFHMz7TLlP/ET5zXM3jmGEmNSjffngQ2YcUV0=";
28826     };
28827     patches = [ ../development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch ];
28828     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
28829       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
28830     '' + lib.optionalString stdenv.hostPlatform.isCygwin ''
28831       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
28832     '';
28833     makeMakerFlags = [ "EXPATLIBPATH=${pkgs.expat.out}/lib" "EXPATINCPATH=${pkgs.expat.dev}/include" ];
28834     propagatedBuildInputs = [ LWP ];
28835     meta = {
28836       description = "Perl module for parsing XML documents";
28837       license = with lib.licenses; [ artistic1 gpl1Plus ];
28838     };
28839   };
28841   XMLParserLite = buildPerlPackage {
28842     pname = "XML-Parser-Lite";
28843     version = "0.722";
28844     src = fetchurl {
28845       url = "mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz";
28846       hash = "sha256-b5CgJ+FTGg5UBs8d4Txwm1IWlm349z0Lq5q5GSCXY+4=";
28847     };
28848     buildInputs = [ TestRequires ];
28849     meta = {
28850       description = "Lightweight pure-perl XML Parser (based on regexps)";
28851       license = with lib.licenses; [ artistic1 gpl1Plus ];
28852     };
28853   };
28855   XMLXPath = buildPerlPackage {
28856     pname = "XML-XPath";
28857     version = "1.48";
28858     src = fetchurl {
28859       url = "mirror://cpan/authors/id/M/MA/MANWAR/XML-XPath-1.48.tar.gz";
28860       hash = "sha256-e8db42sjnlsucAqVcNK1O0MJPUZ/Kr5qdD+f+Qk3kM0=";
28861     };
28862     buildInputs = [ PathTiny ];
28863     propagatedBuildInputs = [ XMLParser ];
28864     meta = {
28865       description = "Parse and evaluate XPath statements";
28866       license = with lib.licenses; [ artistic2 ];
28867       mainProgram = "xpath";
28868     };
28869   };
28871   XMLXPathEngine = buildPerlPackage {
28872     pname = "XML-XPathEngine";
28873     version = "0.14";
28874     src = fetchurl {
28875       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz";
28876       hash = "sha256-0v57y70L66FET0pzNAHnuKpSgvrUJm1Cc13XRYKy4mQ=";
28877     };
28878     meta = {
28879       description = "Re-usable XPath engine for DOM-like trees";
28880       license = with lib.licenses; [ artistic1 gpl1Plus ];
28881     };
28882   };
28884   XMLRegExp = buildPerlPackage {
28885     pname = "XML-RegExp";
28886     version = "0.04";
28887     src = fetchurl {
28888       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz";
28889       hash = "sha256-3xmQCWA2CFyOLUWQT+GA+Cv+1A8afgUkPzNOoQCQ/FQ=";
28890     };
28891     meta = {
28892       description = "Regular expressions for XML tokens";
28893       license = with lib.licenses; [ gpl2Plus];
28894     };
28895   };
28897   XMLRPCLite = buildPerlPackage {
28898     pname = "XMLRPC-Lite";
28899     version = "0.717";
28900     src = fetchurl {
28901       url = "mirror://cpan/authors/id/P/PH/PHRED/XMLRPC-Lite-0.717.tar.gz";
28902       hash = "sha256-Op+l8ssfr4t8ZrTDhuqzXKxgiK/E28dX1Pd9KE2rRSQ=";
28903     };
28904     propagatedBuildInputs = [ SOAPLite ];
28905     # disable tests that require network
28906     preCheck = "rm t/{26-xmlrpc.t,37-mod_xmlrpc.t}";
28907     meta = {
28908       description = "Client and server implementation of XML-RPC protocol";
28909       license = with lib.licenses; [ artistic1 gpl1Plus ];
28910     };
28911   };
28913   XMLRSS = buildPerlModule {
28914     pname = "XML-RSS";
28915     version = "1.62";
28916     src = fetchurl {
28917       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.62.tar.gz";
28918       hash = "sha256-0ycGNELH/3FDmTqgwtFv3lEhSRyXFmHrbLcA0uBDi04=";
28919     };
28920     propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
28921     meta = {
28922       description = "Creates and updates RSS files";
28923       homepage = "https://metacpan.org/release/XML-RSS";
28924       license = with lib.licenses; [ artistic1 gpl1Plus ];
28925     };
28926   };
28928   XMLRules = buildPerlModule {
28929     pname = "XML-Rules";
28930     version = "1.16";
28931     src = fetchurl {
28932       url = "mirror://cpan/authors/id/J/JE/JENDA/XML-Rules-1.16.tar.gz";
28933       hash = "sha256-N4glXAev5BlaDecs4FBlIyDYF1KP8tEMYR9uOSBDhos=";
28934     };
28935     propagatedBuildInputs = [ XMLParser ];
28936     meta = {
28937       description = "Parse XML and specify what and how to keep/process for individual tags";
28938       license = with lib.licenses; [ artistic1 gpl1Plus ];
28939     };
28940   };
28942   XMLSAX = buildPerlPackage {
28943     pname = "XML-SAX";
28944     version = "1.02";
28945     src = fetchurl {
28946       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz";
28947       hash = "sha256-RQbDhwQ6pqd7RV8A9XQJ83IKp+VTSVqyU1JjtO0eoSo=";
28948     };
28949     propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ];
28950     postInstall = ''
28951       perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
28952       '';
28953     meta = {
28954       description = "Simple API for XML";
28955       license = with lib.licenses; [ artistic1 gpl1Plus ];
28956     };
28957   };
28959   XMLSAXBase = buildPerlPackage {
28960     pname = "XML-SAX-Base";
28961     version = "1.09";
28962     src = fetchurl {
28963       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz";
28964       hash = "sha256-Zss1W6TvR8EMpzi9NZmXI2RDhqyFOrvrUTKEH16KKtA=";
28965     };
28966     meta = {
28967       description = "Base class for SAX Drivers and Filters";
28968       homepage = "https://github.com/grantm/XML-SAX-Base";
28969       license = with lib.licenses; [ artistic1 gpl1Plus ];
28970     };
28971   };
28973   XMLSAXExpat = buildPerlPackage {
28974     pname = "XML-SAX-Expat";
28975     version = "0.51";
28976     src = fetchurl {
28977       url = "mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz";
28978       hash = "sha256-TAFiE9DOfbLElOMAhrWZF7MC24wpLc0h853uvZeAyD8=";
28979     };
28980     propagatedBuildInputs = [ XMLParser XMLSAX ];
28981     # Avoid creating perllocal.pod, which contains a timestamp
28982     installTargets = [ "pure_install" ];
28983     meta = {
28984       description = "SAX Driver for Expat";
28985       license = with lib.licenses; [ artistic1 gpl1Plus ];
28986     };
28987   };
28989   XMLSAXWriter = buildPerlPackage {
28990     pname = "XML-SAX-Writer";
28991     version = "0.57";
28992     src = fetchurl {
28993       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz";
28994       hash = "sha256-PWHQfvQ7ASb1tN5PQVolb6hZ+ojcT9q6rXC3vnxoLPA=";
28995     };
28996     propagatedBuildInputs = [ XMLFilterBufferText XMLNamespaceSupport XMLSAXBase ];
28997     meta = {
28998       description = "SAX2 XML Writer";
28999       homepage = "https://github.com/perigrin/xml-sax-writer";
29000       license = with lib.licenses; [ artistic1 gpl1Plus ];
29001     };
29002   };
29004   XMLSemanticDiff = buildPerlModule {
29005     pname = "XML-SemanticDiff";
29006     version = "1.0007";
29007     src = fetchurl {
29008       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz";
29009       hash = "sha256-Bf3v77vD9rYvx8m1+rr7a2le1o8KPZWFdyUdHwQCoPU=";
29010     };
29011     propagatedBuildInputs = [ XMLParser ];
29012     meta = {
29013       description = "Perl extension for comparing XML documents";
29014       license = with lib.licenses; [ artistic1 gpl1Plus ];
29015     };
29016   };
29018   XMLSimple = buildPerlPackage {
29019     pname = "XML-Simple";
29020     version = "2.25";
29021     src = fetchurl {
29022       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz";
29023       hash = "sha256-Ux/drr6iQWdD61xP36sCj1AhI9miIEBaQQDmj8SA2/g=";
29024     };
29025     propagatedBuildInputs = [ XMLSAXExpat ];
29026     meta = {
29027       description = "API for simple XML files";
29028       license = with lib.licenses; [ artistic1 gpl1Plus ];
29029     };
29030   };
29032   XMLTokeParser = buildPerlPackage {
29033     pname = "XML-TokeParser";
29034     version = "0.05";
29035     src = fetchurl {
29036       url = "mirror://cpan/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz";
29037       hash = "sha256-hTm0+YQ2sabQiDQai0Uwt5IqzWUfPyk3f4sZSMfi18I=";
29038     };
29039     propagatedBuildInputs = [ XMLParser ];
29040     meta = {
29041       description = "Simplified interface to XML::Parser";
29042       license = with lib.licenses; [ artistic1 gpl1Plus ];
29043     };
29044   };
29046   XMLTreePP = buildPerlPackage {
29047     pname = "XML-TreePP";
29048     version = "0.43";
29049     src = fetchurl {
29050       url = "mirror://cpan/authors/id/K/KA/KAWASAKI/XML-TreePP-0.43.tar.gz";
29051       hash = "sha256-f74tZDCGAFmJSu7r911MrPG/jXt1KU64fY4VAvgb12A=";
29052     };
29053     propagatedBuildInputs = [ LWP ];
29054     meta = {
29055       description = "Pure Perl implementation for parsing/writing XML documents";
29056       license = with lib.licenses; [ artistic1 gpl1Plus ];
29057     };
29058   };
29060   XMLTwig = buildPerlPackage {
29061     pname = "XML-Twig";
29062     version = "3.52";
29063     src = fetchurl {
29064       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz";
29065       hash = "sha256-/vdYJsJPK4d9Cg0mRSEvxPuXVu1NJxFhSsFcSX6GgK0=";
29066     };
29067     postInstall = ''
29068       mkdir -p $out/bin
29069       cp tools/xml_grep/xml_grep $out/bin
29070     '';
29071     propagatedBuildInputs = [ XMLParser ];
29072     doCheck = false;  # requires lots of extra packages
29073     meta = {
29074       description = "Perl module for processing huge XML documents in tree mode";
29075       license = with lib.licenses; [ artistic1 gpl1Plus ];
29076       mainProgram = "xml_grep";
29077     };
29078   };
29080   XMLValidatorSchema = buildPerlPackage {
29081     pname = "XML-Validator-Schema";
29082     version = "1.10";
29083     src = fetchurl {
29084       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz";
29085       hash = "sha256-YUJnlYAVCokffTIjK14x4rTl5T6Kb6nL7stcI4FPFCI=";
29086     };
29087     propagatedBuildInputs = [ TreeDAGNode XMLFilterBufferText XMLSAX ];
29088     meta = {
29089       description = "Validate XML against a subset of W3C XML Schema";
29090       license = with lib.licenses; [ artistic1 gpl1Plus ];
29091     };
29092   };
29094   XMLWriter = buildPerlPackage {
29095     pname = "XML-Writer";
29096     version = "0.900";
29097     src = fetchurl {
29098       url = "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.900.tar.gz";
29099       hash = "sha256-c8j1vT7PKzUPStrm1mdtUuCOzC199KnwifpoNg1ADR8=";
29100     };
29101     meta = {
29102       description = "Module for creating a XML document object oriented with on the fly validating towards the given DTD";
29103       license = with lib.licenses; [ gpl1Only ];
29104     };
29105   };
29107   XSObjectMagic = buildPerlPackage {
29108     pname = "XS-Object-Magic";
29109     version = "0.05";
29110     src = fetchurl {
29111       url = "mirror://cpan/authors/id/E/ET/ETHER/XS-Object-Magic-0.05.tar.gz";
29112       hash = "sha256-PcnkYM7pLhF0QGJ1RkOjN3jKUqVNIF/K/6SrDzzxXlo=";
29113     };
29114     buildInputs = [ ExtUtilsDepends TestFatal TestSimple13 ];
29115     meta = {
29116       description = "Opaque, extensible XS pointer backed objects using sv_magic";
29117       homepage = "https://github.com/karenetheridge/XS-Object-Magic";
29118       license = with lib.licenses; [ artistic1 gpl1Plus ];
29119     };
29120   };
29122   XSParseKeyword = buildPerlModule {
29123     pname = "XS-Parse-Keyword";
29124     version = "0.44";
29125     src = fetchurl {
29126       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.44.tar.gz";
29127       hash = "sha256-ohrnkiGSfvwR2J2MnbMt9swgsxacX2kuGSEUriNNdhI=";
29128     };
29129     buildInputs = [ ExtUtilsCChecker Test2Suite ];
29130     propagatedBuildInputs = [ FileShareDir ];
29131     perlPreHook = lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isDarwin) "export LD=$CC";
29132     meta = {
29133       description = "XS functions to assist in parsing keyword syntax";
29134       license = with lib.licenses; [ artistic1 gpl1Plus ];
29135       maintainers = [ maintainers.zakame ];
29136     };
29137   };
29139   XSParseSublike = buildPerlModule {
29140     pname = "XS-Parse-Sublike";
29141     version = "0.29";
29142     src = fetchurl {
29143       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.29.tar.gz";
29144       hash = "sha256-UnX1w457gFe6cuzRzAcpO26TOadzdA51pse+lSAfHjw=";
29145     };
29146     buildInputs = [ Test2Suite ];
29147     propagatedBuildInputs = [ FileShareDir ];
29148     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
29149     meta = {
29150       description = "XS functions to assist in parsing sub-like syntax";
29151       license = with lib.licenses; [ artistic1 gpl1Plus ];
29152       maintainers = [ maintainers.zakame ];
29153     };
29154   };
29156   XXX = buildPerlPackage {
29157     pname = "XXX";
29158     version = "0.38";
29159     src = fetchurl {
29160       url = "mirror://cpan/authors/id/I/IN/INGY/XXX-0.38.tar.gz";
29161       hash = "sha256-0QUQ6gD2Gav0erKZ8Ui9WzYM+gfcDtUYE4t87HJpLSo=";
29162     };
29163     propagatedBuildInputs = [ YAMLPP ];
29164     meta = {
29165       description = "See Your Data in the Nude";
29166       homepage = "https://github.com/ingydotnet/xxx-pm";
29167       license = with lib.licenses; [ artistic1 gpl1Plus ];
29168     };
29169   };
29171   YAML = buildPerlPackage {
29172     pname = "YAML";
29173     version = "1.30";
29174     src = fetchurl {
29175       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-1.30.tar.gz";
29176       hash = "sha256-UDCm1sv/rxJYMFC/VSqoANRkbKlnjBh63WSSJ/V0ec0=";
29177     };
29179     buildInputs = [ TestBase TestDeep TestYAML ];
29181     meta = {
29182       description = "YAML Ain't Markup Language (tm)";
29183       homepage = "https://github.com/ingydotnet/yaml-pm";
29184       license = with lib.licenses; [ artistic1 gpl1Plus ];
29185     };
29186   };
29188   YAMLOld = buildPerlPackage {
29189     pname = "YAML-Old";
29190     version = "1.23";
29191     src = fetchurl {
29192       url = "mirror://cpan/authors/id/I/IN/INGY/YAML-Old-1.23.tar.gz";
29193       hash = "sha256-+lRvzZrMWjm8iHGQL3/B66UOfceBxc1cCr8a7ObRfs0=";
29194     };
29195     buildInputs = [ TestYAML TestBase ];
29196     meta = {
29197       description = "Old YAML.pm Legacy Code";
29198       homepage = "https://github.com/ingydotnet/yaml-old-pm";
29199       license = with lib.licenses; [ artistic1 gpl1Plus ];
29200     };
29201   };
29203   YAMLSyck = buildPerlPackage {
29204     pname = "YAML-Syck";
29205     version = "1.34";
29206     src = fetchurl {
29207       url = "mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.34.tar.gz";
29208       hash = "sha256-zJFWzK69p5jr/i8xthnoBld/hg7RcEJi8X/608bjQVk=";
29209     };
29210     perlPreHook = lib.optionalString stdenv.hostPlatform.isDarwin "export LD=$CC";
29211     meta = {
29212       description = "Fast, lightweight YAML loader and dumper";
29213       homepage = "https://github.com/toddr/YAML-Syck";
29214       license = with lib.licenses; [ mit ];
29215     };
29216   };
29218   YAMLTiny = buildPerlPackage {
29219     pname = "YAML-Tiny";
29220     version = "1.74";
29221     src = fetchurl {
29222       url = "mirror://cpan/authors/id/E/ET/ETHER/YAML-Tiny-1.74.tar.gz";
29223       hash = "sha256-ezjKn1084kIwpri9wfR/Wy2zSOf3+WZsJvWVVjbjPWw=";
29224     };
29225     meta = {
29226       description = "Read/Write YAML files with as little code as possible";
29227       license = with lib.licenses; [ artistic1 gpl1Plus ];
29228     };
29229   };
29231   YAMLLibYAML = buildPerlPackage {
29232     pname = "YAML-LibYAML";
29233     version = "0.89";
29234     src = fetchurl {
29235       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.89.tar.gz";
29236       hash = "sha256-FVq4NnU0XFCt0DMRrPndkVlVcH+Qmiq9ixfXeShZsuw=";
29237     };
29238     meta = {
29239       description = "Perl YAML Serialization using XS and libyaml";
29240       license = with lib.licenses; [ artistic1 gpl1Plus ];
29241     };
29242   };
29244   YAMLPP = buildPerlPackage {
29245     pname = "YAML-PP";
29246     version = "0.38.0";
29247     src = fetchurl {
29248       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-PP-v0.38.0.tar.gz";
29249       hash = "sha256-qBlGXFL2o0EEmjlCdCwI4E8olLKmZILkOn9AfOELTqA=";
29250     };
29251     buildInputs = [ TestDeep TestWarn ];
29252     meta = {
29253       description = "YAML 1.2 Processor";
29254       license = with lib.licenses; [ artistic1 gpl1Plus ];
29255     };
29256   };
29258   Yancy = buildPerlPackage {
29259     pname = "Yancy";
29260     version = "1.088";
29261     src = fetchurl {
29262       url = "mirror://cpan/authors/id/P/PR/PREACTION/Yancy-1.088.tar.gz";
29263       hash = "sha256-addqs5ilrGiQc0Paisybr9UZ+0x4WrAU7CagUhA2vSo=";
29264     };
29265     buildInputs = [ FileShareDirInstall ];
29266     propagatedBuildInputs = [ ClassMethodModifiers JSONValidator Mojolicious MojoliciousPluginI18N MojoliciousPluginOpenAPI RoleTiny ];
29267     meta = {
29268       homepage = "http://preaction.me/yancy/";
29269       description = "Best Web Framework Deserves the Best CMS";
29270       license = with lib.licenses; [ artistic1 gpl1Plus ];
29271     };
29272   };
29274   WebMachine = buildPerlPackage {
29275     pname = "Web-Machine";
29276     version = "0.17";
29277     src = fetchurl {
29278       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Web-Machine-0.17.tar.gz";
29279       hash = "sha256-8TnSsxFMVJ6RhH2qq4t1y2meV9r1u/Db0TKT8z/l4io=";
29280     };
29281     buildInputs = [ NetHTTP TestFailWarnings TestFatal ];
29282     propagatedBuildInputs = [ HTTPHeadersActionPack HTTPMessage HashMultiValue IOHandleUtil ModuleRuntime Plack SubExporter TryTiny ];
29283     meta = {
29284       description = "Perl port of Webmachine";
29285       homepage = "https://metacpan.org/release/Web-Machine";
29286       license = with lib.licenses; [ artistic1 gpl1Plus ];
29287     };
29288   };
29290   WebScraper = buildPerlModule {
29291     pname = "Web-Scraper";
29292     version = "0.38";
29293     src = fetchurl {
29294       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Web-Scraper-0.38.tar.gz";
29295       hash = "sha256-+VtuX41/7r4RbQW/WaK3zxpR7Z0wvKgBI0MOxFZ1Q78=";
29296     };
29297     buildInputs = [ ModuleBuildTiny TestBase TestRequires ];
29298     propagatedBuildInputs = [ HTMLParser HTMLSelectorXPath HTMLTagset HTMLTree HTMLTreeBuilderXPath UNIVERSALrequire URI XMLXPathEngine YAML libwwwperl ];
29299     meta = {
29300       homepage = "https://github.com/miyagawa/web-scraper";
29301       description = "Web Scraping Toolkit using HTML and CSS Selectors or XPath expressions";
29302       license = with lib.licenses; [ artistic1 gpl1Plus ];
29303     };
29304   };
29306   WebServiceLinode = buildPerlModule {
29307     pname = "WebService-Linode";
29308     version = "0.29";
29309     src = fetchurl {
29310       url = "mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz";
29311       hash = "sha256-EDqrJFME8I6eh6x7yITdtEpjDea6wHfckh9xbXEVSSI=";
29312     };
29313     buildInputs = [ ModuleBuildTiny ];
29314     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
29315     meta = {
29316       description = "Perl Interface to the Linode.com API";
29317       homepage = "https://github.com/mikegrb/WebService-Linode";
29318       license = with lib.licenses; [ artistic1 gpl1Plus ];
29319     };
29320   };
29322   WebServiceValidatorHTMLW3C = buildPerlModule {
29323     pname = "WebService-Validator-HTML-W3C";
29324     version = "0.28";
29325     src = fetchurl {
29326       url = "mirror://cpan/authors/id/S/ST/STRUAN/WebService-Validator-HTML-W3C-0.28.tar.gz";
29327       hash = "sha256-zLB60zegOuyBob6gqJzSlUaR/1uzZ9+aMrnZEw8XURA=";
29328     };
29329     buildInputs = [ ClassAccessor LWP ];
29330     meta = {
29331       description = "Access the W3Cs online HTML validator";
29332       license = with lib.licenses; [ artistic1 gpl1Plus ];
29333     };
29334   };
29336   ZonemasterCLI = buildPerlPackage {
29337     pname = "Zonemaster-CLI";
29338     version = "6.000003";
29339     src = fetchurl {
29340       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-CLI-v6.0.3.tar.gz";
29341       hash = "sha256-oYDBYVygvPUZ9vrGX/y5A0MAQ6zgSsrf6AtUdFcZG4Q=";
29342     };
29343     propagatedBuildInputs = [
29344       JSONXS
29345       MooseXGetopt
29346       TextReflow
29347       ZonemasterEngine
29348       ZonemasterLDNS
29349       libintl-perl
29350     ];
29352     preConfigure = ''
29353       patchShebangs script/
29354     '';
29356     meta = {
29357       description = "Run Zonemaster tests from the command line";
29358       license = with lib.licenses; [ bsd3 ];
29359       maintainers = with lib.maintainers; [ qbit ];
29360     };
29361   };
29363   ZonemasterEngine = buildPerlPackage {
29364     pname = "Zonemaster-Engine";
29365     version = "4.6.1";
29366     src = fetchurl {
29367       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-Engine-v4.6.1.tar.gz";
29368       hash = "sha256-4AXo3bZTOLnnPjjX5KNb/2O7MRqcAtlqpz5sPwNN9b0=";
29369     };
29370     buildInputs = [ PodCoverage TestDifferences TestException TestFatal TestNoWarnings TestPod ];
29371     propagatedBuildInputs = [ ClassAccessor Clone EmailValid FileShareDir FileSlurp IOSocketINET6 ListMoreUtils ModuleFind Moose MooseXSingleton NetIP NetIPXS Readonly TextCSV ZonemasterLDNS libintl-perl ];
29373     meta = {
29374       description = "Tool to check the quality of a DNS zone";
29375       license = with lib.licenses; [ bsd3 ];
29376     };
29377   };
29379   ZonemasterLDNS = buildPerlPackage {
29380     pname = "Zonemaster-LDNS";
29381     version = "3.2.0";
29382     src = fetchurl {
29383       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-LDNS-3.2.0.tar.gz";
29384       hash = "sha256-BpsWQRcpX6gtJSlAocqLMIrYsfPocjvk6CaqqX9wbWw=";
29385     };
29386     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include -I${pkgs.libidn2}.dev}/include";
29387     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.libidn2}/lib -lcrypto -lidn2";
29389     makeMakerFlags = [ "--prefix-openssl=${pkgs.openssl.dev}" ];
29391     nativeBuildInputs = [ pkgs.pkg-config ];
29392     buildInputs = [ DevelChecklib ModuleInstall ModuleInstallXSUtil TestFatal TestDifferences pkgs.ldns pkgs.libidn2 pkgs.openssl ];
29393     meta = {
29394       description = "Perl wrapper for the ldns DNS library";
29395       license = with lib.licenses; [ bsd3 ];
29396     };
29397   };
29399 } // lib.optionalAttrs config.allowAliases {
29400   autodie = null; # part of Perl
29401   AutoLoader = null; # part of Perl 5.22
29402   constant = null; # part of Perl 5.22
29403   DevelSelfStubber = null; # part of Perl 5.22
29404   Digest = null; # part of Perl 5.22
29405   Exporter = null; # part of Perl 5.22
29406   I18NCollate = null; # part of Perl 5.22
29407   lib_ = null; # part of Perl 5.22
29408   LocaleMaketextSimple = null; # part of Perl 5.22
29409   MathComplex = null; # part of Perl 5.22
29410   MIMEBase64 = null; # part of Perl 5.22
29411   PerlIOviaQuotedPrint = null; # part of Perl 5.22
29412   PodEscapes = null; # part of Perl 5.22
29413   Safe = null; # part of Perl 5.22
29414   SearchDict = null; # part of Perl 5.22
29415   Test = null; # part of Perl 5.22
29416   TextAbbrev = null; # part of Perl 5.22
29417   TextTabsWrap = null; # part of Perl 5.22
29418   DigestSHA = null;
29419   "if" = null;
29420   TestSimple = null;
29421   AttributeHandlers = null; # part of Perl 5.26
29422   base = null; # part of Perl 5.26
29423   CPANMeta = null; # part of Perl 5.26
29424   CPANMetaRequirements = null; # part of Perl 5.26
29425   CPANMetaYAML = null; # part of Perl 5.26
29426   DigestMD5 = null; # part of Perl 5.26
29427   LocaleMaketext = null; # part of Perl 5.26
29428   ModuleLoadConditional = null; # part of Perl 5.26
29429   ModuleMetadata = null; # part of Perl 5.26
29430   PerlOSType = null; # part of Perl 5.26
29431   PodUsage = null; # part of Perl 5.26
29432   TermANSIColor = null; # part of Perl 5.26
29433   TermCap = null; # part of Perl 5.26
29434   ThreadSemaphore = null; # part of Perl 5.26
29435   UnicodeNormalize = null; # part of Perl 5.26
29436   XSLoader = null; # part of Perl 5.26
29438   Carp = null; # part of Perl 5.28
29439   ExtUtilsCBuilder = null; # part of Perl 5.28
29440   ExtUtilsParseXS = null; # part of Perl 5.28
29441   FilterSimple = null; # part of Perl 5.28
29442   IOSocketIP = null; # part of Perl 5.28
29443   SelfLoader = null; # part of Perl 5.28
29444   Socket = null; # part of Perl 5.28
29445   TestHarness = null; # part of Perl 5.28
29446   threads = null; # part of Perl 5.28
29447   TimeHiRes = null; # part of Perl 5.28
29448   UnicodeCollate = null; # part of Perl 5.28
29449   ModuleCoreList = null; # part of Perl 5.28.2
29451   bignum = null; # part of Perl 5.30.3
29452   DataDumper = null; # part of Perl 5.30.3
29453   ExtUtilsManifest = null; # part of Perl 5.30.3
29454   FileTemp = null; # part of Perl 5.30.3
29455   MathBigRat = null; # part of Perl 5.30.3
29456   Storable = null; # part of Perl 5.30.3
29457   threadsshared = null; # part of Perl 5.30.3
29458   ThreadQueue = null; # part of Perl 5.30.3
29460   ArchiveZip_1_53 = self.ArchiveZip;
29461   Autobox = self.autobox;
29462   CommonSense = self.commonsense; # For backwards compatibility.
29463   if_ = self."if"; # For backwards compatibility.
29464   Log4Perl = self.LogLog4perl; # For backwards compatibility.
29465   MouseXGetOpt = self.MouseXGetopt;
29466   NamespaceAutoclean = self.namespaceautoclean; # Deprecated.
29467   NamespaceClean = self.namespaceclean; # Deprecated.
29468   CatalystPluginUnicodeEncoding = self.CatalystRuntime;
29469   ClassAccessorFast = self.ClassAccessor;
29470   ClassMOP = self.Moose;
29471   CompressZlib = self.IOCompress;
29472   constantdefer = self.constant-defer;
29473   DigestHMAC_SHA1 = self.DigestHMAC;
29474   DistZillaPluginNoTabsTests = self.DistZillaPluginTestNoTabs;
29475   EmailMIMEModifier = self.EmailMIME;
29476   ExtUtilsCommand = self.ExtUtilsMakeMaker;
29477   IOSocketInet6 = self.IOSocketINET6;
29478   IOstringy = self.IOStringy;
29479   libintl_perl = self.libintl-perl;
29480   libintlperl = self.libintl-perl;
29481   LWPProtocolconnect = self.LWPProtocolConnect;
29482   LWPProtocolhttps = self.LWPProtocolHttps;
29483   LWPUserAgent = self.LWP;
29484   MIMEtools = self.MIMETools;
29485   NetLDAP = self.perlldap;
29486   NetSMTP = self.libnet;
29487   OLEStorageLight = self.OLEStorage_Lite; # For backwards compatibility. Please use OLEStorage_Lite instead.
29488   ParseCPANMeta = self.CPANMeta;
29489   TestMoose = self.Moose;
29490   TestMore = self.TestSimple;
29491   TestTester = self.TestSimple;
29492   Testuseok = self.TestSimple;
29493   SubExporterUtil = self.SubExporter;
29494   version = self.Version;
29496   Gtk2GladeXML = throw "Gtk2GladeXML has been removed"; # 2022-01-15
29497   pcscperl = throw "'pcscperl' has been renamed to 'ChipcardPCSC'"; # Added 2023-12-07